[PATCH vkd3d v=2 2/2] tests: Test a for loop, with break and continue.

Giovanni Mascellani gmascellani at codeweavers.com
Wed Sep 15 09:00:16 CDT 2021


Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
---
 Makefile.am                |  2 ++
 tests/hlsl-for.shader_test | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100644 tests/hlsl-for.shader_test

diff --git a/Makefile.am b/Makefile.am
index 5decb3ef..44e28606 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -60,6 +60,7 @@ vkd3d_shader_tests = \
 	tests/hlsl-clamp.shader_test \
 	tests/hlsl-comma.shader_test \
 	tests/hlsl-duplicate-modifiers.shader_test \
+	tests/hlsl-for.shader_test \
 	tests/hlsl-function-overload.shader_test \
 	tests/hlsl-invalid.shader_test \
 	tests/hlsl-majority-pragma.shader_test \
@@ -273,6 +274,7 @@ XFAIL_TESTS = \
 	tests/hlsl-clamp.shader_test \
 	tests/hlsl-comma.shader_test \
 	tests/hlsl-duplicate-modifiers.shader_test \
+	tests/hlsl-for.shader_test \
 	tests/hlsl-function-overload.shader_test \
 	tests/hlsl-majority-pragma.shader_test \
 	tests/hlsl-majority-typedef.shader_test \
diff --git a/tests/hlsl-for.shader_test b/tests/hlsl-for.shader_test
new file mode 100644
index 00000000..b133ce99
--- /dev/null
+++ b/tests/hlsl-for.shader_test
@@ -0,0 +1,22 @@
+[pixel shader]
+float4 main(float4 pos : SV_POSITION) : SV_TARGET
+{
+    int i;
+    float x = 0.0;
+    for (i = 0; i < 10; i++)
+    {
+        x += i;
+        if (pos.x == 1.5 && i == 5)
+            break;
+        if (pos.x == 2.5 && i >= 7)
+            continue;
+        x -= 1;
+    }
+    return float4(i, x, 0.0, 0.0);
+}
+
+[test]
+draw quad
+probe rgba (0, 0) (10.0, 35.0, 0.0, 0.0)
+probe rgba (1, 0) (5.0, 10.0, 0.0, 0.0)
+probe rgba (2, 0) (10.0, 38.0, 0.0, 0.0)
-- 
2.33.0




More information about the wine-devel mailing list