From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/dxcore/dxcore.c | 8 ++++++++ dlls/dxcore/tests/dxcore.c | 10 ++++++++++ 2 files changed, 18 insertions(+)
diff --git a/dlls/dxcore/dxcore.c b/dlls/dxcore/dxcore.c index 852ac62a8cf..71cdca9412a 100644 --- a/dlls/dxcore/dxcore.c +++ b/dlls/dxcore/dxcore.c @@ -109,6 +109,7 @@ static HRESULT dxcore_adapter_get_property_size(struct dxcore_adapter *adapter, static const size_t property_sizes[] = { [InstanceLuid] = sizeof(LUID), + [DriverVersion] = sizeof(LARGE_INTEGER), [HardwareID] = sizeof(DXCoreHardwareID), [IsHardware] = sizeof(BYTE), }; @@ -116,6 +117,7 @@ static HRESULT dxcore_adapter_get_property_size(struct dxcore_adapter *adapter, switch (property) { case InstanceLuid: + case DriverVersion: case HardwareID: case IsHardware: *size = property_sizes[property]; @@ -157,6 +159,12 @@ static HRESULT STDMETHODCALLTYPE dxcore_adapter_GetProperty(IDXCoreAdapter *ifac *(LUID *)buffer = adapter->identifier.adapter_luid; break;
+ case DriverVersion: + { + *(LARGE_INTEGER *)buffer = adapter->identifier.driver_version; + break; + } + case HardwareID: { struct DXCoreHardwareID *hardware_id = buffer; diff --git a/dlls/dxcore/tests/dxcore.c b/dlls/dxcore/tests/dxcore.c index c313132384f..01ff93aaef3 100644 --- a/dlls/dxcore/tests/dxcore.c +++ b/dlls/dxcore/tests/dxcore.c @@ -155,6 +155,7 @@ static void test_GetProperty(void) DXCoreHardwareID hwid[2]; IDXCoreAdapter *adapter; uint32_t count, dummy; + LARGE_INTEGER version; BYTE is_hardware; LUID luid[2]; size_t size; @@ -277,6 +278,15 @@ static void test_GetProperty(void)
free(str);
+ /* DriverVersion */ + size = 0; + hr = IDXCoreAdapter_GetPropertySize(adapter, DriverVersion, &size); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(size == sizeof(LARGE_INTEGER), "Unexpected property size.\n"); + + hr = IDXCoreAdapter_GetProperty(adapter, DriverVersion, size, &version); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + IDXCoreAdapter_Release(adapter); }