[Mesa-dev] [PATCH 00/13] R600 improvements

Marek Olšák maraeo at gmail.com
Sat Jul 14 19:35:31 PDT 2012


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


More information about the mesa-dev mailing list