[Piglit] [PATCH 1/4] glsl-1.10: Test if arrays of samplers can be passed as function parameters.

Fabian Bieler fabianbieler at fastmail.fm
Wed May 29 01:58:19 PDT 2013


Signed-off-by: Fabian Bieler <fabianbieler at fastmail.fm>
---
 .../samplers/in-parameter-array.shader_test        | 39 ++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 tests/spec/glsl-1.10/execution/samplers/in-parameter-array.shader_test

diff --git a/tests/spec/glsl-1.10/execution/samplers/in-parameter-array.shader_test b/tests/spec/glsl-1.10/execution/samplers/in-parameter-array.shader_test
new file mode 100644
index 0000000..428ee5b
--- /dev/null
+++ b/tests/spec/glsl-1.10/execution/samplers/in-parameter-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;
+uniform sampler2D tex[2];
+
+vec4 foo(in sampler2D foo_tex[2], vec4 foo_texcoords)
+{
+	if (foo_texcoords.x < 0.5)
+		return texture2D(foo_tex[0], foo_texcoords.xy);
+	else
+		return texture2D(foo_tex[1], foo_texcoords.xy);
+}
+
+void main()
+{
+	gl_FragColor = foo(tex, texcoords);
+}
+
+[test]
+uniform int tex[0] 0
+uniform int tex[1] 1
+texture checkerboard 0 0 (8, 8) (1.0, 0.0, 0.0, 0.0) (0.0, 0.0, 1.0, 0.0)
+texture checkerboard 1 0 (8, 8) (0.0, 1.0, 1.0, 0.0) (1.0, 1.0, 0.0, 0.0)
+draw rect -1 -1 2 2
+relative probe rgb (0.25, 0.25) (1.0, 0.0, 0.0)
+relative probe rgb (0.25, 0.75) (0.0, 0.0, 1.0)
+relative probe rgb (0.75, 0.25) (1.0, 1.0, 0.0)
+relative probe rgb (0.75, 0.75) (0.0, 1.0, 1.0)
-- 
1.8.1.2



More information about the Piglit mailing list