/*-------------------------------------------------------------------------------------
 *
 * Copyright (c) Microsoft Corporation
 *
 *-------------------------------------------------------------------------------------*/
typedef enum D3D12_MARKER_API {
    D3D12_MARKER_API_SETMARKER = 0,
    D3D12_MARKER_API_BEGINEVENT = 1,
    D3D12_MARKER_API_ENDEVENT = 2,
    D3D12_MARKER_API_DRAWINSTANCED = 3,
    D3D12_MARKER_API_DRAWINDEXEDINSTANCED = 4,
    D3D12_MARKER_API_EXECUTEINDIRECT = 5,
    D3D12_MARKER_API_DISPATCH = 6,
    D3D12_MARKER_API_COPYBUFFERREGION = 7,
    D3D12_MARKER_API_COPYTEXTUREREGION = 8,
    D3D12_MARKER_API_COPYRESOURCE = 9,
    D3D12_MARKER_API_COPYTILES = 10,
    D3D12_MARKER_API_RESOLVESUBRESOURCE = 11,
    D3D12_MARKER_API_CLEARRENDERTARGETVIEW = 12,
    D3D12_MARKER_API_CLEARUNORDEREDACCESSVIEW = 13,
    D3D12_MARKER_API_CLEARDEPTHSTENCILVIEW = 14,
    D3D12_MARKER_API_RESOURCEBARRIER = 15,
    D3D12_MARKER_API_EXECUTEBUNDLE = 16,
    D3D12_MARKER_API_PRESENT = 17,
    D3D12_MARKER_API_RESOLVEQUERYDATA = 18,
    D3D12_MARKER_API_BEGINSUBMISSION = 19,
    D3D12_MARKER_API_ENDSUBMISSION = 20,
    D3D12_MARKER_API_DECODEFRAME = 21,
    D3D12_MARKER_API_PROCESSFRAMES = 22,
    D3D12_MARKER_API_ATOMICCOPYBUFFERUINT = 23,
    D3D12_MARKER_API_ATOMICCOPYBUFFERUINT64 = 24,
    D3D12_MARKER_API_RESOLVESUBRESOURCEREGION = 25,
    D3D12_MARKER_API_WRITEBUFFERIMMEDIATE = 26,
    D3D12_MARKER_API_DECODEFRAME1 = 27,
    D3D12_MARKER_API_SETPROTECTEDRESOURCESESSION = 28,
    D3D12_MARKER_API_DECODEFRAME2 = 29,
    D3D12_MARKER_API_PROCESSFRAMES1 = 30,
    D3D12_MARKER_API_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31,
    D3D12_MARKER_API_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32,
    D3D12_MARKER_API_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33,
    D3D12_MARKER_API_DISPATCHRAYS = 34,
    D3D12_MARKER_API_INITIALIZEMETACOMMAND = 35,
    D3D12_MARKER_API_EXECUTEMETACOMMAND = 36,
    D3D12_MARKER_API_ESTIMATEMOTION = 37,
    D3D12_MARKER_API_RESOLVEMOTIONVECTORHEAP = 38,
    D3D12_MARKER_API_SETPIPELINESTATE1 = 39,
    D3D12_MARKER_API_INITIALIZEEXTENSIONCOMMAND = 40,
    D3D12_MARKER_API_EXECUTEEXTENSIONCOMMAND = 41,
    D3D12_MARKER_API_DISPATCHMESH = 42,
    D3D12_MARKER_API_ENCODEFRAME = 43,
    D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA = 44,
    D3D12_MARKER_API_BARRIER = 45,
    D3D12_MARKER_API_BEGIN_COMMAND_LIST = 46,
    D3D12_MARKER_API_DISPATCHGRAPH = 47,
    D3D12_MARKER_API_SETPROGRAM = 48,
    D3D12_MARKER_API_ENCODEFRAME1 = 49,
    D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA1 = 50,
    D3D12_MARKER_API_RESOLVEINPUTPARAMLAYOUT = 51,
    D3D12_MARKER_API_PROCESSFRAMES2 = 52,
    D3D12_MARKER_API_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS = 53,
} D3D12_MARKER_API;

typedef enum D3D12_AUTO_BREADCRUMB_OP {
    D3D12_AUTO_BREADCRUMB_OP_SETMARKER = D3D12_MARKER_API_SETMARKER,
    D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = D3D12_MARKER_API_BEGINEVENT,
    D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = D3D12_MARKER_API_ENDEVENT,
    D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = D3D12_MARKER_API_DRAWINSTANCED,
    D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = D3D12_MARKER_API_DRAWINDEXEDINSTANCED,
    D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = D3D12_MARKER_API_EXECUTEINDIRECT,
    D3D12_AUTO_BREADCRUMB_OP_DISPATCH = D3D12_MARKER_API_DISPATCH,
    D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = D3D12_MARKER_API_COPYBUFFERREGION,
    D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = D3D12_MARKER_API_COPYTEXTUREREGION,
    D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = D3D12_MARKER_API_COPYRESOURCE,
    D3D12_AUTO_BREADCRUMB_OP_COPYTILES = D3D12_MARKER_API_COPYTILES,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = D3D12_MARKER_API_RESOLVESUBRESOURCE,
    D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = D3D12_MARKER_API_CLEARRENDERTARGETVIEW,
    D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = D3D12_MARKER_API_CLEARUNORDEREDACCESSVIEW,
    D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = D3D12_MARKER_API_CLEARDEPTHSTENCILVIEW,
    D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = D3D12_MARKER_API_RESOURCEBARRIER,
    D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = D3D12_MARKER_API_EXECUTEBUNDLE,
    D3D12_AUTO_BREADCRUMB_OP_PRESENT = D3D12_MARKER_API_PRESENT,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = D3D12_MARKER_API_RESOLVEQUERYDATA,
    D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = D3D12_MARKER_API_BEGINSUBMISSION,
    D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = D3D12_MARKER_API_ENDSUBMISSION,
    D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = D3D12_MARKER_API_DECODEFRAME,
    D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = D3D12_MARKER_API_PROCESSFRAMES,
    D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = D3D12_MARKER_API_ATOMICCOPYBUFFERUINT,
    D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = D3D12_MARKER_API_ATOMICCOPYBUFFERUINT64,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = D3D12_MARKER_API_RESOLVESUBRESOURCEREGION,
    D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = D3D12_MARKER_API_WRITEBUFFERIMMEDIATE,
    D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = D3D12_MARKER_API_DECODEFRAME1,
    D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = D3D12_MARKER_API_SETPROTECTEDRESOURCESESSION,
    D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = D3D12_MARKER_API_DECODEFRAME2,
    D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = D3D12_MARKER_API_PROCESSFRAMES1,
    D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = D3D12_MARKER_API_BUILDRAYTRACINGACCELERATIONSTRUCTURE,
    D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = D3D12_MARKER_API_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO,
    D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = D3D12_MARKER_API_COPYRAYTRACINGACCELERATIONSTRUCTURE,
    D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = D3D12_MARKER_API_DISPATCHRAYS,
    D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = D3D12_MARKER_API_INITIALIZEMETACOMMAND,
    D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = D3D12_MARKER_API_EXECUTEMETACOMMAND,
    D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = D3D12_MARKER_API_ESTIMATEMOTION,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = D3D12_MARKER_API_RESOLVEMOTIONVECTORHEAP,
    D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = D3D12_MARKER_API_SETPIPELINESTATE1,
    D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = D3D12_MARKER_API_INITIALIZEEXTENSIONCOMMAND,
    D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = D3D12_MARKER_API_EXECUTEEXTENSIONCOMMAND,
    D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = D3D12_MARKER_API_DISPATCHMESH,
    D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = D3D12_MARKER_API_ENCODEFRAME,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA,
    D3D12_AUTO_BREADCRUMB_OP_BARRIER = D3D12_MARKER_API_BARRIER,
    D3D12_AUTO_BREADCRUMB_OP_BEGIN_COMMAND_LIST = D3D12_MARKER_API_BEGIN_COMMAND_LIST,
    D3D12_AUTO_BREADCRUMB_OP_DISPATCHGRAPH = D3D12_MARKER_API_DISPATCHGRAPH,
    D3D12_AUTO_BREADCRUMB_OP_SETPROGRAM = D3D12_MARKER_API_SETPROGRAM,
    D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME1 = D3D12_MARKER_API_ENCODEFRAME1,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA1 = D3D12_MARKER_API_RESOLVEENCODEROUTPUTMETADATA1,
    D3D12_AUTO_BREADCRUMB_OP_RESOLVEINPUTPARAMLAYOUT = D3D12_MARKER_API_RESOLVEINPUTPARAMLAYOUT,
    D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES2 = D3D12_MARKER_API_PROCESSFRAMES2,
    D3D12_AUTO_BREADCRUMB_OP_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS = D3D12_MARKER_API_SET_WORK_GRAPH_MAXIMUM_GPU_INPUT_RECORDS,
} D3D12_AUTO_BREADCRUMB_OP;

