Commit Graph

5978 Commits

Author SHA1 Message Date
Henri Verbeet
78e354133e vkd3d-shader/ir: Generate location information in vsir_program_ensure_diffuse(). 2025-08-28 20:04:59 +02:00
Henri Verbeet
fdb24c0fe7 vkd3d-shader/ir: Generate location information in vsir_program_ensure_ret(). 2025-08-28 20:04:59 +02:00
Henri Verbeet
e3001fcaa4 vkd3d-common: Introduce VKD3D_SHADER_API_VERSION_CURRENT. 2025-08-28 20:04:02 +02:00
Andrey Gusev
d0098b0d59 vkd3d: Recognise VK_QUEUE_OPTICAL_FLOW_BIT_NV in debug_vk_queue_flags(). 2025-08-22 20:58:06 +02:00
Elizabeth Figura
4d8e2d658a vkd3d-shader/preproc: Do not make a copy of the buffer before returning it. 2025-08-22 20:53:21 +02:00
Elizabeth Figura
586d8c9a52 vkd3d-shader/glsl: Do not make a copy of the buffer before returning it. 2025-08-22 20:53:21 +02:00
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