// *** THIS FILE IS GENERATED - DO NOT EDIT ***
// See command_validation_generator.py for modifications


/***************************************************************************
 *
 * Copyright (c) 2021 The Khronos Group Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Author: Spencer Fricke <s.fricke@samsung.com>
 *
 ****************************************************************************/

#include <array>

// Used as key for maps of all vkCmd* calls
// Does not include vkBeginCommandBuffer/vkEndCommandBuffer
typedef enum CMD_TYPE {
    CMD_NONE = 0,
    CMD_BEGINCONDITIONALRENDERINGEXT = 1,
    CMD_BEGINDEBUGUTILSLABELEXT = 2,
    CMD_BEGINQUERY = 3,
    CMD_BEGINQUERYINDEXEDEXT = 4,
    CMD_BEGINRENDERPASS = 5,
    CMD_BEGINRENDERPASS2 = 6,
    CMD_BEGINTRANSFORMFEEDBACKEXT = 7,
    CMD_BEGINVIDEOCODINGKHR = 8,
    CMD_BINDDESCRIPTORSETS = 9,
    CMD_BINDINDEXBUFFER = 10,
    CMD_BINDPIPELINE = 11,
    CMD_BINDPIPELINESHADERGROUPNV = 12,
    CMD_BINDSHADINGRATEIMAGENV = 13,
    CMD_BINDTRANSFORMFEEDBACKBUFFERSEXT = 14,
    CMD_BINDVERTEXBUFFERS = 15,
    CMD_BINDVERTEXBUFFERS2EXT = 16,
    CMD_BLITIMAGE = 17,
    CMD_BLITIMAGE2KHR = 18,
    CMD_BUILDACCELERATIONSTRUCTURENV = 19,
    CMD_BUILDACCELERATIONSTRUCTURESINDIRECTKHR = 20,
    CMD_BUILDACCELERATIONSTRUCTURESKHR = 21,
    CMD_CLEARATTACHMENTS = 22,
    CMD_CLEARCOLORIMAGE = 23,
    CMD_CLEARDEPTHSTENCILIMAGE = 24,
    CMD_CONTROLVIDEOCODINGKHR = 25,
    CMD_COPYACCELERATIONSTRUCTUREKHR = 26,
    CMD_COPYACCELERATIONSTRUCTURENV = 27,
    CMD_COPYACCELERATIONSTRUCTURETOMEMORYKHR = 28,
    CMD_COPYBUFFER = 29,
    CMD_COPYBUFFER2KHR = 30,
    CMD_COPYBUFFERTOIMAGE = 31,
    CMD_COPYBUFFERTOIMAGE2KHR = 32,
    CMD_COPYIMAGE = 33,
    CMD_COPYIMAGE2KHR = 34,
    CMD_COPYIMAGETOBUFFER = 35,
    CMD_COPYIMAGETOBUFFER2KHR = 36,
    CMD_COPYMEMORYTOACCELERATIONSTRUCTUREKHR = 37,
    CMD_COPYQUERYPOOLRESULTS = 38,
    CMD_DEBUGMARKERBEGINEXT = 39,
    CMD_DEBUGMARKERENDEXT = 40,
    CMD_DEBUGMARKERINSERTEXT = 41,
    CMD_DECODEVIDEOKHR = 42,
    CMD_DISPATCH = 43,
    CMD_DISPATCHBASE = 44,
    CMD_DISPATCHINDIRECT = 45,
    CMD_DRAW = 46,
    CMD_DRAWINDEXED = 47,
    CMD_DRAWINDEXEDINDIRECT = 48,
    CMD_DRAWINDEXEDINDIRECTCOUNT = 49,
    CMD_DRAWINDIRECT = 50,
    CMD_DRAWINDIRECTBYTECOUNTEXT = 51,
    CMD_DRAWINDIRECTCOUNT = 52,
    CMD_DRAWMESHTASKSINDIRECTCOUNTNV = 53,
    CMD_DRAWMESHTASKSINDIRECTNV = 54,
    CMD_DRAWMESHTASKSNV = 55,
    CMD_ENCODEVIDEOKHR = 56,
    CMD_ENDCONDITIONALRENDERINGEXT = 57,
    CMD_ENDDEBUGUTILSLABELEXT = 58,
    CMD_ENDQUERY = 59,
    CMD_ENDQUERYINDEXEDEXT = 60,
    CMD_ENDRENDERPASS = 61,
    CMD_ENDRENDERPASS2 = 62,
    CMD_ENDTRANSFORMFEEDBACKEXT = 63,
    CMD_ENDVIDEOCODINGKHR = 64,
    CMD_EXECUTECOMMANDS = 65,
    CMD_EXECUTEGENERATEDCOMMANDSNV = 66,
    CMD_FILLBUFFER = 67,
    CMD_INSERTDEBUGUTILSLABELEXT = 68,
    CMD_NEXTSUBPASS = 69,
    CMD_NEXTSUBPASS2 = 70,
    CMD_PIPELINEBARRIER = 71,
    CMD_PIPELINEBARRIER2KHR = 72,
    CMD_PREPROCESSGENERATEDCOMMANDSNV = 73,
    CMD_PUSHCONSTANTS = 74,
    CMD_PUSHDESCRIPTORSETKHR = 75,
    CMD_PUSHDESCRIPTORSETWITHTEMPLATEKHR = 76,
    CMD_RESETEVENT = 77,
    CMD_RESETEVENT2KHR = 78,
    CMD_RESETQUERYPOOL = 79,
    CMD_RESOLVEIMAGE = 80,
    CMD_RESOLVEIMAGE2KHR = 81,
    CMD_SETBLENDCONSTANTS = 82,
    CMD_SETCHECKPOINTNV = 83,
    CMD_SETCOARSESAMPLEORDERNV = 84,
    CMD_SETCOLORWRITEENABLEEXT = 85,
    CMD_SETCULLMODEEXT = 86,
    CMD_SETDEPTHBIAS = 87,
    CMD_SETDEPTHBIASENABLEEXT = 88,
    CMD_SETDEPTHBOUNDS = 89,
    CMD_SETDEPTHBOUNDSTESTENABLEEXT = 90,
    CMD_SETDEPTHCOMPAREOPEXT = 91,
    CMD_SETDEPTHTESTENABLEEXT = 92,
    CMD_SETDEPTHWRITEENABLEEXT = 93,
    CMD_SETDEVICEMASK = 94,
    CMD_SETDISCARDRECTANGLEEXT = 95,
    CMD_SETEVENT = 96,
    CMD_SETEVENT2KHR = 97,
    CMD_SETEXCLUSIVESCISSORNV = 98,
    CMD_SETFRAGMENTSHADINGRATEENUMNV = 99,
    CMD_SETFRAGMENTSHADINGRATEKHR = 100,
    CMD_SETFRONTFACEEXT = 101,
    CMD_SETLINESTIPPLEEXT = 102,
    CMD_SETLINEWIDTH = 103,
    CMD_SETLOGICOPEXT = 104,
    CMD_SETPATCHCONTROLPOINTSEXT = 105,
    CMD_SETPERFORMANCEMARKERINTEL = 106,
    CMD_SETPERFORMANCEOVERRIDEINTEL = 107,
    CMD_SETPERFORMANCESTREAMMARKERINTEL = 108,
    CMD_SETPRIMITIVERESTARTENABLEEXT = 109,
    CMD_SETPRIMITIVETOPOLOGYEXT = 110,
    CMD_SETRASTERIZERDISCARDENABLEEXT = 111,
    CMD_SETRAYTRACINGPIPELINESTACKSIZEKHR = 112,
    CMD_SETSAMPLELOCATIONSEXT = 113,
    CMD_SETSCISSOR = 114,
    CMD_SETSCISSORWITHCOUNTEXT = 115,
    CMD_SETSTENCILCOMPAREMASK = 116,
    CMD_SETSTENCILOPEXT = 117,
    CMD_SETSTENCILREFERENCE = 118,
    CMD_SETSTENCILTESTENABLEEXT = 119,
    CMD_SETSTENCILWRITEMASK = 120,
    CMD_SETVERTEXINPUTEXT = 121,
    CMD_SETVIEWPORT = 122,
    CMD_SETVIEWPORTSHADINGRATEPALETTENV = 123,
    CMD_SETVIEWPORTWSCALINGNV = 124,
    CMD_SETVIEWPORTWITHCOUNTEXT = 125,
    CMD_TRACERAYSINDIRECTKHR = 126,
    CMD_TRACERAYSKHR = 127,
    CMD_TRACERAYSNV = 128,
    CMD_UPDATEBUFFER = 129,
    CMD_WAITEVENTS = 130,
    CMD_WAITEVENTS2KHR = 131,
    CMD_WRITEACCELERATIONSTRUCTURESPROPERTIESKHR = 132,
    CMD_WRITEACCELERATIONSTRUCTURESPROPERTIESNV = 133,
    CMD_WRITEBUFFERMARKER2AMD = 134,
    CMD_WRITEBUFFERMARKERAMD = 135,
    CMD_WRITETIMESTAMP = 136,
    CMD_WRITETIMESTAMP2KHR = 137,
    CMD_RANGE_SIZE = 138
} CMD_TYPE;

static const std::array<const char *, CMD_RANGE_SIZE> kGeneratedCommandNameList = {{
    "Command_Undefined",
    "vkCmdBeginConditionalRenderingEXT",
    "vkCmdBeginDebugUtilsLabelEXT",
    "vkCmdBeginQuery",
    "vkCmdBeginQueryIndexedEXT",
    "vkCmdBeginRenderPass",
    "vkCmdBeginRenderPass2",
    "vkCmdBeginTransformFeedbackEXT",
    "vkCmdBeginVideoCodingKHR",
    "vkCmdBindDescriptorSets",
    "vkCmdBindIndexBuffer",
    "vkCmdBindPipeline",
    "vkCmdBindPipelineShaderGroupNV",
    "vkCmdBindShadingRateImageNV",
    "vkCmdBindTransformFeedbackBuffersEXT",
    "vkCmdBindVertexBuffers",
    "vkCmdBindVertexBuffers2EXT",
    "vkCmdBlitImage",
    "vkCmdBlitImage2KHR",
    "vkCmdBuildAccelerationStructureNV",
    "vkCmdBuildAccelerationStructuresIndirectKHR",
    "vkCmdBuildAccelerationStructuresKHR",
    "vkCmdClearAttachments",
    "vkCmdClearColorImage",
    "vkCmdClearDepthStencilImage",
    "vkCmdControlVideoCodingKHR",
    "vkCmdCopyAccelerationStructureKHR",
    "vkCmdCopyAccelerationStructureNV",
    "vkCmdCopyAccelerationStructureToMemoryKHR",
    "vkCmdCopyBuffer",
    "vkCmdCopyBuffer2KHR",
    "vkCmdCopyBufferToImage",
    "vkCmdCopyBufferToImage2KHR",
    "vkCmdCopyImage",
    "vkCmdCopyImage2KHR",
    "vkCmdCopyImageToBuffer",
    "vkCmdCopyImageToBuffer2KHR",
    "vkCmdCopyMemoryToAccelerationStructureKHR",
    "vkCmdCopyQueryPoolResults",
    "vkCmdDebugMarkerBeginEXT",
    "vkCmdDebugMarkerEndEXT",
    "vkCmdDebugMarkerInsertEXT",
    "vkCmdDecodeVideoKHR",
    "vkCmdDispatch",
    "vkCmdDispatchBase",
    "vkCmdDispatchIndirect",
    "vkCmdDraw",
    "vkCmdDrawIndexed",
    "vkCmdDrawIndexedIndirect",
    "vkCmdDrawIndexedIndirectCount",
    "vkCmdDrawIndirect",
    "vkCmdDrawIndirectByteCountEXT",
    "vkCmdDrawIndirectCount",
    "vkCmdDrawMeshTasksIndirectCountNV",
    "vkCmdDrawMeshTasksIndirectNV",
    "vkCmdDrawMeshTasksNV",
    "vkCmdEncodeVideoKHR",
    "vkCmdEndConditionalRenderingEXT",
    "vkCmdEndDebugUtilsLabelEXT",
    "vkCmdEndQuery",
    "vkCmdEndQueryIndexedEXT",
    "vkCmdEndRenderPass",
    "vkCmdEndRenderPass2",
    "vkCmdEndTransformFeedbackEXT",
    "vkCmdEndVideoCodingKHR",
    "vkCmdExecuteCommands",
    "vkCmdExecuteGeneratedCommandsNV",
    "vkCmdFillBuffer",
    "vkCmdInsertDebugUtilsLabelEXT",
    "vkCmdNextSubpass",
    "vkCmdNextSubpass2",
    "vkCmdPipelineBarrier",
    "vkCmdPipelineBarrier2KHR",
    "vkCmdPreprocessGeneratedCommandsNV",
    "vkCmdPushConstants",
    "vkCmdPushDescriptorSetKHR",
    "vkCmdPushDescriptorSetWithTemplateKHR",
    "vkCmdResetEvent",
    "vkCmdResetEvent2KHR",
    "vkCmdResetQueryPool",
    "vkCmdResolveImage",
    "vkCmdResolveImage2KHR",
    "vkCmdSetBlendConstants",
    "vkCmdSetCheckpointNV",
    "vkCmdSetCoarseSampleOrderNV",
    "vkCmdSetColorWriteEnableEXT",
    "vkCmdSetCullModeEXT",
    "vkCmdSetDepthBias",
    "vkCmdSetDepthBiasEnableEXT",
    "vkCmdSetDepthBounds",
    "vkCmdSetDepthBoundsTestEnableEXT",
    "vkCmdSetDepthCompareOpEXT",
    "vkCmdSetDepthTestEnableEXT",
    "vkCmdSetDepthWriteEnableEXT",
    "vkCmdSetDeviceMask",
    "vkCmdSetDiscardRectangleEXT",
    "vkCmdSetEvent",
    "vkCmdSetEvent2KHR",
    "vkCmdSetExclusiveScissorNV",
    "vkCmdSetFragmentShadingRateEnumNV",
    "vkCmdSetFragmentShadingRateKHR",
    "vkCmdSetFrontFaceEXT",
    "vkCmdSetLineStippleEXT",
    "vkCmdSetLineWidth",
    "vkCmdSetLogicOpEXT",
    "vkCmdSetPatchControlPointsEXT",
    "vkCmdSetPerformanceMarkerINTEL",
    "vkCmdSetPerformanceOverrideINTEL",
    "vkCmdSetPerformanceStreamMarkerINTEL",
    "vkCmdSetPrimitiveRestartEnableEXT",
    "vkCmdSetPrimitiveTopologyEXT",
    "vkCmdSetRasterizerDiscardEnableEXT",
    "vkCmdSetRayTracingPipelineStackSizeKHR",
    "vkCmdSetSampleLocationsEXT",
    "vkCmdSetScissor",
    "vkCmdSetScissorWithCountEXT",
    "vkCmdSetStencilCompareMask",
    "vkCmdSetStencilOpEXT",
    "vkCmdSetStencilReference",
    "vkCmdSetStencilTestEnableEXT",
    "vkCmdSetStencilWriteMask",
    "vkCmdSetVertexInputEXT",
    "vkCmdSetViewport",
    "vkCmdSetViewportShadingRatePaletteNV",
    "vkCmdSetViewportWScalingNV",
    "vkCmdSetViewportWithCountEXT",
    "vkCmdTraceRaysIndirectKHR",
    "vkCmdTraceRaysKHR",
    "vkCmdTraceRaysNV",
    "vkCmdUpdateBuffer",
    "vkCmdWaitEvents",
    "vkCmdWaitEvents2KHR",
    "vkCmdWriteAccelerationStructuresPropertiesKHR",
    "vkCmdWriteAccelerationStructuresPropertiesNV",
    "vkCmdWriteBufferMarker2AMD",
    "vkCmdWriteBufferMarkerAMD",
    "vkCmdWriteTimestamp",
    "vkCmdWriteTimestamp2KHR",
}};
