9ad48f16ea
vkd3d-shader/hlsl: Forbid mismatched argument types in ternaries.
2024-01-18 23:15:44 +01:00
275901557c
vkd3d-shader/hlsl: Handle scalar values in ternaries.
2024-01-18 23:15:43 +01:00
11112798c8
vkd3d-shader/hlsl: Handle scalar conditions in ternaries.
2024-01-18 23:15:42 +01:00
2c8751478f
vkd3d-shader/hlsl: Forbid objects in ternary conditions.
2024-01-18 23:15:41 +01:00
38fdf24002
vkd3d-shader: Make relative address sources mutable too.
...
They were forgotten in 78d95889bd
.
Fixes: 78d95889bd
2024-01-18 23:15:35 +01:00
93100edb4b
tests: Test a couple of degenerate switch instances.
2024-01-18 23:15:35 +01:00
6cb7487fb0
tests: Add a test with non-trivial control flow.
2024-01-18 23:15:35 +01:00
83851133c5
vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
2024-01-18 23:15:27 +01:00
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
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
efe800f7f0
vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
2024-01-18 23:15:14 +01:00
ba1ee27b4b
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
2024-01-18 23:15:12 +01:00
8a5804eb43
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
2024-01-18 23:15:10 +01:00
c9493884ef
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
2024-01-18 23:15:03 +01:00
9e964fa0c7
vkd3d-shader/dxil: Introduce a code block terminator struct.
2024-01-18 23:15:01 +01:00
866e5de95b
ci: Prepare the macOS build environment in a dedicated CI job.
2024-01-18 23:13:05 +01:00
847930d5e0
ci: Rename CI target build-image to image-linux.
2024-01-18 23:13:03 +01:00
cd77b2a9be
vkd3d-utils: Use debugstr_hresult() in D3DStripShader().
2024-01-17 22:29:39 +01:00
1b3aa005db
vkd3d-utils: Use debugstr_hresult() in get_blob_part().
2024-01-17 22:29:39 +01:00
2476d6bd6c
vkd3d-utils: Use debugstr_hresult() in D3DCreateBlob().
2024-01-17 22:29:39 +01:00
cd9610bbe0
include: Introduce a debug helper for HRESULTs.
2024-01-17 22:29:39 +01:00
71decc927f
vkd3d-common: Introduce vkd3d_atomic_increment_u64().
2024-01-17 22:29:29 +01:00
c40093474e
vkd3d-shader/tpf: Validate sysvals in index range declarations.
2024-01-17 22:29:01 +01:00
4c30b23821
vkd3d-shader: Make the control point count the outer dimension of I/O arrays.
...
The relative-addressed case in shader_register_normalise_arrayed_addressing()
leaves the control point id in idx[0], while for constant register
indices it is placed in idx[1]. The latter case could be fixed instead,
but placing the control point count in the outer dimension is more
logical.
2024-01-17 22:28:59 +01:00
b8561d6fd2
tests: Test punned array access in patch constant functions.
...
The FXC optimiser sometimes converts a local array of input values into
direct array addressing of the inputs, which can result in a
dcl_indexrange instruction spanning input elements with different masks.
2024-01-17 22:28:58 +01:00