Enable dependent extension for KHR_bda

This commit is contained in:
baldurk
2025-02-13 18:32:11 +00:00
parent 6c985c7cac
commit fda2e14b12
@@ -314,9 +314,9 @@ RDResult WrappedVulkan::Initialise(VkInitParams &params, uint64_t sectionVersion
AddRequiredExtensions(true, params.Extensions, supportedExtensions);
// after 1.0, VK_KHR_get_physical_device_properties2 is promoted to core, but enable it if it's
// after 1.1, VK_KHR_get_physical_device_properties2 is promoted to core, but enable it if it's
// reported as available, just in case.
if(params.APIVersion >= VK_API_VERSION_1_0)
if(params.APIVersion >= VK_API_VERSION_1_1)
{
if(supportedExtensions.find(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME) !=
supportedExtensions.end())
@@ -340,6 +340,17 @@ RDResult WrappedVulkan::Initialise(VkInitParams &params, uint64_t sectionVersion
}
}
// enable device group extension if on 1.0, so we can use BDA. Shuts the validation layers up
if(params.APIVersion <= VK_API_VERSION_1_0)
{
if(supportedExtensions.find(VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME) !=
supportedExtensions.end())
{
if(!params.Extensions.contains(VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME))
params.Extensions.push_back(VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME);
}
}
// verify that extensions are supported
for(size_t i = 0; i < params.Extensions.size(); i++)
{
@@ -1916,6 +1927,9 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
Extensions.push_back(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME);
RDCLOG("Enabling VK_KHR_buffer_device_address");
if(!Extensions.contains(VK_KHR_DEVICE_GROUP_EXTENSION_NAME))
Extensions.push_back(VK_KHR_DEVICE_GROUP_EXTENSION_NAME);
KHRbuffer = true;
}
else if(supportedExtensions.find(VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME) !=