diff options
author | Philip Rebohle <philip.rebohle@tu-dortmund.de> | 2022-08-11 17:01:53 +0300 |
---|---|---|
committer | Philip Rebohle <philip.rebohle@tu-dortmund.de> | 2022-08-11 17:01:53 +0300 |
commit | 0d33d063ca671b159e1ec6d3a4fcb25cc98a7a82 (patch) | |
tree | 02abb5947fe56964e713111a37e2cdbb0eaa3e2b | |
parent | 673797c36af91037ea2f16750c8d55dcdf8b6686 (diff) |
[dxvk] Remove device LUID workaroundluid-workaround
winevulkan properly supports this now.
-rw-r--r-- | src/d3d9/d3d9_adapter.cpp | 6 | ||||
-rw-r--r-- | src/dxgi/dxgi_adapter.cpp | 6 | ||||
-rw-r--r-- | src/dxvk/dxvk_adapter.cpp | 3 | ||||
-rw-r--r-- | src/dxvk/dxvk_device_info.h | 1 | ||||
-rw-r--r-- | src/dxvk/dxvk_instance.cpp | 4 |
5 files changed, 8 insertions, 12 deletions
diff --git a/src/d3d9/d3d9_adapter.cpp b/src/d3d9/d3d9_adapter.cpp index 6a5762d4..7ca05fff 100644 --- a/src/d3d9/d3d9_adapter.cpp +++ b/src/d3d9/d3d9_adapter.cpp @@ -702,10 +702,10 @@ namespace dxvk { if (pLUID == nullptr) return D3DERR_INVALIDCALL; - auto& deviceId = m_adapter->devicePropertiesExt().coreDeviceId; + auto& vk11 = m_adapter->devicePropertiesExt().vk11; - if (deviceId.deviceLUIDValid) - *pLUID = bit::cast<LUID>(deviceId.deviceLUID); + if (vk11.deviceLUIDValid) + *pLUID = bit::cast<LUID>(vk11.deviceLUID); else *pLUID = dxvk::GetAdapterLUID(m_ordinal); diff --git a/src/dxgi/dxgi_adapter.cpp b/src/dxgi/dxgi_adapter.cpp index 84a43bc7..7c1de323 100644 --- a/src/dxgi/dxgi_adapter.cpp +++ b/src/dxgi/dxgi_adapter.cpp @@ -244,7 +244,7 @@ namespace dxvk { auto deviceProp = m_adapter->deviceProperties(); auto memoryProp = m_adapter->memoryProperties(); - auto deviceId = m_adapter->devicePropertiesExt().coreDeviceId; + auto vk11 = m_adapter->devicePropertiesExt().vk11; // Custom Vendor / Device ID if (options->customVendorId >= 0) @@ -324,8 +324,8 @@ namespace dxvk { pDesc->GraphicsPreemptionGranularity = DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY; pDesc->ComputePreemptionGranularity = DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY; - if (deviceId.deviceLUIDValid) - std::memcpy(&pDesc->AdapterLuid, deviceId.deviceLUID, VK_LUID_SIZE); + if (vk11.deviceLUIDValid) + std::memcpy(&pDesc->AdapterLuid, vk11.deviceLUID, VK_LUID_SIZE); else pDesc->AdapterLuid = GetAdapterLUID(m_index); diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp index da591277..cf694c0b 100644 --- a/src/dxvk/dxvk_adapter.cpp +++ b/src/dxvk/dxvk_adapter.cpp @@ -618,9 +618,6 @@ namespace dxvk { m_deviceInfo.vk13.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES; m_deviceInfo.vk13.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.vk13); - m_deviceInfo.coreDeviceId.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; - m_deviceInfo.coreDeviceId.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreDeviceId); - if (m_deviceExtensions.supports(VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME)) { m_deviceInfo.extConservativeRasterization.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT; m_deviceInfo.extConservativeRasterization.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.extConservativeRasterization); diff --git a/src/dxvk/dxvk_device_info.h b/src/dxvk/dxvk_device_info.h index 212bd69c..895dfcb8 100644 --- a/src/dxvk/dxvk_device_info.h +++ b/src/dxvk/dxvk_device_info.h @@ -14,7 +14,6 @@ namespace dxvk { */ struct DxvkDeviceInfo { VkPhysicalDeviceProperties2 core; - VkPhysicalDeviceIDProperties coreDeviceId; VkPhysicalDeviceVulkan11Properties vk11; VkPhysicalDeviceVulkan12Properties vk12; VkPhysicalDeviceVulkan13Properties vk13; diff --git a/src/dxvk/dxvk_instance.cpp b/src/dxvk/dxvk_instance.cpp index 189418c7..1d56910d 100644 --- a/src/dxvk/dxvk_instance.cpp +++ b/src/dxvk/dxvk_instance.cpp @@ -61,9 +61,9 @@ namespace dxvk { Rc<DxvkAdapter> DxvkInstance::findAdapterByLuid(const void* luid) const { for (const auto& adapter : m_adapters) { - const auto& deviceId = adapter->devicePropertiesExt().coreDeviceId; + const auto& vk11 = adapter->devicePropertiesExt().vk11; - if (deviceId.deviceLUIDValid && !std::memcmp(luid, deviceId.deviceLUID, VK_LUID_SIZE)) + if (vk11.deviceLUIDValid && !std::memcmp(luid, vk11.deviceLUID, VK_LUID_SIZE)) return adapter; } |