4ff288bd32
vkd3d-shader: Implement tex*() functions variants with gradient arguments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2024-07-08 18:23:38 +02:00
1fe7a6581b
vkd3d-shader/ir: Rename the "handler_idx" field of struct vkd3d_shader_instruction to "opcode".
2024-05-30 19:57:01 +02:00
308d735923
vkd3d-shader/ir: Set texture register dimension as VEC4 when normalising combined samplers.
...
Thanks, Giovanni.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2024-05-27 21:07:51 +02:00
19b552ce1b
vkd3d-shader/ir: Pass an initialised vsir_program structure to vkd3d_shader_parser_init().
2024-05-16 21:49:36 +02:00
98f73ca2e5
vkd3d-shader/ir: Allow all DCL instructions to occur outside hull shader phases.
2024-05-13 22:27:13 +02:00
cc49f26af1
vkd3d-shader/ir: Validate geometry shader properties.
2024-05-08 21:08:15 +02:00
075979fa21
vkd3d-shader/ir: Always check for undominated SSA use in register relative addresses.
2024-04-24 23:48:13 +02:00
d2427ea1bd
vkd3d-shader/ir: Lower IFC instructions to IF instructions.
2024-04-24 23:48:05 +02:00
46fca3f9f4
vkd3d-common: Introduce VKD3D_BITMAP_SIZE.
2024-04-23 22:41:25 +02:00
e3dde09bb9
vkd3d-shader/ir: Accept undefined PHI incomings as valid.
...
An incoming can be undefined if the PHI result is not used if the
incoming's path was taken, or if the undefined value is consumed by
an instruction (dxc will compile such code without errors).
2024-04-23 22:37:33 +02:00
6b841486d4
vkd3d-shader/ir: Materialize SSAs in each function of a hull shader.
2024-04-23 22:36:17 +02:00
c8af142bb0
vkd3d-shader/ir: Structurize each function of a hull shader.
2024-04-23 22:36:16 +02:00
d8e4b19cdc
vkd3d-shader/ir: Skip invalid blocks when materializing undominated SSAs.
2024-04-23 22:36:14 +02:00
4457181b2a
vkd3d-shader/dxil: Support patch constant functions and signatures.
2024-04-22 23:13:26 +02:00
e17e481130
vkd3d-shader/glsl: Call vkd3d_shader_normalise().
2024-04-17 22:52:20 +02:00
1d6c3eae78
vkd3d-shader/ir: Remove VKD3DSIH_DCL_CONSTANT_BUFFER instructions.
2024-04-16 22:18:52 +02:00
a359c42795
vkd3d-shader/ir: Only emit launchers when needed.
2024-04-16 22:18:33 +02:00
df4731dc17
vkd3d-shader/ir: Only emit trampolines when needed.
2024-04-16 22:18:26 +02:00
d6ba8b88fa
vkd3d-shader/ir: Swap selection branches if the if branch is empty.
2024-04-16 22:18:25 +02:00
0515482e82
vkd3d-shader/ir: Validate tessellation declarations.
2024-04-16 22:18:18 +02:00
23db066922
vkd3d-shader/ir: Implement MAD in two operations if flagged as precise.
...
With some changes by Giovanni Mascellani.
2024-04-15 21:33:35 +02:00
9112a5be58
vkd3d-shader/ir: Move DCL_TEMPS removal to the generic instruction lowering pass.
2024-04-15 21:33:34 +02:00
8a17a5a08b
vkd3d-shader/ir: Introduce vsir_program_lower_instructions().
...
It is meant as generic pass to host all program changes to single
instructions that do not require keeping a global state, intstead
of having to loop through the whole program many times.
2024-04-15 21:33:32 +02:00
a7dc6dcce2
vkd3d-shader/ir: Split handling jumps when emitting a structured program.
2024-04-15 21:33:28 +02:00
1a8a4c7787
vkd3d-shader/ir: Split handling selections when emitting a structured program.
2024-04-15 21:33:26 +02:00