Zebediah Figura
3c8c7426df
vkd3d-shader/hlsl: Make HLSL_TYPE_PASS into a separate class.
2024-04-23 22:36:38 +02:00
Zebediah Figura
24d3a352a6
vkd3d-shader/hlsl: Make HLSL_TYPE_EFFECT_GROUP into a separate class.
2024-04-23 22:36:32 +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
Giovanni Mascellani
c8af142bb0
vkd3d-shader/ir: Structurize each function of a hull shader.
2024-04-23 22:36:16 +02:00
Giovanni Mascellani
d8e4b19cdc
vkd3d-shader/ir: Skip invalid blocks when materializing undominated SSAs.
2024-04-23 22:36:14 +02:00
Henri Verbeet
8345b9b6f5
vkd3d-shader/glsl: Implement VKD3DSIH_NOP.
2024-04-22 23:14:30 +02:00
Conor McCarthy
079f8e4d52
vkd3d-shader/dxil: Implement DX intrinsic OutputControlPointID.
2024-04-22 23:13:31 +02:00
Conor McCarthy
3976738baf
vkd3d-shader/dxil: Implement DX intrinsic DomainLocation.
2024-04-22 23:13:30 +02:00
Conor McCarthy
e165f9cefc
vkd3d-shader/dxil: Implement DX intrinsic StorePatchConstant.
2024-04-22 23:13:29 +02:00
Conor McCarthy
3479962983
vkd3d-shader/dxil: Implement DX intrinsics LoadOutputControlPoint and LoadPatchConstant.
2024-04-22 23:13:28 +02:00
Conor McCarthy
4457181b2a
vkd3d-shader/dxil: Support patch constant functions and signatures.
2024-04-22 23:13:26 +02:00
Zebediah Figura
833c897aac
vkd3d-shader/hlsl: Parse register space reservations.
2024-04-22 23:13:15 +02:00
Zebediah Figura
29f6a7e5f7
vkd3d-shader/hlsl: Rename register_opt and packoffset_opt to register_reservation and packoffset_reservation.
...
"opt" seems to imply "optional", but the optional aspect of these reservations
is not (and never has been) encoded into these rules.
2024-04-22 23:13:13 +02:00
Henri Verbeet
4a209efb62
vkd3d-shader/hlsl: Support spirv-binary and spirv-text as target formats.
2024-04-19 22:24:07 +02:00
Henri Verbeet
0116e49d9b
vkd3d-shader/hlsl: Support d3d-asm as target format.
2024-04-19 22:24:06 +02:00
Henri Verbeet
414bb99542
vkd3d-shader/glsl: Add vkd3d-shader version information to the generated shader.
2024-04-19 22:23:55 +02:00
Conor McCarthy
3205e08fb1
vkd3d-shader/dxil: Support SV_Depth, SV_DepthGreaterEqual and SV_DepthLessEqual.
2024-04-19 22:23:43 +02:00
Zebediah Figura
171e097268
vkd3d-shader/hlsl: Make HLSL_TYPE_UAV into a separate class.
2024-04-19 22:23:20 +02:00
Zebediah Figura
93d7cd1785
vkd3d-shader/hlsl: Make HLSL_TYPE_TEXTURE into a separate class.
2024-04-19 22:23:19 +02:00
Zebediah Figura
220362cbad
vkd3d-shader/hlsl: Make HLSL_TYPE_SAMPLER into a separate class.
2024-04-19 22:23:18 +02:00
Zebediah Figura
f57db442b0
vkd3d-shader/hlsl: Make HLSL_TYPE_STRING into a separate class.
2024-04-19 22:23:16 +02:00
Zebediah Figura
cdcf2da2eb
vkd3d-shader/hlsl: Make HLSL_TYPE_VOID into a separate class.
2024-04-19 22:23:14 +02:00
Henri Verbeet
e17e481130
vkd3d-shader/glsl: Call vkd3d_shader_normalise().
2024-04-17 22:52:20 +02:00
Conor McCarthy
6975a8d726
vkd3d-shader: Introduce SPIRV_ENVIRONMENT_VULKAN_1_1.
...
The SPIR-V backend may emit SPIR-V 1.3 if Vulkan 1.1 is available.
Some extensions which provide wave op instructions are available in
SPIR-V 1.0, but these are not sufficient to implement all Shader Model 6
wave op intrinsics. SPIR-V 1.3 has all of the required instructions, but
does not support reading from a quad at a non-constant (but uniform) lane
index, so it may later prove necessary to introduce a Vulkan 1.2
environment.
2024-04-17 22:51:49 +02:00
Conor McCarthy
a7870e1793
vkd3d-shader/spirv: Emit a compiler warning if an atomic op is flagged volatile.
2024-04-17 22:51:43 +02:00