Zebediah Figura
4fd3f46109
vkd3d-shader/hlsl: Use a switch in hlsl_types_are_equal().
2024-05-06 22:12:39 +02:00
Zebediah Figura
d9f7a88329
vkd3d-shader/hlsl: Make HLSL_TYPE_PIXELSHADER into a separate class.
2024-05-06 22:12:37 +02:00
Zebediah Figura
874937dab4
vkd3d-shader/hlsl: Make HLSL_TYPE_VERTEXSHADER into a separate class.
2024-05-06 22:12:34 +02:00
Zebediah Figura
e904b4596a
vkd3d-shader/hlsl: Ensure that the type is numeric before calling expr_common_base_type().
2024-05-06 22:12:33 +02:00
Conor McCarthy
cfcc789b42
vkd3d-shader/spirv: Implement the WAVE_OP_* instructions.
2024-05-06 22:12:27 +02:00
Conor McCarthy
c71751edc9
vkd3d-shader/dxil: Implement DX intrinsics WaveActiveOp and WavePrefixOp.
2024-05-06 22:12:25 +02:00
Conor McCarthy
fef5760af0
vkd3d-shader/spirv: Implement the WAVE_ACTIVE_BIT_* instructions.
2024-05-06 22:12:24 +02:00
Conor McCarthy
af208135f3
vkd3d-shader/dxil: Implement DX intrinsic WaveActiveBit.
2024-05-06 22:12:22 +02:00
Conor McCarthy
1c49b3a779
vkd3d-shader/spirv: Implement the WAVE_ACTIVE_BALLOT instruction.
2024-05-06 22:12:21 +02:00
Conor McCarthy
174a692a17
vkd3d-shader/dxil: Implement DX intrinsic WaveActiveBallot.
2024-05-06 22:12:19 +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
Henri Verbeet
592e902d47
vkd3d-shader: Pass a struct vsir_program to vkd3d_shader_parser_compile().
2024-05-02 22:19:18 +02:00
Henri Verbeet
fa7b623eac
vkd3d-shader: Pass a struct vsir_program to scan_with_parser().
2024-05-02 22:19:18 +02:00
Henri Verbeet
f948520504
vkd3d-shader/spirv: Pass a struct vsir_program to spirv_compile().
2024-05-02 22:19:17 +02:00
Henri Verbeet
e21215f466
vkd3d-shader/spirv: Pass a struct vsir_program to spirv_compiler_generate_spirv().
2024-05-02 22:19:16 +02:00
Giovanni Mascellani
3f43d06f5c
include: Document structure vkd3d_image_resource_create_info.
2024-05-02 22:19:08 +02:00
Giovanni Mascellani
2679b10fcb
include: Document structure vkd3d_optional_device_extensions_info.
2024-05-02 22:19:08 +02:00
Giovanni Mascellani
2b1abc5d7b
include: Document structure vkd3d_device_create_info.
2024-05-02 22:19:08 +02:00
Giovanni Mascellani
5d78eeb6d3
vkd3d: Simplify control flow for swapchain images.
2024-05-02 22:19:08 +02:00
Conor McCarthy
95489899be
vkd3d-shader/spirv: Handle the WAVE_ANY_TRUE instruction.
2024-05-02 22:19:02 +02:00
Conor McCarthy
fb5eb3159d
vkd3d-shader/dxil: Implement DX intrinsic WaveAnyTrue.
2024-05-02 22:19:00 +02:00
Conor McCarthy
77ec2a5caa
vkd3d-shader/spirv: Handle the WAVE_ALL_TRUE instruction.
2024-05-02 22:18:59 +02:00
Conor McCarthy
8e2b351538
vkd3d-shader/dxil: Implement DX intrinsic WaveAllTrue.
2024-05-02 22:18:58 +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
9aa9b112e6
vkd3d-shader/dxil: Implement DX intrinsic WaveActiveAllEqual.
2024-05-02 22:18:55 +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
9315bcb6a1
tests/shader-runner: Skip shader model 6.0 tests if the device does not support them.
2024-05-02 22:18:52 +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
Conor McCarthy
a130c970a6
vkd3d-shader/spirv: Handle the WAVELANECOUNT register.
2024-05-02 22:18:49 +02:00
Conor McCarthy
6a56b4e5d8
vkd3d-shader/dxil: Implement DX intrinsics WaveGetLaneCount and WaveGetLaneIndex.
2024-05-02 22:18:48 +02:00
Giovanni Mascellani
766913f911
tests: Add missing test file.
2024-04-30 22:59:47 +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
Henri Verbeet
a52a91d756
configure: Build with -flto=auto when available.
2024-04-30 16:32:10 +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
Conor McCarthy
05510c118a
vkd3d-shader/dxil: Emit an error if a CMPXCHG instruction uses a forward-referenced pointer.
2024-04-30 16:31:42 +02:00
Conor McCarthy
b67a68b486
vkd3d-shader/dxil: Emit an error if a ATOMICRMW instruction uses a forward-referenced pointer.
2024-04-30 16:31:41 +02:00
Conor McCarthy
9615c38968
vkd3d-shader/dxil: Emit an error if a STORE instruction uses a forward-referenced pointer.
2024-04-30 16:31:40 +02:00
Conor McCarthy
b4b5af66ef
vkd3d-shader/dxil: Emit an error if a LOAD instruction uses a forward-referenced pointer.
2024-04-30 16:31:39 +02:00
Alexandre Julliard
91762a62c6
vkd3d-shader: Avoid non-constant initializer.
...
Fixes "initializer element is not constant" error with gcc < 8.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56508
2024-04-30 16:31:32 +02:00
Henri Verbeet
87c83e2ae2
vkd3d-shader: Get rid of struct vkd3d_shader_desc.
2024-04-30 16:31:19 +02:00
Henri Verbeet
b761f1a263
vkd3d-shader/spirv: Use location information from the current instruction.
2024-04-30 16:31:14 +02:00
Henri Verbeet
8b8ad07057
vkd3d-shader/hlsl: Use vkd3d_string_buffer_printf() in declare_predefined_types().
2024-04-30 16:31:09 +02:00
Francisco Casas
ee735e8eed
vkd3d-shader/hlsl: Fold x * 1 identities.
2024-04-30 16:31:05 +02:00