Module: vkd3d Branch: master Commit: 7196484e5920992f8786f58acfc3b086d0a85423 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/7196484e5920992f8786f58acfc3b0...
Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Fri Apr 12 14:06:36 2024 +0200
tests: Check that derivatives are still computed after discarding.
---
tests/hlsl/discard.shader_test | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/tests/hlsl/discard.shader_test b/tests/hlsl/discard.shader_test index 69272b58..152a3a0d 100644 --- a/tests/hlsl/discard.shader_test +++ b/tests/hlsl/discard.shader_test @@ -16,6 +16,30 @@ uniform 0 float4 9 8 7 6 todo(sm<4 | glsl) draw quad probe all rgba (1, 2, 3, 4)
+[require] +shader model >= 3.0 + +% Check that derivatives are still computed after discarding +% other pixels in the same quad +[pixel shader todo(sm<4)] +float4 main(float4 pos : sv_position) : sv_target +{ + if (frac((floor(pos.x) + floor(pos.y)) / 2) == 0.5) + discard; + return float4(ddx(pos.x), ddx(pos.y), ddy(pos.x), ddy(pos.y)); +} + +[test] +todo(sm<4 | glsl) draw quad +probe (0, 0) rgba (1, 0, 0, 1) +probe (1, 0) rgba (1, 2, 3, 4) +probe (0, 1) rgba (1, 2, 3, 4) +probe (1, 1) rgba (1, 0, 0, 1) +probe (2, 0) rgba (1, 0, 0, 1) +probe (3, 0) rgba (1, 2, 3, 4) +probe (2, 1) rgba (1, 2, 3, 4) +probe (3, 1) rgba (1, 0, 0, 1) + [require] shader model >= 5.0