Eric Anholt [Thu, 29 Oct 2009 18:52:28 +0000 (11:52 -0700)]
i915: Implement min/max LOD clamping with the hardware.
This gets us expected behavior for clamping between mipmap levels, and
avoids relayout of textures for doing clamping.
Fixes piglit lodclamp-between.
Eric Anholt [Thu, 29 Oct 2009 17:36:22 +0000 (10:36 -0700)]
i965: Replace a MIN(MAX()) with CLAMP().
Brian Paul [Thu, 29 Oct 2009 17:04:11 +0000 (11:04 -0600)]
intel: check for single memcpy() in memcpy_get_tex_image()
Eric Anholt [Wed, 28 Oct 2009 23:36:35 +0000 (16:36 -0700)]
i965: Fix fallout from ARB_depth_clamp enablement that broke glDepthRange.
If a backwards glDepthRange was supplied (as with the old Quake no-z-clearing
hack), the hardware would have always clamped because we weren't clamping to
the min of near/far and the max of near/far. Also, we shouldn't be clamping
to near/far at all when not in depth clamp mode (this usually didn't matter
since near/far are usually the same as the 0.0, 1.0 clamping you do for
fixed-point depth).
This should fix funny depth issues in PlaneShift, and fixes piglit
depth-clamp-range
Eric Anholt [Wed, 28 Oct 2009 23:35:16 +0000 (16:35 -0700)]
mesa: Mostly fix swrast's ARB_depth_clamp support.
I'd written a testcase for the hard part of the extension enablement, so
naturally the easy stuff was completely broken. There are still issues,
as I'm seeing FLOAT_TO_UINT(max_f) == 0x0 when max_f == 1.0, but it gets
piglit depth-clamp-range closer to success.
Eric Anholt [Mon, 26 Oct 2009 16:37:53 +0000 (09:37 -0700)]
intel: Don't bother MI_FLUSHing on glFlush in the DRI2 case.
We only need it when drawing to the front buffer, which we never do for
DRI2. No significant performance difference, but the flush is definitely
gone from the end of every batchbuffer.
Eric Anholt [Mon, 26 Oct 2009 16:15:42 +0000 (09:15 -0700)]
intel: Clean up merge leftover from the DRI2 swap throttling.
Brian Paul [Thu, 29 Oct 2009 16:56:13 +0000 (10:56 -0600)]
intel: remove debug code
Brian Paul [Thu, 29 Oct 2009 16:53:26 +0000 (10:53 -0600)]
mesa: consolidate some code in _mesa_GetCompressedTexImageARB()
Brian Paul [Thu, 29 Oct 2009 16:50:10 +0000 (10:50 -0600)]
intel: added fast memcpy path for glGetTexImage()
Brian Paul [Thu, 29 Oct 2009 16:49:38 +0000 (10:49 -0600)]
progs/tests: also test GL_BGRA format in getteximage.c
Brian Paul [Thu, 29 Oct 2009 16:44:46 +0000 (10:44 -0600)]
mesa: move pixels==NULL check in glGetTexImage()
Brian Paul [Thu, 29 Oct 2009 16:05:06 +0000 (10:05 -0600)]
mesa: consolidate some code in _mesa_GetTexImage()
Brian Paul [Thu, 29 Oct 2009 15:25:16 +0000 (09:25 -0600)]
mesa: move, clean-up _mesa_print_texture()
Brian Paul [Thu, 29 Oct 2009 15:19:24 +0000 (09:19 -0600)]
mesa: fix some tests in subtexture_error_check2()
Don't use hard-coded compressed block sizes.
Update comments and error strings.
Brian Paul [Thu, 29 Oct 2009 15:31:29 +0000 (09:31 -0600)]
mesa: remove unneedded is_srgb_teximage() function
Use _mesa_get_format_color_encoding() function instead.
Brian Paul [Thu, 29 Oct 2009 14:28:52 +0000 (08:28 -0600)]
glsl: make shader substitution a little better
David Heidelberger [Thu, 29 Oct 2009 16:14:39 +0000 (10:14 -0600)]
st/mesa: fix PIPE_FORMAT_X8Z24 <> MESA_FORMAT_X8_Z24 conversion
Signed-off-by: David Heidelberger <d.okias@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
David Heidelberger [Thu, 29 Oct 2009 15:56:12 +0000 (09:56 -0600)]
st/mesa: Add conversion from PIPE_FORMAT_X8Z24_UNORM to MESA_FORMAT_S8_Z24.
Fix glxgears and openarena for Nouveau (no more asserts and crash).
Signed-off-by: David Heidelberger <d.okias@gmail.com
Signed-off-by: Brian Paul <brianp@vmware.com>
David Heidelberger [Thu, 29 Oct 2009 15:54:31 +0000 (09:54 -0600)]
st/mesa: Fix nouveau glxinfo after merging texformat-rework.
Signed-off-by: David Heidelberger <d.okias@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Thu, 29 Oct 2009 13:54:44 +0000 (07:54 -0600)]
mesa: move declaration to prevent unused var warning
Chia-I Wu [Fri, 2 Oct 2009 07:32:04 +0000 (15:32 +0800)]
mesa: Fix compilation errors and warnings when features are disabled.
Some of the fixes are cherry-picked from opengl-es branch.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Thu, 29 Oct 2009 06:59:42 +0000 (14:59 +0800)]
mesa/main: Make FEATURE_texture_s3tc follow feature conventions.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Thu, 29 Oct 2009 06:14:04 +0000 (14:14 +0800)]
mesa/main: Make FEATURE_texture_fxt1 follow feature conventions.
Also remove the unused initialization and GLchan fetch functions.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Thu, 29 Oct 2009 07:19:59 +0000 (15:19 +0800)]
mesa/main: Never return NULL in _mesa_get_texstore_func.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Brian Paul [Thu, 29 Oct 2009 13:47:34 +0000 (07:47 -0600)]
radeon: fix incorrect Z format in radeon_alloc_renderbuffer_storage()
And update error message.
Cooper Yuan [Thu, 29 Oct 2009 12:20:59 +0000 (20:20 +0800)]
r300g: Fix bytes_per_line calculation error while displaying surface
Chia-I Wu [Thu, 29 Oct 2009 04:14:01 +0000 (22:14 -0600)]
swrast: added braces
Brian Paul [Thu, 29 Oct 2009 03:52:37 +0000 (21:52 -0600)]
mesa: remove old, unused #define
Brian Paul [Thu, 29 Oct 2009 03:46:37 +0000 (21:46 -0600)]
mesa: re-remove s3v and trident driver files
These were removed from master but a few files came back from the
texformat-rework branch.
Brian Paul [Thu, 29 Oct 2009 03:43:50 +0000 (21:43 -0600)]
mesa: move some gl_texture_image and gl_renderbuffer fields around
Brian Paul [Thu, 29 Oct 2009 03:25:56 +0000 (21:25 -0600)]
mesa: minor code movement
Brian Paul [Thu, 29 Oct 2009 03:24:11 +0000 (21:24 -0600)]
Merge branch 'texformat-rework'
Conflicts:
src/mesa/drivers/dri/radeon/radeon_fbo.c
src/mesa/drivers/dri/s3v/s3v_tex.c
src/mesa/drivers/dri/s3v/s3v_xmesa.c
src/mesa/drivers/dri/trident/trident_context.c
src/mesa/main/debug.c
src/mesa/main/mipmap.c
src/mesa/main/texformat.c
src/mesa/main/texgetimage.c
Brian Paul [Thu, 29 Oct 2009 01:46:26 +0000 (19:46 -0600)]
swrast: fix RGB, RGBA texturing code
Fix backward component ordering for RGB textures.
Only optimize RGBA texture case if running little endian. This restriction
could be lifted with a little work.
Brian Paul [Thu, 29 Oct 2009 01:41:24 +0000 (19:41 -0600)]
swrast: check for single texture unit in _swrast_choose_triangle()
Brian Paul [Thu, 29 Oct 2009 01:40:56 +0000 (19:40 -0600)]
swrast: clean up and remove dead code in triangle functions
Brian Paul [Thu, 29 Oct 2009 01:38:12 +0000 (19:38 -0600)]
swrast: fix texel decoding in opt_sample_rgba_2d()
Brian Paul [Thu, 29 Oct 2009 01:33:48 +0000 (19:33 -0600)]
mesa: choose texture format in _mesa_get_fallback_texture()
Brian Paul [Thu, 29 Oct 2009 00:27:25 +0000 (18:27 -0600)]
Merge branch 'mesa_7_6_branch'
Vinson Lee [Wed, 28 Oct 2009 23:59:49 +0000 (17:59 -0600)]
mesa: Fix memory leak if we run out of memory
Signed-off-by: Brian Paul <brianp@vmware.com>
Zack Rusin [Sun, 25 Oct 2009 23:47:41 +0000 (19:47 -0400)]
st/xorg: fix src coordinates in the video acceleration paths
Alex Deucher [Wed, 28 Oct 2009 19:36:53 +0000 (15:36 -0400)]
r600: add occlusion query support
Based on initial patch from Stephan Schmid <stephan_2303@gmx.de>.
Basic idea is to dump the zpass count at the start and end of the query
and subtract to get the total number of visible fragments. HW writes
alternating qwords for up to 4 DBs. On the first pass, we start at
buffer address + 0; on the second pass, we start at buffer address + 8
(bytes). The resulting buffer at the end of the query looks like:
qw[0]: db0 start
qw[1]: db0 end
...
qw[6]: db3 start
qw[7]: db3 end
The MSB of each qword is the valid bit and the lower 63 bits are
the zpass count for that DB.
OQ on RV740 is disabled at the moment as it only seems to report
results for half of its DBs. This needs further investigation.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Corbin Simpson [Wed, 28 Oct 2009 19:11:52 +0000 (12:11 -0700)]
r300g: Use u_trim_pipe_prim to prevent lockups from incorrect vert counts.
Adapted from osiris' version on his tree.
Corbin Simpson [Wed, 28 Oct 2009 18:58:13 +0000 (11:58 -0700)]
r300g: Keep texture formats organized.
Maciej Cencora [Sun, 18 Oct 2009 16:06:51 +0000 (18:06 +0200)]
r300g: add some texture formats
Corbin Simpson [Wed, 28 Oct 2009 18:47:24 +0000 (11:47 -0700)]
r300g: Clear up a bit of the buffer reference stuff.
Still need to actually get reference info from winsys somehow. Doing added
buffers is easy, but knowing whether a flush has happened is a bit tricky.
Corbin Simpson [Wed, 28 Oct 2009 17:02:23 +0000 (10:02 -0700)]
r300g: Fix XXX.
Nothing strange here.
Marek Olšák [Wed, 28 Oct 2009 01:43:51 +0000 (02:43 +0100)]
r300g: fix emitting the stencil-ref and alpha-ref values
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
DSA really needs its head examined someday. ~ C.
Marek Olšák [Wed, 28 Oct 2009 01:21:49 +0000 (02:21 +0100)]
r300g: fix the WRAP_T mode when using 1D textures
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Marek Olšák [Wed, 28 Oct 2009 01:19:52 +0000 (02:19 +0100)]
r300g: fix blending and do some optimizations
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Marek Olšák [Wed, 28 Oct 2009 00:38:40 +0000 (01:38 +0100)]
mesa/st: fix crash in st_texture_image_copy
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Vinson Lee [Wed, 28 Oct 2009 19:09:44 +0000 (13:09 -0600)]
intel: Fix memory leak in case of renderbuffer bad format
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 28 Oct 2009 17:33:51 +0000 (11:33 -0600)]
Merge branch 'mesa_7_6_branch'
Conflicts:
src/mesa/shader/lex.yy.c
src/mesa/shader/program_lexer.l
Brian Paul [Wed, 28 Oct 2009 17:13:21 +0000 (11:13 -0600)]
mesa: remove unneeded #includes
Brian Paul [Wed, 28 Oct 2009 17:11:30 +0000 (11:11 -0600)]
mesa: include imports.h to silence warning
Vinson Lee [Wed, 28 Oct 2009 17:09:50 +0000 (11:09 -0600)]
intel: Fix memory leak in event of mip tree allocation failure
Signed-off-by: Brian Paul <brianp@vmware.com>
José Fonseca [Wed, 28 Oct 2009 11:05:32 +0000 (11:05 +0000)]
llvmpipe: Make sure the JIT engine and X86 target are linked on MSVC build.
Basically mimic the llvm 2.6 way of linking execution engines and
targets.
José Fonseca [Tue, 27 Oct 2009 20:45:53 +0000 (20:45 +0000)]
util: Drop return value from cpuid().
José Fonseca [Tue, 27 Oct 2009 20:29:19 +0000 (20:29 +0000)]
util: Fix cpuid on MSVC.
José Fonseca [Tue, 27 Oct 2009 20:09:53 +0000 (20:09 +0000)]
llvmpipe: Implement round() for MSVC.
Brian Paul [Wed, 28 Oct 2009 03:39:44 +0000 (21:39 -0600)]
mesa: consolidate _mesa_CompressedTexSubImage[123]DARB() functions
Brian Paul [Wed, 28 Oct 2009 03:03:44 +0000 (21:03 -0600)]
mesa: consolidate CompressedTexSubImage1/2/3DARB() error checking
Brian Paul [Wed, 28 Oct 2009 03:15:36 +0000 (21:15 -0600)]
mesa: simplify teximage code with get_current_tex_object()
Brian Paul [Wed, 28 Oct 2009 02:10:30 +0000 (20:10 -0600)]
mesa: code refactoring to eliminate a switch stmt in bind_buffer_object()
Brian Paul [Wed, 28 Oct 2009 02:09:33 +0000 (20:09 -0600)]
glsl: avoid redundant state changes in _mesa_use_program()
Zack Rusin [Sun, 25 Oct 2009 16:19:38 +0000 (12:19 -0400)]
st/xorg: fix xv
Ian Romanick [Tue, 27 Oct 2009 20:40:18 +0000 (13:40 -0700)]
ARB prog parser: Fix epic memory leak in lexer / parser interface
Anything that matched IDENTIFIER was strdup'ed and returned to the
parser. However, almost every case of IDENTIFIER in the parser just
dropped the returned string on the floor. Every swizzle string, every
option string, every use of a variable, etc. leaked memory.
Create a temporary buffer in the parser state (string_dumpster and
dumpster_size). Return strings from the lexer to the parser in the
buffer. Grow the buffer as needed. When the parser needs to keep a
string (i.e., delcaring a new variable), let it make a copy then.
The only leak that valgrind now detects is /occasionally/ the copy of
the program string in gl_program::String is leaked. I'm not seeing
how. :(
Ian Romanick [Tue, 27 Oct 2009 18:46:29 +0000 (11:46 -0700)]
ARB prog parser: Don't leak program string
The program string is kept in the program object. On the second call
into glProgramStringARB the previous kept string would be leaked.
Ian Romanick [Tue, 27 Oct 2009 18:44:56 +0000 (11:44 -0700)]
ARB prog parser: Don't leak symbol table header structures
Eric Anholt [Tue, 20 Oct 2009 21:51:53 +0000 (14:51 -0700)]
intel: Fix flipped condition in ARB_sync GetSYnciv(GL_SYNC_STATUS).
Bug #24435
(cherry picked from commit
d56125a298106d81e10674f1c4b3b43b51a5139d)
Brian Paul [Tue, 27 Oct 2009 23:34:29 +0000 (17:34 -0600)]
intel: added region draw_x/y offsets in x/y_tile_swizzle() funcs
This fixes the second part of bug 23552.
Brian Paul [Tue, 27 Oct 2009 23:05:08 +0000 (17:05 -0600)]
radeon: add case for MESA_FORMAT_X8_Z24 in radeon_create_renderbuffer()
Brian Paul [Tue, 27 Oct 2009 23:01:26 +0000 (17:01 -0600)]
intel: silence warning
Brian Paul [Tue, 27 Oct 2009 22:59:23 +0000 (16:59 -0600)]
mesa: debug code for glBlitFramebuffer()
Brian Paul [Tue, 27 Oct 2009 22:55:31 +0000 (16:55 -0600)]
via: silence unused var warnings
Brian Paul [Tue, 27 Oct 2009 22:37:25 +0000 (16:37 -0600)]
intel: minor clean-up, comments
Brian Paul [Tue, 27 Oct 2009 22:37:00 +0000 (16:37 -0600)]
intel: use _mesa_get_current_tex_unit() helper
Brian Paul [Tue, 27 Oct 2009 20:16:59 +0000 (14:16 -0600)]
mesa: s/Bilt/Blit
Brian Paul [Tue, 27 Oct 2009 19:59:32 +0000 (13:59 -0600)]
mesa: more texture debug code changes, improvements
Brian Paul [Tue, 27 Oct 2009 19:52:37 +0000 (13:52 -0600)]
mesa: minor code clean-up in client_state()
Brian Paul [Tue, 27 Oct 2009 19:51:51 +0000 (13:51 -0600)]
mesa: avoid redundant state setting in glClientActiveTexture
Plus add code for verbose/debugging.
Brian Paul [Mon, 26 Oct 2009 23:00:48 +0000 (17:00 -0600)]
intel: fix comment, formatting
Brian Paul [Tue, 27 Oct 2009 22:46:07 +0000 (16:46 -0600)]
progs/tests: added new blitfb.c test
Tests glBlitFramebuffer() between two texture/renderbuffer surfaces.
In particular, blit from level[1] of a cube map face to a 2D texture.
Used to find/fix bug in intel do_copy_texsubimage().
See commit
aef1ab1073f3e30d699b99dae17518ed48b57c72
Brian Paul [Tue, 27 Oct 2009 22:39:01 +0000 (16:39 -0600)]
intel: fix src offset bug in do_copy_texsubimage()
Use src->draw_offset intead of zero. Zero usually worked, except when
the src renderbuffer is actually a texture mipmap level higher than zero.
Fixes progs/test/blitfb.c test.
Brian Paul [Tue, 27 Oct 2009 22:28:39 +0000 (16:28 -0600)]
glsl: fix memory leak
A slightly modified version of a patch from Vinson Lee.
Eric Anholt [Tue, 27 Oct 2009 17:26:09 +0000 (10:26 -0700)]
i915: Fix driver for the miptree x/y offset changes.
Bug #24734.
Brian Paul [Tue, 27 Oct 2009 15:31:31 +0000 (09:31 -0600)]
i965: be clear that the Fallback field is a boolean, not a bitfield
Brian Paul [Tue, 27 Oct 2009 15:27:44 +0000 (09:27 -0600)]
Revert "i965: fix hacked Fallback usage in brw_prepare_vertices()"
This reverts commit
8810b8f67135185d1044746bb861fe2ff997626c.
It turns out the i965 driver uses the intel->Fallback field as a boolean,
not as a bitmask. The intelFallback() function is a no-op in the i965
driver. It would have been nice if there were some comments about this.
I'll fix that next...
Vinson Lee [Tue, 27 Oct 2009 15:13:27 +0000 (09:13 -0600)]
draw: Fix memory leak.
This would only be hit if we got and invalid index_size.
Brian Paul [Mon, 26 Oct 2009 16:58:47 +0000 (10:58 -0600)]
docs: document Intel glBitmap fixes
Brian Paul [Mon, 26 Oct 2009 16:42:45 +0000 (10:42 -0600)]
intel: fix GL state bugs in intel_texture_bitmap()
Need to push texture state and polygon state too.
Fixes rendering glitches seen in progs/demos/engine when changing
the rendering mode (wireframe, texture modes).
This makes bitmap rendering a little slower, unfortunately.
Christoph Bumiller [Tue, 27 Oct 2009 23:30:45 +0000 (00:30 +0100)]
nv50: activate more lanes in a warp
Some cards have crippling defaults set and use only 4
of 32 lanes. This should activate 16 on these.
Those that allow 32 by default should still do so.
Found out by Marcin Kościelnicki.
Brian Paul [Tue, 27 Oct 2009 22:46:07 +0000 (16:46 -0600)]
progs/tests: added new blitfb.c test
Tests glBlitFramebuffer() between two texture/renderbuffer surfaces.
In particular, blit from level[1] of a cube map face to a 2D texture.
Used to find/fix bug in intel do_copy_texsubimage().
See commit
aef1ab1073f3e30d699b99dae17518ed48b57c72
Brian Paul [Tue, 27 Oct 2009 22:39:01 +0000 (16:39 -0600)]
intel: fix src offset bug in do_copy_texsubimage()
Use src->draw_offset intead of zero. Zero usually worked, except when
the src renderbuffer is actually a texture mipmap level higher than zero.
Fixes progs/test/blitfb.c test.
Brian Paul [Tue, 27 Oct 2009 22:28:39 +0000 (16:28 -0600)]
glsl: fix memory leak
A slightly modified version of a patch from Vinson Lee.
Eric Anholt [Tue, 27 Oct 2009 17:26:09 +0000 (10:26 -0700)]
i915: Fix driver for the miptree x/y offset changes.
Bug #24734.
Jakob Bornecrantz [Tue, 27 Oct 2009 16:35:06 +0000 (17:35 +0100)]
st/xorg: Adopt to new dirty clip rect type
Brian Paul [Tue, 27 Oct 2009 15:31:31 +0000 (09:31 -0600)]
i965: be clear that the Fallback field is a boolean, not a bitfield
Brian Paul [Tue, 27 Oct 2009 15:27:44 +0000 (09:27 -0600)]
Revert "i965: fix hacked Fallback usage in brw_prepare_vertices()"
This reverts commit
8810b8f67135185d1044746bb861fe2ff997626c.
It turns out the i965 driver uses the intel->Fallback field as a boolean,
not as a bitmask. The intelFallback() function is a no-op in the i965
driver. It would have been nice if there were some comments about this.
I'll fix that next...
Vinson Lee [Tue, 27 Oct 2009 15:13:27 +0000 (09:13 -0600)]
draw: Fix memory leak.
This would only be hit if we got and invalid index_size.