mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-31 14:52:11 +01:00
[dxvk] Remove device LUID workaround
winevulkan properly supports this now.
This commit is contained in:
parent
673797c36a
commit
0d33d063ca
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -14,7 +14,6 @@ namespace dxvk {
|
||||
*/
|
||||
struct DxvkDeviceInfo {
|
||||
VkPhysicalDeviceProperties2 core;
|
||||
VkPhysicalDeviceIDProperties coreDeviceId;
|
||||
VkPhysicalDeviceVulkan11Properties vk11;
|
||||
VkPhysicalDeviceVulkan12Properties vk12;
|
||||
VkPhysicalDeviceVulkan13Properties vk13;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user