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
Shaun Ren
a4e43402e5
vkd3d-shader/hlsl: Support void pass-through hull shader control point functions.
2025-05-24 21:13:00 +02:00
Shaun Ren
e7b2ca28ab
vkd3d-shader/hlsl: Fix the register string for patch arrays in debug_register().
2025-05-24 21:03:56 +02:00
Shaun Ren
a58b1f7011
vkd3d-shader/hlsl: Implement output semantics for geometry shaders.
2025-05-24 20:38:36 +02:00
Elizabeth Figura
e16176672a
vkd3d-shader/hlsl: Validate "numthreads" attribute values.
2025-05-14 14:56:42 +02:00
Elizabeth Figura
cdc74a9377
vkd3d-shader/hlsl: Emit an error when min16uint is used in d3dbc target profiles.
...
Fixes: 18ca7affad
2025-05-14 14:12:19 +02:00
Shaun Ren
5b06fe83df
vkd3d-shader/hlsl: Generate vsir instructions for stream output operations.
2025-05-05 14:54:07 +02:00
Shaun Ren
c8c1e270e0
vkd3d-shader/hlsl: Validate maximum output size in geometry shaders.
2025-05-05 14:43:53 +02:00
Shaun Ren
729a3ac089
vkd3d-shader/hlsl: Append output copies for stream output Append() invocations.
2025-05-05 14:30:16 +02:00
Shaun Ren
34b4b34f2c
vkd3d-shader/hlsl: Use a block in append_output_copy*().
2025-05-05 14:30:16 +02:00