[Piglit] [PATCH] arb_arrays_of_arrays: compile test basic types

Martin Peres martin.peres at linux.intel.com
Tue Mar 31 02:02:29 PDT 2015


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



More information about the Piglit mailing list