vkd3d/libs/vkd3d-shader
Francisco Casas ad2f821ff5 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.
2024-10-15 16:44:38 +02:00
..
checksum.c vkd3d-shader: Use a hash to build the filename when dumping shaders. 2024-08-29 19:14:27 +02:00
d3d_asm.c vkd3d-shader/d3d-asm: Dump signatures when tracing a VSIR program. 2024-10-08 22:04:59 +02:00
d3dbc.c vkd3d-shader/spirv: Implement shader point size. 2024-10-10 22:14:45 +02:00
dxbc.c vkd3d-shader/ir: Set the signature sort indices in shader_signature_merge(). 2024-10-08 22:05:38 +02:00
dxil.c vkd3d-shader: Ignore the patch constant signature when it doesn't make sense. 2024-10-09 13:13:00 +02:00
fx.c vkd3d-shader/fx: Add support for tracing string variables. 2024-10-14 15:40:46 +02:00
glsl.c vkd3d-shader/glsl: Implement support for compute shaders. 2024-10-10 20:00:45 +02:00
hlsl_codegen.c vkd3d-shader/hlsl: Invoke prepend_uniform_copy() only once for global uniforms. 2024-10-15 16:42:47 +02:00
hlsl_constant_ops.c vkd3d-shader/hlsl: Fold logic AND and logic OR identities. 2024-09-03 15:11:16 +02:00
hlsl.c vkd3d-shader/hlsl: Record semantic extern vars separately for each entry function. 2024-10-15 16:18:27 +02:00
hlsl.h vkd3d-shader/hlsl: Allocate temporary registers separately for each entry function. 2024-10-15 16:39:50 +02:00
hlsl.l vkd3d-shader/hlsl: Remove the 'double' keyword. 2024-09-23 15:26:35 +02:00
hlsl.y vkd3d-shader/hlsl: Implement the modf() intrinsic. 2024-10-15 16:43:33 +02:00
ir.c vkd3d-shader/ir: Validate the allowed data type and component count for SV_CullDistance. 2024-10-14 19:39:12 +02:00
libvkd3d-shader.pc.in build: Build libvkd3d-shader as public library. 2018-11-02 11:19:00 +01:00
msl.c vkd3d-shader/msl: Implement support for VKD3DSPR_OUTPUT registers. 2024-10-10 19:45:34 +02:00
preproc.h vkd3d-shader/preproc: Store argument values per expansion, not per macro. 2024-10-07 17:32:27 +02:00
preproc.l vkd3d-shader/preproc: Store argument values per expansion, not per macro. 2024-10-07 17:32:27 +02:00
preproc.y vkd3d-shader/preproc: Store argument values per expansion, not per macro. 2024-10-07 17:32:27 +02:00
spirv.c vkd3d-shader/ir: Allow controlling FFP point size through a vkd3d-shader parameter. 2024-10-10 22:25:09 +02:00
tpf.c vkd3d-shader/tpf: Write sysval semantic consistently. 2024-10-15 16:44:38 +02:00
vkd3d_shader_main.c vkd3d-shader/fx: Introduce a parser/disassembler. 2024-10-14 15:20:41 +02:00
vkd3d_shader_private.h vkd3d-shader/fx: Introduce a parser/disassembler. 2024-10-14 15:20:41 +02:00
vkd3d_shader.map vkd3d-shader: Implement scanning combined resource/sampler information. 2023-11-13 23:19:23 +01:00