Feifan He
ffbade9ed1
vkd3d-shader/msl: Implement VKD3DSIH_FTOI.
2024-11-27 14:00:50 +01:00
Feifan He
16409569fd
vkd3d-shader/msl: Implement VKD3DSIH_ITOF.
2024-11-27 14:00:50 +01:00
Giovanni Mascellani
9e0c02a0ea
vkd3d-shader/ir: Evaluate OUTCONTROLPOINT usage in the patch constant phase directly.
...
Instead of using DCL_INPUT.
The main goal here is to eventually get rid of the I/O
declaration instructions. A positive side effect is that we don't
add a useless barrier to shaders which have a DCL_INPUT instruction
in the patch constant phase but don't actually read OUTCONTROLPOINT
registers.
2024-11-27 13:59:39 +01:00
Giovanni Mascellani
1cfe23569c
vkd3d-shader/ir: Synthesize the default control point phase in the HS control point I/O normaliser.
...
This makes it available to all backends, without requiring an
ad-hoc solution for each of them. It also gets rid of an
undocumented flag we're currently passing to
DCL_CONTROL_POINT_PHASE.
2024-11-27 13:57:09 +01:00
Francisco Casas
198c3dc7b9
vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref, again.
2024-11-27 13:03:15 +01:00
Francisco Casas
d6d6f37578
vkd3d-shader/hlsl: Migrate SM4 control flow instructions to the vsir program.
...
Translate the instructions that contain hlsl_blocks. Also move
other control flow instructions such as HS_CONTROL_POINT_PHASE and
RET to the vsir_program so that we can directly iterate over it now.
2024-11-27 13:02:53 +01:00
Francisco Casas
81fa4d45b9
vkd3d-shader/tpf: Apply extra bits to all conditional ops.
2024-11-27 12:54:27 +01:00
Francisco Casas
28ad600b43
vkd3d-shader/hlsl: Store SM4 jumps in the vsir program.
2024-11-27 12:54:15 +01:00
Giovanni Mascellani
2c3a7b0dd9
vkd3d-shader/ir: Validate the register type for DCL_OUTPUT_SIV instructions.
2024-11-25 20:51:29 +01:00
Giovanni Mascellani
3832e38ce0
vkd3d-shader/ir: Validate the register type for DCL_OUTPUT instructions.
2024-11-25 20:51:25 +01:00
Giovanni Mascellani
e7770eaaf6
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS_SGV instructions.
2024-11-25 20:48:39 +01:00
Giovanni Mascellani
1d9862261f
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS_SIV instructions.
2024-11-25 20:48:39 +01:00
Giovanni Mascellani
09ede1e7f2
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS instructions.
2024-11-25 20:48:39 +01:00
Giovanni Mascellani
31f6b18c84
vkd3d-shader/ir: Validate the register type for DCL_INPUT_SGV instructions.
2024-11-25 20:48:39 +01:00
Giovanni Mascellani
fadaa69b92
vkd3d-shader/ir: Validate the register type for DCL_INPUT_SIV instructions.
2024-11-25 20:48:39 +01:00
Giovanni Mascellani
b007b1dd79
vkd3d-shader/ir: Validate the register type for DCL_INPUT instructions.
2024-11-25 20:48:39 +01:00
Giovanni Mascellani
a8c5f9e667
vkd3d-shader/dxil: Emit register SAMPLEMASK for output sysval SV_Coverage.
2024-11-25 20:47:24 +01:00
Giovanni Mascellani
c22812e20b
vkd3d-shader/ir: Validate index count for OUTSTENCILREF registers.
2024-11-25 20:45:44 +01:00
Giovanni Mascellani
e367dc0783
vkd3d-shader/ir: Validate index count for WAVELANEINDEX registers.
2024-11-25 20:45:44 +01:00
Giovanni Mascellani
5b04a7973b
vkd3d-shader/ir: Validate index count for WAVELANECOUNT registers.
2024-11-25 20:45:44 +01:00
Giovanni Mascellani
820a545950
vkd3d-shader/ir: Validate index count for GSINSTID registers.
2024-11-25 20:45:44 +01:00
Giovanni Mascellani
07b31761fb
vkd3d-shader/ir: Validate index count for SAMPLEMASK registers.
2024-11-25 20:45:44 +01:00
Giovanni Mascellani
9f3bbad6bc
vkd3d-shader/ir: Validate index count for COVERAGE registers.
2024-11-25 20:45:44 +01:00
Feifan He
71ce43313f
vkd3d-shader/msl: Implement VKD3DSIH_MOVC.
2024-11-25 20:43:13 +01:00
Feifan He
32a507ace6
vkd3d-shader/msl: Implement VKD3DSIH_FRC.
2024-11-25 20:43:13 +01:00
Feifan He
154847c696
vkd3d-shader/msl: Implement VKD3DSIH_GEO.
2024-11-25 20:43:13 +01:00
Feifan He
38d7f8415d
vkd3d-shader/msl: Implement support for VKD3DSPSM_NEG modifiers.
2024-11-25 20:43:13 +01:00
Feifan He
64ea19b7f7
vkd3d-shader/msl: Implement VKD3DSIH_DIV.
2024-11-25 20:43:13 +01:00
Feifan He
b7605f1c34
vkd3d-shader/msl: Implement VKD3DSIH_OR.
2024-11-25 20:43:13 +01:00
Feifan He
f2a32589ea
vkd3d-shader/msl: Implement VKD3DSIH_INE.
2024-11-25 20:43:13 +01:00
Feifan He
a2d56c8bfc
vkd3d-shader/msl: Implement VKD3DSIH_MUL.
2024-11-25 20:43:13 +01:00
Francisco Casas
4f549155c5
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_RESINFOs in the vsir program.
2024-11-24 00:01:03 +01:00
Francisco Casas
c89f503604
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_SAMPLE_INFOs in the vsir program.
2024-11-24 00:00:46 +01:00
Francisco Casas
4382af6e1b
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_GATHERs in the vsir program.
2024-11-23 23:55:07 +01:00
Francisco Casas
42ce821603
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_SAMPLEs in the vsir program.
2024-11-23 23:52:24 +01:00
Francisco Casas
52b81f42eb
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_LOADs in the vsir program.
2024-11-23 23:49:57 +01:00
Feifan He
fd1beedc07
vkd3d-shader/msl: Implement support for VSIR_DIMENSION_VEC4 immediate constants.
2024-11-23 23:43:42 +01:00
Feifan He
68d7470fc2
vkd3d-shader/msl: Implement VKD3DSIH_NEU.
2024-11-23 23:43:42 +01:00
Feifan He
65b0e13a1a
vkd3d-shader/msl: Implement VKD3DSIH_AND.
2024-11-23 23:43:42 +01:00
Feifan He
4add058cd8
vkd3d-shader/msl: Implement support for VKD3DSPSM_ABS modifiers.
2024-11-23 23:43:42 +01:00
Feifan He
5bb7dcaba3
vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONST registers.
2024-11-23 23:43:42 +01:00
Feifan He
05b9331d0d
vkd3d-shader/msl: Implement VKD3DSIH_ADD.
2024-11-23 23:43:42 +01:00
Nikolay Sivov
b314a9eb84
vkd3d-shader/fx: Remove newlines from the parser error messages.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-23 23:24:05 +01:00
Nikolay Sivov
3784919213
vkd3d-shader/fx: Implement parsing inline shader blobs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-23 23:21:39 +01:00
Giovanni Mascellani
0f362ab720
vkd3d-shader/ir: Check that tessellation system value registers are consecutive.
2024-11-23 23:19:57 +01:00
Giovanni Mascellani
5894e79064
vkd3d-shader/ir: Check that all tessellation system values appear in the patch constant signature.
2024-11-23 23:19:57 +01:00
Giovanni Mascellani
0245d22c83
vkd3d-shader/ir: Validate index count for LOCALTHREADINDEX registers.
2024-11-23 23:15:40 +01:00
Giovanni Mascellani
050840f493
vkd3d-shader/ir: Validate index count for LOCALTHREADID registers.
2024-11-23 23:15:39 +01:00
Giovanni Mascellani
595fe9a7aa
vkd3d-shader/ir: Validate index count for THREADGROUPID registers.
2024-11-23 23:15:39 +01:00
Giovanni Mascellani
fd9da5db2d
vkd3d-shader/ir: Validate index count for THREADID registers.
2024-11-23 23:15:39 +01:00