Includes !782 to prevent the 32-bit Windows CI crashing.
--
v8: vkd3d-shader/dxil: Support SV_Depth, SV_DepthGreaterEqual and SV_DepthLessEqual.
tests/hlsl: Add an SV_Depth test.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/777
Includes !782 to prevent the 32-bit Windows CI crashing.
--
v7: vkd3d-shader/dxil: Support SV_Depth, SV_DepthGreaterEqual and SV_DepthLessEqual.
tests/hlsl: Add an SV_Depth test.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/777
--
v6: vkd3d-shader/dxil: Support SV_Depth, SV_DepthGreaterEqual and SV_DepthLessEqual.
tests/hlsl: Add an SV_Depth test.
tests/hlsl: Supply data for all mip levels in calculate-lod.shader_test.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/777
This goes atop !773. The last three commits belong to this MR.
Trampolines and launchers allow us to handle code doing multilevel jumps, but they partially virtualize the control flow, which potentially makes the jobs of downstream compilers harder. So we avoid them every time we can.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/785
Hull Shaders contain two functions instead of just one, so all the algorithms that require computing a CFG need to be run twice. Here we refactor the code so that this can be done more easily.
This MR is relatively long, but it is essentially just moving code around, so hopefully it is not too difficult to review anyway.
--
v3: vkd3d-shader/ir: Split handling jumps when emitting a structured program.
vkd3d-shader/ir: Split handling selections when emitting a structured program.
vkd3d-shader/ir: Split handling loops when emitting a structured program.
vkd3d-shader/ir: Split handling blocks when emitting a structured program.
vkd3d-shader/ir: Refactor declaration emission outside of the CFG structure.
vkd3d-shader/ir: Split undominated SSA materialization.
vkd3d-shader/ir: Split program structurization.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/778