[Piglit] [PATCH 3/3] arb_gpu_shader5: add execution test for textureGatherOffset

Nicolai Hähnle nhaehnle at gmail.com
Wed Oct 12 17:40:33 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at 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



More information about the Piglit mailing list