Henri Verbeet pushed to branch master at wine / vkd3d
Commits: ad2f821f by Francisco Casas at 2024-10-15T16:44:38+02:00 vkd3d-shader/tpf: Write sysval semantic consistently.
Specifically we should write the sysval semantic as an instruction idx for the following instructions:
VKD3D_SM4_OP_DCL_INPUT_SGV VKD3D_SM4_OP_DCL_INPUT_PS_SGV VKD3D_SM4_OP_DCL_INPUT_SIV VKD3D_SM4_OP_DCL_INPUT_PS_SIV VKD3D_SM4_OP_DCL_OUTPUT_SIV
and not the following ones:
VKD3D_SM4_OP_DCL_INPUT VKD3D_SM4_OP_DCL_PS_INPUT VKD3D_SM4_OP_DCL_OUTPUT
Which is consistent with what we do when reading these instructions in the following functions:
shader_sm4_read_declaration_register_semantic() shader_sm4_read_dcl_input_ps_siv()
and
shader_sm4_read_dcl_input_ps() shader_sm4_read_declaration_dst()
for the non-SGV and non-SIV cases.
Note that the non-SGV and non-SIV instructions don't need/use this extra information because they rely on the dst register type and index.
I suggest to introduce this change because the here replaced check is brittle, and we might be omitting the sysval semantic in some cases.
- - - - - 104435df by Francisco Casas at 2024-10-15T16:44:38+02:00 vkd3d-shader/tpf: Use dcl_input_ps_sgv for sv_isfrontface.
As the native compiler does.
- - - - -
2 changed files:
- libs/vkd3d-shader/glsl.c - libs/vkd3d-shader/tpf.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/5fb3a91276b2ae6a2fd0bf248d3d8...