Commit Graph

723 Commits

Author SHA1 Message Date
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