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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev