The software color converter DMO on Windows seems to be broken using certain topologies, making our media engine not work. As such, make the topology loader use the hardware accelerated one.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8362
Comctl32 v5 listview sets the initial background mix mode to TRANSPARENT. Comctl32 v6 listview sets it to OPAQUE. Use TRANSPARENT for both v5 and v6 for now.
--
v2: comctl32/listview: Set the initial background mix mode to TRANSPARENT.
comctl32/tests: Test listview background mix mode.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8327
The goal is to use the device object API as the backend for Windows.Devices.Enumeration, as most concepts from the latter have a one-to-one mapping to the former:
* The device object API is centred around the [`DEV_OBJECT`](https://learn.microsoft.com/en-us/windows/win32/api/devquerydef/ns-devquerydef-dev_object) type, which provides a unified representation for devnodes, device interfaces/containers, device interface classes, and association endpoints (networking protocols and service instances, like UPnP and Bluetooth), together with the properties associated with it. The [`DevObjectType`](https://learn.microsoft.com/en-us/windows/win32/api/devquerydef/ne-devquerydef-dev_object_type) enum maps to [`Windows.Devices.Enumeration.DeviceInformationKind`](https://learn.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformationkind?view=winrt-26100). This would be used to implement the [`DeviceInformation`](https://learn.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformation?view=winrt-26100) class.
* [`DEVPROP_FILTER_EXPRESSION`](https://learn.microsoft.com/en-us/windows/win32/api/devfiltertypes/ns-devfiltertypes-devprop_filter_expression) allows filtering device queries by their properties. AQS filter strings would be parsed into an array of filters, which are then passed to the query object methods.
* `DevCreateObjectQuery` would be the backend for `DeviceWatcher`, as it provides asynchronous callbacks for initial device enumeration, device addition, removal and updates.
* [`DevGetObjects`](https://learn.microsoft.com/en-us/windows/win32/api/devquery/nf-devquery-devgetobjects) would be used to implement the `FindAllAsync*` methods.
This MR adds a basic implementation and tests for `DevGetObjects`.
--
v2: cfgmgr32: Add a basic implementation for DevGetObjects for device interface objects.
cfgmgr32/test: Add tests for DevGetObjects.
include: Add devquery.h.
include: Add devfiltertypes.h.
include: Add devquerydef.h.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8438
The goal is to use the device object API as the backend for Windows.Devices.Enumeration, as most concepts from the latter have a one-to-one mapping to the former:
* The device object API is centred around the `DEV_OBJECT` type, which provides a unified representation for devnodes, device interfaces/containers, device interface classes, and association endpoints (networking protocols and service, like UPnP and Bluetooth), together with the properties associated with it. The [`DevObjectType`](https://learn.microsoft.com/en-us/windows/win32/api/devquerydef/ne-devquerydef-dev_object_type) enum maps to [`Windows.Devices.Enumeration.DeviceInformationKind`](https://learn.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformationkind?view=winrt-26100). This would be used to implement the `IDeviceInformation` interface.
* `DEVPROP_FILTER_EXPRESSION` allows filtering device queries by their properties. AQS filter strings would be parsed into an array of filters, which are then passed to the query object methods.
* `DevCreateObjectQuery` would be the backend for `DeviceWatcher`, as it provides asynchronous callbacks for initial device enumeration, device addition, removal and updates.
* `DevGetObjects` would be used to implement the `FindAllAsync*` methods.
This MR adds a basic implementation and tests for `DevGetObjects`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8438
Use SetupDiGetDeviceInterfacePropertyW to retrieve interface property values.
--
v2: cfgmgr32/test: Add additional tests for CM_Get_Device_Interface_PropertyW.
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW for all property keys.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8434