Commit Graph

597 Commits

Author SHA1 Message Date
683e11aece vkd3d-shader/hlsl: Silence a spurious -Wmaybe-uninitialized in sm4_generate_vsir_instr_dcl_semantic(). 2024-11-14 14:12:13 +01:00
5df836c513 vkd3d-shader/hlsl: Store SM4 MOD in the vsir program. 2024-11-06 22:49:12 +01:00
30bc6965a2 vkd3d-shader/hlsl: Store SM4 DOT in the vsir program. 2024-11-06 22:48:13 +01:00
e8b373e3ff vkd3d-shader/hlsl: Store SM4 DIV in the vsir program. 2024-11-06 22:47:42 +01:00
24f4308982 vkd3d-shader/hlsl: Store SM4 MUL in the vsir program. 2024-11-06 22:45:46 +01:00
e4d36bd855 vkd3d-shader/hlsl: Store SM4 SAT in the vsir program. 2024-11-06 22:45:23 +01:00
2e3f4a01bf vkd3d-shader/hlsl: Store SM4 RCP in the vsir program. 2024-11-06 22:40:50 +01:00
3c4889add3 vkd3d-shader/hlsl: Store SM4 SIN and COS in the vsir program. 2024-11-06 22:38:04 +01:00
befba8e813 vkd3d-shader/hlsl: Store SM4 casts in the vsir program. 2024-11-06 22:27:49 +01:00
4290d85397 vkd3d-shader/hlsl: Write all writemask components for PSIZE and FOG outputs.
Matching fxc/d3dcompiler.
2024-11-05 19:58:49 +01:00
5a513ffcec vkd3d-shader/hlsl: Enforce FOG component count for sm1 VS output. 2024-11-05 19:53:24 +01:00
f50b20ddd6 vkd3d-shader/hlsl: Enforce PSIZE component count for sm1 VS output. 2024-11-05 19:53:24 +01:00
950c381728 vkd3d-shader/hlsl: Store RASTERIZER_SAMPLE_COUNT in the vsir program.
Also, the profile check for GetRenderTargetSampleCount() is moved to
parse time.
2024-11-05 19:48:31 +01:00
ab60f4e082 vkd3d-shader/hlsl: Store simple SM4 expressions in the vsir program. 2024-11-05 19:35:52 +01:00
6eda775047 vkd3d-shader/hlsl: Run sm4_generate_vsir_block() recursively.
This allows us to remove the HLSL IR version of an instruction when
the vsir version is properly implemented.
2024-11-05 19:20:21 +01:00
64c4a3a442 vkd3d-shader/hlsl: Store SM4 semantic declarations in the vsir program. 2024-11-05 19:19:22 +01:00
68311ef010 vkd3d-shader/hlsl: Store SM4 ABS instructions in the vsir program. 2024-11-04 17:00:54 +01:00
404644bad3 vkd3d-shader/hlsl: Introduce vsir_src_from_hlsl_node().
This allows constants to be inlined for sm4.
2024-11-04 16:36:28 +01:00
6f52bb6b1a vkd3d-shader/hlsl: Store SM4 swizzles in the vsir program. 2024-11-04 16:08:38 +01:00
3511b54040 vkd3d-shader/hlsl: Use early return in allocate_register().
Partly to avoid a spurious maybe-uninitialized warning, and partly because it's a more idiomatic structure.
2024-10-28 18:01:06 +01:00
9d82915629 vkd3d-shader/hlsl: Make allocation functions static again. 2024-10-24 20:50:59 +02:00
23be6ed0dd vkd3d-shader/hlsl: Store temp declarations in the vsir program.
Move the temp allocation back to hlsl_codegen.c.

Note that the DCL_TEMPS instructions wouldn't be necessary if we had the
capacity to store the temp_count for both the main program and the patch
constant program (or more generally speaking, a temp_count for all
phases).

The plan is to eventually also move the HS_CONTROL_POINT and
HS_FORK_PHASE markers to the vsir_program, making it able to contain
both functions.
2024-10-24 20:50:59 +02:00
158bf794e6 vkd3d-shader/hlsl: Introduce hlsl_ir_vsir_instruction_ref, again.
This node type will be deleted (again) once the hlsl->vsir->tpf
translation is complete. It serves the purpose of allowing to keep
both real hlsl_ir_nodes and vsir_instructions in the hlsl_block,
until all the former can be translated into the latter.
2024-10-24 20:50:59 +02:00
cf7fade580 vkd3d-shader/hlsl: Store the thread group size in the vsir program. 2024-10-24 20:48:20 +02:00
cf3e251a9f vkd3d-shader/hlsl: Implement the f32tof16() intrinsic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-22 20:28:33 +02:00