Looks good to me. Reviewed-by: Chris Forbes <chr...@ijw.co.nz>
On Thu, Jun 4, 2015 at 2:28 PM, Timothy Arceri <t_arc...@yahoo.com.au> wrote: > Test results: > > Nvidia GeForce 840M - NVIDIA 346.47: pass > --- > .../fs-struct-nonconst-sampler-const.shader_test | 72 ++++++++++++++++++++ > ...fs-struct-nonconst-sampler-nonconst.shader_test | 77 > ++++++++++++++++++++++ > .../fs-struct-nonconst-sampler.shader_test | 72 ++++++++++++++++++++ > 3 files changed, 221 insertions(+) > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-const.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-nonconst.shader_test > create mode 100644 > tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler.shader_test > > diff --git > a/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-const.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-const.shader_test > new file mode 100644 > index 0000000..16f73a4 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-const.shader_test > @@ -0,0 +1,72 @@ > +# 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 > + > +struct S { > + sampler2D tex[2]; > +}; > + > +uniform S s[4]; > + > +uniform int n; > + > +out vec4 color; > + > +void main() > +{ > + color = texture(s[n].tex[1], vec2(0.5, 0.5)); > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0].tex[1] 0 > +uniform int s[1].tex[1] 1 > +uniform int s[2].tex[1] 2 > +uniform int s[3].tex[1] 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/fs-struct-nonconst-sampler-nonconst.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-nonconst.shader_test > new file mode 100644 > index 0000000..88310ab > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler-nonconst.shader_test > @@ -0,0 +1,77 @@ > +# 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 > + > +struct S { > + sampler2D tex[2]; > +}; > + > +uniform S s[2]; > + > +uniform int n; > +uniform int m; > + > +out vec4 color; > + > +void main() > +{ > + color = texture(s[n].tex[m], vec2(0.5, 0.5)); > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0].tex[0] 0 > +uniform int s[0].tex[1] 1 > +uniform int s[1].tex[0] 2 > +uniform int s[1].tex[1] 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 > +uniform int m 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 0 > +uniform int m 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 1 > +uniform int m 0 > +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 1 > +uniform int m 1 > +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-struct-nonconst-sampler.shader_test > > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler.shader_test > new file mode 100644 > index 0000000..9c6df15 > --- /dev/null > +++ > b/tests/spec/arb_gpu_shader5/execution/sampler_array_indexing/fs-struct-nonconst-sampler.shader_test > @@ -0,0 +1,72 @@ > +# 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 > + > +struct S { > + sampler2D tex; > +}; > + > +uniform S s[4]; > + > +uniform int n; > + > +out vec4 color; > + > +void main() > +{ > + color = texture(s[n].tex, vec2(0.5, 0.5)); > +} > + > +[test] > +clear color 0.2 0.2 0.2 0.2 > +clear > + > +uniform int s[0].tex 0 > +uniform int s[1].tex 1 > +uniform int s[2].tex 2 > +uniform int s[3].tex 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) > -- > 2.1.0 > > _______________________________________________ > Piglit mailing list > Piglit@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit