Handle multiple required extensions in generator

The XML added requirements which had multiple extensions be required.
This broke the existing autogen because it assumed there would only
be one extension required at a time. The fix is easy, split the
requirement string into a list then add it to the list of requirements.
This commit is contained in:
Charles Giessen 2023-01-09 11:09:46 -07:00 committed by Charles Giessen
parent 833d07f5f9
commit b36ede0f36
2 changed files with 4 additions and 4 deletions

View File

@ -156,7 +156,7 @@ for extension_node in extensions_node:
if '@feature' in require_node.keys(): if '@feature' in require_node.keys():
requirements.append(require_node['@feature']) requirements.append(require_node['@feature'])
if '@extension' in require_node.keys(): if '@extension' in require_node.keys():
requirements.append(require_node['@extension']) requirements.extend(require_node['@extension'].split(','))
if type(require_node['command']) is not list: if type(require_node['command']) is not list:
require_node['command'] = [require_node['command']] require_node['command'] = [require_node['command']]
for command_node in require_node['command']: for command_node in require_node['command']:

View File

@ -1006,7 +1006,7 @@ struct DispatchTable {
#if (defined(VK_EXT_descriptor_buffer)) #if (defined(VK_EXT_descriptor_buffer))
fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")); fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT"));
#endif #endif
#if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure,VK_NV_ray_tracing)) #if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing))
fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")); fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = reinterpret_cast<PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT>(procAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"));
#endif #endif
#if (defined(VK_EXT_pageable_device_local_memory)) #if (defined(VK_EXT_pageable_device_local_memory))
@ -3106,7 +3106,7 @@ struct DispatchTable {
return fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT(device, pInfo, pData); return fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
} }
#endif #endif
#if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure,VK_NV_ray_tracing)) #if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing))
VkResult getAccelerationStructureOpaqueCaptureDescriptorDataEXT(const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept { VkResult getAccelerationStructureOpaqueCaptureDescriptorDataEXT(const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const noexcept {
return fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(device, pInfo, pData); return fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
} }
@ -4603,7 +4603,7 @@ struct DispatchTable {
#if (defined(VK_EXT_descriptor_buffer)) #if (defined(VK_EXT_descriptor_buffer))
PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT = nullptr; PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT fp_vkGetSamplerOpaqueCaptureDescriptorDataEXT = nullptr;
#endif #endif
#if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure,VK_NV_ray_tracing)) #if (defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing))
PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = nullptr; PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT fp_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = nullptr;
#endif #endif
#if (defined(VK_EXT_pageable_device_local_memory)) #if (defined(VK_EXT_pageable_device_local_memory))