summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2015-03-23 06:19:38 -0400
committerIlia Mirkin <imirkin@alum.mit.edu>2015-03-24 10:12:19 -0400
commit3a30f0e125bc5ded323dbd850ef9a2a61d04b71b (patch)
treeb7d402f12ac817ca3b37fa4986e607882d3df9fd
parent23c0f58b87c2eb2b45f4016c1063e6c512c89308 (diff)
samplers: add a test that has a sampler array inside of a struct
Based on in-parameter-struct-array. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
-rw-r--r--tests/spec/glsl-1.10/execution/samplers/in-parameter-struct-array.shader_test39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/spec/glsl-1.10/execution/samplers/in-parameter-struct-array.shader_test b/tests/spec/glsl-1.10/execution/samplers/in-parameter-struct-array.shader_test
new file mode 100644
index 000000000..a392bd45e
--- /dev/null
+++ b/tests/spec/glsl-1.10/execution/samplers/in-parameter-struct-array.shader_test
@@ -0,0 +1,39 @@
+[require]
+GLSL >= 1.10
+
+[vertex shader]
+varying vec4 texcoords;
+
+void main()
+{
+ gl_Position = gl_Vertex;
+ texcoords = (gl_Vertex + 1.0) / 2.0;
+}
+
+[fragment shader]
+varying vec4 texcoords;
+struct S {
+ float f;
+ sampler2D tex[1];
+};
+uniform S s;
+
+vec4 foo(in S foo_s, vec4 foo_texcoords)
+{
+ return texture2D(foo_s.tex[0], foo_texcoords.xy) * foo_s.f;
+}
+
+void main()
+{
+ gl_FragColor = foo(s, texcoords);
+}
+
+[test]
+uniform int s.tex[0] 1
+uniform float s.f 1.0
+texture rgbw 1 (8, 8)
+draw rect -1 -1 2 2
+relative probe rgb (0.25, 0.25) (1.0, 0.0, 0.0)
+relative probe rgb (0.75, 0.25) (0.0, 1.0, 0.0)
+relative probe rgb (0.25, 0.75) (0.0, 0.0, 1.0)
+relative probe rgb (0.75, 0.75) (1.0, 1.0, 1.0)