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
checkAttributes(attributes, element->GetLineNum(), { { "alias",{} },{ "extends",{} },{ "name",{} } }, { { "comment",{} } });
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());
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
{

View File

@ -3374,9 +3374,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class ChromaLocation
{
eCositedEven = VK_CHROMA_LOCATION_COSITED_EVEN,
eMidpoint = VK_CHROMA_LOCATION_MIDPOINT,
eCositedEvenKHR = VK_CHROMA_LOCATION_COSITED_EVEN_KHR,
eMidpointKHR = VK_CHROMA_LOCATION_MIDPOINT_KHR
eMidpoint = VK_CHROMA_LOCATION_MIDPOINT
};
using ChromaLocationKHR = ChromaLocation;
@ -4031,8 +4029,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class DescriptorUpdateTemplateType
{
eDescriptorSet = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,
eDescriptorSetKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR
ePushDescriptorsKHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
};
using DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
@ -4253,9 +4250,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class ExternalFenceFeatureFlagBits
{
eExportable = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
eExportableKHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR,
eImportableKHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR
eImportable = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
};
using ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
@ -4274,11 +4269,7 @@ namespace VULKAN_HPP_NAMESPACE
eOpaqueFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
eOpaqueWin32 = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
eOpaqueWin32Kmt = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_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
eSyncFd = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
};
using ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
@ -4298,10 +4289,7 @@ namespace VULKAN_HPP_NAMESPACE
{
eDedicatedOnly = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
eExportable = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_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
eImportable = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
};
using ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
@ -4346,14 +4334,7 @@ namespace VULKAN_HPP_NAMESPACE
eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_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
eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
};
using ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
@ -4399,9 +4380,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class ExternalSemaphoreFeatureFlagBits
{
eExportable = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
eExportableKHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR,
eImportableKHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR
eImportable = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
};
using ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
@ -4421,12 +4400,7 @@ namespace VULKAN_HPP_NAMESPACE
eOpaqueWin32 = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
eOpaqueWin32Kmt = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
eD3D12Fence = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_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
eSyncFd = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
};
using ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
@ -4459,8 +4433,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class FenceImportFlagBits
{
eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT,
eTemporaryKHR = VK_FENCE_IMPORT_TEMPORARY_BIT_KHR
eTemporary = VK_FENCE_IMPORT_TEMPORARY_BIT
};
using FenceImportFlagBitsKHR = FenceImportFlagBits;
@ -5599,8 +5572,7 @@ namespace VULKAN_HPP_NAMESPACE
{
eDeviceMask = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
eDeviceAddressKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR,
eDeviceAddressCaptureReplayKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
eDeviceMaskKHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR
eDeviceAddressCaptureReplayKHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
};
using MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
@ -5813,11 +5785,7 @@ namespace VULKAN_HPP_NAMESPACE
eCopySrc = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
eCopyDst = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
eGenericSrc = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_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
eGenericDst = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
};
using PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
@ -6294,9 +6262,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class PointClippingBehavior
{
eAllClipPlanes = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
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
eUserClipPlanesOnly = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
};
using PointClippingBehaviorKHR = PointClippingBehavior;
@ -6794,12 +6760,7 @@ namespace VULKAN_HPP_NAMESPACE
eYcbcrIdentity = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
eYcbcr709 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
eYcbcr601 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
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
eYcbcr2020 = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
};
using SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
@ -6819,9 +6780,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class SamplerYcbcrRange
{
eItuFull = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
eItuFullKHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,
eItuNarrowKHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR
eItuNarrow = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
};
using SamplerYcbcrRangeKHR = SamplerYcbcrRange;
@ -6865,8 +6824,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class SemaphoreImportFlagBits
{
eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
eTemporaryKHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR
eTemporary = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
};
using SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
@ -8155,9 +8113,7 @@ namespace VULKAN_HPP_NAMESPACE
enum class TessellationDomainOrigin
{
eUpperLeft = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
eUpperLeftKHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,
eLowerLeftKHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR
eLowerLeft = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
};
using TessellationDomainOriginKHR = TessellationDomainOrigin;