vkd3d-shader/msl: Implement support for VKD3DSPR_UNDEF registers.

MSL doesn't seem to have any special handling for undefined values,
differently from SPIR-V. Thus we just emit zeros.

UNDEF registers are sometimes created by the DXIL parser,
for example in sm6_parser_emit_composite_construct().
This commit is contained in:
Giovanni Mascellani
2025-10-20 22:04:46 +02:00
committed by Henri Verbeet
parent eaabd2ffd7
commit cc1db404b0
Notes: Henri Verbeet 2025-10-30 20:00:07 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1757
10 changed files with 125 additions and 135 deletions

View File

@@ -22,11 +22,11 @@ float4 main() : sv_target
[test]
uniform 0 uint 0
todo(msl & sm>=6) draw quad
probe (0, 0) rgba (1.0, 0.0, 1.0, 0.0)
draw quad
probe (0, 0) f32(1.0, 0.0, 1.0, 0.0)
uniform 0 uint 1
todo(msl & sm>=6) draw quad
probe (0, 0) rgba (0.0, 0.0, 1.0, 0.0)
draw quad
probe (0, 0) f32(0.0, 0.0, 1.0, 0.0)
[pixel shader fail]
sampler s;
@@ -47,5 +47,5 @@ float4 main() : sv_target
}
[test]
todo(msl & sm>=6) draw quad
probe (0, 0) rgba (1.0, 0.0, 1.0, 0.0)
draw quad
probe (0, 0) f32(1.0, 0.0, 1.0, 0.0)