I'll revise the operand codes once !572 is upstream.
--
v3: vkd3d-shader/spirv: Support 64-bit source value for bitfield instructions.
vkd3d-shader/dxil: Implement DX intrinsic Tertiary.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/587
This MR includes:
- A fix to a comment in vkd3d-shader/ir.c (out of MR scope but really tiny!).
- A fix when creating UAV buffers in the shader_runner d3d12 backend.
- Fixes to (hopefully) all the memory leaks in the shader_runner reported by valgrind when running all tests.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/600
With tests from !364, separated out from the HLSL changes there and updated. This MR can wait until 364 is upstream though.
It is apparently unnecessary to match the SM4/5 implementation, since the AMD Windows results differ. The RADV results are a bit wrong, but Proton uses the SPIR-V GLSL extension instructions too, and no workarounds have been implemented there.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/602
--
v3: vkd3d-shader/dxil: Implement DX intrinsic SplitDouble.
tests/shader-runner: Add an asuint() test to the 64-bit cast tests.
tests/shader-runner: Support testing for integer pixel data.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/589
I'll revise the operand codes once !572 is upstream.
--
v2: vkd3d-shader/spirv: Support 64-bit source value for bitfield instructions.
vkd3d-shader/dxil: Implement DX intrinsic Tertiary.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/587
--
v17: tests: Mark a strip cut test as buggy in MoltenVK.
tests: Mark a depth sampling test as buggy on MoltenVK.
tests: Mark the tessellation pipeline as buggy on MoltenVK.
tests: Mark geometry shaders as buggy on MoltenVK.
tests: Mark ReadFromSubresource() and WriteToSubresource() as todo on MoltenVK.
tests: Mark a test related to instanced draws as buggy on MoltenVK.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/531
This is a preliminary pass for the control flow graph structurizer. The plan, at least for the first version of the structurizer, is to have this pass, then another pass that converts all SSA registers to TEMPs (and correspondingly PHI nodes to MOVs/MOVCs), then a simple structurizer based on the so-called Böhm–Jacopini theorem. Some changes to the SPIR-V backend will also be needed, for supporting BOOL TEMP registers and fixing some details of 64 bit types.
But this pass is already quite complicated, so large enough for its own MR.
--
v3: vkd3d-shader/ir: Fixup PHI nodes when lowering switches to selection ladders.
vkd3d-shader/ir: Lower monolithic switches to selection ladders.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/598