Update to latest ZVulkan
This commit is contained in:
parent
e9e9081372
commit
d9c896a903
32 changed files with 14799 additions and 6220 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1915,6 +1915,12 @@ std::vector<VulkanCompatibleDevice> VulkanDeviceBuilder::FindDevices(const std::
|
|||
if (sortA != sortB)
|
||||
return sortA < sortB;
|
||||
|
||||
// Any driver that is emulating vulkan (i.e. via Direct3D 12) should only be chosen as the last option within each GPU type
|
||||
sortA = a.Device->Properties.LayeredDriver.underlyingAPI;
|
||||
sortB = b.Device->Properties.LayeredDriver.underlyingAPI;
|
||||
if (sortA != sortB)
|
||||
return sortA < sortB;
|
||||
|
||||
// Then sort by the device's unique ID so that vk_device uses a consistent order
|
||||
int sortUUID = memcmp(a.Device->Properties.Properties.pipelineCacheUUID, b.Device->Properties.Properties.pipelineCacheUUID, VK_UUID_SIZE);
|
||||
return sortUUID < 0;
|
||||
|
|
|
|||
|
|
@ -200,11 +200,17 @@ std::vector<VulkanPhysicalDevice> VulkanInstance::GetPhysicalDevices(VkInstance
|
|||
*next = &dev.Properties.DescriptorIndexing;
|
||||
next = &dev.Properties.DescriptorIndexing.pNext;
|
||||
}
|
||||
if (checkForExtension(VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME))
|
||||
{
|
||||
*next = &dev.Properties.LayeredDriver;
|
||||
next = &dev.Properties.LayeredDriver.pNext;
|
||||
}
|
||||
|
||||
vkGetPhysicalDeviceProperties2(dev.Device, &deviceProperties2);
|
||||
dev.Properties.Properties = deviceProperties2.properties;
|
||||
dev.Properties.AccelerationStructure.pNext = nullptr;
|
||||
dev.Properties.DescriptorIndexing.pNext = nullptr;
|
||||
dev.Properties.LayeredDriver.pNext = nullptr;
|
||||
|
||||
VkPhysicalDeviceFeatures2 deviceFeatures2 = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 };
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue