Filter aliases of enum values that originally belong to aliases of the enum class. (#483)

This commit is contained in:
Andreas Süßenbach 2020-01-14 16:05:05 +01:00 committed by Markus Tavenrath
parent e49f02013a
commit a75cf874c7
2 changed files with 29 additions and 61 deletions

View File

@ -4157,8 +4157,20 @@ void VulkanHppGenerator::readRequireEnum(tinyxml2::XMLElement const* element, st
// add this enum name to the list of aliases // add this enum name to the list of aliases
checkAttributes(attributes, element->GetLineNum(), { { "alias",{} },{ "extends",{} },{ "name",{} } }, { { "comment",{} } }); checkAttributes(attributes, element->GetLineNum(), { { "alias",{} },{ "extends",{} },{ "name",{} } }, { { "comment",{} } });
std::string valueName = createEnumValueName(nameIt->second, prefix, postfix, enumIt->second.isBitmask, tag); std::string valueName = createEnumValueName(nameIt->second, prefix, postfix, enumIt->second.isBitmask, tag);
if (!enumIt->second.alias.empty())
{
prefix = getEnumPrefix(enumIt->second.alias, enumIt->second.isBitmask);
postfix = getEnumPostfix(enumIt->second.alias, m_tags, prefix);
if (endsWith(nameIt->second, postfix))
{
valueName = createEnumValueName(nameIt->second, prefix, postfix, enumIt->second.isBitmask, tag);
}
}
assert(std::find_if(enumIt->second.aliases.begin(), enumIt->second.aliases.end(), [&valueName](std::pair<std::string, std::string> const& aliasPair) { return valueName == aliasPair.second; }) == enumIt->second.aliases.end()); assert(std::find_if(enumIt->second.aliases.begin(), enumIt->second.aliases.end(), [&valueName](std::pair<std::string, std::string> const& aliasPair) { return valueName == aliasPair.second; }) == enumIt->second.aliases.end());
enumIt->second.aliases.push_back(std::make_pair(nameIt->second, valueName)); if (std::find_if(enumIt->second.values.begin(), enumIt->second.values.end(), [&valueName](EnumValueData const& evd) { return evd.vkValue == valueName; }) == enumIt->second.values.end())
{
enumIt->second.aliases.push_back(std::make_pair(nameIt->second, valueName));
}
} }
else else
{ {

View File

@ -3374,9 +3374,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class ChromaLocation enum class ChromaLocation
{ {
eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN, eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
eMidpoint = VK_CHROMA_LOCATION_MIDPOINT, eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
eCositedEvenKHR = VK_CHROMA_LOCATION_COSITED_EVEN_KHR,
eMidpointKHR = VK_CHROMA_LOCATION_MIDPOINT_KHR
}; };
using ChromaLocationKHR = ChromaLocation; using ChromaLocationKHR = ChromaLocation;
@ -4031,8 +4029,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class DescriptorUpdateTemplateType enum class DescriptorUpdateTemplateType
{ {
eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR, ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
eDescriptorSetKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR
}; };
using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType; using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
@ -4253,9 +4250,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class ExternalFenceFeatureFlagBits enum class ExternalFenceFeatureFlagBits
{ {
eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
eExportableKHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR,
eImportableKHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR
}; };
using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits; using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
@ -4274,11 +4269,7 @@ namespace VULKAN_HPP_NAMESPACE
eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
eOpaqueFdKHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,
eOpaqueWin32KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,
eOpaqueWin32KmtKHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,
eSyncFdKHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR
}; };
using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits; using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
@ -4298,10 +4289,7 @@ namespace VULKAN_HPP_NAMESPACE
{ {
eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
eDedicatedOnlyKHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR,
eExportableKHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR,
eImportableKHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR
}; };
using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits; using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
@ -4346,14 +4334,7 @@ namespace VULKAN_HPP_NAMESPACE
eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID, eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT, eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
eOpaqueFdKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,
eOpaqueWin32KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,
eOpaqueWin32KmtKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,
eD3D11TextureKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR,
eD3D11TextureKmtKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR,
eD3D12HeapKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR,
eD3D12ResourceKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR
}; };
using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits; using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
@ -4399,9 +4380,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class ExternalSemaphoreFeatureFlagBits enum class ExternalSemaphoreFeatureFlagBits
{ {
eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
eExportableKHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR,
eImportableKHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR
}; };
using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits; using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
@ -4421,12 +4400,7 @@ namespace VULKAN_HPP_NAMESPACE
eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
eOpaqueFdKHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,
eOpaqueWin32KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,
eOpaqueWin32KmtKHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,
eD3D12FenceKHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR,
eSyncFdKHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR
}; };
using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits; using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
@ -4459,8 +4433,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class FenceImportFlagBits enum class FenceImportFlagBits
{ {
eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT, eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
eTemporaryKHR = VK_FENCE_IMPORT_TEMPORARY_BIT_KHR
}; };
using FenceImportFlagBitsKHR = FenceImportFlagBits; using FenceImportFlagBitsKHR = FenceImportFlagBits;
@ -5599,8 +5572,7 @@ namespace VULKAN_HPP_NAMESPACE
{ {
eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
eDeviceAddressKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR, eDeviceAddressKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR,
eDeviceAddressCaptureReplayKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, eDeviceAddressCaptureReplayKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
eDeviceMaskKHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR
}; };
using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits; using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
@ -5813,11 +5785,7 @@ namespace VULKAN_HPP_NAMESPACE
eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
eCopySrcKHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR,
eCopyDstKHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR,
eGenericSrcKHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR,
eGenericDstKHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR
}; };
using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits; using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
@ -6294,9 +6262,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class PointClippingBehavior enum class PointClippingBehavior
{ {
eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
eAllClipPlanesKHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,
eUserClipPlanesOnlyKHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR
}; };
using PointClippingBehaviorKHR = PointClippingBehavior; using PointClippingBehaviorKHR = PointClippingBehavior;
@ -6794,12 +6760,7 @@ namespace VULKAN_HPP_NAMESPACE
eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
eRgbIdentityKHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,
eYcbcrIdentityKHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR,
eYcbcr709KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR,
eYcbcr601KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR,
eYcbcr2020KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR
}; };
using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion; using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
@ -6819,9 +6780,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class SamplerYcbcrRange enum class SamplerYcbcrRange
{ {
eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
eItuFullKHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,
eItuNarrowKHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR
}; };
using SamplerYcbcrRangeKHR = SamplerYcbcrRange; using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
@ -6865,8 +6824,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class SemaphoreImportFlagBits enum class SemaphoreImportFlagBits
{ {
eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
eTemporaryKHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR
}; };
using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits; using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
@ -8155,9 +8113,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class TessellationDomainOrigin enum class TessellationDomainOrigin
{ {
eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
eUpperLeftKHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,
eLowerLeftKHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR
}; };
using TessellationDomainOriginKHR = TessellationDomainOrigin; using TessellationDomainOriginKHR = TessellationDomainOrigin;