Goes atop !564. The last 3 commits belong to this MR.
--
v2: tests/shader-runner: Add a clip distance array test.
vkd3d-shader/ir: Transform clip/cull inputs/outputs for DXIL shaders also.
vkd3d-shader/dxil: Support the clip distance semantic kind.
tests/d3d12: Test multiple clip distance inputs in test_clip_distance().
tests/d3d12: Use five clip distances for the multiple test in test_clip_distance().
vkd3d-shader/ir: Transform clip/cull outputs and patch constants into arrays.
vkd3d-shader/ir: Transform clip/cull inputs into an array.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/579
Fixes the following warning on clang-15:
```
dlls/ntdll/unix/dwarf.h:915:45: warning: taking the absolute value of unsigned type 'ULONG_PTR' (aka 'unsigned long') has no effect [-Wabsolute-value]
case DW_OP_abs: stack[sp] = labs(stack[sp]); break;
^
dlls/ntdll/unix/dwarf.h:915:45: note: remove the call to 'labs' since unsigned values cannot be negative
case DW_OP_abs: stack[sp] = labs(stack[sp]); break;
^~~~
```
Despite what it says the existing code was functioning correctly already though AFAICT.
--
v2: ntdll: Fix DW_OP_abs absolute value warning on labs() for clang.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5056
There are still some issues I need to fix, mainly around timing conversion between MIDI and dmusic. Right now MIDI files seem to be cut off before the end is reached.
Please have a look at the general approach in the meantime, I need to know if this is the right way to do this or not.
--
v24: dmime: Create a band track for MIDI segments.
dmime/tests: wip test for midi play
dmime: Implement IDirectMusicTrack_Play for MIDI tracks.
dmime: Parse MIDI tracks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4982