Skip to content

Commit 186b7a8

Browse files
authored
Filter out alias enum values, that start with the wrong prefix. (#2549)
1 parent e2b097f commit 186b7a8

2 files changed

Lines changed: 103 additions & 96 deletions

File tree

generator/VulkanHppGenerator.cpp

Lines changed: 51 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5928,6 +5928,8 @@ std::string VulkanHppGenerator::generateEnum( std::pair<std::string, EnumData> c
59285928
if ( value.supported )
59295929
{
59305930
std::string valueName = generateEnumValueName( enumData.first, value.name, enumData.second.isBitmask );
5931+
checkForError( !valueName.empty(),
5932+
value.xmlLine, "generated enum value name for <" + value.name + "> is empty for enum <" + enumData.first + ">" );
59315933
checkForError( valueToNameMap.insert( { valueName, value.name } ).second,
59325934
value.xmlLine,
59335935
"generated enum value name <" + valueName + "> already listed for enum <" + enumData.first + ">" );
@@ -5967,36 +5969,12 @@ std::string VulkanHppGenerator::generateEnum( std::pair<std::string, EnumData> c
59675969
}
59685970
}
59695971

5970-
std::string aliasName = generateEnumValueName( enumName, valueAlias.name, enumData.second.isBitmask );
5971-
std::map<std::string, std::string>::const_iterator mapIt;
5972-
bool inserted;
5973-
std::tie( mapIt, inserted ) = valueToNameMap.insert( { aliasName, valueAlias.name } );
5974-
if ( inserted )
5972+
std::string aliasName = generateEnumValueName( enumName, valueAlias.name, enumData.second.isBitmask );
5973+
// aliases starting with the wrong prefix, determined out of the enumName, are skipped!
5974+
if ( !aliasName.empty() )
59755975
{
5976-
enumValues += " " + aliasName + " = " + valueAlias.name + ",\n";
5977-
}
5978-
else
5979-
{
5980-
// some aliases are so close to the original, that no new entry can be generated!
5981-
assert( mapIt->second != valueAlias.name );
5982-
checkForError( ( mapIt->second == value.name ) ||
5983-
std::ranges::any_of( value.aliases, [mapIt]( auto const & eav ) { return eav.name == mapIt->second; } ),
5984-
valueAlias.xmlLine,
5985-
"generated enum alias value name <" +
5986-
aliasName +
5987-
">, generated from <" +
5988-
valueAlias.name +
5989-
"> is already generated from different enum value <" +
5990-
mapIt->second +
5991-
">" );
5992-
}
5993-
5994-
if ( ( enumName != enumData.first ) && ( findTag( enumName ) != findTag( enumData.first ) ) )
5995-
{
5996-
// the enum value was introduced with a tagged enum, but is now an alias of an enum with a different, potentially empty, tag
5997-
// even though, there has never been this generated with that tag, we add a tagged version here for consistency reasons
5998-
assert( findTag( valueAlias.name ) == findTag( enumName ) );
5999-
aliasName = generateEnumValueName( enumData.first, valueAlias.name, enumData.second.isBitmask );
5976+
std::map<std::string, std::string>::const_iterator mapIt;
5977+
bool inserted;
60005978
std::tie( mapIt, inserted ) = valueToNameMap.insert( { aliasName, valueAlias.name } );
60015979
if ( inserted )
60025980
{
@@ -6017,6 +5995,34 @@ std::string VulkanHppGenerator::generateEnum( std::pair<std::string, EnumData> c
60175995
mapIt->second +
60185996
">" );
60195997
}
5998+
5999+
if ( ( enumName != enumData.first ) && ( findTag( enumName ) != findTag( enumData.first ) ) )
6000+
{
6001+
// the enum value was introduced with a tagged enum, but is now an alias of an enum with a different, potentially empty, tag
6002+
// even though, there has never been this generated with that tag, we add a tagged version here for consistency reasons
6003+
assert( findTag( valueAlias.name ) == findTag( enumName ) );
6004+
aliasName = generateEnumValueName( enumData.first, valueAlias.name, enumData.second.isBitmask );
6005+
std::tie( mapIt, inserted ) = valueToNameMap.insert( { aliasName, valueAlias.name } );
6006+
if ( inserted )
6007+
{
6008+
enumValues += " " + aliasName + " = " + valueAlias.name + ",\n";
6009+
}
6010+
else
6011+
{
6012+
// some aliases are so close to the original, that no new entry can be generated!
6013+
assert( mapIt->second != valueAlias.name );
6014+
checkForError( ( mapIt->second == value.name ) ||
6015+
std::ranges::any_of( value.aliases, [mapIt]( auto const & eav ) { return eav.name == mapIt->second; } ),
6016+
valueAlias.xmlLine,
6017+
"generated enum alias value name <" +
6018+
aliasName +
6019+
">, generated from <" +
6020+
valueAlias.name +
6021+
"> is already generated from different enum value <" +
6022+
mapIt->second +
6023+
">" );
6024+
}
6025+
}
60206026
}
60216027
}
60226028
}
@@ -6316,20 +6322,28 @@ std::string VulkanHppGenerator::generateEnumValueName( std::string const & enumN
63166322
tag = findTag( valueName, postfix );
63176323
}
63186324

6319-
std::string result = "e" + toCamelCase( stripPostfix( stripPrefix( valueName, prefix ), postfix ) );
6320-
if ( bitmask )
6325+
// skip enum values that start with the wrong prefix
6326+
if ( valueName.starts_with( prefix ) )
63216327
{
6322-
size_t const pos = result.rfind( "Bit" );
6323-
if ( pos != std::string::npos )
6328+
std::string result = "e" + toCamelCase( stripPostfix( stripPrefix( valueName, prefix ), postfix ) );
6329+
if ( bitmask )
63246330
{
6325-
result.erase( pos, 3 );
6331+
size_t const pos = result.rfind( "Bit" );
6332+
if ( pos != std::string::npos )
6333+
{
6334+
result.erase( pos, 3 );
6335+
}
63266336
}
6337+
if ( !tag.empty() && ( result.substr( result.length() - tag.length() ) == toCamelCase( tag ) ) )
6338+
{
6339+
result = result.substr( 0, result.length() - tag.length() ) + tag;
6340+
}
6341+
return result;
63276342
}
6328-
if ( !tag.empty() && ( result.substr( result.length() - tag.length() ) == toCamelCase( tag ) ) )
6343+
else
63296344
{
6330-
result = result.substr( 0, result.length() - tag.length() ) + tag;
6345+
return "";
63316346
}
6332-
return result;
63336347
}
63346348

63356349
std::string VulkanHppGenerator::generateExtensionDependencies() const

vulkan/vulkan_enums.hpp

Lines changed: 52 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3623,44 +3623,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
36233623
// wrapper class for enum VkPipelineCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlagBits.html
36243624
enum class PipelineCreateFlagBits : VkPipelineCreateFlags
36253625
{
3626-
eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
3627-
eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
3628-
eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
3629-
eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3630-
eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR,
3631-
eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3632-
eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
3633-
eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3634-
eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
3635-
eEarlyReturnOnFailure = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3636-
eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
3637-
eNoProtectedAccess = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT,
3638-
eNoProtectedAccessEXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT,
3639-
eProtectedAccessOnly = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT,
3640-
eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT,
3641-
eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
3642-
eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
3643-
eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
3644-
eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
3645-
eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
3646-
eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
3647-
eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
3648-
eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
3649-
eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3650-
eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3651-
eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3652-
eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3653-
eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
3654-
eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
3655-
eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
3656-
eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
3657-
eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
3658-
eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
3659-
eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT,
3660-
eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
3661-
eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
3662-
eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
3663-
eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
3626+
eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,
3627+
eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,
3628+
eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT,
3629+
eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3630+
eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR,
3631+
eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3632+
eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,
3633+
eFailOnPipelineCompileRequired = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3634+
eFailOnPipelineCompileRequiredEXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT,
3635+
eEarlyReturnOnFailure = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3636+
eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT,
3637+
eNoProtectedAccess = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT,
3638+
eNoProtectedAccessEXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT,
3639+
eProtectedAccessOnly = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT,
3640+
eProtectedAccessOnlyEXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT,
3641+
eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR,
3642+
eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR,
3643+
eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR,
3644+
eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR,
3645+
eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR,
3646+
eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR,
3647+
eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,
3648+
eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV,
3649+
eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3650+
eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3651+
eCaptureStatisticsKHR = VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR,
3652+
eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
3653+
eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
3654+
eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
3655+
eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
3656+
eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
3657+
eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT,
3658+
eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
3659+
eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
3660+
eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,
3661+
eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,
36643662
#if defined( VK_ENABLE_BETA_EXTENSIONS )
36653663
eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
36663664
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
@@ -4504,10 +4502,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
45044502
// wrapper class for enum VkStencilFaceFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlagBits.html
45054503
enum class StencilFaceFlagBits : VkStencilFaceFlags
45064504
{
4507-
eFront = VK_STENCIL_FACE_FRONT_BIT,
4508-
eBack = VK_STENCIL_FACE_BACK_BIT,
4509-
eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK,
4510-
eVkStencilFrontAndBack = VK_STENCIL_FRONT_AND_BACK
4505+
eFront = VK_STENCIL_FACE_FRONT_BIT,
4506+
eBack = VK_STENCIL_FACE_BACK_BIT,
4507+
eFrontAndBack = VK_STENCIL_FACE_FRONT_AND_BACK
45114508
};
45124509

45134510
// wrapper using for bitmask VkStencilFaceFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlags.html
@@ -6190,17 +6187,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
61906187
// wrapper class for enum VkColorSpaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorSpaceKHR.html
61916188
enum class ColorSpaceKHR
61926189
{
6193-
eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6194-
eVkColorspaceSrgbNonlinear = VK_COLORSPACE_SRGB_NONLINEAR_KHR,
6195-
eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
6196-
eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
6197-
eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6198-
eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT,
6199-
eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
6200-
eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
6201-
eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
6202-
eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
6203-
eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
6190+
eSrgbNonlinear = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6191+
eDisplayP3NonlinearEXT = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,
6192+
eExtendedSrgbLinearEXT = VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
6193+
eDisplayP3LinearEXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6194+
eDciP3LinearEXT = VK_COLOR_SPACE_DCI_P3_LINEAR_EXT,
6195+
eDciP3NonlinearEXT = VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,
6196+
eBt709LinearEXT = VK_COLOR_SPACE_BT709_LINEAR_EXT,
6197+
eBt709NonlinearEXT = VK_COLOR_SPACE_BT709_NONLINEAR_EXT,
6198+
eBt2020LinearEXT = VK_COLOR_SPACE_BT2020_LINEAR_EXT,
6199+
eHdr10St2084EXT = VK_COLOR_SPACE_HDR10_ST2084_EXT,
62046200
eDolbyvisionEXT VULKAN_HPP_DEPRECATED_17( "eDolbyvisionEXT is deprecated, but no reason was given in the API XML" ) = VK_COLOR_SPACE_DOLBYVISION_EXT,
62056201
eHdr10HlgEXT = VK_COLOR_SPACE_HDR10_HLG_EXT,
62066202
eAdobergbLinearEXT = VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,
@@ -7418,12 +7414,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
74187414
// wrapper class for enum VkPerformanceCounterScopeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterScopeKHR.html
74197415
enum class PerformanceCounterScopeKHR
74207416
{
7421-
eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7422-
eVkQueryScopeCommandBuffer = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
7423-
eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7424-
eVkQueryScopeRenderPass = VK_QUERY_SCOPE_RENDER_PASS_KHR,
7425-
eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7426-
eVkQueryScopeCommand = VK_QUERY_SCOPE_COMMAND_KHR
7417+
eCommandBuffer = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7418+
eRenderPass = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7419+
eCommand = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR
74277420
};
74287421

74297422
// wrapper class for enum VkPerformanceCounterStorageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterStorageKHR.html

0 commit comments

Comments
 (0)