Henri Verbeet
c5c1c03430
vkd3d-shader/ir: Rename VKD3D_DATA_FLOAT to VSIR_DATA_F32.
2025-07-21 12:10:43 +02:00
Henri Verbeet
d1dcbc26e5
vkd3d-shader/ir: Rename VKD3D_DATA_HALF to VSIR_DATA_F16.
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
Francisco Casas
a9a5c77222
vkd3d-shader/hlsl: Make input semantics on structs cascade down onto the fields.
2025-07-21 11:57:01 +02:00
Francisco Casas
7e9834ee36
vkd3d-shader/hlsl: Make output semantics on structs cascade down onto the fields.
2025-07-21 11:57:00 +02:00
Francisco Casas
f08fed5ffb
vkd3d-shader/hlsl: Don't pass the semantic index in add_semantic_var().
2025-07-21 11:57:00 +02:00
Francisco Casas
28f74a73aa
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when prepending input copies.
2025-07-21 11:57:00 +02:00
Francisco Casas
4f5d34265c
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when appending output copies.
2025-07-21 11:55:57 +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
bcb2acbdab
vkd3d-shader/hlsl: Set the destination data type to UINT in sm4_generate_vsir_cast_from_bool().
...
Validation checks that the source and destination types are both integer.
2025-06-25 15:46:27 +02:00
Elizabeth Figura
a1eb53df3c
vkd3d-shader/hlsl: Set the data type in sm4_generate_vsir_reg_from_deref().
2025-06-25 15:43:15 +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
Elizabeth Figura
41cacba5ce
vkd3d-shader/hlsl: Convert descriptor registers to pre-5.1 form in the TPF writer.
...
Rather than in the HLSL writer. This way we output vsir consistent with the vsir
we read, and the vsir that the backends expect [bringing us one step closer to
being able to feed the HLSL frontend directly into the individual backends.]
2025-06-25 15:42:51 +02:00
Shaun Ren
b8cbe03308
vkd3d-shader/hlsl: Remove a leftover TODO message.
...
The max output size check for stream outputs is done via
validate_max_output_size().
2025-06-23 18:29:27 +02:00
Francisco Casas
2e0cbff3a0
vkd3d-shader/hlsl: Allocate return variables before other outputs.
...
point-sprite.shader_test is not technically well formed since, in SM4,
the vertex output signature should be:
// Output signature:
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// sv_position 0 xyzw 0 POS float xyzw
// texcoord 0 xy 1 NONE float xy
and the pixel input signature should be:
// Input signature:
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// texcoord 0 xy 0 NONE float xy
so we are not passing "texcoord" properly to the pixel shader, even on
Windows.
2025-06-23 17:56:40 +02:00
Elizabeth Figura
d5237ec1cc
vkd3d-shader/hlsl: Output SSA registers where possible.
2025-06-23 17:44:11 +02:00
Elizabeth Figura
34dbd60e01
vkd3d-shader/hlsl: Add a register type field to struct hlsl_reg.
...
This will be used for temps. After moving temp allocation to vsir, some of these
will be VKD3DSPR_SSA, and some will not.
2025-06-23 17:28:40 +02:00
Elizabeth Figura
9552dab5aa
vkd3d-shader: Use the correct union members for raw and structured resources.
2025-06-04 12:10:39 +02:00
Shaun Ren
2b257caea9
vkd3d-shader/hlsl: Don't optimize semantic register allocations in SM1.
...
This matches the behaviour of fxc/d3dcompiler.
2025-06-02 20:53:00 +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
Henri Verbeet
7929ba9747
vkd3d-shader: Move vkd3d_siv_from_sysval_indexed() to hlsl_codegen.c.
2025-06-02 20:10:46 +02:00
Shaun Ren
d5dcf31123
vkd3d-shader/hlsl: Store stream index in struct hlsl_semantic.
...
In addition, support stream indices in tpf_write_signature().
2025-06-02 19:59:22 +02:00
Shaun Ren
d368d18527
vkd3d-shader/hlsl: Generate vsir instructions for indexed output streams in geometry shaders.
2025-06-02 19:53:25 +02:00
Shaun Ren
7da7ccaf45
vkd3d-shader/hlsl: Emit dcl_stream instructions for SM5 geometry shaders.
2025-06-02 19:53:25 +02:00
Henri Verbeet
e17a98f870
vkd3d-shader: Remove some newlines from vkd3d-shader error messages.
2025-05-27 17:12:13 +02:00