SPIR-V says this is undefined behaviour, but Direct3D actually specifies that it
should clamp. Most drivers do clamp, but llvmpipe does not. Hence this fixes a
couple of tests with llvmpipe.
This does of course add overhead to the ftou instruction, but I cannot imagine
that it is a common instruction to execute. This also is not the first time we
perform such checks; cf. udiv.
--
v2: vkd3d-shader/spirv: Clamp ftoi upper bound to UINT_MAX.
vkd3d-shader/spirv: Clamp ftoi lower bound to -INT_MIN.
vkd3d-shader/spirv: Clamp ftou upper bound to UINT_MAX.
vkd3d-shader/spirv: Clamp ftou lower bound to zero.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/289
Since Yousician's last update, it was throwing an error when initialising audio output. Unfortunately I don't have access to the old version, but they seem to have dropped win<10 support, and are using only IAudioClient3_InitializeSharedAudioStream. They also use IDeviceTopology to get the type of the first output connector.
This is the bare minimum I needed to get it working.
--
v10: mmdevapi: add stub for IDeviceTopology
mmdevapi/tests: add test for IDeviceTopology
mmdevapi: implement IAudioClient3_InitializeSharedAudioStream
mmdevapi/tests: add test for AudioClient3_InitializeSharedAudioStream
https://gitlab.winehq.org/wine/wine/-/merge_requests/3554
--
v2: ntdll/tests: Adjust test_raiseexception_regs() for Win11 results.
ntdll/tests: Adjust test_extended_context() for Win11 results.
ntdll/tests: Adjust test_nested_exception() for Win11 results.
include: Define up to date exception flags.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3726