Commit Graph

5922 Commits

Author SHA1 Message Date
Elizabeth Figura
c897e17c81 vkd3d-shader/hlsl: Ensure yacc tokens are positive.
Negative returns from yylex() signal EOF, which is not what we want here.
2025-08-22 20:51:46 +02:00
Elizabeth Figura
a696fc1376 vkd3d-shader: Dump shaders in vkd3d_shader_preprocess(). 2025-08-22 20:50:11 +02:00
Henri Verbeet
3b41d99fa9 vkd3d-shader/tpf: Store a pointer to the vsir program in struct vkd3d_shader_sm4_parser. 2025-08-21 16:28:28 +02:00
Henri Verbeet
433ca45789 vkd3d-shader/dxil: Store a pointer to the vsir program in struct sm6_parser. 2025-08-21 16:28:28 +02:00
Henri Verbeet
4039476c50 vkd3d-shader/d3dbc: Store a pointer to the vsir program in struct vkd3d_shader_sm1_parser. 2025-08-21 16:28:28 +02:00
Henri Verbeet
0ab5090ff1 vkd3d-shader/hlsl: Support MSL as target format. 2025-08-21 16:28:00 +02:00
Elizabeth Figura
b88fce0d39 vkd3d-shader/d3dbc: Move IFC lowering to vsir_program_lower_d3dbc_instructions(). 2025-08-21 16:26:52 +02:00
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
Henri Verbeet
f732fb7889 Release 1.17. 2025-08-21 12:52:13 +02:00