Commit Graph

3146 Commits

Author SHA1 Message Date
Giovanni Mascellani
dcee148b1a vkd3d-shader/ir: Move the control flow type enumeration to vkd3d_shader_private.h. 2024-09-12 18:27:20 +02:00
Nikolay Sivov
ec644b395b vkd3d-shader/tpf: Create a stub STAT section.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-12 18:26:08 +02:00
Feifan He
5df81049aa vkd3d-shader/msl: Call vsir_program_transform() before generating code. 2024-09-12 18:09:00 +02:00
Feifan He
47981def0d vkd3d-shader/msl: Generate comments for unhandled instructions.
Similar to commit 8a60814476 for the GLSL
target.
2024-09-12 18:04:44 +02:00
Feifan He
23ba1a5e07 vkd3d-shader: Introduce VKD3D_SHADER_TARGET_MSL. 2024-09-12 17:03:32 +02:00
Henri Verbeet
ab525f31e4 vkd3d-shader/d3dbc: Use enum vkd3d_shader_src_modifier in struct sm1_src_register. 2024-09-11 15:24:54 +02:00
Henri Verbeet
f3e6c75c89 vkd3d-shader/d3dbc: Use enum vkd3d_shader_dst_modifier in struct sm1_dst_register. 2024-09-11 15:19:29 +02:00
Giovanni Mascellani
b31c9831fa vkd3d-shader/ir: Print results as signed numbers. 2024-09-11 15:13:14 +02:00
Giovanni Mascellani
096f133b09 vkd3d-shader/ir: Rename vsir_program_normalise() to vsir_program_transform(). 2024-09-11 15:13:14 +02:00
Giovanni Mascellani
03ab0156a2 vkd3d-shader/ir: Run validation after inserting the alpha test. 2024-09-11 15:13:14 +02:00
Giovanni Mascellani
5c0d640d18 vkd3d-shader/ir: Run validation after flattening control flow constructs. 2024-09-11 15:13:14 +02:00
Giovanni Mascellani
4b06729be8 vkd3d-shader/ir: Run validation after normalising combined samplers. 2024-09-11 15:13:14 +02:00
Giovanni Mascellani
c2fd1e42fd vkd3d-shader/ir: Run validation after removing dead code. 2024-09-11 15:13:14 +02:00
Elizabeth Figura
82773eb805 vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in refract(). 2024-09-11 15:11:42 +02:00
Elizabeth Figura
2688a24bde vkd3d-shader/hlsl: Preserve halves in intrinsic_step(). 2024-09-11 15:11:42 +02:00
Elizabeth Figura
b23c172a47 vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in intrinsic_smoothstep(). 2024-09-11 15:11:42 +02:00
Elizabeth Figura
e7eadb38b8 vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in intrinsic_faceforward(). 2024-09-11 15:11:42 +02:00
Elizabeth Figura
24e29649c4 vkd3d-shader/hlsl: Use elementwise_intrinsic_convert_args() in intrinsic_dst().
This one preserves integer arguments.
2024-09-11 15:11:42 +02:00
Elizabeth Figura
7636f2a233 vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in write_atan_or_atan2(). 2024-09-11 15:11:42 +02:00
Francisco Casas
6e6e2910d6 vkd3d-shader/hlsl: Save DP2ADD hlsl_ir_exprs in the vsir_program for SM1. 2024-09-11 15:10:16 +02:00
Francisco Casas
4ed16108f0 vkd3d-shader/hlsl: Save COS_REDUCED and SIN_REDUCED in the vsir_program for SM1. 2024-09-11 15:09:58 +02:00
Francisco Casas
5db2c2a949 vkd3d-shader/hlsl: Save DOT hlsl_ir_exprs in the vsir_program for SM1. 2024-09-11 15:09:17 +02:00
Francisco Casas
d70342d66d vkd3d-shader/hlsl: Save per-component hlsl_ir_exprs in the vsir_program for SM1. 2024-09-11 15:07:35 +02:00
Francisco Casas
82dec5db46 vkd3d-shader/hlsl: Save simple hlsl_ir_exprs in the vsir_program for SM1. 2024-09-11 15:06:09 +02:00
Nikolay Sivov
3b4e0ce8e9 vkd3d-shader/fx: Check modifiers when reusing types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-10 21:48:03 +02:00
Conor McCarthy
e550901efa vkd3d-shader/ir: Free the semantic names of deleted signature elements in shader_signature_merge(). (Valgrind) 2024-09-10 21:45:22 +02:00
Giovanni Mascellani
828dfdf1bd vkd3d-shader/ir: Run validation after normalising flat constants. 2024-09-10 21:43:14 +02:00
Giovanni Mascellani
1c285d40bd vkd3d-shader/ir: Run validation after normalising I/O registers. 2024-09-10 21:43:14 +02:00
Giovanni Mascellani
d8c41cc270 vkd3d-shader/ir: Run validation after normalising Hull Shader control points I/O registers. 2024-09-10 21:43:14 +02:00
Giovanni Mascellani
a3fdc447de vkd3d-shader/ir: Run validation after flattening hull shader phases. 2024-09-10 21:43:14 +02:00
Giovanni Mascellani
5fd93c28c4 vkd3d-shader/ir: Run validation after remapping the output signature. 2024-09-10 21:43:14 +02:00
Henri Verbeet
207664baca vkd3d-shader/d3dbc: Use VKD3D_SM1_REGISTER_TYPE_SHIFT and related constants in sm1_encode_register_type(). 2024-09-10 21:42:23 +02:00
Henri Verbeet
f163df787e vkd3d-shader/d3dbc: Avoid D3DVS_VERSION and D3DPS_VERSION. 2024-09-10 21:41:33 +02:00
Nikolay Sivov
de6abd964e vkd3d-shader/hlsl: Implement the mad() intrinsic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-10 21:40:32 +02:00
Nikolay Sivov
75299c04fd vkd3d-shader: Handle the SV_SampleIndex semantic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-10 21:39:03 +02:00
Giovanni Mascellani
bfd1fc9cd6 vkd3d-shader/ir: Assume that Hull Shaders have a control point phase in vsir_program_normalise_io_registers().
The control point phase is always introduced, when missing, by the
earlier instruction_array_normalise_hull_shader_control_point_io()
pass.
2024-09-05 16:33:05 +02:00
Giovanni Mascellani
7b9a1bf6df vkd3d-shader/ir: Run validation after materializing undominated SSAs to TEMPs. 2024-09-05 16:29:47 +02:00
Giovanni Mascellani
08c1f4d45e vkd3d-shader/ir: Run validation after flattening control flow constructs. 2024-09-05 16:29:17 +02:00
Giovanni Mascellani
455c826a6a vkd3d-shader/ir: Run validation after structurization. 2024-09-05 16:29:11 +02:00
Giovanni Mascellani
e935dcb88d vkd3d-shader/ir: Run validation after lowering switches to selection ladders. 2024-09-05 16:29:02 +02:00
Giovanni Mascellani
4a28433ef5 vkd3d-shader/ir: Run validation after materializing PHI SSAs to TEMPs. 2024-09-05 16:26:52 +02:00
Giovanni Mascellani
fade5dd54c vkd3d-shader/ir: Run validation after lowering instructions. 2024-09-05 16:25:33 +02:00
Giovanni Mascellani
ffb7284fb6 vkd3d-shader/ir: Do not decide the control flow type on NOPs. 2024-09-05 16:20:39 +02:00
Giovanni Mascellani
829e6f5cd0 vkd3d-shader/ir: Emit a warning instead of an error on validation failures. 2024-09-05 16:20:39 +02:00
Henri Verbeet
03d76f653b vkd3d-shader/d3dbc: Use VKD3D_SM1_INSTRUCTION_LENGTH_SHIFT instead of D3DSI_INSTLENGTH_SHIFT. 2024-09-05 12:47:43 +02:00
Henri Verbeet
b9693393fd vkd3d-shader/d3dbc: Store a enum vkd3d_sm1_opcode in struct sm1_instruction. 2024-09-05 12:45:43 +02:00
Nikolay Sivov
0a6bcf5da7 vkd3d-shader/tpf: Fix a typo when adding the SFI0 section.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-04 18:43:41 +02:00
Henri Verbeet
a214e96cf8 vkd3d-shader/tpf: Use enum vkd3d_sm4_data_type in sm4_resource_format(). 2024-09-04 18:42:26 +02:00
Henri Verbeet
b61675d0f3 vkd3d-shader/tpf: Use enum vkd3d_shader_component_type in write_sm4_signature(). 2024-09-04 18:40:56 +02:00
Shaun Ren
c1babbc8aa vkd3d-shader/hlsl: Validate hull shader attributes. 2024-09-04 18:30:04 +02:00