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
It looks like when the data is available but the recursion limit is reached Windows (after 7 when WinHttpQueryDataAvailable is concerned) fills the output immediately and only queues completion callback. I hope the updated test should be stable as we should have the server response read during WinHttpSendRequest already (like on Windows).
Fixes market window in Black Desert Online.
The game depends on WinHttpReadData returning the result synchronously in WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE callback (and doesn't mind WINHTTP_CALLBACK_STATUS_READ_COMPLETE at all). By the time it reaches there through previous callbacks the recursion limit doesn't allow full synchronous return (and after playing with test_recursion() I think at least Windows 10 has the same recursion limit as we do currently). But as the test shows the output of WinHttpReadData / WinHttpQueryDataAvailable is filled in immediately, probably only the callback should be queued asynchronously to break the recursion.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4925
Since recently, unwinding never should need to look at the
unix libs any longer, and as aarch64 requires PE builds, there
should be no need to unwind through any .dll.so files any
longer.
Remove assembly unwind opcodes in the aarch64 unixlib.
These no longer are needed, as none of the code in unix libraries
is being unwound any more.
We could probably remove all the `__ASM_CFI` from all the other `unix/signal_*.c` files, but I kept this limited to aarch64 for now.
--
v2:
https://gitlab.winehq.org/wine/wine/-/merge_requests/4937