layers: Add platform guards to enum_string_helper

Now that validation layers generates source with BETA_EXTENSIONS,
the enum_string_helper must guard the enums from extensions in the
beta header.
diff --git a/layers/generated/vk_enum_string_helper.h b/layers/generated/vk_enum_string_helper.h
index 0d21a06..9c16911 100644
--- a/layers/generated/vk_enum_string_helper.h
+++ b/layers/generated/vk_enum_string_helper.h
@@ -746,10 +746,14 @@
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR";
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT";
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2:
@@ -856,8 +860,10 @@
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT";
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES";
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
@@ -1108,90 +1114,174 @@
             return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT";
         case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT:
             return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR:
             return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN:
             return "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN";
         case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR:
@@ -1348,18 +1438,30 @@
             return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL";
         case VK_IMAGE_LAYOUT_UNDEFINED:
             return "VK_IMAGE_LAYOUT_UNDEFINED";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR:
             return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR:
             return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR:
             return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR:
             return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR:
             return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR:
             return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkImageLayout";
     }
@@ -1498,10 +1600,14 @@
             return "VK_OBJECT_TYPE_UNKNOWN";
         case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT:
             return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_OBJECT_TYPE_VIDEO_SESSION_KHR:
             return "VK_OBJECT_TYPE_VIDEO_SESSION_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR:
             return "VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkObjectType";
     }
@@ -2130,14 +2236,22 @@
             return "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT";
         case VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT:
             return "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR:
             return "VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR:
             return "VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR:
             return "VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR:
             return "VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkFormatFeatureFlagBits";
     }
@@ -2307,18 +2421,30 @@
             return "VK_IMAGE_USAGE_TRANSFER_SRC_BIT";
         case VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT:
             return "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR:
             return "VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR:
             return "VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR:
             return "VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR:
             return "VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR:
             return "VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR:
             return "VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkImageUsageFlagBits";
     }
@@ -2443,10 +2569,14 @@
             return "VK_QUEUE_SPARSE_BINDING_BIT";
         case VK_QUEUE_TRANSFER_BIT:
             return "VK_QUEUE_TRANSFER_BIT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_QUEUE_VIDEO_DECODE_BIT_KHR:
             return "VK_QUEUE_VIDEO_DECODE_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_QUEUE_VIDEO_ENCODE_BIT_KHR:
             return "VK_QUEUE_VIDEO_ENCODE_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkQueueFlagBits";
     }
@@ -2751,14 +2881,18 @@
             return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
         case VK_QUERY_TYPE_PIPELINE_STATISTICS:
             return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:
             return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         case VK_QUERY_TYPE_TIMESTAMP:
             return "VK_QUERY_TYPE_TIMESTAMP";
         case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
             return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:
             return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkQueryType";
     }
@@ -2776,8 +2910,10 @@
             return "VK_QUERY_RESULT_WAIT_BIT";
         case VK_QUERY_RESULT_WITH_AVAILABILITY_BIT:
             return "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_QUERY_RESULT_WITH_STATUS_BIT_KHR:
             return "VK_QUERY_RESULT_WITH_STATUS_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkQueryResultFlagBits";
     }
@@ -2870,14 +3006,22 @@
             return "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT";
         case VK_BUFFER_USAGE_VERTEX_BUFFER_BIT:
             return "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR:
             return "VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR:
             return "VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR:
             return "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR:
             return "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkBufferUsageFlagBits";
     }
@@ -5116,12 +5260,18 @@
 {
     switch (input_value)
     {
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT:
             return "VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT:
             return "VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT:
             return "VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         case VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR:
             return "VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR";
         default:
@@ -6254,10 +6404,14 @@
             return "VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR";
         case VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR:
             return "VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR:
             return "VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR:
             return "VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkPipelineStageFlagBits2KHR";
     }
@@ -6347,14 +6501,22 @@
             return "VK_ACCESS_2_UNIFORM_READ_BIT_KHR";
         case VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR:
             return "VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR";
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR:
             return "VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR:
             return "VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR:
             return "VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR:
             return "VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
         default:
             return "Unhandled VkAccessFlagBits2KHR";
     }
diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py
index de80d71..84bd3e6 100644
--- a/scripts/helper_file_generator.py
+++ b/scripts/helper_file_generator.py
@@ -255,11 +255,14 @@
         # For enum_string_header
         if self.helper_file_type == 'enum_string_header':
             value_set = set()
+            protect_dict = dict()
             for elem in groupElem.findall('enum'):
                 if elem.get('supported') != 'disabled' and elem.get('alias') is None:
                     value_set.add(elem.get('name'))
+                    if elem.get('protect') is not None:
+                        protect_dict[elem.get('name')] = elem.get('protect')
             if value_set != set():
-                self.enum_output += self.GenerateEnumStringConversion(groupName, value_set, bitwidth)
+                self.enum_output += self.GenerateEnumStringConversion(groupName, value_set, bitwidth, protect_dict)
         elif self.helper_file_type == 'object_types_header':
             if groupName == 'VkDebugReportObjectTypeEXT':
                 for elem in groupElem.findall('enum'):
@@ -552,7 +555,7 @@
         self.structMembers.append(self.StructMemberData(name=typeName, members=membersInfo, ifdef_protect=self.featureExtraProtect, allowduplicate=allowduplicate))
     #
     # Enum_string_header: Create a routine to convert an enumerated value into a string
-    def GenerateEnumStringConversion(self, groupName, value_list, bitwidth):
+    def GenerateEnumStringConversion(self, groupName, value_list, bitwidth, protect_dict):
         outstring = '\n'
         if self.featureExtraProtect is not None:
             outstring += '\n#ifdef %s\n\n' % self.featureExtraProtect
@@ -565,8 +568,12 @@
         # Emit these in a repeatable order so file is generated with the same contents each time.
         # This helps compiler caching systems like ccache.
         for item in sorted(value_list):
+            if item in protect_dict:
+                outstring += '#ifdef %s\n' % protect_dict[item]
             outstring += '        case %s:\n' % item
             outstring += '            return "%s";\n' % item
+            if item in protect_dict:
+                outstring += '#endif // %s\n' % protect_dict[item]
         outstring += '        default:\n'
         outstring += '            return "Unhandled %s";\n' % groupName
         outstring += '    }\n'