tests/hlsl: Mark some tests in clip-cull-distance.shader_test as buggy on MoltenVK with d3d12.

They either use geometry shaders or cull distances, which MoltenVK
doesn't support. However d3d12 has no way to indicate they're
unsupported, so the problem doesn't surface as a failed draw,
but rather as a draw that doesn't do anything.
This commit is contained in:
Giovanni Mascellani
2025-05-23 23:22:49 +02:00
committed by Henri Verbeet
parent 7261b40df7
commit 70c51984c9
Notes: Henri Verbeet 2025-05-27 21:09:25 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1516

View File

@@ -289,7 +289,7 @@ probe rtv 0 (160, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 240) rgba(0.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (320, 240) rgba(0.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
@@ -405,15 +405,15 @@ void main(triangle vs_out input[3], inout TriangleStream<gs_out> stream)
[test]
clear rtv 0 1.0 1.0 0.0 1.0
todo(sm<6) draw triangle strip 4
probe rtv 0 (160, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (320, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 240) rgba(0.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 360) rgba(1.0, 1.0, 0.0, 1.0)
% Now let's test cull distances for real: we remove the clip distances they
% duplicate and use the geometry shader to create many little triangles around
@@ -553,13 +553,13 @@ void main(triangle vs_out input[3], inout TriangleStream<gs_out> stream)
clear rtv 0 1.0 1.0 0.0 1.0
todo(sm<6) draw triangle strip 4
probe rtv 0 (160, 120) rgba(0.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 120) rgba(0.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 240) rgba(0.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 360) rgba(0.0, 1.0, 0.0, 1.0)
% Then enough to get rid of nearly all test points.
@@ -625,12 +625,12 @@ void main(triangle vs_out input[3], inout TriangleStream<gs_out> stream)
[test]
clear rtv 0 1.0 1.0 0.0 1.0
todo(sm<6) draw triangle strip 4
probe rtv 0 (160, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (160, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (320, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 240) rgba(0.0, 1.0, 0.0, 1.0)
probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(mesa<23.3) probe rtv 0 (480, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (320, 360) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 120) rgba(1.0, 1.0, 0.0, 1.0)
bug(d3d12 & mvk) probe rtv 0 (480, 240) rgba(1.0, 1.0, 0.0, 1.0)
bug(mesa<23.3 | d3d12 & mvk) probe rtv 0 (480, 360) rgba(1.0, 1.0, 0.0, 1.0)