vkd3d-shader/hlsl: Generate vsir registers from patch variable derefs.

This commit is contained in:
Shaun Ren
2025-01-29 19:10:59 -05:00
committed by Henri Verbeet
parent 3fb241d4d6
commit ec6b4ed4ff
Notes: Henri Verbeet 2025-02-03 16:40:17 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Elizabeth Figura (@zfigura)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1362
5 changed files with 69 additions and 140 deletions

View File

@@ -17,7 +17,7 @@ void main(uint id : SV_VertexID, out data output)
output.zero = float3(0.0, 0.0, 0.0);
}
[hull shader todo]
[hull shader]
struct vsdata
{
float4 position : SV_Position;
@@ -61,7 +61,7 @@ data main(InputPatch<vsdata, 3> input, uint i : SV_OutputControlPointID)
return o;
}
[domain shader todo]
[domain shader]
struct hsdata
{
float4 position : SV_Position;
@@ -105,5 +105,6 @@ float4 main(data input) : sv_target
}
[test]
todo(sm<6) draw 3 control point patch list 3
todo(mvk) probe (0, 0, 640, 480) rgba (-1.0, -2.0, 0.5, 1.0)
% llvmpipe currently segfaults due to a bug during shader compilation in the driver.
if(!llvmpipe) todo(glsl | msl | mvk & vulkan) draw 3 control point patch list 3
if(!llvmpipe) todo(mvk) probe (0, 0, 640, 480) rgba (-1.0, -2.0, 0.5, 1.0)