vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for sample_info_uint destination operands.

The HLSL compiler already did this; the TPF and DXIL parsers did not.
Previously spirv_compiler_emit_sample_info() was unable to correctly
handle VSIR_DATA_U32 destinations; the new version is arguably simpler
as well.
This commit is contained in:
Henri Verbeet
2025-07-22 20:49:15 +02:00
parent b8c73e4a2c
commit b88be5b92b
Notes: Henri Verbeet 2025-07-23 17:31:10 +02:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1641
3 changed files with 11 additions and 7 deletions

View File

@@ -2742,6 +2742,9 @@ static void shader_sm4_read_instruction(struct vkd3d_shader_sm4_parser *sm4, str
}
}
if (ins->opcode == VSIR_OP_SAMPLE_INFO && ins->flags & VKD3DSI_SAMPLE_INFO_UINT)
ins->dst[0].reg.data_type = VSIR_DATA_U32;
return;
fail: