5518 Commits

Author SHA1 Message Date
Zebediah Figura
843968cd63 vkd3d-shader/hlsl: Use hlsl_version_ge() when checking for unbounded arrays.
6.x also allows them.
2024-04-09 12:27:45 -05:00
Zebediah Figura
5fbd2708c0 vkd3d-shader/hlsl: Move shader version helpers to hlsl.h. 2024-04-09 12:27:43 -05:00
Conor McCarthy
e72c3bab71 vkd3d-shader/spirv: Ensure the data register is UINT in spirv_compiler_emit_store_tgsm(). 2024-04-09 12:27:30 -05:00
Conor McCarthy
dc99159dd8 vkd3d-shader/spirv: Bitcast if necessary in spirv_compiler_emit_store_dst_components(). 2024-04-09 12:27:29 -05:00
Conor McCarthy
85c8c6be4d vkd3d-shader/dxil: Support constexpr GEP. 2024-04-09 12:27:26 -05:00
Conor McCarthy
7d5e3713f9 vkd3d-shader/ir: Materialise SSAs to temps before lowering switch instructions. 2024-04-09 12:27:20 -05:00
Conor McCarthy
cfcd57209b vkd3d-shader/ir: Convert SSAs to temps only if the block of origin does not dominate all uses. 2024-04-09 12:27:19 -05:00
Conor McCarthy
1c61776c18 vkd3d-shader/spirv: Handle uint2 to double bitcast in spirv_compiler_emit_mov().
Necessary for MakeDouble if the dst is SSA.
2024-04-09 12:27:18 -05:00
Conor McCarthy
c8eb7e1c81 vkd3d-shader/spirv: Emit a uint result for RESINFO_UINT if the dst register is SSA. 2024-04-09 12:27:16 -05:00
Conor McCarthy
7bfc7410f2 vkd3d-shader/ir: Materialise phis to temps in the incoming blocks.
RADV converts temps to phi instructions, so converting phis to MOVC in
VSIR just translates back to phis feeding into a MOVC. This commit
eliminates the MOVC.
2024-04-09 12:27:15 -05:00
Francisco Casas
62bb12f322 vkd3d-shader/hlsl: Use LOGIC_AND instead of MUL in all(). 2024-04-09 12:27:09 -05:00
Francisco Casas
53e4d6eedb vkd3d-shader/hlsl: Use LOGIC_OR instead of BIT_OR in any().
Note that BIT_OR is not available for SM1 bools, so we must prefer
LOGIC_OR when possible.
2024-04-09 12:27:07 -05:00
Francisco Casas
2621fc9572 vkd3d-shader/ir: Add missing src swizzle in vsir_program_lower_texkills(). 2024-04-09 12:27:06 -05:00
Francisco Casas
808ec288cf tests: Add failing test for clip.shader_test in SM1.
We are not properly translating texkill to spir-v since it is only
considering the first component.
2024-04-09 12:27:04 -05:00
Francisco Casas
8fca801591 vkd3d-shader/tpf: Use the extra_bits field for _nz on discard. 2024-04-09 12:27:03 -05:00
Francisco Casas
3503145ced tests: Report missing signature element in openGL runner. 2024-04-09 12:27:03 -05:00
Francisco Casas
3a0a4b625f vkd3d-shader/hlsl: Merge HLSL_OP3_MOVC into HLSL_OP3_TERNARY. 2024-04-09 12:27:02 -05:00
Francisco Casas
8f6f875a59 vkd3d-shader/hlsl: Move lower of non-float expressions with the other SM1 passes. 2024-04-09 12:27:01 -05:00
Francisco Casas
19fd43214b vkd3d-shader/hlsl: Ensure that TERNARY condition is always bool.
Also, properly casting it to float in lower_ternary() for SM1
avoids creating ABS and NEG on bool types.
2024-04-09 12:26:59 -05:00
Giovanni Mascellani
9c0d04c862 ci: Build the macOS image each time the Linux image is built. 2024-04-04 22:22:06 +02:00
Henri Verbeet
4f589356f1 tests: Free the shader blobs once we're done with them in test_create_pipeline_state(). (Valgrind). 2024-04-04 22:20:35 +02:00
Henri Verbeet
73996c9941 vkd3d-dxbc: Allow the section to extract to be specified by tag. 2024-04-04 22:20:30 +02:00
Henri Verbeet
6c3b87bed0 vkd3d-dxbc: Implement extracting section data. 2024-04-04 22:20:30 +02:00
Henri Verbeet
806afd7b50 vkd3d-dxbc: Free the blob if parsing it failed. 2024-04-04 22:20:30 +02:00
Henri Verbeet
8f529cd0ae vkd3d-dxbc: Introduce a helper function to apply actions. 2024-04-04 22:20:30 +02:00