From: Nicolai Hähnle <nicolai.haeh...@amd.com>

This currently fails on Gallium drivers due to a bug in glsl_to_tgsi.
---
 ...reGatherOffset-uniform-array-offset.shader_test | 49 ++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 
tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-textureGatherOffset-uniform-array-offset.shader_test

diff --git 
a/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-textureGatherOffset-uniform-array-offset.shader_test
 
b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-textureGatherOffset-uniform-array-offset.shader_test
new file mode 100644
index 0000000..3487e6f
--- /dev/null
+++ 
b/tests/spec/arb_gpu_shader5/execution/built-in-functions/fs-textureGatherOffset-uniform-array-offset.shader_test
@@ -0,0 +1,49 @@
+# Test that the offset can be taken from a uniform array with an index that
+# itself comes from a uniform.
+
+[require]
+GLSL >= 1.50
+GL_ARB_gpu_shader5
+
+[vertex shader passthrough]
+
+[fragment shader]
+#extension GL_ARB_gpu_shader5 : enable
+
+uniform sampler2D s2D;
+uniform ivec2 offset[4];
+uniform int oidx;
+
+void main()
+{
+       gl_FragColor = textureGatherOffset(s2D, vec2(0.25, 0.25), offset[oidx]);
+}
+
+[test]
+texture quads 0 0 (4, 4) (1, 1) (0, 0.5, 0.1, 0.15) (0.2, 0.25, 0.3, 0.35) 
(0.4, 0.45, 0.5, 0.55) (0.6, 0.65, 0.7, 0.75)
+
+uniform int s2D 0
+uniform ivec2 offset[0] 0 0
+uniform ivec2 offset[1] 1 0
+uniform ivec2 offset[2] 0 1
+uniform ivec2 offset[3] 1 1
+
+uniform int oidx 0
+
+draw rect -1 -1 2 2
+probe all rgba 0.4 0.6 0.2 0
+
+uniform int oidx 1
+
+draw rect -1 -1 2 2
+probe all rgba 0.6 0.4 0 0.2
+
+uniform int oidx 2
+
+draw rect -1 -1 2 2
+probe all rgba 0 0.2 0.6 0.4
+
+uniform int oidx 3
+
+draw rect -1 -1 2 2
+probe all rgba 0.2 0 0.4 0.6
-- 
2.7.4

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to