Eric Anholt [Tue, 28 Sep 2010 01:31:53 +0000 (18:31 -0700)]
i965: Add support for dFdx()/dFdy() to the FS backend.
Fixes:
glsl-fwidth
glsl-derivs-swizzle
Eric Anholt [Tue, 28 Sep 2010 01:29:15 +0000 (18:29 -0700)]
i965: Fix vector splitting RHS channel selection with sparse writemasks.
Fixes:
glsl-fs-all-02
glsl-fs-dot-vec2
Eric Anholt [Mon, 27 Sep 2010 23:11:18 +0000 (16:11 -0700)]
i965: Handle all_equal/any_nequal in the new FS.
These are generated for scalar operands instead of plain equal/nequal.
But for scalars, they're the same anyway. +30 piglits.
Eric Anholt [Mon, 27 Sep 2010 22:10:34 +0000 (15:10 -0700)]
i965: Remove swizzling of assignment to vector-splitting single-channel LHS.
We'd end up reading some non-x component of the float RHS. +53 piglits.
Eric Anholt [Mon, 27 Sep 2010 21:38:51 +0000 (14:38 -0700)]
i965: Fix up writemasked assignments in the new FS.
Not sure how I managed to get tests to succeed without this. +54 piglits.
Eric Anholt [Mon, 27 Sep 2010 22:48:15 +0000 (15:48 -0700)]
glsl: Add validation that a swizzle only references valid channels.
Caught the bug in the previous commit.
Eric Anholt [Mon, 27 Sep 2010 22:46:51 +0000 (15:46 -0700)]
glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.
It's trying to get an int smeared across all channels, not trying to
get a 1:1 mapping of a subset of a vector's channels. This usually
ended up not mattering with ir_to_mesa, since it just smears floats
into every chan of a vec4.
Fixes:
glsl1-temp array with swizzled variable indexing
Ian Romanick [Mon, 20 Sep 2010 13:41:39 +0000 (15:41 +0200)]
Remove unnescessary initializations of UpdateTexturePalette
This is already NULL'ed in _mesa_init_driver_functions.
Ian Romanick [Sat, 18 Sep 2010 14:43:08 +0000 (16:43 +0200)]
Regenerate files changed by previous commit
Ian Romanick [Sat, 18 Sep 2010 14:41:44 +0000 (16:41 +0200)]
Remove GL_EXT_cull_vertex
This is only used in the i915 driver where it provides little benefit
for very few applications that use it with fixed function TNL.
Ian Romanick [Sat, 18 Sep 2010 14:21:00 +0000 (16:21 +0200)]
Remove GL_MESA_packed_depth_stencil
This extension was never enabled in any driver.
Ian Romanick [Mon, 27 Sep 2010 21:55:52 +0000 (14:55 -0700)]
mesa: Force GL_SGIS_generate_mipmap to always be enabled
As per discussions at XDS.
Ian Romanick [Mon, 27 Sep 2010 21:29:12 +0000 (14:29 -0700)]
mesa: Force GL_ARB_copy_buffer to always be enabled
As per discussions at XDS.
Luca Barbieri [Mon, 27 Sep 2010 22:16:22 +0000 (00:16 +0200)]
d3d1x: work around crash in widl
Luca Barbieri [Mon, 27 Sep 2010 20:52:34 +0000 (22:52 +0200)]
d3d11: fix reference counting so devices get freed
Ian Romanick [Mon, 27 Sep 2010 21:11:07 +0000 (14:11 -0700)]
dri: Ensure that DRI driver cpp files are in tarballs
Brian Paul [Mon, 27 Sep 2010 21:05:29 +0000 (15:05 -0600)]
softpipe: fix swizzling of texture border color
We ask the texture tile cache to swizzle the color for us since that's
where the view/swizzling info is available.
Brian Paul [Mon, 27 Sep 2010 21:00:22 +0000 (15:00 -0600)]
llvmpipe: fix swizzling of texture border color
The pipe_sampler_view's swizzle terms also apply to the texture border
color. Simply move the apply_sampler_swizzle() call after we fetch
the border color.
Fixes many piglit texwrap failures.
Jerome Glisse [Mon, 27 Sep 2010 21:00:07 +0000 (17:00 -0400)]
r600g: fix occlusion query after change to block structure
block->reg point to register value not block->pm4 which point
to packet.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Brian Paul [Mon, 27 Sep 2010 20:30:56 +0000 (14:30 -0600)]
softpipe: allocate tile data on demand
Changes in v2:
- Invalidate last_tile_addr on any change, fixing regressions
- Correct coding style
Currently softpipe ends up allocating more than 200 MB of memory
for each context due to the tile caches.
Even worse, this memory is all explicitly cleared, which means that the
kernel must actually back it with physical RAM right away.
This change allocates tile memory on demand.
Signed-off-by: Brian Paul <brianp@vmware.com>
Luca Barbieri [Mon, 27 Sep 2010 19:40:13 +0000 (21:40 +0200)]
d3d1x: fix Map
Luca Barbieri [Mon, 27 Sep 2010 18:25:17 +0000 (20:25 +0200)]
d3d1x: rework DXGI for occlusion testing and default width/height
Luca Barbieri [Mon, 27 Sep 2010 17:30:34 +0000 (19:30 +0200)]
d3d1x: put proper calling convention in headers, fixes 64-bit builds
Luca Barbieri [Mon, 27 Sep 2010 16:25:41 +0000 (18:25 +0200)]
d3d1x: properly support specifying MipLevels as 0
Luca Barbieri [Mon, 27 Sep 2010 16:08:58 +0000 (18:08 +0200)]
d3d1x: support centroid interpolation
Luca Barbieri [Mon, 27 Sep 2010 16:07:45 +0000 (18:07 +0200)]
ureg: support centroid interpolation
Luca Barbieri [Mon, 27 Sep 2010 14:15:44 +0000 (16:15 +0200)]
d3d1x: link to libdrm for X11 platform too
Thanks to Xavier Chantry.
Luca Barbieri [Mon, 27 Sep 2010 13:40:41 +0000 (15:40 +0200)]
d3d11: ignore StructureByteStride
D3D11 applications are allowed to pass a random value if the buffer
is not structured
Luca Barbieri [Mon, 27 Sep 2010 13:34:26 +0000 (15:34 +0200)]
d3d11: advertise IDXGIDevice1, not just IDXGIDevice
Fixes failure to create device in DirectX SDK samples.
Vinson Lee [Mon, 27 Sep 2010 20:13:25 +0000 (13:13 -0700)]
scons: Add MinGW-w64 prefixes for MinGW build.
Jerome Glisse [Mon, 27 Sep 2010 19:13:14 +0000 (15:13 -0400)]
r600g: fix routing btw vertex & pixel shader
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 27 Sep 2010 18:58:01 +0000 (14:58 -0400)]
r600g: fix pointsprite & resource unbinding
When asking to bind NULL resource assume it's unbinding
so free resource and unreference assoicated buffer.
Also fix pointsprite parameter.
Fix glsl-fs-pointcoord & fp-fragment-position
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 27 Sep 2010 15:53:34 +0000 (11:53 -0400)]
r600g: build packet header once
Build packet header once and allow to add fake register support so
we can handle things like indexed set of register (evergreen sampler
border registers for instance.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 27 Sep 2010 13:01:55 +0000 (09:01 -0400)]
r600g: fix index buffer drawing
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Luca Barbieri [Mon, 27 Sep 2010 12:26:12 +0000 (14:26 +0200)]
d3d1x: link progs with CXXFLAGS
Luca Barbieri [Mon, 27 Sep 2010 12:23:33 +0000 (14:23 +0200)]
d3d1x: fix progs linking if not all EGL platforms are enabled
Luca Barbieri [Mon, 27 Sep 2010 12:16:31 +0000 (14:16 +0200)]
d3d1x: add private gitignore file
Luca Barbieri [Mon, 27 Sep 2010 12:07:34 +0000 (14:07 +0200)]
d3d1x: fix parallel build
Luca Barbieri [Mon, 27 Sep 2010 12:04:39 +0000 (14:04 +0200)]
gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)
Commit
80ee3a440cd3c0403004cf35e0638fc52088b9ff added a PROGS_DEPS
definition, but no uses, even though it seems clearly intended
to be a set of additional dependencies for $(PROGS).
Correct this.
Luca Barbieri [Fri, 24 Sep 2010 08:10:09 +0000 (10:10 +0200)]
mesa: make makedepend an hard requirement
Currently makedepend is used by the Mesa Makefile-based build system,
but not required.
Unfortunately, not having it makes dependency resolution non-existent,
which is a source of subtle bugs, and is a rarely tested
configuration, since all Mesa developers likely have it installed.
Furthermore some idioms require dependency resolution to work at all,
such as making headers depend on generated files.
Tilman Sauerbeck [Mon, 27 Sep 2010 06:32:50 +0000 (08:32 +0200)]
r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Dave Airlie [Mon, 27 Sep 2010 04:35:41 +0000 (14:35 +1000)]
r600g: add evergreen texture resource properly.
adding sampler border looks impossible with current design, another day, another corner case not worked out.
Vinson Lee [Sun, 26 Sep 2010 21:34:05 +0000 (14:34 -0700)]
r600g: Silence uninitialized variable warnings.
Fixes these GCC warnings.
r600_shader.c: In function 'tgsi_tex':
r600_shader.c:1611: warning: 'src2_chan' may be used uninitialized in this function
r600_shader.c:1611: warning: 'src_chan' may be used uninitialized in this function
Marek Olšák [Sat, 25 Sep 2010 12:57:32 +0000 (14:57 +0200)]
r300g: fix macrotiling on R350
MACRO_SWITCH on R350 appears to use the RV350 mode by default. Who knew?
NOTE: This is a candidate for the 7.9 branch.
Jerome Glisse [Sun, 26 Sep 2010 20:27:36 +0000 (16:27 -0400)]
r600g: use depth decompression in new path
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Sun, 26 Sep 2010 20:25:47 +0000 (16:25 -0400)]
r600g: move around variables to share depth uncompression code
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Joakim Sindholt [Sun, 26 Sep 2010 17:39:05 +0000 (19:39 +0200)]
radeong: fix leaks
Joakim Sindholt [Sun, 26 Sep 2010 17:03:02 +0000 (19:03 +0200)]
util/u_blitter: fix leak
Bas Nieuwenhuizen [Sat, 25 Sep 2010 14:11:42 +0000 (16:11 +0200)]
r600g: set ENABLE_KILL on evergreen too
Bas Nieuwenhuizen [Sat, 25 Sep 2010 14:11:40 +0000 (16:11 +0200)]
r600g: set ENABLE_KILL in the shader state in the new design
Jerome Glisse [Sun, 26 Sep 2010 16:06:46 +0000 (12:06 -0400)]
r600g: disable early cull optimization when occlusion query running
When occlusion query are running we want to have accurate
fragment count thus disable any early culling optimization
GPU has.
Based on work from Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Vinson Lee [Sun, 26 Sep 2010 10:23:31 +0000 (03:23 -0700)]
r600g: Include p_compiler.h instead of malloc.h.
Vinson Lee [Sun, 26 Sep 2010 10:18:12 +0000 (03:18 -0700)]
r600g: Remove unused variables.
Fixes these GCC warnings.
radeon.c: In function 'radeon_new':
radeon.c:59: warning: unused variable 'k'
radeon.c:59: warning: unused variable 'j'
radeon.c:59: warning: unused variable 'id'
radeon.c:59: warning: unused variable 'i'
Vinson Lee [Sun, 26 Sep 2010 10:10:58 +0000 (03:10 -0700)]
r600g: Don't return a value in function returning void.
Fixes this GCC warning.
radeon_state.c: In function 'radeon_state_fini':
radeon_state.c:140: warning: 'return' with a value, in function returning void
Vinson Lee [Sun, 26 Sep 2010 10:08:14 +0000 (03:08 -0700)]
r300g: Remove unused variable.
Fixes this GCC warning.
r300_state.c: In function 'r300_create_rs_state':
r300_state.c:925: warning: unused variable 'i'
Dave Airlie [Sun, 26 Sep 2010 07:38:11 +0000 (17:38 +1000)]
r300g: fix glsl-fs-pointcoord
Move GB_ENABLE to derived rs state, and find sprite coord for the correct
generic and enable the tex coord for that generic.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vinson Lee [Sat, 25 Sep 2010 22:19:29 +0000 (15:19 -0700)]
r600g: Remove unused variable.
Fixes this GCC warning.
radeon_bo_pb.c: In function 'radeon_bo_pb_create_buffer':
radeon_bo_pb.c:178: warning: unused variable 'domain'
Tom Stellard [Sat, 25 Sep 2010 05:14:43 +0000 (22:14 -0700)]
r300/compiler: Fix two mistakes in the presubtract optimization pass.
1. We can't turn an instruction into a presubtract operation if it
writes to one of the registers it reads from.
2. If we turn an instruction into a presubtract operation, we can't
remove that intruction unless all readers can use the presubtract
operation.
This fixes fdo bug 30337.
This is a candidate for the 7.9 branch.
Brian Paul [Sat, 25 Sep 2010 20:19:18 +0000 (14:19 -0600)]
softpipe: minor asst. clean-ups
Brian Paul [Sat, 25 Sep 2010 20:15:11 +0000 (14:15 -0600)]
softpipe: make clip state functions static
Brian Paul [Sat, 25 Sep 2010 20:12:12 +0000 (14:12 -0600)]
softpipe: make stream out state functions static
Brian Paul [Sat, 25 Sep 2010 20:08:49 +0000 (14:08 -0600)]
softpipe: make rasterizer state functions static
Brian Paul [Sat, 25 Sep 2010 20:06:58 +0000 (14:06 -0600)]
softpipe: make vertex state functions static
Brian Paul [Sat, 25 Sep 2010 20:02:38 +0000 (14:02 -0600)]
softpipe: make sampler state functions static
Brian Paul [Sat, 25 Sep 2010 19:58:41 +0000 (13:58 -0600)]
softpipe: make blend/stencil/depth functions static
Brian Paul [Sat, 25 Sep 2010 19:54:24 +0000 (13:54 -0600)]
softpipe: make shader-related functions static
Brian Paul [Sat, 25 Sep 2010 19:50:30 +0000 (13:50 -0600)]
softpipe: rename sp_state_fs.c -> sp_state_shader.c
Vinson Lee [Sat, 25 Sep 2010 19:38:29 +0000 (12:38 -0700)]
st/dri: Remove unnecessary header.
Brian Paul [Sat, 25 Sep 2010 19:10:26 +0000 (13:10 -0600)]
swrast: update comments for REMAINDER() macro
Brian Paul [Sat, 25 Sep 2010 19:09:25 +0000 (13:09 -0600)]
gallivm: fix repeat() function for NPOT textures
The trick of casting the coord to an unsigned value only works for POT
textures. Add a bias instead. This fixes a few piglit texwrap failures.
Brian Paul [Sat, 25 Sep 2010 19:06:31 +0000 (13:06 -0600)]
softpipe: fix repeat() function for NPOT textures
The trick of casting the coord to an unsigned value only works for POT
textures. Add a bias instead. This fixes a few piglit texwrap failures.
Vinson Lee [Sat, 25 Sep 2010 19:33:28 +0000 (12:33 -0700)]
intel: Remove unnecessary header.
Vinson Lee [Sat, 25 Sep 2010 19:28:47 +0000 (12:28 -0700)]
r600g: Disable unused variables.
The variables are used only in currently disabled code.
Fixes this GCC warning.
r600_context.c: In function 'r600_flush':
r600_context.c:76: warning: unused variable 'dname'
r600_context.c:75: warning: unused variable 'dc'
Vinson Lee [Sat, 25 Sep 2010 19:25:44 +0000 (12:25 -0700)]
r600g: Remove unused variable.
Fixes this GCC warning.
r600_draw.c: In function 'r600_draw_common':
r600_draw.c:71: warning: unused variable 'format'
Vinson Lee [Sat, 25 Sep 2010 19:21:10 +0000 (12:21 -0700)]
r600g: Remove unused variable.
Fixes this GCC warning.
r600_screen.c: In function 'r600_screen_create':
r600_screen.c:239: warning: unused variable 'family'
Christoph Bumiller [Sat, 25 Sep 2010 17:34:23 +0000 (19:34 +0200)]
nv50: fix/handle a few more PIPE_CAPs
Christoph Bumiller [Fri, 24 Sep 2010 20:46:51 +0000 (22:46 +0200)]
nv50: use CLEAR_BUFFERS for surface fills
The 2D engine's fill doesn't seem suited for RGBA32F or ZS buffers.
Christoph Bumiller [Fri, 24 Sep 2010 18:33:10 +0000 (20:33 +0200)]
nv50: use formats table in nv50_surface.c
Jerome Glisse [Sat, 25 Sep 2010 01:34:56 +0000 (21:34 -0400)]
r600g: fix vertex resource & polygon offset
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Dave Airlie [Sat, 25 Sep 2010 10:23:44 +0000 (20:23 +1000)]
r600g: add eg db count control register.
Dave Airlie [Sat, 25 Sep 2010 09:23:05 +0000 (19:23 +1000)]
r600g: make index bias fix for evergreen
José Fonseca [Sat, 25 Sep 2010 11:40:01 +0000 (12:40 +0100)]
gallivm: Remove dead experimental code.
Keith Whitwell [Fri, 24 Sep 2010 10:18:38 +0000 (11:18 +0100)]
llvmpipe: handle up to 8 planes in triangle binner
Keith Whitwell [Fri, 24 Sep 2010 09:30:52 +0000 (10:30 +0100)]
llvmpipe: handle FACING interpolants in line and point setup
José Fonseca [Sat, 25 Sep 2010 11:13:45 +0000 (12:13 +0100)]
gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.
José Fonseca [Sat, 25 Sep 2010 10:41:30 +0000 (11:41 +0100)]
draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state
Roland Scheidegger [Fri, 24 Sep 2010 13:17:07 +0000 (15:17 +0200)]
gallivm: optimize yuv decoding
this is more a proof to show vector shifts on x86 with per-element shift count
are evil. Since we can avoid the shift with a single compare/select, use that
instead. Replaces more than 20 instructions (and slow ones at that) with about 3,
and cuts compiled shader size with mesa's yuvsqure demo by over 10%
(no performance measurements done - but selection is blazing fast).
Might want to revisit that for future cpus - unfortunately AVX won't have vector
shifts neither, but AMD's XOP will, but even in that case using selection here
is probably not slower.
Roland Scheidegger [Fri, 24 Sep 2010 13:02:24 +0000 (15:02 +0200)]
gallivm: don't use URem/UDiv when calculating offsets for blocks
While it's true that llvm can and will indeed replace this with bit
arithmetic (since block height/width is POT), it does so (llvm 2.7) by element
and hence extracts/shifts/reinserts each element individually.
This costs about 16 instructions (and extract is not really fast) vs. 1...
Roland Scheidegger [Wed, 22 Sep 2010 15:59:00 +0000 (17:59 +0200)]
gallivm: fix copy&paste bug
looks like pot_depth should be used, not pot_height
(found by accident, not verified)
Dave Airlie [Sat, 25 Sep 2010 09:16:36 +0000 (19:16 +1000)]
r600g: add eg poly mode code.
Dave Airlie [Sat, 25 Sep 2010 08:51:24 +0000 (18:51 +1000)]
Vinson Lee [Sat, 25 Sep 2010 06:48:05 +0000 (23:48 -0700)]
r600g: Silence 'control reaches end of non-void function' warning.
Fixes this GCC warning.
r600_hw_states.c: In function 'r600_translate_fill':
r600_state_inlines.h:136: warning: control reaches end of non-void function
Vinson Lee [Sat, 25 Sep 2010 06:17:55 +0000 (23:17 -0700)]
r600g: Remove unused variable.
Fixes this GCC warning.
eg_hw_states.c: In function 'eg_resource':
eg_hw_states.c:525: warning: unused variable 'r'
Vinson Lee [Sat, 25 Sep 2010 06:08:08 +0000 (23:08 -0700)]
r600g: Disable unused variables.
The variables are only used in currently disabled code.
Fixes this GCC warning.
r600_state2.c: In function 'r600_flush2':
r600_state2.c:613: warning: unused variable 'dname'
r600_state2.c:612: warning: unused variable 'dc'
Vinson Lee [Sat, 25 Sep 2010 05:59:46 +0000 (22:59 -0700)]
r600g: Remove unused variable.
Fixes this GCC warning.
r600_buffer.c: In function 'r600_buffer_transfer_map':
r600_buffer.c:141: warning: unused variable 'rctx'
Vinson Lee [Sat, 25 Sep 2010 05:55:04 +0000 (22:55 -0700)]
intel: Remove unnecessary headers.
Vinson Lee [Sat, 25 Sep 2010 05:53:40 +0000 (22:53 -0700)]
unichrome: Remove unnecessary header.
Vinson Lee [Sat, 25 Sep 2010 05:48:46 +0000 (22:48 -0700)]
r600g: Remove unnecessary header.
Vinson Lee [Sat, 25 Sep 2010 05:46:14 +0000 (22:46 -0700)]
mesa: Remove unnecessary headers.
Vinson Lee [Sat, 25 Sep 2010 05:20:43 +0000 (22:20 -0700)]
intel: Fix implicit declaration of function '_mesa_meta_Bitmap' warning.
Fix this GCC warning.
intel_pixel_bitmap.c: In function 'intelBitmap':
intel_pixel_bitmap.c:343: warning: implicit declaration of function '_mesa_meta_Bitmap'