[Piglit] [PATCH v2] spec/glsl-1.30/execution/fs-large-local-array-vec*: use all components in test

Gert Wollny gw.fossdev at gmail.com
Fri Jul 6 10:04:59 UTC 2018


From: Gert Wollny <gert.wollny at collabora.com>

The tests use large arrays that need likely to be spilled. In order to check
correct spilling of all components actually use all components in the test.

v2: - use uniforms to pass the test values to make it more likely that the writing
      to the array elements is done in one instruction group
    - simplify the vec4 test
    - also correct the vec3 test

Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
---
The first version is probably stuck in the moderation pipeline because I used an e-mail 
that is not subscribed to the list. 

Thanks for reviewing,
Gert

 .../execution/fs-large-local-array-vec2.shader_test         |  9 ++++++---
 .../execution/fs-large-local-array-vec3.shader_test         |  9 ++++++---
 .../execution/fs-large-local-array-vec4.shader_test         | 13 ++++++++-----
 3 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/tests/spec/glsl-1.30/execution/fs-large-local-array-vec2.shader_test b/tests/spec/glsl-1.30/execution/fs-large-local-array-vec2.shader_test
index d83c222e6..8aa8d60c6 100644
--- a/tests/spec/glsl-1.30/execution/fs-large-local-array-vec2.shader_test
+++ b/tests/spec/glsl-1.30/execution/fs-large-local-array-vec2.shader_test
@@ -5,23 +5,26 @@ GLSL >= 1.30
 
 [fragment shader]
 uniform uint i;
+uniform vec2 value;
 void main()
 {
 	vec2 A[130];
-	A[20].g = 0;
-	A[i].g = 37;
+	A[20].rg = vec2(0, 0);
+	A[i].rg = value;
 	gl_FragColor.rba = vec3(0.0, 0.0, 1.0);
-	gl_FragColor.g = float(A[20].g == 37);
+	gl_FragColor.g = float(A[20] == value);
 }
 
 [test]
 clear color 1.0 0.0 0.0 1.0
 clear
 uniform uint i 19
+uniform vec2 value 22.1 13.4
 draw rect -1 -1 2 2
 probe all rgba 0.0 0.0 0.0 1.0
 
 clear
 uniform uint i 20
+uniform vec2 value 22.1 13.4
 draw rect -1 -1 2 2
 probe all rgba 0.0 1.0 0.0 1.0
diff --git a/tests/spec/glsl-1.30/execution/fs-large-local-array-vec3.shader_test b/tests/spec/glsl-1.30/execution/fs-large-local-array-vec3.shader_test
index 55a8c3dcf..272ad25ef 100644
--- a/tests/spec/glsl-1.30/execution/fs-large-local-array-vec3.shader_test
+++ b/tests/spec/glsl-1.30/execution/fs-large-local-array-vec3.shader_test
@@ -5,23 +5,26 @@ GLSL >= 1.30
 
 [fragment shader]
 uniform uint i;
+uniform vec3 value;
 void main()
 {
 	vec3 A[130];
-	A[20].g = 0;
-	A[i].g = 37;
+	A[20].rgb = vec3(0.0, 0.0, 0.0);
+	A[i].rgb = value;
 	gl_FragColor.rba = vec3(0.0, 0.0, 1.0);
-	gl_FragColor.g = float(A[20].g == 37);
+	gl_FragColor.g = float(A[20] == value);
 }
 
 [test]
 clear color 1.0 0.0 0.0 1.0
 clear
 uniform uint i 19
+uniform vec3 value 1.1 2.2 3.3
 draw rect -1 -1 2 2
 probe all rgba 0.0 0.0 0.0 1.0
 
 clear
 uniform uint i 20
+uniform vec3 value 1.1 2.2 3.3
 draw rect -1 -1 2 2
 probe all rgba 0.0 1.0 0.0 1.0
diff --git a/tests/spec/glsl-1.30/execution/fs-large-local-array-vec4.shader_test b/tests/spec/glsl-1.30/execution/fs-large-local-array-vec4.shader_test
index 29b222342..c2f8fc20e 100644
--- a/tests/spec/glsl-1.30/execution/fs-large-local-array-vec4.shader_test
+++ b/tests/spec/glsl-1.30/execution/fs-large-local-array-vec4.shader_test
@@ -5,24 +5,27 @@ GLSL >= 1.30
 
 [fragment shader]
 uniform uint i;
+uniform vec4 value;
+
 void main()
 {
 	vec4 A[130];
-	A[20].g = 0;
-	A[i].g = 37;
-	A[i].r = 1;
-	gl_FragColor.rba = vec3(0.0, 0.0, 1.0);
-	gl_FragColor.g = float(A[20].g == 37);
+   A[20] = vec4(0.0, 0.0, 0.0, 0.0);
+	A[i] = value;
+   gl_FragColor.rba = vec3(0.0, 0.0, 1.0);
+	gl_FragColor.g = float(A[20] == value);
 }
 
 [test]
 clear color 1.0 0.0 0.0 1.0
 clear
 uniform uint i 19
+uniform vec4 value 22.0 12.0 34.0 2.0
 draw rect -1 -1 2 2
 probe all rgba 0.0 0.0 0.0 1.0
 
 clear
 uniform uint i 20
+uniform vec4 value 22.0 12.0 34.0 2.0
 draw rect -1 -1 2 2
 probe all rgba 0.0 1.0 0.0 1.0
-- 
2.16.4



More information about the Piglit mailing list