gallium: add texture gather support to gallium (v3)

Graphics / Mesa 3D Graphics Library / Mesa - Dave Airlie [redhat.com] - 24 February 2014 21:29 UTC

This adds support to gallium for a TG4 instruction, and two CAPs. The first CAP is required for GL_ARB_texture_gather.

The second CAP is required to expose GL_ARB_gpu_shader5.

However so far we haven't found any hardware that natively exposes the textureGatherOffsets feature from GL, so just lower it for now. If hardware appears for this we can add another CAP to allow TG4 to take 4 offsets.

v2: add component selection src and a cap to say hw can do it. (st can use to help control GL_ARB_gpu_shader5/GLSL 4.00). Add docs.

v3: rename to SM5, add docs.

2fcbec4 gallium: add texture gather support to gallium (v3)
src/gallium/auxiliary/tgsi/tgsi_info.c | 1 +
src/gallium/docs/source/screen.rst | 6 ++++
src/gallium/docs/source/tgsi.rst | 36 ++++++++++++++++++++++
src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++
src/gallium/drivers/i915/i915_screen.c | 2 ++
src/gallium/drivers/ilo/ilo_screen.c | 2 ++
src/gallium/drivers/llvmpipe/lp_screen.c | 2 ++
src/gallium/drivers/nouveau/nv30/nv30_screen.c | 2 ++
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 2 ++
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 ++
src/gallium/drivers/r300/r300_screen.c | 2 ++
src/gallium/drivers/r600/r600_pipe.c | 2 ++
src/gallium/drivers/radeonsi/si_pipe.c | 2 ++
src/gallium/drivers/softpipe/sp_screen.c | 2 ++
src/gallium/drivers/svga/svga_screen.c | 2 ++
src/gallium/include/pipe/p_defines.h | 4 ++-
src/gallium/include/pipe/p_shader_tokens.h | 4 ++-
17 files changed, 73 insertions(+), 2 deletions(-)

Upstream: cgit.freedesktop.org


  • Share