From 526b025c88d01b68866290c41085b0477ea01886 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Thu, 23 Mar 2023 15:47:55 -0300 Subject: [PATCH] tests: Test side effects on indexes. Co-authored-by: Francisco Casas --- Makefile.am | 1 + tests/side-effects.shader_test | 47 ++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 tests/side-effects.shader_test diff --git a/Makefile.am b/Makefile.am index 36282921..46057965 100644 --- a/Makefile.am +++ b/Makefile.am @@ -149,6 +149,7 @@ vkd3d_shader_tests = \ tests/sampler-offset.shader_test \ tests/saturate.shader_test \ tests/shader-interstage-interface.shader_test \ + tests/side-effects.shader_test \ tests/sqrt.shader_test \ tests/step.shader_test \ tests/swizzle-constant-prop.shader_test \ diff --git a/tests/side-effects.shader_test b/tests/side-effects.shader_test new file mode 100644 index 00000000..b64a9dd4 --- /dev/null +++ b/tests/side-effects.shader_test @@ -0,0 +1,47 @@ +[pixel shader] +float4 main() : sv_target +{ + float x[3] = {0, 2, 3}; + + return x[x[1] = 1]; +} + +[test] +draw quad +probe all rgba (1.0, 1.0, 1.0, 1.0) + + +[pixel shader] +uint4 func(uint t) +{ + return uint4(t + 0, t + 1, t + 2, t + 3); +} + +float4 main() : sv_target +{ + return func(10)[func(0).y]; +} + +[test] +draw quad +todo probe all rgba (11.0, 11.0, 11.0, 11.0) + + +[pixel shader] +float4 func(void) +{ + static uint i; + + i += 1; + + return float4(0.1, 0.2, 0.3, 0.4) + i; +} + +float4 main() : sv_target +{ + return func()[func().x]; +} + +[test] +draw quad +todo probe all rgba (2.2, 2.2, 2.2, 2.2)