Francisco Casas
e0a801e796
vkd3d-shader/hlsl: Improve tracking of used components running DCE before.
...
track_object_components_usage() had to be improved to also
register derefs on resource stores.
It was not doing it because it assumed that for every resource store
there was a resource load already, which was true, before calling DCE.
2024-05-13 22:26:05 +02:00
Francisco Casas
657e460d11
vkd3d-shader/hlsl: Allocate unused variables with register reservations on SM1.
2024-05-13 22:26:03 +02:00
Francisco Casas
7b3644d9f2
tests: Test SM1 const register allocation with relative addressing.
2024-05-13 22:26:03 +02:00
Francisco Casas
b56ae0f1c8
tests: Test SM1 constant register allocation with reservations.
2024-05-13 22:26:03 +02:00
Nikolay Sivov
9dcb74341f
tests: Test SM1 constant register allocation with a row_major matrix.
...
Co-authored-by: Francisco Casas <fcasas@codeweavers.com>
2024-05-13 22:26:01 +02:00
Francisco Casas
7debe25a8b
tests: Test SM1 constant register allocation.
2024-05-13 22:26:01 +02:00
Conor McCarthy
77259da1ad
vkd3d-shader/spirv: Implement the WAVE_PREFIX_BIT_COUNT instruction.
2024-05-13 11:50:23 +02:00
Conor McCarthy
065ef0c5e4
vkd3d-shader/spirv: Implement the WAVE_IS_FIRST_LANE instruction.
2024-05-13 11:50:21 +02:00
Conor McCarthy
feef2577ef
vkd3d-shader/spirv: Implement the WAVE_ALL_BIT_COUNT instruction.
2024-05-13 11:50:19 +02:00
Conor McCarthy
962096f179
vkd3d-shader/dxil: Implement DX intrinsics EmitStream, CutStream and EmitThenCutStream.
2024-05-08 21:08:16 +02:00
Conor McCarthy
00b0b8d65c
tests/hlsl: Add a geometry shader test.
2024-05-08 21:08:13 +02:00
Conor McCarthy
cfcc789b42
vkd3d-shader/spirv: Implement the WAVE_OP_* instructions.
2024-05-06 22:12:27 +02:00
Conor McCarthy
fef5760af0
vkd3d-shader/spirv: Implement the WAVE_ACTIVE_BIT_* instructions.
2024-05-06 22:12:24 +02:00
Conor McCarthy
1c49b3a779
vkd3d-shader/spirv: Implement the WAVE_ACTIVE_BALLOT instruction.
2024-05-06 22:12:21 +02:00
Henri Verbeet
62a512c4f8
tests/shader_runner: Get rid of some redundant "| glsl" conditions.
...
We don't run shader model 6 GLSL tests.
2024-05-02 22:19:30 +02:00
Conor McCarthy
95489899be
vkd3d-shader/spirv: Handle the WAVE_ANY_TRUE instruction.
2024-05-02 22:19:02 +02:00
Conor McCarthy
78f2d2936d
vkd3d-shader/spirv: Handle the WAVE_ACTIVE_ALL_EQUAL instruction.
2024-05-02 22:18:57 +02:00
Conor McCarthy
c770efc530
vkd3d-shader/spirv: Handle the WAVELANEINDEX register.
2024-05-02 22:18:54 +02:00
Conor McCarthy
29786d7efb
tests/shader-runner: Add a 'require' directive for wave ops.
2024-05-02 22:18:53 +02:00
Conor McCarthy
fd590c2593
vkd3d: Initialise wave ops feature options.
...
Based in part on a vkd3d-proton patch by Philip Rebohle.
2024-05-02 22:18:50 +02:00
Giovanni Mascellani
5e6bcc4f9d
tests: Test wave reconvergence after selections and loops.
...
Tangled instructions, like wave operations, are sensitive to how the
invocations in a wave reconverge after having diverged. Here we test
for some of those scenarios.
2024-04-30 22:59:44 +02:00
Conor McCarthy
127bcf90e4
vkd3d-shader/dxil: Implement DX intrinsic Coverage.
2024-04-30 16:32:10 +02:00
Conor McCarthy
c2a787181f
tests/hlsl: Add SV_Coverage tests.
2024-04-30 16:32:10 +02:00
Conor McCarthy
36c76e1557
vkd3d-shader/dxil: Handle SV_PrimitiveId.
2024-04-30 16:32:10 +02:00
Conor McCarthy
eef0f7c29e
vkd3d-shader/dxil: Handle SV_InstanceId.
2024-04-30 16:32:10 +02:00
Conor McCarthy
0bd6083785
tests/hlsl: Add an SV_InstanceId test.
2024-04-30 16:32:10 +02:00
Conor McCarthy
fb730b11cf
vkd3d-shader/dxil: Handle constexpr pointer cast.
2024-04-30 16:31:44 +02:00
Conor McCarthy
2fc32c3d1d
tests/hlsl: Add a test for constexpr pointer cast.
2024-04-30 16:31:43 +02:00
Francisco Casas
c43c900a30
tests: Test x + 0 and x * 1 indentities.
2024-04-30 16:31:01 +02:00
Francisco Casas
5e3515f191
vkd3d-shader/d3dbc: Support SM1 if conditionals.
...
According to the documentation, if_comp is available from 2_x pixel
and vertex shaders and, unlike "if bool" it doesn't expect a constant
boolean register (from the input signature), so:
if_neq cond -cond
seems like a convenient way to write these, for profiles above 2.0.
2024-04-24 23:48:06 +02:00
Francisco Casas
74c998a2a4
tests: Add additional conditional tests for shader model 3.0.
2024-04-24 23:48:04 +02:00
Nikolay Sivov
836fe05916
tests: Add some tests for string variables.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-04-23 22:37:19 +02:00
Giovanni Mascellani
6b841486d4
vkd3d-shader/ir: Materialize SSAs in each function of a hull shader.
2024-04-23 22:36:17 +02:00
Conor McCarthy
eae1411cdc
tests/hlsl: Add tests for texture UAV signed atomics.
2024-04-23 22:36:08 +02:00
Conor McCarthy
ee8ca0e9c2
tests/hlsl: Add tests for texture UAV atomics.
2024-04-23 22:36:06 +02:00
Conor McCarthy
1c73ac668f
tests/hlsl: Add a test for UAV InterlockedExchange().
2024-04-23 22:36:05 +02:00
Conor McCarthy
7e4fee658b
tests/hlsl: Add a test for a structured UAV scalar store.
2024-04-23 22:36:02 +02:00
Conor McCarthy
0f7095d2aa
tests/hlsl: Add tests for min() and integer max().
2024-04-23 22:35:51 +02:00
Conor McCarthy
d5c6e12dd3
tests/hlsl: Add wave op tests.
2024-04-22 23:13:20 +02:00
Zebediah Figura
6cf065e7fd
tests: Add tests for register space reservation syntax.
2024-04-22 23:13:16 +02:00
Zebediah Figura
f7a79517ae
tests: Add tests for profile syntax in register reservations.
2024-04-22 23:13:16 +02:00
Conor McCarthy
3205e08fb1
vkd3d-shader/dxil: Support SV_Depth, SV_DepthGreaterEqual and SV_DepthLessEqual.
2024-04-19 22:23:43 +02:00
Conor McCarthy
7eeca3fa39
tests/hlsl: Add tests for SV_DepthLessEqual and SV_DepthGreaterEqual.
2024-04-19 22:23:42 +02:00
Conor McCarthy
b68a9ae3ec
tests/hlsl: Add tests for SV_Depth.
2024-04-19 22:23:40 +02:00
Giovanni Mascellani
7196484e59
tests: Check that derivatives are still computed after discarding.
2024-04-19 22:23:35 +02:00
Giovanni Mascellani
12c457b43f
tests: Avoid using a different UAV for SM<6 and SM>=6.
2024-04-19 22:23:35 +02:00
Conor McCarthy
d9f42b2c51
vkd3d-shader/dxil: Implement the DXIL CMPXCHG instruction.
2024-04-17 22:51:41 +02:00
Conor McCarthy
f13c65abb0
tests/hlsl: Add an InterlockedCompareExchange() TGSM test.
2024-04-17 22:51:40 +02:00
Conor McCarthy
99996ed5b5
vkd3d-shader/dxil: Implement DX intrinsic RenderTargetGetSampleCount.
2024-04-17 22:51:34 +02:00
Conor McCarthy
fe5e821cca
vkd3d-shader/dxil: Implement DX intrinsics Texture2DMSGetSamplePosition and RenderTargetGetSamplePosition.
2024-04-17 22:51:32 +02:00