vkd3d-shader/ir: Check that GSINSTID registers have dimension VEC4.

I had set it to SCALAR in an earlier commit, but I hadn't noticed
it failed validation.

Also fix the HLSL compiler to emit them accordingly.

Fixes: dfc18781cc
This commit is contained in:
Giovanni Mascellani
2025-07-26 13:22:36 +02:00
committed by Henri Verbeet
parent 3797c922a5
commit 22f84317c0
Notes: Henri Verbeet 2025-07-29 13:34:53 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1654
2 changed files with 1 additions and 2 deletions

View File

@@ -9592,7 +9592,7 @@ static void vsir_validate_register(struct validation_context *ctx,
[VKD3DSPR_LOCALTHREADINDEX] = {true, 0, VSIR_DIMENSION_VEC4},
[VKD3DSPR_COVERAGE] = {true, 0, VSIR_DIMENSION_VEC4},
[VKD3DSPR_SAMPLEMASK] = {true, 0, VSIR_DIMENSION_SCALAR},
[VKD3DSPR_GSINSTID] = {true, 0, VSIR_DIMENSION_SCALAR},
[VKD3DSPR_GSINSTID] = {true, 0, VSIR_DIMENSION_VEC4},
[VKD3DSPR_DEPTHOUTGE] = {true, 0, VSIR_DIMENSION_SCALAR},
[VKD3DSPR_DEPTHOUTLE] = {true, 0, VSIR_DIMENSION_SCALAR},
[VKD3DSPR_OUTSTENCILREF] = {true, 0, VSIR_DIMENSION_SCALAR},

View File

@@ -2237,7 +2237,6 @@ bool shader_sm4_is_scalar_register(const struct vkd3d_shader_register *reg)
case VKD3DSPR_DEPTHOUT:
case VKD3DSPR_DEPTHOUTGE:
case VKD3DSPR_DEPTHOUTLE:
case VKD3DSPR_GSINSTID:
case VKD3DSPR_OUTPOINTID:
case VKD3DSPR_PRIMID:
case VKD3DSPR_SAMPLEMASK: