http://people.freedesktop.org/~imirkin/glxinfo/glxinfo.html
nv50 can only do 64 vs outputs. On Mon, Apr 6, 2015 at 8:07 PM, Marek Olšák <[email protected]> wrote: > Is there hardware which can only do 64 components? I'll update the > [require] section. > > Marek > > On Tue, Apr 7, 2015 at 1:51 AM, Ilia Mirkin <[email protected]> wrote: >> You're outputting a *lot* of vertex outputs... GLSL 1.50 requires only >> 64 vertex output components, but you're using 2x that in your vec4 >> test. >> >> On Mon, Apr 6, 2015 at 7:39 PM, Marek Olšák <[email protected]> wrote: >>> From: Marek Olšák <[email protected]> >>> >>> --- >>> .../gs-input-array-float-index-rd.shader_test | 217 >>> +++++++++++++++++++++ >>> .../gs-input-array-vec2-index-rd.shader_test | 217 >>> +++++++++++++++++++++ >>> .../gs-input-array-vec3-index-rd.shader_test | 217 >>> +++++++++++++++++++++ >>> .../gs-input-array-vec4-index-rd.shader_test | 217 >>> +++++++++++++++++++++ >>> 4 files changed, 868 insertions(+) >>> create mode 100644 >>> tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-float-index-rd.shader_test >>> create mode 100644 >>> tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec2-index-rd.shader_test >>> create mode 100644 >>> tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec3-index-rd.shader_test >>> create mode 100644 >>> tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec4-index-rd.shader_test >>> >>> diff --git >>> a/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-float-index-rd.shader_test >>> >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-float-index-rd.shader_test >>> new file mode 100644 >>> index 0000000..58c2f8d >>> --- /dev/null >>> +++ >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-float-index-rd.shader_test >>> @@ -0,0 +1,217 @@ >>> +[require] >>> +GLSL >= 1.50 >>> + >>> +[vertex shader] >>> +#version 150 >>> + >>> +in vec4 piglit_vertex; >>> + >>> +out block { >>> + float m1[16]; >>> + float m2[15]; >>> +} ins; >>> + >>> +void main() >>> +{ >>> + gl_Position = piglit_vertex; >>> + >>> + for (int i = 0; i < 16; i++) >>> + ins.m1[i] = float(1+i); >>> + >>> + for (int i = 0; i < 15; i++) >>> + ins.m2[i] = float(17+i); >>> +} >>> + >>> +[geometry shader] >>> +#version 150 >>> +layout(triangles) in; >>> +layout(triangle_strip, max_vertices = 3) out; >>> + >>> +uniform int index; >>> +uniform vec4 expect; >>> +in block { >>> + float m1[16]; >>> + float m2[15]; >>> +} ins[]; >>> +out vec4 color; >>> + >>> +void main() >>> +{ >>> + for (int p = 0; p < 3; p++) { >>> + color = ((index >= 16 ? ins[p].m2[index-16] >>> + : ins[p].m1[index]) == expect.x) >>> + ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0); >>> + >>> + gl_Position = gl_in[p].gl_Position; >>> + EmitVertex(); >>> + } >>> +} >>> + >>> +[fragment shader] >>> +#version 150 >>> +in vec4 color; >>> +out vec4 outcolor; >>> + >>> +void main() >>> +{ >>> + outcolor = color; >>> +} >>> + >>> +[test] >>> +clear color 0.5 0.5 0.5 0.5 >>> +clear >>> + >>> +uniform int index 0 >>> +uniform vec4 expect 1 1.1 1.2 1.3 >>> +draw rect -1 -1 0.09 0.09 >>> +probe rgb 6 6 0.0 1.0 0.0 >>> + >>> +uniform int index 1 >>> +uniform vec4 expect 2 2.1 2.2 2.3 >>> +draw rect -0.9 -1 0.09 0.09 >>> +probe rgb 18 6 0.0 1.0 0.0 >>> + >>> +uniform int index 2 >>> +uniform vec4 expect 3 3.1 3.2 3.3 >>> +draw rect -0.8 -1 0.09 0.09 >>> +probe rgb 31 6 0.0 1.0 0.0 >>> + >>> +uniform int index 3 >>> +uniform vec4 expect 4 4.1 4.2 4.3 >>> +draw rect -0.7 -1 0.09 0.09 >>> +probe rgb 43 6 0.0 1.0 0.0 >>> + >>> +uniform int index 4 >>> +uniform vec4 expect 5 5.1 5.2 5.3 >>> +draw rect -0.6 -1 0.09 0.09 >>> +probe rgb 56 6 0.0 1.0 0.0 >>> + >>> +uniform int index 5 >>> +uniform vec4 expect 6 6.1 6.2 6.3 >>> +draw rect -0.5 -1 0.09 0.09 >>> +probe rgb 68 6 0.0 1.0 0.0 >>> + >>> +uniform int index 6 >>> +uniform vec4 expect 7 7.1 7.2 7.3 >>> +draw rect -0.4 -1 0.09 0.09 >>> +probe rgb 81 6 0.0 1.0 0.0 >>> + >>> +uniform int index 7 >>> +uniform vec4 expect 8 8.1 8.2 8.3 >>> +draw rect -0.3 -1 0.09 0.09 >>> +probe rgb 93 6 0.0 1.0 0.0 >>> + >>> +uniform int index 8 >>> +uniform vec4 expect 9 9.1 9.2 9.3 >>> +draw rect -0.2 -1 0.09 0.09 >>> +probe rgb 106 6 0.0 1.0 0.0 >>> + >>> +uniform int index 9 >>> +uniform vec4 expect 10 10.1 10.2 10.3 >>> +draw rect -0.1 -1 0.09 0.09 >>> +probe rgb 118 6 0.0 1.0 0.0 >>> + >>> +uniform int index 10 >>> +uniform vec4 expect 11 11.1 11.2 11.3 >>> +draw rect 0 -1 0.09 0.09 >>> +probe rgb 131 6 0.0 1.0 0.0 >>> + >>> +uniform int index 11 >>> +uniform vec4 expect 12 12.1 12.2 12.3 >>> +draw rect 0.1 -1 0.09 0.09 >>> +probe rgb 143 6 0.0 1.0 0.0 >>> + >>> +uniform int index 12 >>> +uniform vec4 expect 13 13.1 13.2 13.3 >>> +draw rect 0.2 -1 0.09 0.09 >>> +probe rgb 156 6 0.0 1.0 0.0 >>> + >>> +uniform int index 13 >>> +uniform vec4 expect 14 14.1 14.2 14.3 >>> +draw rect 0.3 -1 0.09 0.09 >>> +probe rgb 168 6 0.0 1.0 0.0 >>> + >>> +uniform int index 14 >>> +uniform vec4 expect 15 15.1 15.2 15.3 >>> +draw rect 0.4 -1 0.09 0.09 >>> +probe rgb 181 6 0.0 1.0 0.0 >>> + >>> +uniform int index 15 >>> +uniform vec4 expect 16 16.1 16.2 16.3 >>> +draw rect 0.5 -1.0 0.09 0.09 >>> +probe rgb 193 6 0.0 1.0 0.0 >>> + >>> +uniform int index 16 >>> +uniform vec4 expect 17 17.1 17.2 17.3 >>> +draw rect -1 -0.9 0.09 0.09 >>> +probe rgb 6 18 0.0 1.0 0.0 >>> + >>> +uniform int index 17 >>> +uniform vec4 expect 18 18.1 18.2 18.3 >>> +draw rect -0.9 -0.9 0.09 0.09 >>> +probe rgb 18 18 0.0 1.0 0.0 >>> + >>> +uniform int index 18 >>> +uniform vec4 expect 19 19.1 19.2 19.3 >>> +draw rect -0.8 -0.9 0.09 0.09 >>> +probe rgb 31 18 0.0 1.0 0.0 >>> + >>> +uniform int index 19 >>> +uniform vec4 expect 20 20.1 20.2 20.3 >>> +draw rect -0.7 -0.9 0.09 0.09 >>> +probe rgb 43 18 0.0 1.0 0.0 >>> + >>> +uniform int index 20 >>> +uniform vec4 expect 21 21.1 21.2 21.3 >>> +draw rect -0.6 -0.9 0.09 0.09 >>> +probe rgb 56 18 0.0 1.0 0.0 >>> + >>> +uniform int index 21 >>> +uniform vec4 expect 22 22.1 22.2 22.3 >>> +draw rect -0.5 -0.9 0.09 0.09 >>> +probe rgb 68 18 0.0 1.0 0.0 >>> + >>> +uniform int index 22 >>> +uniform vec4 expect 23 23.1 23.2 23.3 >>> +draw rect -0.4 -0.9 0.09 0.09 >>> +probe rgb 81 18 0.0 1.0 0.0 >>> + >>> +uniform int index 23 >>> +uniform vec4 expect 24 24.1 24.2 24.3 >>> +draw rect -0.3 -0.9 0.09 0.09 >>> +probe rgb 93 18 0.0 1.0 0.0 >>> + >>> +uniform int index 24 >>> +uniform vec4 expect 25 25.1 25.2 25.3 >>> +draw rect -0.2 -0.9 0.09 0.09 >>> +probe rgb 106 18 0.0 1.0 0.0 >>> + >>> +uniform int index 25 >>> +uniform vec4 expect 26 26.1 26.2 26.3 >>> +draw rect -0.1 -0.9 0.09 0.09 >>> +probe rgb 118 18 0.0 1.0 0.0 >>> + >>> +uniform int index 26 >>> +uniform vec4 expect 27 27.1 27.2 27.3 >>> +draw rect 0 -0.9 0.09 0.09 >>> +probe rgb 131 18 0.0 1.0 0.0 >>> + >>> +uniform int index 27 >>> +uniform vec4 expect 28 28.1 28.2 28.3 >>> +draw rect 0.1 -0.9 0.09 0.09 >>> +probe rgb 143 18 0.0 1.0 0.0 >>> + >>> +uniform int index 28 >>> +uniform vec4 expect 29 29.1 29.2 29.3 >>> +draw rect 0.2 -0.9 0.09 0.09 >>> +probe rgb 156 18 0.0 1.0 0.0 >>> + >>> +uniform int index 29 >>> +uniform vec4 expect 30 30.1 30.2 30.3 >>> +draw rect 0.3 -0.9 0.09 0.09 >>> +probe rgb 168 18 0.0 1.0 0.0 >>> + >>> +uniform int index 30 >>> +uniform vec4 expect 31 31.1 31.2 31.3 >>> +draw rect 0.4 -0.9 0.09 0.09 >>> +probe rgb 181 18 0.0 1.0 0.0 >>> diff --git >>> a/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec2-index-rd.shader_test >>> >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec2-index-rd.shader_test >>> new file mode 100644 >>> index 0000000..d8f7b47 >>> --- /dev/null >>> +++ >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec2-index-rd.shader_test >>> @@ -0,0 +1,217 @@ >>> +[require] >>> +GLSL >= 1.50 >>> + >>> +[vertex shader] >>> +#version 150 >>> + >>> +in vec4 piglit_vertex; >>> + >>> +out block { >>> + vec2 m1[16]; >>> + vec2 m2[15]; >>> +} ins; >>> + >>> +void main() >>> +{ >>> + gl_Position = piglit_vertex; >>> + >>> + for (int i = 0; i < 16; i++) >>> + ins.m1[i] = vec2(1.0, 1.1) + vec2(i); >>> + >>> + for (int i = 0; i < 15; i++) >>> + ins.m2[i] = vec2(1.0, 1.1) + vec2(16+i); >>> +} >>> + >>> +[geometry shader] >>> +#version 150 >>> +layout(triangles) in; >>> +layout(triangle_strip, max_vertices = 3) out; >>> + >>> +uniform int index; >>> +uniform vec4 expect; >>> +in block { >>> + vec2 m1[16]; >>> + vec2 m2[15]; >>> +} ins[]; >>> +out vec4 color; >>> + >>> +void main() >>> +{ >>> + for (int p = 0; p < 3; p++) { >>> + color = ((index >= 16 ? ins[p].m2[index-16] >>> + : ins[p].m1[index]) == expect.xy) >>> + ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0); >>> + >>> + gl_Position = gl_in[p].gl_Position; >>> + EmitVertex(); >>> + } >>> +} >>> + >>> +[fragment shader] >>> +#version 150 >>> +in vec4 color; >>> +out vec4 outcolor; >>> + >>> +void main() >>> +{ >>> + outcolor = color; >>> +} >>> + >>> +[test] >>> +clear color 0.5 0.5 0.5 0.5 >>> +clear >>> + >>> +uniform int index 0 >>> +uniform vec4 expect 1 1.1 1.2 1.3 >>> +draw rect -1 -1 0.09 0.09 >>> +probe rgb 6 6 0.0 1.0 0.0 >>> + >>> +uniform int index 1 >>> +uniform vec4 expect 2 2.1 2.2 2.3 >>> +draw rect -0.9 -1 0.09 0.09 >>> +probe rgb 18 6 0.0 1.0 0.0 >>> + >>> +uniform int index 2 >>> +uniform vec4 expect 3 3.1 3.2 3.3 >>> +draw rect -0.8 -1 0.09 0.09 >>> +probe rgb 31 6 0.0 1.0 0.0 >>> + >>> +uniform int index 3 >>> +uniform vec4 expect 4 4.1 4.2 4.3 >>> +draw rect -0.7 -1 0.09 0.09 >>> +probe rgb 43 6 0.0 1.0 0.0 >>> + >>> +uniform int index 4 >>> +uniform vec4 expect 5 5.1 5.2 5.3 >>> +draw rect -0.6 -1 0.09 0.09 >>> +probe rgb 56 6 0.0 1.0 0.0 >>> + >>> +uniform int index 5 >>> +uniform vec4 expect 6 6.1 6.2 6.3 >>> +draw rect -0.5 -1 0.09 0.09 >>> +probe rgb 68 6 0.0 1.0 0.0 >>> + >>> +uniform int index 6 >>> +uniform vec4 expect 7 7.1 7.2 7.3 >>> +draw rect -0.4 -1 0.09 0.09 >>> +probe rgb 81 6 0.0 1.0 0.0 >>> + >>> +uniform int index 7 >>> +uniform vec4 expect 8 8.1 8.2 8.3 >>> +draw rect -0.3 -1 0.09 0.09 >>> +probe rgb 93 6 0.0 1.0 0.0 >>> + >>> +uniform int index 8 >>> +uniform vec4 expect 9 9.1 9.2 9.3 >>> +draw rect -0.2 -1 0.09 0.09 >>> +probe rgb 106 6 0.0 1.0 0.0 >>> + >>> +uniform int index 9 >>> +uniform vec4 expect 10 10.1 10.2 10.3 >>> +draw rect -0.1 -1 0.09 0.09 >>> +probe rgb 118 6 0.0 1.0 0.0 >>> + >>> +uniform int index 10 >>> +uniform vec4 expect 11 11.1 11.2 11.3 >>> +draw rect 0 -1 0.09 0.09 >>> +probe rgb 131 6 0.0 1.0 0.0 >>> + >>> +uniform int index 11 >>> +uniform vec4 expect 12 12.1 12.2 12.3 >>> +draw rect 0.1 -1 0.09 0.09 >>> +probe rgb 143 6 0.0 1.0 0.0 >>> + >>> +uniform int index 12 >>> +uniform vec4 expect 13 13.1 13.2 13.3 >>> +draw rect 0.2 -1 0.09 0.09 >>> +probe rgb 156 6 0.0 1.0 0.0 >>> + >>> +uniform int index 13 >>> +uniform vec4 expect 14 14.1 14.2 14.3 >>> +draw rect 0.3 -1 0.09 0.09 >>> +probe rgb 168 6 0.0 1.0 0.0 >>> + >>> +uniform int index 14 >>> +uniform vec4 expect 15 15.1 15.2 15.3 >>> +draw rect 0.4 -1 0.09 0.09 >>> +probe rgb 181 6 0.0 1.0 0.0 >>> + >>> +uniform int index 15 >>> +uniform vec4 expect 16 16.1 16.2 16.3 >>> +draw rect 0.5 -1.0 0.09 0.09 >>> +probe rgb 193 6 0.0 1.0 0.0 >>> + >>> +uniform int index 16 >>> +uniform vec4 expect 17 17.1 17.2 17.3 >>> +draw rect -1 -0.9 0.09 0.09 >>> +probe rgb 6 18 0.0 1.0 0.0 >>> + >>> +uniform int index 17 >>> +uniform vec4 expect 18 18.1 18.2 18.3 >>> +draw rect -0.9 -0.9 0.09 0.09 >>> +probe rgb 18 18 0.0 1.0 0.0 >>> + >>> +uniform int index 18 >>> +uniform vec4 expect 19 19.1 19.2 19.3 >>> +draw rect -0.8 -0.9 0.09 0.09 >>> +probe rgb 31 18 0.0 1.0 0.0 >>> + >>> +uniform int index 19 >>> +uniform vec4 expect 20 20.1 20.2 20.3 >>> +draw rect -0.7 -0.9 0.09 0.09 >>> +probe rgb 43 18 0.0 1.0 0.0 >>> + >>> +uniform int index 20 >>> +uniform vec4 expect 21 21.1 21.2 21.3 >>> +draw rect -0.6 -0.9 0.09 0.09 >>> +probe rgb 56 18 0.0 1.0 0.0 >>> + >>> +uniform int index 21 >>> +uniform vec4 expect 22 22.1 22.2 22.3 >>> +draw rect -0.5 -0.9 0.09 0.09 >>> +probe rgb 68 18 0.0 1.0 0.0 >>> + >>> +uniform int index 22 >>> +uniform vec4 expect 23 23.1 23.2 23.3 >>> +draw rect -0.4 -0.9 0.09 0.09 >>> +probe rgb 81 18 0.0 1.0 0.0 >>> + >>> +uniform int index 23 >>> +uniform vec4 expect 24 24.1 24.2 24.3 >>> +draw rect -0.3 -0.9 0.09 0.09 >>> +probe rgb 93 18 0.0 1.0 0.0 >>> + >>> +uniform int index 24 >>> +uniform vec4 expect 25 25.1 25.2 25.3 >>> +draw rect -0.2 -0.9 0.09 0.09 >>> +probe rgb 106 18 0.0 1.0 0.0 >>> + >>> +uniform int index 25 >>> +uniform vec4 expect 26 26.1 26.2 26.3 >>> +draw rect -0.1 -0.9 0.09 0.09 >>> +probe rgb 118 18 0.0 1.0 0.0 >>> + >>> +uniform int index 26 >>> +uniform vec4 expect 27 27.1 27.2 27.3 >>> +draw rect 0 -0.9 0.09 0.09 >>> +probe rgb 131 18 0.0 1.0 0.0 >>> + >>> +uniform int index 27 >>> +uniform vec4 expect 28 28.1 28.2 28.3 >>> +draw rect 0.1 -0.9 0.09 0.09 >>> +probe rgb 143 18 0.0 1.0 0.0 >>> + >>> +uniform int index 28 >>> +uniform vec4 expect 29 29.1 29.2 29.3 >>> +draw rect 0.2 -0.9 0.09 0.09 >>> +probe rgb 156 18 0.0 1.0 0.0 >>> + >>> +uniform int index 29 >>> +uniform vec4 expect 30 30.1 30.2 30.3 >>> +draw rect 0.3 -0.9 0.09 0.09 >>> +probe rgb 168 18 0.0 1.0 0.0 >>> + >>> +uniform int index 30 >>> +uniform vec4 expect 31 31.1 31.2 31.3 >>> +draw rect 0.4 -0.9 0.09 0.09 >>> +probe rgb 181 18 0.0 1.0 0.0 >>> diff --git >>> a/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec3-index-rd.shader_test >>> >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec3-index-rd.shader_test >>> new file mode 100644 >>> index 0000000..bd12e6b >>> --- /dev/null >>> +++ >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec3-index-rd.shader_test >>> @@ -0,0 +1,217 @@ >>> +[require] >>> +GLSL >= 1.50 >>> + >>> +[vertex shader] >>> +#version 150 >>> + >>> +in vec4 piglit_vertex; >>> + >>> +out block { >>> + vec3 m1[16]; >>> + vec3 m2[15]; >>> +} ins; >>> + >>> +void main() >>> +{ >>> + gl_Position = piglit_vertex; >>> + >>> + for (int i = 0; i < 16; i++) >>> + ins.m1[i] = vec3(1.0, 1.1, 1.2) + vec3(i); >>> + >>> + for (int i = 0; i < 15; i++) >>> + ins.m2[i] = vec3(1.0, 1.1, 1.2) + vec3(16+i); >>> +} >>> + >>> +[geometry shader] >>> +#version 150 >>> +layout(triangles) in; >>> +layout(triangle_strip, max_vertices = 3) out; >>> + >>> +uniform int index; >>> +uniform vec4 expect; >>> +in block { >>> + vec3 m1[16]; >>> + vec3 m2[15]; >>> +} ins[]; >>> +out vec4 color; >>> + >>> +void main() >>> +{ >>> + for (int p = 0; p < 3; p++) { >>> + color = ((index >= 16 ? ins[p].m2[index-16] >>> + : ins[p].m1[index]) == expect.xyz) >>> + ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0); >>> + >>> + gl_Position = gl_in[p].gl_Position; >>> + EmitVertex(); >>> + } >>> +} >>> + >>> +[fragment shader] >>> +#version 150 >>> +in vec4 color; >>> +out vec4 outcolor; >>> + >>> +void main() >>> +{ >>> + outcolor = color; >>> +} >>> + >>> +[test] >>> +clear color 0.5 0.5 0.5 0.5 >>> +clear >>> + >>> +uniform int index 0 >>> +uniform vec4 expect 1 1.1 1.2 1.3 >>> +draw rect -1 -1 0.09 0.09 >>> +probe rgb 6 6 0.0 1.0 0.0 >>> + >>> +uniform int index 1 >>> +uniform vec4 expect 2 2.1 2.2 2.3 >>> +draw rect -0.9 -1 0.09 0.09 >>> +probe rgb 18 6 0.0 1.0 0.0 >>> + >>> +uniform int index 2 >>> +uniform vec4 expect 3 3.1 3.2 3.3 >>> +draw rect -0.8 -1 0.09 0.09 >>> +probe rgb 31 6 0.0 1.0 0.0 >>> + >>> +uniform int index 3 >>> +uniform vec4 expect 4 4.1 4.2 4.3 >>> +draw rect -0.7 -1 0.09 0.09 >>> +probe rgb 43 6 0.0 1.0 0.0 >>> + >>> +uniform int index 4 >>> +uniform vec4 expect 5 5.1 5.2 5.3 >>> +draw rect -0.6 -1 0.09 0.09 >>> +probe rgb 56 6 0.0 1.0 0.0 >>> + >>> +uniform int index 5 >>> +uniform vec4 expect 6 6.1 6.2 6.3 >>> +draw rect -0.5 -1 0.09 0.09 >>> +probe rgb 68 6 0.0 1.0 0.0 >>> + >>> +uniform int index 6 >>> +uniform vec4 expect 7 7.1 7.2 7.3 >>> +draw rect -0.4 -1 0.09 0.09 >>> +probe rgb 81 6 0.0 1.0 0.0 >>> + >>> +uniform int index 7 >>> +uniform vec4 expect 8 8.1 8.2 8.3 >>> +draw rect -0.3 -1 0.09 0.09 >>> +probe rgb 93 6 0.0 1.0 0.0 >>> + >>> +uniform int index 8 >>> +uniform vec4 expect 9 9.1 9.2 9.3 >>> +draw rect -0.2 -1 0.09 0.09 >>> +probe rgb 106 6 0.0 1.0 0.0 >>> + >>> +uniform int index 9 >>> +uniform vec4 expect 10 10.1 10.2 10.3 >>> +draw rect -0.1 -1 0.09 0.09 >>> +probe rgb 118 6 0.0 1.0 0.0 >>> + >>> +uniform int index 10 >>> +uniform vec4 expect 11 11.1 11.2 11.3 >>> +draw rect 0 -1 0.09 0.09 >>> +probe rgb 131 6 0.0 1.0 0.0 >>> + >>> +uniform int index 11 >>> +uniform vec4 expect 12 12.1 12.2 12.3 >>> +draw rect 0.1 -1 0.09 0.09 >>> +probe rgb 143 6 0.0 1.0 0.0 >>> + >>> +uniform int index 12 >>> +uniform vec4 expect 13 13.1 13.2 13.3 >>> +draw rect 0.2 -1 0.09 0.09 >>> +probe rgb 156 6 0.0 1.0 0.0 >>> + >>> +uniform int index 13 >>> +uniform vec4 expect 14 14.1 14.2 14.3 >>> +draw rect 0.3 -1 0.09 0.09 >>> +probe rgb 168 6 0.0 1.0 0.0 >>> + >>> +uniform int index 14 >>> +uniform vec4 expect 15 15.1 15.2 15.3 >>> +draw rect 0.4 -1 0.09 0.09 >>> +probe rgb 181 6 0.0 1.0 0.0 >>> + >>> +uniform int index 15 >>> +uniform vec4 expect 16 16.1 16.2 16.3 >>> +draw rect 0.5 -1.0 0.09 0.09 >>> +probe rgb 193 6 0.0 1.0 0.0 >>> + >>> +uniform int index 16 >>> +uniform vec4 expect 17 17.1 17.2 17.3 >>> +draw rect -1 -0.9 0.09 0.09 >>> +probe rgb 6 18 0.0 1.0 0.0 >>> + >>> +uniform int index 17 >>> +uniform vec4 expect 18 18.1 18.2 18.3 >>> +draw rect -0.9 -0.9 0.09 0.09 >>> +probe rgb 18 18 0.0 1.0 0.0 >>> + >>> +uniform int index 18 >>> +uniform vec4 expect 19 19.1 19.2 19.3 >>> +draw rect -0.8 -0.9 0.09 0.09 >>> +probe rgb 31 18 0.0 1.0 0.0 >>> + >>> +uniform int index 19 >>> +uniform vec4 expect 20 20.1 20.2 20.3 >>> +draw rect -0.7 -0.9 0.09 0.09 >>> +probe rgb 43 18 0.0 1.0 0.0 >>> + >>> +uniform int index 20 >>> +uniform vec4 expect 21 21.1 21.2 21.3 >>> +draw rect -0.6 -0.9 0.09 0.09 >>> +probe rgb 56 18 0.0 1.0 0.0 >>> + >>> +uniform int index 21 >>> +uniform vec4 expect 22 22.1 22.2 22.3 >>> +draw rect -0.5 -0.9 0.09 0.09 >>> +probe rgb 68 18 0.0 1.0 0.0 >>> + >>> +uniform int index 22 >>> +uniform vec4 expect 23 23.1 23.2 23.3 >>> +draw rect -0.4 -0.9 0.09 0.09 >>> +probe rgb 81 18 0.0 1.0 0.0 >>> + >>> +uniform int index 23 >>> +uniform vec4 expect 24 24.1 24.2 24.3 >>> +draw rect -0.3 -0.9 0.09 0.09 >>> +probe rgb 93 18 0.0 1.0 0.0 >>> + >>> +uniform int index 24 >>> +uniform vec4 expect 25 25.1 25.2 25.3 >>> +draw rect -0.2 -0.9 0.09 0.09 >>> +probe rgb 106 18 0.0 1.0 0.0 >>> + >>> +uniform int index 25 >>> +uniform vec4 expect 26 26.1 26.2 26.3 >>> +draw rect -0.1 -0.9 0.09 0.09 >>> +probe rgb 118 18 0.0 1.0 0.0 >>> + >>> +uniform int index 26 >>> +uniform vec4 expect 27 27.1 27.2 27.3 >>> +draw rect 0 -0.9 0.09 0.09 >>> +probe rgb 131 18 0.0 1.0 0.0 >>> + >>> +uniform int index 27 >>> +uniform vec4 expect 28 28.1 28.2 28.3 >>> +draw rect 0.1 -0.9 0.09 0.09 >>> +probe rgb 143 18 0.0 1.0 0.0 >>> + >>> +uniform int index 28 >>> +uniform vec4 expect 29 29.1 29.2 29.3 >>> +draw rect 0.2 -0.9 0.09 0.09 >>> +probe rgb 156 18 0.0 1.0 0.0 >>> + >>> +uniform int index 29 >>> +uniform vec4 expect 30 30.1 30.2 30.3 >>> +draw rect 0.3 -0.9 0.09 0.09 >>> +probe rgb 168 18 0.0 1.0 0.0 >>> + >>> +uniform int index 30 >>> +uniform vec4 expect 31 31.1 31.2 31.3 >>> +draw rect 0.4 -0.9 0.09 0.09 >>> +probe rgb 181 18 0.0 1.0 0.0 >>> diff --git >>> a/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec4-index-rd.shader_test >>> >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec4-index-rd.shader_test >>> new file mode 100644 >>> index 0000000..95402e4 >>> --- /dev/null >>> +++ >>> b/tests/spec/glsl-1.50/execution/variable-indexing/gs-input-array-vec4-index-rd.shader_test >>> @@ -0,0 +1,217 @@ >>> +[require] >>> +GLSL >= 1.50 >>> + >>> +[vertex shader] >>> +#version 150 >>> + >>> +in vec4 piglit_vertex; >>> + >>> +out block { >>> + vec4 m1[16]; >>> + vec4 m2[15]; >>> +} ins; >>> + >>> +void main() >>> +{ >>> + gl_Position = piglit_vertex; >>> + >>> + for (int i = 0; i < 16; i++) >>> + ins.m1[i] = vec4(1.0, 1.1, 1.2, 1.3) + vec4(i); >>> + >>> + for (int i = 0; i < 15; i++) >>> + ins.m2[i] = vec4(1.0, 1.1, 1.2, 1.3) + vec4(16+i); >>> +} >>> + >>> +[geometry shader] >>> +#version 150 >>> +layout(triangles) in; >>> +layout(triangle_strip, max_vertices = 3) out; >>> + >>> +uniform int index; >>> +uniform vec4 expect; >>> +in block { >>> + vec4 m1[16]; >>> + vec4 m2[15]; >>> +} ins[]; >>> +out vec4 color; >>> + >>> +void main() >>> +{ >>> + for (int p = 0; p < 3; p++) { >>> + color = ((index >= 16 ? ins[p].m2[index-16] >>> + : ins[p].m1[index]) == expect) >>> + ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0); >>> + >>> + gl_Position = gl_in[p].gl_Position; >>> + EmitVertex(); >>> + } >>> +} >>> + >>> +[fragment shader] >>> +#version 150 >>> +in vec4 color; >>> +out vec4 outcolor; >>> + >>> +void main() >>> +{ >>> + outcolor = color; >>> +} >>> + >>> +[test] >>> +clear color 0.5 0.5 0.5 0.5 >>> +clear >>> + >>> +uniform int index 0 >>> +uniform vec4 expect 1 1.1 1.2 1.3 >>> +draw rect -1 -1 0.09 0.09 >>> +probe rgb 6 6 0.0 1.0 0.0 >>> + >>> +uniform int index 1 >>> +uniform vec4 expect 2 2.1 2.2 2.3 >>> +draw rect -0.9 -1 0.09 0.09 >>> +probe rgb 18 6 0.0 1.0 0.0 >>> + >>> +uniform int index 2 >>> +uniform vec4 expect 3 3.1 3.2 3.3 >>> +draw rect -0.8 -1 0.09 0.09 >>> +probe rgb 31 6 0.0 1.0 0.0 >>> + >>> +uniform int index 3 >>> +uniform vec4 expect 4 4.1 4.2 4.3 >>> +draw rect -0.7 -1 0.09 0.09 >>> +probe rgb 43 6 0.0 1.0 0.0 >>> + >>> +uniform int index 4 >>> +uniform vec4 expect 5 5.1 5.2 5.3 >>> +draw rect -0.6 -1 0.09 0.09 >>> +probe rgb 56 6 0.0 1.0 0.0 >>> + >>> +uniform int index 5 >>> +uniform vec4 expect 6 6.1 6.2 6.3 >>> +draw rect -0.5 -1 0.09 0.09 >>> +probe rgb 68 6 0.0 1.0 0.0 >>> + >>> +uniform int index 6 >>> +uniform vec4 expect 7 7.1 7.2 7.3 >>> +draw rect -0.4 -1 0.09 0.09 >>> +probe rgb 81 6 0.0 1.0 0.0 >>> + >>> +uniform int index 7 >>> +uniform vec4 expect 8 8.1 8.2 8.3 >>> +draw rect -0.3 -1 0.09 0.09 >>> +probe rgb 93 6 0.0 1.0 0.0 >>> + >>> +uniform int index 8 >>> +uniform vec4 expect 9 9.1 9.2 9.3 >>> +draw rect -0.2 -1 0.09 0.09 >>> +probe rgb 106 6 0.0 1.0 0.0 >>> + >>> +uniform int index 9 >>> +uniform vec4 expect 10 10.1 10.2 10.3 >>> +draw rect -0.1 -1 0.09 0.09 >>> +probe rgb 118 6 0.0 1.0 0.0 >>> + >>> +uniform int index 10 >>> +uniform vec4 expect 11 11.1 11.2 11.3 >>> +draw rect 0 -1 0.09 0.09 >>> +probe rgb 131 6 0.0 1.0 0.0 >>> + >>> +uniform int index 11 >>> +uniform vec4 expect 12 12.1 12.2 12.3 >>> +draw rect 0.1 -1 0.09 0.09 >>> +probe rgb 143 6 0.0 1.0 0.0 >>> + >>> +uniform int index 12 >>> +uniform vec4 expect 13 13.1 13.2 13.3 >>> +draw rect 0.2 -1 0.09 0.09 >>> +probe rgb 156 6 0.0 1.0 0.0 >>> + >>> +uniform int index 13 >>> +uniform vec4 expect 14 14.1 14.2 14.3 >>> +draw rect 0.3 -1 0.09 0.09 >>> +probe rgb 168 6 0.0 1.0 0.0 >>> + >>> +uniform int index 14 >>> +uniform vec4 expect 15 15.1 15.2 15.3 >>> +draw rect 0.4 -1 0.09 0.09 >>> +probe rgb 181 6 0.0 1.0 0.0 >>> + >>> +uniform int index 15 >>> +uniform vec4 expect 16 16.1 16.2 16.3 >>> +draw rect 0.5 -1.0 0.09 0.09 >>> +probe rgb 193 6 0.0 1.0 0.0 >>> + >>> +uniform int index 16 >>> +uniform vec4 expect 17 17.1 17.2 17.3 >>> +draw rect -1 -0.9 0.09 0.09 >>> +probe rgb 6 18 0.0 1.0 0.0 >>> + >>> +uniform int index 17 >>> +uniform vec4 expect 18 18.1 18.2 18.3 >>> +draw rect -0.9 -0.9 0.09 0.09 >>> +probe rgb 18 18 0.0 1.0 0.0 >>> + >>> +uniform int index 18 >>> +uniform vec4 expect 19 19.1 19.2 19.3 >>> +draw rect -0.8 -0.9 0.09 0.09 >>> +probe rgb 31 18 0.0 1.0 0.0 >>> + >>> +uniform int index 19 >>> +uniform vec4 expect 20 20.1 20.2 20.3 >>> +draw rect -0.7 -0.9 0.09 0.09 >>> +probe rgb 43 18 0.0 1.0 0.0 >>> + >>> +uniform int index 20 >>> +uniform vec4 expect 21 21.1 21.2 21.3 >>> +draw rect -0.6 -0.9 0.09 0.09 >>> +probe rgb 56 18 0.0 1.0 0.0 >>> + >>> +uniform int index 21 >>> +uniform vec4 expect 22 22.1 22.2 22.3 >>> +draw rect -0.5 -0.9 0.09 0.09 >>> +probe rgb 68 18 0.0 1.0 0.0 >>> + >>> +uniform int index 22 >>> +uniform vec4 expect 23 23.1 23.2 23.3 >>> +draw rect -0.4 -0.9 0.09 0.09 >>> +probe rgb 81 18 0.0 1.0 0.0 >>> + >>> +uniform int index 23 >>> +uniform vec4 expect 24 24.1 24.2 24.3 >>> +draw rect -0.3 -0.9 0.09 0.09 >>> +probe rgb 93 18 0.0 1.0 0.0 >>> + >>> +uniform int index 24 >>> +uniform vec4 expect 25 25.1 25.2 25.3 >>> +draw rect -0.2 -0.9 0.09 0.09 >>> +probe rgb 106 18 0.0 1.0 0.0 >>> + >>> +uniform int index 25 >>> +uniform vec4 expect 26 26.1 26.2 26.3 >>> +draw rect -0.1 -0.9 0.09 0.09 >>> +probe rgb 118 18 0.0 1.0 0.0 >>> + >>> +uniform int index 26 >>> +uniform vec4 expect 27 27.1 27.2 27.3 >>> +draw rect 0 -0.9 0.09 0.09 >>> +probe rgb 131 18 0.0 1.0 0.0 >>> + >>> +uniform int index 27 >>> +uniform vec4 expect 28 28.1 28.2 28.3 >>> +draw rect 0.1 -0.9 0.09 0.09 >>> +probe rgb 143 18 0.0 1.0 0.0 >>> + >>> +uniform int index 28 >>> +uniform vec4 expect 29 29.1 29.2 29.3 >>> +draw rect 0.2 -0.9 0.09 0.09 >>> +probe rgb 156 18 0.0 1.0 0.0 >>> + >>> +uniform int index 29 >>> +uniform vec4 expect 30 30.1 30.2 30.3 >>> +draw rect 0.3 -0.9 0.09 0.09 >>> +probe rgb 168 18 0.0 1.0 0.0 >>> + >>> +uniform int index 30 >>> +uniform vec4 expect 31 31.1 31.2 31.3 >>> +draw rect 0.4 -0.9 0.09 0.09 >>> +probe rgb 181 18 0.0 1.0 0.0 >>> -- >>> 2.1.0 >>> >>> _______________________________________________ >>> Piglit mailing list >>> [email protected] >>> http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
