Conor McCarthy
|
80d7ea2924
|
vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers.
Simplifies handling of intrinsics which need to emit more than one
instruction.
|
2024-01-22 22:18:16 +01:00 |
|
Henri Verbeet
|
14da4df99e
|
vkd3d-common: Use vkd3d_atomic_decrement_u32() in vkd3d_blob_Release().
|
2024-01-18 23:16:19 +01:00 |
|
Henri Verbeet
|
9228e13155
|
vkd3d-common: Introduce vkd3d_atomic_decrement_u32().
|
2024-01-18 23:16:19 +01:00 |
|
Henri Verbeet
|
bb6b393c15
|
vkd3d-common: Use vkd3d_atomic_increment_u32() in vkd3d_blob_AddRef().
|
2024-01-18 23:16:19 +01:00 |
|
Henri Verbeet
|
5fe3c624d5
|
vkd3d-common: Use vkd3d_atomic_increment_u32() in get_buffer().
|
2024-01-18 23:16:19 +01:00 |
|
Henri Verbeet
|
03fbf4a3dc
|
vkd3d-common: Introduce vkd3d_atomic_increment_u32().
|
2024-01-18 23:16:19 +01:00 |
|
Henri Verbeet
|
f69c8b1cc4
|
vkd3d-shader/d3dbc: Store the "offset" field as an unsigned int in hlsl_sm1_register_from_semantic().
|
2024-01-18 23:16:06 +01:00 |
|
Giovanni Mascellani
|
67902d4304
|
vkd3d-shader/ir: Validate RET instructions.
|
2024-01-18 23:15:58 +01:00 |
|
Giovanni Mascellani
|
af96730276
|
vkd3d-shader/ir: Validate SWITCH_MONOLITHIC instructions.
|
2024-01-18 23:15:57 +01:00 |
|
Giovanni Mascellani
|
46ebb404d7
|
vkd3d-shader/ir: Validate BRANCH instructions.
|
2024-01-18 23:15:56 +01:00 |
|
Giovanni Mascellani
|
bc9db34cdc
|
vkd3d-shader/ir: Validate LABEL instructions.
|
2024-01-18 23:15:55 +01:00 |
|
Giovanni Mascellani
|
dd1b2feec0
|
vkd3d-shader/ir: Validate LABEL registers.
|
2024-01-18 23:15:54 +01:00 |
|
Giovanni Mascellani
|
17f4afc2b5
|
vkd3d-shader/ir: Validate that structured CF does not appear in block-based shaders.
|
2024-01-18 23:15:53 +01:00 |
|
Giovanni Mascellani
|
1d45b7a422
|
vkd3d-shader/spirv: Normalise the shader before allocating registers.
So registers are allocated after normalisation (which could require
additional registers).
|
2024-01-18 23:15:48 +01:00 |
|
Zebediah Figura
|
9ad48f16ea
|
vkd3d-shader/hlsl: Forbid mismatched argument types in ternaries.
|
2024-01-18 23:15:44 +01:00 |
|
Zebediah Figura
|
275901557c
|
vkd3d-shader/hlsl: Handle scalar values in ternaries.
|
2024-01-18 23:15:43 +01:00 |
|
Zebediah Figura
|
11112798c8
|
vkd3d-shader/hlsl: Handle scalar conditions in ternaries.
|
2024-01-18 23:15:42 +01:00 |
|
Zebediah Figura
|
2c8751478f
|
vkd3d-shader/hlsl: Forbid objects in ternary conditions.
|
2024-01-18 23:15:41 +01:00 |
|
Giovanni Mascellani
|
38fdf24002
|
vkd3d-shader: Make relative address sources mutable too.
They were forgotten in 78d95889bd.
Fixes: 78d95889bd
|
2024-01-18 23:15:35 +01:00 |
|
Giovanni Mascellani
|
93100edb4b
|
tests: Test a couple of degenerate switch instances.
|
2024-01-18 23:15:35 +01:00 |
|
Giovanni Mascellani
|
6cb7487fb0
|
tests: Add a test with non-trivial control flow.
|
2024-01-18 23:15:35 +01:00 |
|
Conor McCarthy
|
83851133c5
|
vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
|
2024-01-18 23:15:27 +01:00 |
|
Conor McCarthy
|
759362b527
|
tests: Test an interpolated PS input where component x is unused.
FXC does not emit an interpolation mode for unused elements.
|
2024-01-18 23:15:26 +01:00 |
|
Conor McCarthy
|
b8280e4210
|
vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes.".
This reverts commit b5c067b41a.
The commit causes regressions in other shaders because unused elements
do not have an interpolation mode.
|
2024-01-18 23:15:25 +01:00 |
|
Conor McCarthy
|
efe800f7f0
|
vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
|
2024-01-18 23:15:14 +01:00 |
|