arb_arrays_of_arrays: compile test basic types

Message ID 1427700541-3937-1-git-send-email-t_arceri@yahoo.com.au
State New
Headers show

Commit Message

'Timothy Arceri' via Patchwork Forward March 30, 2015, 7:29 a.m.
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

Comments

'Timothy Arceri' via Patchwork Forward March 30, 2015, 9:17 p.m. | #1
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.
'Timothy Arceri' via Patchwork Forward April 1, 2015, 5:14 a.m. | #2
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); }
>

Patch hide | download patch | download mbox

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); }