[Piglit] [PATCH] add test for kepler texture waw hazard

Ilia Mirkin imirkin at alum.mit.edu
Tue Dec 8 09:57:26 PST 2015


Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 tests/bugs/texture-waw-hazard.shader_test | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 tests/bugs/texture-waw-hazard.shader_test

diff --git a/tests/bugs/texture-waw-hazard.shader_test b/tests/bugs/texture-waw-hazard.shader_test
new file mode 100644
index 0000000..7af0d87
--- /dev/null
+++ b/tests/bugs/texture-waw-hazard.shader_test
@@ -0,0 +1,36 @@
+# This test triggers a WaW situation on Kepler+, where the color
+# output is stored in registers $r0..$r3, and if the texture results
+# are also stored there, we might forget a barrier before overwriting
+# those registers with the green color value.
+[require]
+GLSL >= 1.20
+
+[vertex shader passthrough]
+
+[fragment shader]
+#version 120
+uniform sampler2D tex;
+uniform bool false_val = false;
+
+void main()
+{
+	vec4 tex = texture2D(tex, vec2(0));
+	if (false_val) {
+		// Make sure that the texbar ends up in the false
+		// branch. A plain copy might get optimized into
+		// something that happens to work out.
+		gl_FragColor = 0.5 * tex;
+	} else {
+		gl_FragColor = vec4(0, 1, 0, 1);
+	}
+}
+
+[test]
+texture rgbw 0 ( 8 , 8 )
+
+clear color 0.1 0.1 0.1 0.1
+clear
+
+uniform int tex 0
+draw rect -1 -1 2 2
+probe all rgba 0 1 0 1
-- 
2.4.10



More information about the Piglit mailing list