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
Elizabeth Figura
5e4c61eba6
vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass.
2025-06-23 17:32:59 +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
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
a58b1f7011
vkd3d-shader/hlsl: Implement output semantics for geometry shaders.
2025-05-24 20:38:36 +02:00
Shaun Ren
18ec4caded
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
...
Introduce VSIR op VKD3DSIH_DCL_OUTPUT_SGV.
2025-05-24 20:38:36 +02:00
Shaun Ren
5b06fe83df
vkd3d-shader/hlsl: Generate vsir instructions for stream output operations.
2025-05-05 14:54:07 +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
Conor McCarthy
c75b318805
vkd3d-shader/tpf: Emit the resource data type only for typed resource declarations.
2025-04-23 18:10:51 +02:00
Shaun Ren
d3b32fefa3
vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex/SV_ViewportArrayIndex sysvals in tessellation shaders.
2025-04-09 16:02:12 +02:00
Shaun Ren
62c00be873
vkd3d-shader/tpf: Emit geometry shader property declarations.
2025-03-18 15:46:07 +01:00
Shaun Ren
bd055fac1c
vkd3d-shader/hlsl: Store geometry shader properties in struct vsir_program.
2025-03-18 15:46:02 +01:00
Shaun Ren
b1ace5763a
vkd3d-shader/hlsl: Implement input semantics for geometry shaders.
2025-03-18 15:40:11 +01:00
Shaun Ren
8af3173955
vkd3d-shader/hlsl: Support input primitive arrays in geometry shaders.
2025-03-18 15:40:11 +01:00
Shaun Ren
16b0afc192
vkd3d-shader/tpf: Write non-zero static offsets in relative addressing mode in sm4_write_register_index().
2025-03-12 17:04:52 +01:00
Elizabeth Figura
bd34ec1fb3
vkd3d-shader/hlsl: Emit the minimum-precision SFI0 flag.
2025-03-06 17:15:15 +01:00
Elizabeth Figura
6cdfe38319
vkd3d-shader/hlsl: Emit minimum-precision signatures.
2025-03-06 17:15:15 +01:00
Giovanni Mascellani
665c29f0be
vkd3d-shader/tpf: Allow I/O index ranges to not intersect a signature element for a given register.
...
The current TPF validator enforces that for each register involved
in a DCL_INDEX_RANGE instruction there must be a signature element
for that register and the DCL_INDEX_RANGE write mask. This is an
excessively strong request, and causes some shaders from The Falconeer
to be invalidly rejected.
The excessively strong check was needed to avoid triggering a bug
in the I/O normaliser. Since that bug is now solved, the check
can be relaxed.
2025-02-19 17:30:25 +01:00
Shaun Ren
f127f0849e
vkd3d-shader/hlsl: Generate vsir signature entries for patch variables.
2025-02-03 16:04:21 +01:00
Shaun Ren
aa29d0a2e5
vkd3d-shader/tpf: Improve readability of compat mapping in sm4_sysval_semantic_from_semantic_name().
2025-02-03 16:04:21 +01:00
Shaun Ren
802d7317cb
vkd3d-shader/hlsl: Implement the InterlockedXor() intrinsic.
2025-01-20 15:42:45 +01:00
Shaun Ren
cbd504e888
vkd3d-shader/hlsl: Implement the InterlockedOr() intrinsic.
2025-01-20 15:42:45 +01:00