Message ID | 1427700541-3937-1-git-send-email-t_arceri@yahoo.com.au |
---|---|
State | New |
Headers | show |
On Mon, 2015-03-30 at 10:51 +0300, Martin Peres wrote: > On 30/03/15 10:29, Timothy Arceri wrote: > > Test results: > > > > Nvidia GeForce 840M - NVIDIA 346.47: pass > > --- > > This is just /tests/spec/glsl-1.20/compiler/structure-and-array-operations/array-of-any-type.vert > > with an extra dimension added. > > Do you have any other test that would cover more than just the grammar? > Maybe you already sent them (possibly a while ago), sorry if this is the > case. Yeah there are a bunch of tests already in piglit that I've submitted over the past year. The main reason for this test is that I haven't got any tests for sampler arrays of arrays so this seemed like a nice test to start things off with.
On Tue, 2015-03-31 at 12:02 +0300, Martin Peres wrote: > On 30/03/15 10:29, Timothy Arceri wrote: > > Test results: > > > > Nvidia GeForce 840M - NVIDIA 346.47: pass > > --- > > This is just /tests/spec/glsl-1.20/compiler/structure-and-array-operations/array-of-any-type.vert > > with an extra dimension added. > > > > .../compiler/arrays-of-any-type.vert | 44 ++++++++++++++++++++++ > > 1 file changed, 44 insertions(+) > > create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert > > > > diff --git a/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert b/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert > > new file mode 100644 > > index 0000000..0ce45da > > --- /dev/null > > +++ b/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert > > @@ -0,0 +1,44 @@ > > +/* [config] > > + * expect_result: pass > > + * glsl_version: 1.20 > > + * [end config] > > + * > > + * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec: > > + * > > + * "All basic types and structures can be formed into arrays." > > + */ > > +#version 120 > > +#extension GL_ARB_arrays_of_arrays: enable > > + > > +uniform float array01[1][1]; > > +uniform int array02[1][1]; > For the sake of completeness: > uint and double are missing here. > > +uniform bool array03[1][1]; > > +uniform vec2 array04[1][1]; > > +uniform vec3 array05[1][1]; > > +uniform vec4 array06[1][1]; > > +uniform ivec2 array07[1][1]; > > +uniform ivec3 array08[1][1]; > > +uniform ivec4 array09[1][1]; > uvec and dvec? > > +uniform bvec2 array10[1][1]; > > +uniform bvec3 array11[1][1]; > > +uniform bvec4 array12[1][1]; > > +uniform mat2 array13[1][1]; > > +uniform mat2x2 array14[1][1]; > > +uniform mat2x3 array15[1][1]; > > +uniform mat2x4 array16[1][1]; > > +uniform mat3 array17[1][1]; > > +uniform mat3x2 array18[1][1]; > > +uniform mat3x3 array19[1][1]; > > +uniform mat3x4 array20[1][1]; > > +uniform mat4 array21[1][1]; > > +uniform mat4x2 array22[1][1]; > > +uniform mat4x3 array23[1][1]; > > +uniform mat4x4 array24[1][1]; > > +uniform sampler1D array25[1][1]; > > +uniform sampler2D array26[1][1]; > > +uniform sampler3D array27[1][1]; > > +uniform samplerCube array28[1][1]; > > +uniform sampler1DShadow array29[1][1]; > > +uniform sampler2DShadow array30[1][1]; > There quite a few missing here: samplerCubeShadow, sampler2DRectShadow, > sampler1DArrayShadow, sampler2DArrayShadow, samplerCubeArrayShadow, > sampler2DRect, and more. Also, you do not test samplers for integers and > unsigned. I guess you missed the comment at the top: This is just /tests/spec/glsl-1.20/compiler/structure-and-array-operations/array-of-any-type.vert with an extra dimension added. So anything added after glsl 1.20 is missing. However you are right I should create tests to cover everything so I've submitted new tests that cover all basic types. Thanks for the feedback. > > I know it is boring but only by increasing coverage can we really test > for non-regression in non-trivial cases (AKA, the ones that make us > loose time when debugging). > > It would be great if you could already add tests for image load store > and atomic counters so at it puts the burden of making sure this > extension still works when they get enabled. Of course, they would need > to be in separate tests. > > Other than that, I like the idea. Plain simple but quite necessary. > > + > > +void main() { gl_Position = vec4(0.0); } >
diff --git a/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert b/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert new file mode 100644 index 0000000..0ce45da --- /dev/null +++ b/tests/spec/arb_arrays_of_arrays/compiler/arrays-of-any-type.vert @@ -0,0 +1,44 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * [end config] + * + * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec: + * + * "All basic types and structures can be formed into arrays." + */ +#version 120 +#extension GL_ARB_arrays_of_arrays: enable + +uniform float array01[1][1]; +uniform int array02[1][1]; +uniform bool array03[1][1]; +uniform vec2 array04[1][1]; +uniform vec3 array05[1][1]; +uniform vec4 array06[1][1]; +uniform ivec2 array07[1][1]; +uniform ivec3 array08[1][1]; +uniform ivec4 array09[1][1]; +uniform bvec2 array10[1][1]; +uniform bvec3 array11[1][1]; +uniform bvec4 array12[1][1]; +uniform mat2 array13[1][1]; +uniform mat2x2 array14[1][1]; +uniform mat2x3 array15[1][1]; +uniform mat2x4 array16[1][1]; +uniform mat3 array17[1][1]; +uniform mat3x2 array18[1][1]; +uniform mat3x3 array19[1][1]; +uniform mat3x4 array20[1][1]; +uniform mat4 array21[1][1]; +uniform mat4x2 array22[1][1]; +uniform mat4x3 array23[1][1]; +uniform mat4x4 array24[1][1]; +uniform sampler1D array25[1][1]; +uniform sampler2D array26[1][1]; +uniform sampler3D array27[1][1]; +uniform samplerCube array28[1][1]; +uniform sampler1DShadow array29[1][1]; +uniform sampler2DShadow array30[1][1]; + +void main() { gl_Position = vec4(0.0); }