[dxvk] Remove device LUID workaround

winevulkan properly supports this now.
This commit is contained in:
Philip Rebohle 2022-08-11 16:01:53 +02:00
parent 673797c36a
commit 0d33d063ca
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
5 changed files with 8 additions and 12 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -14,7 +14,6 @@ namespace dxvk {
*/
struct DxvkDeviceInfo {
VkPhysicalDeviceProperties2 core;
VkPhysicalDeviceIDProperties coreDeviceId;
VkPhysicalDeviceVulkan11Properties vk11;
VkPhysicalDeviceVulkan12Properties vk12;
VkPhysicalDeviceVulkan13Properties vk13;

View File

@ -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;
}