From aa1ce9e29539da6e22ee7ab763918747cccc17cb Mon Sep 17 00:00:00 2001 From: Elizabeth Figura Date: Mon, 4 Nov 2024 22:20:45 -0600 Subject: [PATCH] tests: Add some tests for FOG and PSIZE writemask restrictions. --- Makefile.am | 1 + tests/hlsl/fog.shader_test | 29 ++++++++++++++++++++++++ tests/hlsl/shader-point-size.shader_test | 6 +++++ 3 files changed, 36 insertions(+) create mode 100644 tests/hlsl/fog.shader_test diff --git a/Makefile.am b/Makefile.am index 88aa8d65..13ced7ba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -123,6 +123,7 @@ vkd3d_shader_tests = \ tests/hlsl/f16tof32.shader_test \ tests/hlsl/f32tof16.shader_test \ tests/hlsl/faceforward.shader_test \ + tests/hlsl/fog.shader_test \ tests/hlsl/ffp-point-size.shader_test \ tests/hlsl/float-comparison.shader_test \ tests/hlsl/floor.shader_test \ diff --git a/tests/hlsl/fog.shader_test b/tests/hlsl/fog.shader_test new file mode 100644 index 00000000..7c4c161c --- /dev/null +++ b/tests/hlsl/fog.shader_test @@ -0,0 +1,29 @@ +[require] +shader model < 3.0 + +[vertex shader fail todo] +void main(float4 pos : position, out float2 fog : fog, out float4 out_pos : sv_position) +{ + fog = 0.5; + out_pos = pos; +} + +[require] +shader model >= 3.0 + +[vertex shader] +void main(float4 pos : position, out float2 fog : fog, out float4 out_pos : sv_position) +{ + fog = float2(0.1, 0.2); + out_pos = pos; +} + +[pixel shader] +float4 main(float2 fog : fog) : sv_target +{ + return float4(fog, 0, 1); +} + +[test] +draw quad +probe (0, 0) rgba (0.1, 0.2, 0, 1) diff --git a/tests/hlsl/shader-point-size.shader_test b/tests/hlsl/shader-point-size.shader_test index 5936993a..a77259bb 100644 --- a/tests/hlsl/shader-point-size.shader_test +++ b/tests/hlsl/shader-point-size.shader_test @@ -9,6 +9,12 @@ shader model < 4.0 -0.5 0 20 0.5 0 40 +[vertex shader fail todo] +void main(inout float4 pos : position, out float2 size : psize) +{ + size = 1; +} + [vertex shader] void main(inout float4 pos : position, inout float size : psize) {