Commit Graph

8086 Commits

Author SHA1 Message Date
Elizabeth Figura
2256c9c7cc vkd3d-shader/d3dbc: Move TEXKILL lowering to vsir_program_lower_d3dbc_instructions(). 2025-08-21 16:23:44 +02:00
Elizabeth Figura
30a591c501 vkd3d-shader/d3dbc: Move d3dbc SINCOS lowering to vsir_program_lower_d3dbc_instructions(). 2025-08-21 16:23:20 +02:00
Elizabeth Figura
12639f703e vkd3d-shader/d3dbc: Move TEXLDL lowering to vsir_program_lower_d3dbc_instructions(). 2025-08-21 16:21:25 +02:00
Elizabeth Figura
fcc5640c3e vkd3d-shader/d3dbc: Move TEXLDD lowering to vsir_program_lower_d3dbc_instructions(). 2025-08-21 16:21:18 +02:00
Francisco Casas
4dcf0b7d05 vkd3d-shader/ir: Use iterators in vsir_program_validate(). 2025-08-21 16:17:38 +02:00
Francisco Casas
d3ad3e071a vkd3d-shader/ir: Use iterators in vsir_update_dcl_temps(). 2025-08-21 16:13:54 +02:00
Francisco Casas
e3fe2cec07 vkd3d-shader/ir: Use iterators in vsir_allocate_temp_registers(). 2025-08-21 16:13:24 +02:00
Francisco Casas
687a4ab243 vkd3d-shader/ir: Use iterators in track_liveness(). 2025-08-21 16:12:43 +02:00
Francisco Casas
5485429073 vkd3d-shader/ir: Use iterators in vsir_program_insert_vertex_fog(). 2025-08-21 16:08:20 +02:00
Francisco Casas
d74d28e8ac vkd3d-shader/ir: Use iterators in vsir_program_insert_fragment_fog(). 2025-08-21 16:06:59 +02:00
Henri Verbeet
5bbd44c063 vkd3d-shader: Implement scanning compute shader thread group size information.
Metal doesn't allow the thread group size to be specified by shaders,
instead requiring it to be specified by the dispatch API.
2025-08-21 16:02:44 +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
Shaun Ren
45e549c1b2 vkd3d-shader/msl: Implement VSIR_OP_UGE. 2025-08-21 15:32:37 +02:00
Shaun Ren
b8776bb6bd vkd3d-shader/glsl: Implement VSIR_OP_UGE. 2025-08-21 15:32:37 +02:00
Shaun Ren
4c37800f52 vkd3d-shader/hlsl: Check whether "expr" has more than 2 operands in hlsl_normalize_binary_exprs(). 2025-08-21 15:32:27 +02:00
Petrichor Park
d964d55b4a vkd3d-shader/hlsl: Implement the frexp() intrinsic. 2025-08-21 15:29:27 +02:00
Petrichor Park
ea6104cf5e tests/hlsl: Add some tests for the frexp() intrinsic. 2025-08-21 15:29:27 +02:00
Petrichor Park
0b8abe754a tests: Normalise NAN values in compare_float() and compare_double().
I.e., ignore the mantissa/payload of NAN values.
2025-08-21 15:29:27 +02:00
Henri Verbeet
a083748626 tests/shader_runner: Use read_f64() to parse "uniform" directives. 2025-08-21 15:29:27 +02:00
Henri Verbeet
31136ead05 tests/shader_runner: Use read_f32() to parse "uniform" directives. 2025-08-21 15:29:27 +02:00
Henri Verbeet
f732fb7889 Release 1.17. vkd3d-1.17 2025-08-21 12:52:13 +02:00
Brendan Shanks
44fffee5e1 tests: Add dxcompiler.h to .gitignore. 2025-08-14 10:34:44 +02:00
Brendan Shanks
bb2a6a0322 include: Add additional generated files to .gitignore. 2025-08-14 10:34:44 +02:00
Henri Verbeet
975ba8f9da vkd3d-shader: Document that vkd3d_shader_scan() supports HLSL sources. 2025-08-14 10:33:45 +02:00