[Mesa-dev] [PATCH 00/13] Gallium texture array and r600g support

Marek Olšák maraeo at gmail.com
Mon Sep 5 14:44:02 PDT 2011


Hi everybody,

I have been recently trying to finish up the EXT_texture_array support for r600g. The most notable missing feature in Gallium was shadow array samplers. So with that done now, I think EXT_texture_array is complete, isn't it?

I have written some tests for the shadow samplers that I am going to send to piglit-dev soon.

On the r600g side, it's a little bit more complicated. r600-r700 need TEX_ARRAY_OVERRIDE set, otherwise array textures are incorrectly filtered as 3D textures (with filtering between layers).

The last 2 patches are unrelated to array textures, but depend on the changes in this series.

Please review.

Marek Olšák (13):
      gallium: add PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS
      gallium: add shadow 1D and 2D array samplers to TGSI
      st/mesa: convert shadow array samplers to TGSI
      u_blitter: add texture array support
      ir_to_mesa: fix shadow2DArray comparison
      glsl_to_tgsi: fix shadow2DArray comparison
      r600g: fix texture array filtering
      r600g: always decompress all mipmaps and layers, slices, or faces of zbuffers
      r600g: implement texture arrays for evergreen
      r600g: add support for shadow array samplers
      r600g: enable texture arrays
      r600g: use SAMPLE_LB for OPCODE_TXB
      r600g: fix shadow samplers with rectangle textures

 src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c |    6 +
 src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c  |    6 +
 src/gallium/auxiliary/tgsi/tgsi_dump.c           |    4 +-
 src/gallium/auxiliary/tgsi/tgsi_exec.c           |   37 +++++
 src/gallium/auxiliary/tgsi/tgsi_sse2.c           |    4 +
 src/gallium/auxiliary/tgsi/tgsi_text.c           |    6 +-
 src/gallium/auxiliary/tgsi/tgsi_util.c           |   10 +-
 src/gallium/auxiliary/util/u_blitter.c           |   52 +++++--
 src/gallium/drivers/r600/evergreen_state.c       |   23 +++-
 src/gallium/drivers/r600/r600_blit.c             |   63 ++++++---
 src/gallium/drivers/r600/r600_pipe.c             |   10 +-
 src/gallium/drivers/r600/r600_pipe.h             |    6 +-
 src/gallium/drivers/r600/r600_shader.c           |   55 +++++--
 src/gallium/drivers/r600/r600_state.c            |  177 +++++++++++++---------
 src/gallium/drivers/r600/r600_state_common.c     |    4 +
 src/gallium/drivers/r600/r600_texture.c          |   14 +-
 src/gallium/drivers/r600/r600d.h                 |   39 ++++--
 src/gallium/include/pipe/p_defines.h             |    1 +
 src/gallium/include/pipe/p_shader_tokens.h       |    6 +-
 src/mesa/program/ir_to_mesa.cpp                  |   15 ++-
 src/mesa/state_tracker/st_extensions.c           |    3 +
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp       |   15 ++-
 src/mesa/state_tracker/st_mesa_to_tgsi.c         |    2 +
 23 files changed, 396 insertions(+), 162 deletions(-)

Marek


More information about the mesa-dev mailing list