This series fixes 20 depth-stencil piglit tests on evergreen and enables ARB_blend_func_extended also on evergreen, so that evergreen support is on par with r700 in those areas. There's also a bunch of sampler view fixes and a couple of small optimization. Last but not least, samplers views are reworked to use r600_atom, which simplifies the code a bit.
For some reason, stencil texturing doesn't work on evergreen if I set the RADEON_SURF_SBUFFER flag with the stencil-only format S8_UINT. This looks like a bug in the surface allocator in libdrm. The workaround used here is not to set the flag. Marek Olšák (13): r600g: fix all failing depth-stencil tests for evergreen gallium/util: add util_bit_last - finds the last bit set in a word r600g: don't call inval_shader_cache in r600_context_flush twice r600g: do fine-grained vertex buffer updates r600g: remove unused flag have_depth_fb r600g: consolidate code for setting sampler views and fix bugs in the process r600g: don't invalidate texture caches when setting sampler states r600g: consolidate and optimize sampler states changes for evergreen r600g: properly track which textures are depth r600g: only make constant buffers dirty if there's something to update r600g: convert sampler view emission into atoms r600g: remove unused code after conversion of sampler views r600g: fix lockups with and enable dual source blending on evergreen src/gallium/auxiliary/util/u_math.h | 14 ++ src/gallium/drivers/r600/evergreen_compute.c | 12 +- src/gallium/drivers/r600/evergreen_hw_context.c | 27 --- src/gallium/drivers/r600/evergreen_state.c | 236 +++++++++++------------ src/gallium/drivers/r600/r600.h | 11 -- src/gallium/drivers/r600/r600_blit.c | 28 ++- src/gallium/drivers/r600/r600_buffer.c | 15 +- src/gallium/drivers/r600/r600_hw_context.c | 216 ++------------------- src/gallium/drivers/r600/r600_hw_context_priv.h | 3 - src/gallium/drivers/r600/r600_pipe.c | 5 +- src/gallium/drivers/r600/r600_pipe.h | 54 ++++-- src/gallium/drivers/r600/r600_resource.h | 3 +- src/gallium/drivers/r600/r600_state.c | 219 ++++++++++----------- src/gallium/drivers/r600/r600_state_common.c | 149 ++++++++++++-- src/gallium/drivers/r600/r600_texture.c | 27 ++- 15 files changed, 452 insertions(+), 567 deletions(-) Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev