On 5/22/19 7:49 PM, Huw Davies wrote:
On Wed, May 22, 2019 at 05:16:43PM +0800, Zhiyi Zhang wrote:
@@ -66,9 +215,32 @@ void X11DRV_DisplayDevices_Init(void) goto fail; }
- /* FIXME:
* Currently SetupDiGetClassDevsW with DIGCF_PRESENT is unsupported, So we need to clean up not present devices in
* case application use SetupDiGetClassDevsW to enumerate devices. Wrong devices could exist in registry as a result
* of prefix copying or having devices unplugged. But then we couldn't simply delete GPUs because we need to retain
* the same GUID for the same GPU. */
Would things be easier if DIGCF_PRESENT was supported? If so, should we implement it first?
Huw.
I don't think it will make it much easier .
The problem is that DIGCF_PRESENT is checking whether a device is present on the system. I assume it's querying through layers of device driver or maybe PnP to know that. Since wine currently doesn't support device driver nor should it support it, I think it best ignore DIGCF_PRESENT for now and treat all devices in SetupAPI as actually present.