Victor Chiletto
9bf94ff034
vkd3d-shader/hlsl: Emit texture declarations for SRV structured buffers.
2025-09-04 13:29:51 +02:00
Elizabeth Figura
02d70be6ef
vkd3d-shader/hlsl: Use unique temps for per-component operations.
2025-09-02 11:33:25 +02:00
Elizabeth Figura
25ae2fcc84
vkd3d-shader/hlsl: Use unique temps for non-indexable variables.
2025-09-02 11:33:25 +02:00
Elizabeth Figura
887da605c5
vkd3d-shader/hlsl: Initialize the allocator with a type.
2025-09-02 11:26:30 +02:00
Shaun Ren
320c3c9652
vkd3d-shader/hlsl: Fold some general conditional identities.
...
The following conditional identities are applied:
c ? x : x -> x
false ? x : y -> y; true ? x : y -> x
c ? true : false -> c; c ? false : true -> !c
!c ? x : y -> c ? y : x
Lastly, for expression chains x, y in a conditional expression
c ? x : y,
we evaluate all conditionals in the expression chains with the
condition c, assuming c is true (for x), or false (for y).
2025-08-21 16:00:51 +02:00
Shaun Ren
245430002a
vkd3d-shader/hlsl: Fold some general unary identities.
...
The following unary identities are applied:
||x|| -> |x|
|-x| -> |x|
~(~x) -> x
f(g(x)) -> g(x), where f(), g() are floor() or ceil() functions.
-(-x) -> x
!!x -> x
!(x == y) -> x != y, !(x < y) -> x >= y, etc (for integers).
2025-08-21 16:00:46 +02:00
Henri Verbeet
85603dc9c6
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_compile_shader().
...
Mostly in preparation for returning a vsir program from
hlsl_compile_shader() in the next commit.
2025-08-07 20:37:41 +02:00
Elizabeth Figura
a4f69d4ae6
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
2025-08-07 18:52:46 +02:00
Shaun Ren
4bb880f9ed
vkd3d-shader/hlsl: Support interlocked operations on non-indexed groupshared variables.
2025-08-05 16:33:08 +02:00
Shaun Ren
8d0d8d106b
vkd3d-shader/hlsl: Support stores to raw groupshared variables.
2025-08-05 16:32:34 +02:00
Shaun Ren
c8d2d40b91
vkd3d-shader/hlsl: Support loads from groupshared variables.
2025-08-05 16:18:26 +02:00
Shaun Ren
fa560b589e
vkd3d-shader/hlsl: Emit dcl_tgsm_raw instructions for raw groupshared variables.
2025-08-05 16:09:45 +02:00
Shaun Ren
3802344e97
vkd3d-shader/hlsl: Allocate groupshared registers.
2025-08-05 16:06:07 +02:00
Victor Chiletto
e615e435d9
vkd3d-shader/hlsl: Split matrix copies from resource loads.
2025-08-05 14:25:50 +02:00
Victor Chiletto
e718546ee5
vkd3d-shader/hlsl: Transform hlsl_ir_index into structured buffers into field specific hlsl_ir_resource_loads.
2025-08-05 14:25:50 +02:00
Victor Chiletto
5dbf859029
vkd3d-shader/hlsl: Parse SRV structured buffers.
2025-08-05 14:25:50 +02:00
Francisco Casas
5dca0da2da
vkd3d-shader/hlsl: Use vsir_program_append() in generate_vsir_add_program_instruction().
2025-08-04 14:58:14 +02:00
Francisco Casas
be5a9c2ca8
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_sampler_dcls().
2025-08-04 14:52:50 +02:00
Francisco Casas
81488ce330
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_constant_defs().
2025-08-04 14:47:58 +02:00
Henri Verbeet
bb2979aa4c
vkd3d-shader/hlsl: Generate vsir signatures in hlsl_emit_vsir().
2025-07-29 13:15:22 +02:00
Henri Verbeet
49b857c5b7
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_emit_vsir().
2025-07-29 13:15:22 +02:00
Giovanni Mascellani
aba355896f
vkd3d-shader/hlsl: Reject geometry shaders with instance count.
...
We currently emit a warning and miscompile them.
2025-07-29 12:51:06 +02:00
Henri Verbeet
eaebef4265
vkd3d-shader/hlsl: Emit vsir from hlsl_emit_bytecode().
2025-07-28 16:10:15 +02:00
Henri Verbeet
aebe64ecac
vkd3d-shader/ir: Rename VKD3D_DATA_UNUSED to VSIR_DATA_UNUSED.
2025-07-23 17:19:28 +02:00
Henri Verbeet
ca24aada9a
vkd3d-shader/ir: Rename VKD3D_DATA_MIXED to VSIR_DATA_MIXED.
2025-07-23 17:19:28 +02:00