r600g: Implement gpu_shader5 textureGather
authorGlenn Kennard <glenn.kennard@gmail.com>
Sun, 20 Jul 2014 13:59:16 +0000 (15:59 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 1 Aug 2014 14:19:47 +0000 (16:19 +0200)
commit3a9278b92cb5595d1dae604c409abe8f1a9be5b3
tree2eb8890e19ce88663fae562ad795919b7b89551c
parentf455f34ab9e8d39bb2657b28e608a63c3c2386f8
r600g: Implement gpu_shader5 textureGather

Adds 0-3 textureGather component selection and non-constant offsets

Caveat: 0 and 1 texture swizzles only work if textureGather component
select is 3 or a component that does not exist in the sampler texture
format. This is a hardware limitation, any other value returns
128/255=0.501961 for both 0 and 1.

Passes all textureGather piglit tests on radeon 6670, except for those
using 0/1 texture swizzles due to aforementioned reason.

Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
docs/GL3.txt
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_shader.c