Elizabeth Figura
a4f69d4ae6
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
2025-08-07 18:52:46 +02:00
Giovanni Mascellani
bb51b976df
vkd3d-shader/ir: Use size_t in the parameter allocator.
...
The idea is to, by default, use size_t for any quantity that is
a memory size or an array index.
2025-07-23 17:16:38 +02:00
Nikolay Sivov
83e54bdc0c
vkd3d-shader/hlsl: Handle HLSL_RESOURCE_SAMPLE_LOD in sm1_generate_vsir_instr_resource_load().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58063
2025-07-23 17:06:21 +02:00
Giovanni Mascellani
14ee6b86e0
vkd3d-shader/d3dbc: Use iterators in d3dbc_write_program_instructions().
2025-07-22 17:11:19 +02:00
Giovanni Mascellani
4a1ca99cba
vkd3d-shader/d3dbc: Use vsir_program_append() in d3dbc_parse().
2025-07-22 17:11:19 +02:00
Henri Verbeet
742cce9a08
vkd3d-shader/ir: Rename VKD3D_DATA_UINT to VSIR_DATA_U32.
2025-07-22 14:57:26 +02:00
Henri Verbeet
a04e4e4010
vkd3d-shader/ir: Rename VKD3D_DATA_INT to VSIR_DATA_I32.
2025-07-22 14:57:26 +02:00
Giovanni Mascellani
decc155cca
vkd3d-shader/ir: Split updating DCL_TEMPS instructions to a dedicated pass.
...
So that it can be used in other contexts as well. And so that
register allocation can be run also when there is no need to update
or create DCL_TEMPS instructions.
2025-07-21 12:31:08 +02:00
Henri Verbeet
c5c1c03430
vkd3d-shader/ir: Rename VKD3D_DATA_FLOAT to VSIR_DATA_F32.
2025-07-21 12:10:43 +02:00
Henri Verbeet
0126beb3b2
vkd3d-shader/ir: Rename enum vkd3d_data_type to vsir_data_type.
2025-07-21 12:10:43 +02:00
Henri Verbeet
d219cccc99
vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*.
2025-06-25 15:53:41 +02:00
Elizabeth Figura
ecb19b33ba
vkd3d-shader/hlsl: Output sm1 semantics with unique register_index values.
...
Match the register_index values from the d3dbc reader.
2025-06-25 15:43:15 +02:00
Henri Verbeet
be2c8041d0
vkd3d-shader/d3dbc: Use TAG_CTAB in d3dbc_compile().
2025-06-23 18:00:34 +02:00
Elizabeth Figura
5e4c61eba6
vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass.
2025-06-23 17:32:59 +02:00
Nikolay Sivov
d08673bad1
vkd3d-shader/d3dbc: Use the actual instruction length in d3dbc_write_instruction().
...
The current calculation doesn't take indirect addressing into account.
This issue is easy to spot in disassembly, when we don't skip correctly
to the next instruction. On Windows the disassembler does not depend on
this it seems and skips naturally after processing all parameters that
may or may not use indirect addressing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-16 17:35:37 +02:00
Henri Verbeet
66c0530a05
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in d3dbc_write_vsir_instruction().
2025-06-10 17:44:18 +02:00
Henri Verbeet
6a06929f6b
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in shader_sm1_get_opcode_info_from_vsir_instruction().
2025-06-10 17:44:18 +02:00
Elizabeth Figura
847c008b49
vkd3d-shader/ir: Split TEX into two separate vsir opcodes.
...
The two have the same d3dbc opcode, but have different names and different semantics.
2025-06-02 20:13:52 +02:00
Elizabeth Figura
b25362e036
vkd3d-shader/ir: Split TEXCOORD into two separate vsir opcodes.
...
The two have the same d3dbc opcode, but have different names and different semantics.
2025-06-02 20:12:27 +02:00
Elizabeth Figura
315247bf02
vkd3d-shader: Normalize TEXKILL to use a source register.
2025-04-30 16:51:44 +02:00
Elizabeth Figura
7331c70e9e
vkd3d-shader/hlsl: Set the sysval for more sm1 semantics.
...
To match the sysval we set when reading them.
2025-04-14 15:29:19 +02:00
Francisco Casas
fd02d69dda
vkd3d-shader/hlsl: Implement indirect addressing for d3dbc target profiles.
2025-04-02 18:26:03 +02:00
Francisco Casas
0e0ed72652
vkd3d-shader/d3dbc: Respect "idx_count" when writing registers.
...
Some SM1 src registers have idx_count = 0, in which case we have to
respect that instead of always reading reg->reg.idx[0].offset even when
it is invalid.
2025-04-02 18:06:48 +02:00
Elizabeth Figura
d164752efc
vkd3d-shader/d3dbc: Introduce d3dbc_parse_register().
2024-12-18 17:30:16 +01:00
Elizabeth Figura
3c53293028
vkd3d-shader/ir: Separate VKD3DSPR_OUTPUT and VKD3DSPR_TEXCRDOUT.
...
This simplifies the IR.
2024-12-18 17:30:16 +01:00