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
Francisco Casas
b89f0bc730
vkd3d-shader/hlsl: Generate vsir for HLSL_IR_SYNC operations.
...
The following table shows how each intrinsic maps to d3d assembly and the
flags that appear in the tpf bytecode, in binary.
GroupMemoryBarrier() sync_g 0010
GroupMemoryBarrierWithGroupSync() sync_g_t 0011
DeviceMemoryBarrier() sync_uglobal 1000
DeviceMemoryBarrierWithGroupSync() sync_uglobal_t 1001
AllMemoryBarrier() sync_uglobal_g 1010
AllMemoryBarrierWithGroupSync() sync_uglobal_g_t 1011
2025-05-05 14:17:47 +02:00
Francisco Casas
a975c56695
vkd3d-shader/hlsl: Mark stores dirty on interlocked operation in vectorize_stores().
2025-05-05 14:15:23 +02:00
Francisco Casas
758a4bef09
vkd3d-shader/hlsl: Parse barriers.
...
And introduce hlsl_ir_sync to represent them.
2025-05-05 14:15:14 +02:00
Elizabeth Figura
315247bf02
vkd3d-shader: Normalize TEXKILL to use a source register.
2025-04-30 16:51:44 +02:00
Shaun Ren
2a89b23ede
vkd3d-shader/hlsl: Validate and record stream output objects.
...
Validation should only be done for stream outputs that are used.
2025-04-23 18:01:06 +02:00
Shaun Ren
f2f44b054d
vkd3d-shader/hlsl: Allocate registers for stream output objects.
...
All stream output objects need to have a stream index allocated,
whether they are used or not.
We allocate stream outputs here, before other objects are allocated,
because the stream index is needed to create the appropriate output
semantic variables during append_output_copy(), which will be called
in a lowering pass for the Append() method.
2025-04-23 17:54:54 +02:00
Shaun Ren
d620ad4942
vkd3d-shader/hlsl: Introduce HLSL_REGSET_STREAM_OUTPUTS regset.
2025-04-23 17:54:54 +02:00
Shaun Ren
9525eb2f0c
vkd3d-shader/hlsl: Parse the Append() method for stream outputs.
2025-04-23 17:54:54 +02:00
Elizabeth Figura
d91d552a5e
vkd3d-shader/ir: Introduce a vsir_dst_param_init_null() helper.
2025-04-14 15:32:12 +02:00