This series is Reviewed-by: Ilia Mirkin <[email protected]>
On Sun, Aug 10, 2014 at 7:14 AM, Chris Forbes <[email protected]> wrote: > Signed-off-by: Chris Forbes <[email protected]> > --- > .../fs-nonzero-base.shader_test | 68 +++++++++++++++++ > .../fs-weird-uniforms.shader_test | 69 +++++++++++++++++ > .../fs-with-other.shader_test | 69 +++++++++++++++++ > .../gs-nonzero-base.shader_test | 87 > ++++++++++++++++++++++ > .../gs-weird-uniforms.shader_test | 87 > ++++++++++++++++++++++ > .../vs-nonzero-base.shader_test | 80 ++++++++++++++++++++ > .../vs-weird-uniforms.shader_test | 80 ++++++++++++++++++++ > 7 files changed, 540 insertions(+) > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-nonzero-base.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-weird-uniforms.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-with-other.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-nonzero-base.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-weird-uniforms.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-nonzero-base.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-weird-uniforms.shader_test > > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-nonzero-base.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-nonzero-base.shader_test > new file mode 100644 > index 0000000..58b934e > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-nonzero-base.shader_test > @@ -0,0 +1,68 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the fragment shader behaves correctly. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader passthrough] > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D s[4]; > + > +uniform int n; > + > +out vec4 color; > + > +void main() > +{ > + color = texture(s[n], vec2(0.5, 0.5)); > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 1 > +uniform int s[1] 2 > +uniform int s[2] 3 > +uniform int s[3] 4 > + > +texture checkerboard 1 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 3 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 4 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-weird-uniforms.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-weird-uniforms.shader_test > new file mode 100644 > index 0000000..d7fe84c > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-weird-uniforms.shader_test > @@ -0,0 +1,69 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the fragment shader behaves correctly. This variant has the samplers -> > TIU > +# mapping weird, to ensure our indexing is correct. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader passthrough] > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D s[4]; > + > +uniform int n; > + > +out vec4 color; > + > +void main() > +{ > + color = texture(s[n], vec2(0.5, 0.5)); > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 3 > +uniform int s[1] 2 > +uniform int s[2] 1 > +uniform int s[3] 0 > + > +texture checkerboard 3 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 1 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 0 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-with-other.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-with-other.shader_test > new file mode 100644 > index 0000000..f570dcd > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-with-other.shader_test > @@ -0,0 +1,69 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the fragment shader behaves correctly. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader passthrough] > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D other; > +uniform sampler2D s[4]; > + > +uniform int n; > + > +out vec4 color; > + > +void main() > +{ > + color = texture(s[n], vec2(0.5, 0.5)); > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 0 > +uniform int s[1] 1 > +uniform int s[2] 2 > +uniform int s[3] 3 > + > +texture checkerboard 0 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 1 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 3 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-nonzero-base.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-nonzero-base.shader_test > new file mode 100644 > index 0000000..11b2e75 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-nonzero-base.shader_test > @@ -0,0 +1,87 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the geometry shader behaves correctly. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader passthrough] > + > +[geometry shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D s[4]; > + > +uniform int n; > + > +layout(triangles) in; > +layout(triangle_strip, max_vertices=3) out; > +out vec4 color; > + > +void main() > +{ > + for (int i = 0; i < 3; i++) { > + gl_Position = gl_in[i].gl_Position; > + color = texture(s[n], vec2(0.5, 0.5)); > + EmitVertex(); > + } > + EndPrimitive(); > +} > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in vec4 color; > +out vec4 out_color; > + > +void main() > +{ > + out_color = color; > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 1 > +uniform int s[1] 2 > +uniform int s[2] 3 > +uniform int s[3] 4 > + > +texture checkerboard 1 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 3 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 4 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-weird-uniforms.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-weird-uniforms.shader_test > new file mode 100644 > index 0000000..4512c99 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/gs-weird-uniforms.shader_test > @@ -0,0 +1,87 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the geometry shader behaves correctly. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader passthrough] > + > +[geometry shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D s[4]; > + > +uniform int n; > + > +layout(triangles) in; > +layout(triangle_strip, max_vertices=3) out; > +out vec4 color; > + > +void main() > +{ > + for (int i = 0; i < 3; i++) { > + gl_Position = gl_in[i].gl_Position; > + color = texture(s[n], vec2(0.5, 0.5)); > + EmitVertex(); > + } > + EndPrimitive(); > +} > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in vec4 color; > +out vec4 out_color; > + > +void main() > +{ > + out_color = color; > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 3 > +uniform int s[1] 2 > +uniform int s[2] 1 > +uniform int s[3] 0 > + > +texture checkerboard 3 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 1 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 0 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-nonzero-base.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-nonzero-base.shader_test > new file mode 100644 > index 0000000..e251f0b > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-nonzero-base.shader_test > @@ -0,0 +1,80 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the vertex shader behaves correctly. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D s[4]; > + > +uniform int n; > + > +in vec4 piglit_vertex; > +out vec4 color; > + > +void main() > +{ > + gl_Position = piglit_vertex; > + color = texture(s[n], vec2(0.5, 0.5)); > +} > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in vec4 color; > +out vec4 out_color; > + > +void main() > +{ > + out_color = color; > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 1 > +uniform int s[1] 2 > +uniform int s[2] 3 > +uniform int s[3] 4 > + > +texture checkerboard 1 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 3 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 4 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-weird-uniforms.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-weird-uniforms.shader_test > new file mode 100644 > index 0000000..d047f9f > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/vs-weird-uniforms.shader_test > @@ -0,0 +1,80 @@ > +# This test verifies that dynamically uniform indexing of sampler arrays > +# in the vertex shader behaves correctly. > + > +[require] > +GLSL >= 1.50 > +GL_ARB_gpu_shader5 > + > +[vertex shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +uniform sampler2D s[4]; > + > +uniform int n; > + > +in vec4 piglit_vertex; > +out vec4 color; > + > +void main() > +{ > + gl_Position = piglit_vertex; > + color = texture(s[n], vec2(0.5, 0.5)); > +} > + > +[fragment shader] > +#version 150 > +#extension GL_ARB_gpu_shader5: require > + > +in vec4 color; > +out vec4 out_color; > + > +void main() > +{ > + out_color = color; > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0] 3 > +uniform int s[1] 2 > +uniform int s[2] 1 > +uniform int s[3] 0 > + > +texture checkerboard 3 0 (32, 32) (1.0, 0.0, 0.0, 0.0) (1.0, 0.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 2 0 (32, 32) (0.0, 1.0, 0.0, 0.0) (0.0, 1.0, 0.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 1 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 0.0, 1.0, 0.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +texture checkerboard 0 0 (32, 32) (1.0, 1.0, 1.0, 1.0) (1.0, 1.0, 1.0, 1.0) > +texparameter 2D min nearest > +texparameter 2D mag nearest > + > +uniform int n 0 > +draw rect -1 -1 1 1 > + > +relative probe rect rgb (0.0, 0.0, 0.5, 0.5) (1.0, 0.0, 0.0) > + > +uniform int n 1 > +draw rect 0 -1 1 1 > + > +relative probe rect rgb (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0) > + > +uniform int n 2 > +draw rect -1 0 1 1 > + > +relative probe rect rgb (0.0, 0.5, 0.5, 0.5) (0.0, 0.0, 1.0) > + > +uniform int n 3 > +draw rect 0 0 1 1 > + > +relative probe rect rgb (0.5, 0.5, 0.5, 0.5) (1.0, 1.0, 1.0) > -- > 2.0.4 > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
