IoGetDevicePropertyData is used to implement the `IOCTL_BTH_GET_DEVICE_INFO` Bluetooth IOCTL to fetch cached information for remote devices, without having to access the device extension pointer (which is arguably racy and more fragile).
--
v3: ntoskrnl: Implement IoGetDevicePropertyData().
https://gitlab.winehq.org/wine/wine/-/merge_requests/6338
IoGetDevicePropertyData is used to implement the `IOCTL_BTH_GET_DEVICE_INFO` Bluetooth IOCTL to fetch cached information for remote devices, without having to access the device extension pointer (which is arguably racy and more fragile).
--
v2: ntoskrnl: Implement IoGetDevicePropertyData().
https://gitlab.winehq.org/wine/wine/-/merge_requests/6338
The fact that this function was excluded on i386 seems to have
been a mistake since the initial version where ucrtbase was added,
in 599d92a26822244b9703734a6a8972a0009cdf09; many float math
functions (with an -f) suffix is unavailable in ucrtbase.dll on
i386, but powf does seem to have existed in all versions of the DLL
that I can find.
Signed-off-by: Martin Storsjö <martin(a)martin.st>
--
v2: ucrtbase: Export powf on i386
https://gitlab.winehq.org/wine/wine/-/merge_requests/6336
IoGetDevicePropertyData is used to implement the `IOCTL_BTH_GET_DEVICE_INFO` Bluetooth IOCTL to fetch cached information for remote devices, without having to access the device extension pointer (which is arguably racy and more fragile).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6338
The Visual Studio 2022 installer needs to be able to lookup a valid
WinMD file for the 'Windows.Networking.Connectivity' namespace
in order for the installation to start.
A normal Windows installation contains lots of individual
'.winmd' files (e.g. 'Windows.Networking.winmd'), which we
cannot redistribute. Fortunately, Microsoft provides an open-source
project called 'windows-rs', which contains a combined 'Windows.winmd'
file that is explicitly MIT-licensed:
https://github.com/microsoft/windows-rs/blob/master/crates/libs/bindgen/def…
Make RoResolveNamespace resolve anything starting with 'Windows' by just
pointing to this giant file. A full implementation will require us to
actually walk the 'WinMetadata' directory (if the caller provides
a custom path) and parse the matched '.winmd' file. However, this
implementation is good enough for Visual Studio 2022
To actually run the vs2022 installer, a patch for
the SHELL_execute trailing-space bug https://bugs.winehq.org/show_bug.cgi?id=56940
is needed: https://gitlab.winehq.org/wine/wine/-/merge_requests/6079
--
v2: wintypes: Partially implement RoResolveNamespace and add 'Windows.winmd'
https://gitlab.winehq.org/wine/wine/-/merge_requests/6288
This is based on work done by Andrew Eikum. It has been in some form in Proton for the last 4 years.
If server's sampling rate is not 48kHz **DOOM Eternal** will try to set it 48kHz for the streams using the implemented interface. There's a whole class of audio devices that use 44.1kHz sampling rate and at least PulseAudio / PipeWire tends to inherit the value from the hardware to avoid resampling. The value can also be overridden by the user via the audio server's config files.
In such cases, if the interface is not present or stubbed, this results in **audio underruns and noticeable crackling**.
It's easy to test with pipewire-pulse:
```
$ cat /etc/pipewire/pipewire.conf.d/sample-rate.conf
context.properties = {
default.clock.rate = 41100
}
```
With PulseAudio this should be doable via setting `default-sample-rate = 41100` in `/etc/pulse/daemon.conf`.
--
v7: winepulse.drv: Implement set_sample_rate.
mmdevapi: Add stub IAudioClockAdjustment implementation.
mmdevapi/tests: Add more IAudioClock tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5585
The fact that this function was excluded on i386 seems to have
been a mistake since the initial version where ucrtbase was added,
in 599d92a26822244b9703734a6a8972a0009cdf09; many float math
functions (with an -f) suffix is unavailable in ucrtbase.dll on
i386, but powf does seem to have existed in all versions of the DLL
that I can find.
Signed-off-by: Martin Storsjö <martin(a)martin.st>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6336