/*** Autogenerated by WIDL 10.4 from include/d3d12sdklayers.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __d3d12sdklayers_h__
#define __d3d12sdklayers_h__

/* Forward declarations */

#ifndef __ID3D12Debug_FWD_DEFINED__
#define __ID3D12Debug_FWD_DEFINED__
typedef interface ID3D12Debug ID3D12Debug;
#ifdef __cplusplus
interface ID3D12Debug;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12Debug1_FWD_DEFINED__
#define __ID3D12Debug1_FWD_DEFINED__
typedef interface ID3D12Debug1 ID3D12Debug1;
#ifdef __cplusplus
interface ID3D12Debug1;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12Debug2_FWD_DEFINED__
#define __ID3D12Debug2_FWD_DEFINED__
typedef interface ID3D12Debug2 ID3D12Debug2;
#ifdef __cplusplus
interface ID3D12Debug2;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12Debug3_FWD_DEFINED__
#define __ID3D12Debug3_FWD_DEFINED__
typedef interface ID3D12Debug3 ID3D12Debug3;
#ifdef __cplusplus
interface ID3D12Debug3;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12Debug4_FWD_DEFINED__
#define __ID3D12Debug4_FWD_DEFINED__
typedef interface ID3D12Debug4 ID3D12Debug4;
#ifdef __cplusplus
interface ID3D12Debug4;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12Debug5_FWD_DEFINED__
#define __ID3D12Debug5_FWD_DEFINED__
typedef interface ID3D12Debug5 ID3D12Debug5;
#ifdef __cplusplus
interface ID3D12Debug5;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12DebugDevice_FWD_DEFINED__
#define __ID3D12DebugDevice_FWD_DEFINED__
typedef interface ID3D12DebugDevice ID3D12DebugDevice;
#ifdef __cplusplus
interface ID3D12DebugDevice;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12DebugDevice1_FWD_DEFINED__
#define __ID3D12DebugDevice1_FWD_DEFINED__
typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;
#ifdef __cplusplus
interface ID3D12DebugDevice1;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12DebugDevice2_FWD_DEFINED__
#define __ID3D12DebugDevice2_FWD_DEFINED__
typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2;
#ifdef __cplusplus
interface ID3D12DebugDevice2;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12SharingContract_FWD_DEFINED__
#define __ID3D12SharingContract_FWD_DEFINED__
typedef interface ID3D12SharingContract ID3D12SharingContract;
#ifdef __cplusplus
interface ID3D12SharingContract;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12InfoQueue_FWD_DEFINED__
#define __ID3D12InfoQueue_FWD_DEFINED__
typedef interface ID3D12InfoQueue ID3D12InfoQueue;
#ifdef __cplusplus
interface ID3D12InfoQueue;
#endif /* __cplusplus */
#endif

#ifndef __ID3D12InfoQueue1_FWD_DEFINED__
#define __ID3D12InfoQueue1_FWD_DEFINED__
typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1;
#ifdef __cplusplus
interface ID3D12InfoQueue1;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <d3d12.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifdef WINE_NO_UNICODE_MACROS
#undef GetMessage
#endif
typedef enum D3D12_MESSAGE_CATEGORY {
    D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0x0,
    D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = 0x1,
    D3D12_MESSAGE_CATEGORY_INITIALIZATION = 0x2,
    D3D12_MESSAGE_CATEGORY_CLEANUP = 0x3,
    D3D12_MESSAGE_CATEGORY_COMPILATION = 0x4,
    D3D12_MESSAGE_CATEGORY_STATE_CREATION = 0x5,
    D3D12_MESSAGE_CATEGORY_STATE_SETTING = 0x6,
    D3D12_MESSAGE_CATEGORY_STATE_GETTING = 0x7,
    D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 0x8,
    D3D12_MESSAGE_CATEGORY_EXECUTION = 0x9,
    D3D12_MESSAGE_CATEGORY_SHADER = 0xa
} D3D12_MESSAGE_CATEGORY;
typedef enum D3D12_MESSAGE_SEVERITY {
    D3D12_MESSAGE_SEVERITY_CORRUPTION = 0x0,
    D3D12_MESSAGE_SEVERITY_ERROR = 0x1,
    D3D12_MESSAGE_SEVERITY_WARNING = 0x2,
    D3D12_MESSAGE_SEVERITY_INFO = 0x3,
    D3D12_MESSAGE_SEVERITY_MESSAGE = 0x4
} D3D12_MESSAGE_SEVERITY;
typedef enum D3D12_MESSAGE_ID {
    D3D12_MESSAGE_ID_UNKNOWN = 0x0,
    D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 0x1,
    D3D12_MESSAGE_ID_CORRUPTED_THIS = 0x2,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 0x3,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 0x4,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 0x5,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 0x6,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 0x7,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 0x8,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 0x9,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 0xa,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 0xb,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 0xc,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 0xd,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 0xe,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 0xf,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 0x10,
    D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 0x11,
    D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 0x12,
    D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 0x13,
    D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 0x14,
    D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 0x15,
    D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 0x18,
    D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 0x19,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 0x1a,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 0x1b,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 0x1c,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 0x1d,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 0x1e,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 0x1f,
    D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 0x20,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 0x23,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 0x24,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 0x25,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 0x26,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 0x27,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 0x28,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 0x29,
    D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 0x2a,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 0x2d,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 0x2e,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 0x2f,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 0x30,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 0x31,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 0x34,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 0x35,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 0x36,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 0x37,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 0x38,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 0x39,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 0x3a,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 0x3b,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 0x3c,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 0x3d,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 0x3e,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 0x3f,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 0x40,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 0x41,
    D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 0x42,
    D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 0x43,
    D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 0x44,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 0x45,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 0x46,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 0x47,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 0x48,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 0x49,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 0x4a,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 0x4b,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 0x4c,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 0x4f,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 0x50,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 0x51,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 0x52,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 0x53,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 0x54,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 0x55,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 0x56,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 0x57,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 0x58,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 0x59,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 0x5a,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 0x5b,
    D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 0x5c,
    D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 0x5d,
    D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 0x5e,
    D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 0x5f,
    D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 0x60,
    D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 0x61,
    D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 0x62,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 0x64,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 0x65,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 0x66,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 0x67,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 0x68,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 0x69,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 0x6a,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 0x6b,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 0x6c,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 0x6d,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 0x6f,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 0x70,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 0x71,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 0x72,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 0x73,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 0x74,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 0x75,
    D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 0x87,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 0xc8,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 0xc9,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 0xca,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 0xd1,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 0xd2,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 0xd3,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 0xd4,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 0xd5,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 0xdb,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 0xdd,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 0xde,
    D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 0xe8,
    D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 0xe9,
    D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 0xea,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 0xef,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 0xf0,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 0xf5,
    D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 0xfd,
    D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 0xff,
    D3D12_MESSAGE_ID_LIVE_DEVICE = 0x112,
    D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 0x113,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 0x114,
    D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 0x115,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 0x116,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 0x118,
    D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 0x11b,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 0x11c,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 0x11d,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 0x11e,
    D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 0x11f,
    D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 0x121,
    D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 0x122,
    D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 0x123,
    D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 0x124,
    D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 0x126,
    D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 0x127,
    D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 0x128,
    D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 0x129,
    D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 0x136,
    D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 0x13e,
    D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 0x141,
    D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 0x142,
    D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 0x143,
    D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14b,
    D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14c,
    D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14d,
    D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14e,
    D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 0x14f,
    D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x150,
    D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x151,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 0x154,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 0x155,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 0x156,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 0x157,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 0x158,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 0x159,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 0x15a,
    D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 0x162,
    D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 0x191,
    D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 0x193,
    D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19a,
    D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19c,
    D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19e,
    D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a0,
    D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a2,
    D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a4,
    D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a6,
    D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 0x1a9,
    D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 0x1aa,
    D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 0x1ab,
    D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 0x1ac,
    D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 0x1ad,
    D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 0x1ae,
    D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 0x1af,
    D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 0x1bf,
    D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 0x1c0,
    D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 0x1ed,
    D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 0x1ee,
    D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 0x1fa,
    D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 0x1fb,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 0x207,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 0x208,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 0x209,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 0x20a,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 0x20b,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 0x20c,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 0x20d,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 0x20e,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 0x20f,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 0x210,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 0x211,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 0x212,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 0x213,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 0x214,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 0x215,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 0x216,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 0x217,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 0x218,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 0x219,
    D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 0x21a,
    D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 0x21c,
    D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 0x21d,
    D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 0x21e,
    D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 0x21f,
    D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 0x220,
    D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 0x222,
    D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 0x223,
    D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 0x225,
    D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 0x228,
    D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 0x229,
    D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 0x22a,
    D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 0x22d,
    D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 0x22e,
    D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 0x22f,
    D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 0x230,
    D3D12_MESSAGE_ID_CREATE_RESOURCE = 0x232,
    D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 0x233,
    D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 0x234,
    D3D12_MESSAGE_ID_CREATE_LIBRARY = 0x235,
    D3D12_MESSAGE_ID_CREATE_HEAP = 0x236,
    D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 0x237,
    D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 0x238,
    D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 0x239,
    D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 0x23a,
    D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 0x23b,
    D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 0x23c,
    D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 0x23d,
    D3D12_MESSAGE_ID_LIVE_RESOURCE = 0x23f,
    D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 0x240,
    D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 0x241,
    D3D12_MESSAGE_ID_LIVE_LIBRARY = 0x242,
    D3D12_MESSAGE_ID_LIVE_HEAP = 0x243,
    D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 0x244,
    D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 0x245,
    D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 0x246,
    D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 0x247,
    D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 0x248,
    D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 0x249,
    D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 0x24a,
    D3D12_MESSAGE_ID_DESTROY_RESOURCE = 0x24c,
    D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 0x24d,
    D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 0x24e,
    D3D12_MESSAGE_ID_DESTROY_LIBRARY = 0x24f,
    D3D12_MESSAGE_ID_DESTROY_HEAP = 0x250,
    D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 0x251,
    D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 0x252,
    D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 0x253,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 0x255,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 0x257,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 0x25a,
    D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 0x25b,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 0x25c,
    D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 0x25f,
    D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 0x260,
    D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 0x261,
    D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 0x262,
    D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 0x263,
    D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 0x265,
    D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 0x266,
    D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 0x267,
    D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 0x268,
    D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 0x26e,
    D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 0x26f,
    D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 0x270,
    D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 0x271,
    D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 0x272,
    D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 0x273,
    D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 0x274,
    D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 0x275,
    D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 0x276,
    D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 0x277,
    D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 0x278,
    D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 0x279,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 0x27a,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 0x27b,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 0x27c,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 0x27d,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 0x27e,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 0x27f,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 0x280,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 0x281,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 0x282,
    D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 0x283,
    D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 0x284,
    D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 0x285,
    D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 0x286,
    D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 0x287,
    D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 0x289,
    D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 0x28a,
    D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 0x28c,
    D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 0x28d,
    D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 0x28e,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 0x28f,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 0x290,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 0x291,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 0x292,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 0x293,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 0x294,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 0x295,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 0x296,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 0x297,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 0x298,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 0x299,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 0x29a,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 0x29b,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 0x29c,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 0x29d,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 0x29e,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 0x29f,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 0x2a0,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 0x2a1,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 0x2a2,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 0x2a3,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 0x2a4,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 0x2a5,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 0x2a6,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 0x2a7,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 0x2a8,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 0x2a9,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 0x2aa,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 0x2ab,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 0x2ac,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 0x2ad,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 0x2ae,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 0x2af,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 0x2b0,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 0x2b1,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 0x2b2,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 0x2b3,
    D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 0x2b4,
    D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 0x2b5,
    D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 0x2b6,
    D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 0x2b7,
    D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 0x2b8,
    D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 0x2b9,
    D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 0x2ba,
    D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 0x2bb,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 0x2bc,
    D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 0x2bd,
    D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 0x2be,
    D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 0x2bf,
    D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 0x2c1,
    D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 0x2c4,
    D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 0x2c5,
    D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 0x2c6,
    D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 0x2c7,
    D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 0x2c8,
    D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 0x2c9,
    D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 0x2cb,
    D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 0x2cd,
    D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 0x2ce,
    D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 0x2cf,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 0x2d0,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 0x2d1,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 0x2d2,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 0x2d3,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 0x2d4,
    D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 0x2d5,
    D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 0x2d6,
    D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 0x2d7,
    D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 0x2d8,
    D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 0x2d9,
    D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 0x2db,
    D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 0x2dc,
    D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 0x2dd,
    D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 0x2de,
    D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 0x2df,
    D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 0x2e1,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 0x2e2,
    D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 0x2e3,
    D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 0x2e4,
    D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 0x2e3,
    D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 0x2e4,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 0x2e5,
    D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 0x2e6,
    D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 0x2e7,
    D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 0x2e8,
    D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 0x2e9,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 0x32f,
    D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 0x330,
    D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 0x331,
    D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 0x332,
    D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 0x334,
    D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 0x335,
    D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 0x336,
    D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 0x337,
    D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 0x338,
    D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 0x339,
    D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 0x33a,
    D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 0x33b,
    D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 0x33c,
    D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 0x33d,
    D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 0x340,
    D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 0x341,
    D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 0x342,
    D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 0x343,
    D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 0x344,
    D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 0x345,
    D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 0x346,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 0x347,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 0x348,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 0x349,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 0x34a,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 0x34b,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 0x34c,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 0x34d,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 0x34e,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 0x34f,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 0x350,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 0x351,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 0x352,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 0x353,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 0x354,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 0x355,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 0x356,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 0x357,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 0x358,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 0x359,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 0x35a,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 0x35b,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 0x35c,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 0x35d,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 0x35e,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 0x35f,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 0x360,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 0x361,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 0x362,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 0x363,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 0x364,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 0x365,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 0x366,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 0x367,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 0x368,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 0x369,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 0x36a,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 0x36b,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 0x36c,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 0x36d,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 0x36e,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 0x36f,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 0x370,
    D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 0x371,
    D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 0x372,
    D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 0x373,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 0x374,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 0x375,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 0x376,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 0x377,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 0x378,
    D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 0x379,
    D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 0x37a,
    D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 0x37b,
    D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 0x37c,
    D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 0x37d,
    D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 0x37e,
    D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 0x37f,
    D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 0x380,
    D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 0x381,
    D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 0x382,
    D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 0x383,
    D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 0x384,
    D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 0x385,
    D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 0x386,
    D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 0x387,
    D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 0x388,
    D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 0x389,
    D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 0x38a,
    D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 0x38b,
    D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 0x38c,
    D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 0x38d,
    D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 0x38e,
    D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 0x38f,
    D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 0x390,
    D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 0x391,
    D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 0x392,
    D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 0x393,
    D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 0x394,
    D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 0x395,
    D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 0x396,
    D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 0x397,
    D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 0x398,
    D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 0x399,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 0x39a,
    D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 0x39b,
    D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 0x39c,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 0x39d,
    D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 0x39e,
    D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 0x39f,
    D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 0x3a1,
    D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 0x3a2,
    D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 0x3a3,
    D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 0x3a4,
    D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 0x3a5,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 0x3a6,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 0x3a7,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 0x3a8,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 0x3a9,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 0x3aa,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 0x3ab,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 0x3ac,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 0x3ad,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 0x3ae,
    D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 0x3af,
    D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 0x3b0,
    D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 0x3b1,
    D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 0x3b2,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 0x3b3,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 0x3b4,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 0x3b5,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 0x3b6,
    D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 0x3b7,
    D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 0x3b8,
    D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 0x3b9,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 0x3ba,
    D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 0x3bb,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 0x3bc,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 0x3bd,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 0x3be,
    D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 0x3bf,
    D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 0x3c0,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 0x3c1,
    D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 0x3c2,
    D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 0x3c3,
    D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 0x3c4,
    D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 0x3c5,
    D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 0x3c6,
    D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 0x3c7,
    D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 0x3c8,
    D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 0x3c9,
    D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 0x3ca,
    D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 0x3cb,
    D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 0x3cc,
    D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 0x3cd,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 0x3ce,
    D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 0x3cf,
    D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 0x3d0,
    D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 0x3d1,
    D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 0x3d2,
    D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 0x3d3,
    D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 0x3d4,
    D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 0x3d5,
    D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 0x3d6,
    D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 0x3d7,
    D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 0x3d8,
    D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 0x3d9,
    D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 0x3da,
    D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 0x3db,
    D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 0x3dc,
    D3D12_MESSAGE_ID_DEPRECATED_API = 0x3dd,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 0x3de,
    D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 0x3df,
    D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 0x3e0,
    D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 0x3e1,
    D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 0x3e2,
    D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 0x3e3,
    D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 0x3e4,
    D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 0x3e5,
    D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 0x3e6,
    D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 0x3e7,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 0x3e8,
    D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 0x3e9,
    D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 0x3ea,
    D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 0x3eb,
    D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 0x3ec,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 0x3ed,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 0x3ee,
    D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 0x3ef,
    D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 0x3f0,
    D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 0x3f1,
    D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 0x3f5,
    D3D12_MESSAGE_ID_BEGIN_EVENT = 0x3f6,
    D3D12_MESSAGE_ID_END_EVENT = 0x3f7,
    D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 0x3f8,
    D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 0x3f9,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 0x3fa,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 0x3fb,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 0x3fc,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 0x3fd,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 0x3fe,
    D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 0x3ff,
    D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 0x400,
    D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 0x401,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 0x402,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 0x403,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 0x404,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 0x405,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 0x406,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 0x407,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 0x408,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 0x409,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 0x40a,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 0x40b,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 0x40c,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 0x40d,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 0x40e,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 0x40f,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 0x410,
    D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 0x411,
    D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 0x412,
    D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 0x413,
    D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 0x414,
    D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 0x415,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 0x416,
    D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 0x417,
    D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 0x418,
    D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 0x419,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 0x41a,
    D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 0x41b,
    D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 0x41c,
    D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 0x41d,
    D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 0x41e,
    D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 0x41f,
    D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 0x420,
    D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 0x421,
    D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 0x422,
    D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 0x423,
    D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 0x424,
    D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 0x425,
    D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 0x426,
    D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 0x427,
    D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 0x428,
    D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 0x429,
    D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 0x42a,
    D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 0x42b,
    D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 0x42c,
    D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 0x42d,
    D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 0x42e,
    D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 0x42f,
    D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 0x430,
    D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 0x431,
    D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 0x432,
    D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 0x433,
    D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 0x434,
    D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 0x435,
    D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 0x436,
    D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 0x437,
    D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 0x438,
    D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 0x439,
    D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 0x43a,
    D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 0x43b,
    D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 0x43c,
    D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 0x43d,
    D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 0x43e,
    D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 0x43f,
    D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 0x440,
    D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 0x441,
    D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 0x442,
    D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 0x443,
    D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 0x444,
    D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 0x445,
    D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 0x446,
    D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 0x447,
    D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 0x448,
    D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 0x449,
    D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 0x44a,
    D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 0x44b,
    D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 0x44c,
    D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 0x44d,
    D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 0x44e,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 0x44f,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 0x450,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 0x451,
    D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 0x452,
    D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 0x453,
    D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 0x454,
    D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 0x455,
    D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 0x456,
    D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 0x457,
    D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 0x458,
    D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 0x459,
    D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 0x45a,
    D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 0x45b,
    D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 0x45c,
    D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 0x45d,
    D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 0x45e,
    D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 0x45f,
    D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 0x460,
    D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 0x461,
    D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 0x462,
    D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 0x463,
    D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 0x464,
    D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 0x465,
    D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 0x466,
    D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 0x467,
    D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 0x468,
    D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 0x469,
    D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 0x46a,
    D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 0x46b,
    D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 0x46c,
    D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 0x46d,
    D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 0x46e,
    D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 0x46f,
    D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 0x470,
    D3D12_MESSAGE_ID_CREATE_META_COMMAND = 0x471,
    D3D12_MESSAGE_ID_LIVE_META_COMMAND = 0x472,
    D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 0x473,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 0x474,
    D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 0x475,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 0x476,
    D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 0x477,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 0x478,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 0x479,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 0x47a,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 0x47b,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 0x47c,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 0x47d,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 0x47e,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 0x47f,
    D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 0x480,
    D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 0x481,
    D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 0x482,
    D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 0x483,
    D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 0x484,
    D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 0x485,
    D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 0x486,
    D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 0x487,
    D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 0x488,
    D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 0x489,
    D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 0x48a,
    D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 0x48b,
    D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 0x48c,
    D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 0x48d,
    D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 0x48e,
    D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 0x48f,
    D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 0x490,
    D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 0x491,
    D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 0x492,
    D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 0x493,
    D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 0x494,
    D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 0x495,
    D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 0x496,
    D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 0x497,
    D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 0x498,
    D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 0x499,
    D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 0x49a,
    D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 0x49b,
    D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 0x49c,
    D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 0x49d,
    D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 0x49e,
    D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 0x49f,
    D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 0x4a0,
    D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 0x4a1,
    D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 0x4a2,
    D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 0x4a3,
    D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 0x4a4,
    D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 0x4a5,
    D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 0x4a6,
    D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 0x4a7,
    D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 0x4a8,
    D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 0x4a9,
    D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 0x4aa,
    D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 0x4ab,
    D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 0x4ac,
    D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 0x4ad,
    D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 0x4ae,
    D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 0x4af,
    D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 0x4b0,
    D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 0x4b1,
    D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 0x4b2,
    D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 0x4b3,
    D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 0x4b4,
    D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 0x4b5,
    D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 0x4b6,
    D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 0x4b7,
    D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 0x4b8,
    D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 0x4b9,
    D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 0x4ba,
    D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 0x4bb,
    D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 0x4bc,
    D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 0x4bd,
    D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 0x4be,
    D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 0x4bf,
    D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 0x4c0,
    D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 0x4c1,
    D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 0x4c2,
    D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 0x4c3,
    D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 0x4c4,
    D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 0x4c5,
    D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 0x4c6,
    D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 0x4c7,
    D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 0x4c8,
    D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 0x4c9,
    D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 0x4ca,
    D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 0x4cb,
    D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 0x4cc,
    D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 0x4cd,
    D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 0x4ce,
    D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 0x4cf,
    D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4d0,
    D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 0x4d1,
    D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 0x4d2,
    D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 0x4d3,
    D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 0x4d4,
    D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 0x4d5,
    D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 0x4d6,
    D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 0x4d7,
    D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 0x4d8,
    D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 0x4d9,
    D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 0x4da,
    D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 0x4db,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 0x4dc,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 0x4dd,
    D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 0x4de,
    D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 0x4df,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 0x4e0,
    D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 0x4e1,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 0x4e2,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 0x4e3,
    D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 0x4e4,
    D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 0x4e5,
    D3D12_MESSAGE_ID_EMPTY_DISPATCH = 0x4e6,
    D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 0x4e7,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 0x4e8,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 0x4e9,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 0x4ea,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 0x4eb,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 0x4ec,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 0x4ed,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 0x4ee,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 0x4ef,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 0x4f0,
    D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 0x4f1,
    D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 0x4f2,
    D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 0x4f3,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 0x4f4,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 0x4f5,
    D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 0x4f6,
    D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 0x4f7,
    D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 0x4f8,
    D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 0x4f9,
    D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4fa,
    D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4fb,
    D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 0x4fc,
    D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 0x4fd,
    D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 0x4fe,
    D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 0x4ff,
    D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 0x500
} D3D12_MESSAGE_ID;
typedef enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0x0,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 0x1,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 0x2,
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 0x3,
    NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 0x4
} D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
typedef enum D3D12_GPU_BASED_VALIDATION_FLAGS {
    D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0x0,
    D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1
} D3D12_GPU_BASED_VALIDATION_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)
typedef enum D3D12_RLDO_FLAGS {
    D3D12_RLDO_NONE = 0x0,
    D3D12_RLDO_SUMMARY = 0x1,
    D3D12_RLDO_DETAIL = 0x2,
    D3D12_RLDO_IGNORE_INTERNAL = 0x4
} D3D12_RLDO_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)
typedef enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
    D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
    D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 1,
    D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = 2
} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
typedef enum D3D12_DEBUG_FEATURE {
    D3D12_DEBUG_FEATURE_NONE = 0x0,
    D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1,
    D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2,
    D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4,
    D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8
} D3D12_DEBUG_FEATURE;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)
typedef enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0x0,
    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7
} D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)
typedef enum D3D12_MESSAGE_CALLBACK_FLAGS {
    D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0x0,
    D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1
} D3D12_MESSAGE_CALLBACK_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS)
typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
    UINT MaxMessagesPerCommandList;
    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
} D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
    FLOAT SlowdownFactor;
} D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
typedef struct D3D12_MESSAGE {
    D3D12_MESSAGE_CATEGORY Category;
    D3D12_MESSAGE_SEVERITY Severity;
    D3D12_MESSAGE_ID ID;
    const char *pDescription;
    SIZE_T DescriptionByteLength;
} D3D12_MESSAGE;
typedef struct D3D12_INFO_QUEUE_FILTER_DESC {
    UINT NumCategories;
    D3D12_MESSAGE_CATEGORY *pCategoryList;
    UINT NumSeverities;
    D3D12_MESSAGE_SEVERITY *pSeverityList;
    UINT NumIDs;
    D3D12_MESSAGE_ID *pIDList;
} D3D12_INFO_QUEUE_FILTER_DESC;
typedef struct D3D12_INFO_QUEUE_FILTER {
    D3D12_INFO_QUEUE_FILTER_DESC AllowList;
    D3D12_INFO_QUEUE_FILTER_DESC DenyList;
} D3D12_INFO_QUEUE_FILTER;
/*****************************************************************************
 * ID3D12Debug interface
 */
#ifndef __ID3D12Debug_INTERFACE_DEFINED__
#define __ID3D12Debug_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9,0x89, 0xf0,0x27,0x44,0x82,0x45,0xe0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
ID3D12Debug : public IUnknown
{
    virtual void STDMETHODCALLTYPE EnableDebugLayer(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9,0x89, 0xf0,0x27,0x44,0x82,0x45,0xe0)
#endif
#else
typedef struct ID3D12DebugVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12Debug *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12Debug *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12Debug *This);

    /*** ID3D12Debug methods ***/
    void (STDMETHODCALLTYPE *EnableDebugLayer)(
        ID3D12Debug *This);

    END_INTERFACE
} ID3D12DebugVtbl;

interface ID3D12Debug {
    CONST_VTBL ID3D12DebugVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Debug_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Debug_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Debug_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Debug methods ***/
#define ID3D12Debug_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12Debug_QueryInterface(ID3D12Debug* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12Debug_AddRef(ID3D12Debug* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12Debug_Release(ID3D12Debug* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12Debug methods ***/
static inline void ID3D12Debug_EnableDebugLayer(ID3D12Debug* This) {
    This->lpVtbl->EnableDebugLayer(This);
}
#endif
#endif

#endif


#endif  /* __ID3D12Debug_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12Debug1 interface
 */
#ifndef __ID3D12Debug1_INTERFACE_DEFINED__
#define __ID3D12Debug1_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12Debug1, 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8,0xad, 0x15,0x90,0x00,0xaf,0x43,0x04);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304")
ID3D12Debug1 : public IUnknown
{
    virtual void STDMETHODCALLTYPE EnableDebugLayer(
        ) = 0;

    virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
        WINBOOL enable) = 0;

    virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
        WINBOOL enable) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Debug1, 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8,0xad, 0x15,0x90,0x00,0xaf,0x43,0x04)
#endif
#else
typedef struct ID3D12Debug1Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12Debug1 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12Debug1 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12Debug1 *This);

    /*** ID3D12Debug1 methods ***/
    void (STDMETHODCALLTYPE *EnableDebugLayer)(
        ID3D12Debug1 *This);

    void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
        ID3D12Debug1 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
        ID3D12Debug1 *This,
        WINBOOL enable);

    END_INTERFACE
} ID3D12Debug1Vtbl;

interface ID3D12Debug1 {
    CONST_VTBL ID3D12Debug1Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Debug1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Debug1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Debug1 methods ***/
#define ID3D12Debug1_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
#define ID3D12Debug1_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12Debug1_QueryInterface(ID3D12Debug1* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12Debug1_AddRef(ID3D12Debug1* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12Debug1_Release(ID3D12Debug1* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12Debug1 methods ***/
static inline void ID3D12Debug1_EnableDebugLayer(ID3D12Debug1* This) {
    This->lpVtbl->EnableDebugLayer(This);
}
static inline void ID3D12Debug1_SetEnableGPUBasedValidation(ID3D12Debug1* This,WINBOOL enable) {
    This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
}
static inline void ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug1* This,WINBOOL enable) {
    This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
}
#endif
#endif

#endif


#endif  /* __ID3D12Debug1_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12Debug2 interface
 */
#ifndef __ID3D12Debug2_INTERFACE_DEFINED__
#define __ID3D12Debug2_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12Debug2, 0x93a665c4, 0xa3b2, 0x4e5d, 0xb6,0x92, 0xa2,0x6a,0xe1,0x4e,0x33,0x74);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374")
ID3D12Debug2 : public IUnknown
{
    virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
        D3D12_GPU_BASED_VALIDATION_FLAGS flags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Debug2, 0x93a665c4, 0xa3b2, 0x4e5d, 0xb6,0x92, 0xa2,0x6a,0xe1,0x4e,0x33,0x74)
#endif
#else
typedef struct ID3D12Debug2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12Debug2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12Debug2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12Debug2 *This);

    /*** ID3D12Debug2 methods ***/
    void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
        ID3D12Debug2 *This,
        D3D12_GPU_BASED_VALIDATION_FLAGS flags);

    END_INTERFACE
} ID3D12Debug2Vtbl;

interface ID3D12Debug2 {
    CONST_VTBL ID3D12Debug2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Debug2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Debug2_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Debug2 methods ***/
#define ID3D12Debug2_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12Debug2_QueryInterface(ID3D12Debug2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12Debug2_AddRef(ID3D12Debug2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12Debug2_Release(ID3D12Debug2* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12Debug2 methods ***/
static inline void ID3D12Debug2_SetGPUBasedValidationFlags(ID3D12Debug2* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
    This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
}
#endif
#endif

#endif


#endif  /* __ID3D12Debug2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12Debug3 interface
 */
#ifndef __ID3D12Debug3_INTERFACE_DEFINED__
#define __ID3D12Debug3_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12Debug3, 0x5cf4e58f, 0xf671, 0x4ff1, 0xa5,0x42, 0x36,0x86,0xe3,0xd1,0x53,0xd1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1")
ID3D12Debug3 : public ID3D12Debug
{
    virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
        WINBOOL enable) = 0;

    virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
        WINBOOL enable) = 0;

    virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
        D3D12_GPU_BASED_VALIDATION_FLAGS flags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Debug3, 0x5cf4e58f, 0xf671, 0x4ff1, 0xa5,0x42, 0x36,0x86,0xe3,0xd1,0x53,0xd1)
#endif
#else
typedef struct ID3D12Debug3Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12Debug3 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12Debug3 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12Debug3 *This);

    /*** ID3D12Debug methods ***/
    void (STDMETHODCALLTYPE *EnableDebugLayer)(
        ID3D12Debug3 *This);

    /*** ID3D12Debug3 methods ***/
    void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
        ID3D12Debug3 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
        ID3D12Debug3 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
        ID3D12Debug3 *This,
        D3D12_GPU_BASED_VALIDATION_FLAGS flags);

    END_INTERFACE
} ID3D12Debug3Vtbl;

interface ID3D12Debug3 {
    CONST_VTBL ID3D12Debug3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Debug3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Debug3_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Debug methods ***/
#define ID3D12Debug3_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
/*** ID3D12Debug3 methods ***/
#define ID3D12Debug3_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
#define ID3D12Debug3_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12Debug3_QueryInterface(ID3D12Debug3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12Debug3_AddRef(ID3D12Debug3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12Debug3_Release(ID3D12Debug3* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12Debug methods ***/
static inline void ID3D12Debug3_EnableDebugLayer(ID3D12Debug3* This) {
    This->lpVtbl->EnableDebugLayer(This);
}
/*** ID3D12Debug3 methods ***/
static inline void ID3D12Debug3_SetEnableGPUBasedValidation(ID3D12Debug3* This,WINBOOL enable) {
    This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
}
static inline void ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug3* This,WINBOOL enable) {
    This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
}
static inline void ID3D12Debug3_SetGPUBasedValidationFlags(ID3D12Debug3* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
    This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
}
#endif
#endif

#endif


#endif  /* __ID3D12Debug3_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12Debug4 interface
 */
#ifndef __ID3D12Debug4_INTERFACE_DEFINED__
#define __ID3D12Debug4_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12Debug4, 0x014b816e, 0x9ec5, 0x4a2f, 0xa8,0x45, 0xff,0xbe,0x44,0x1c,0xe1,0x3a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a")
ID3D12Debug4 : public ID3D12Debug3
{
    virtual void STDMETHODCALLTYPE DisableDebugLayer(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Debug4, 0x014b816e, 0x9ec5, 0x4a2f, 0xa8,0x45, 0xff,0xbe,0x44,0x1c,0xe1,0x3a)
#endif
#else
typedef struct ID3D12Debug4Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12Debug4 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12Debug4 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12Debug4 *This);

    /*** ID3D12Debug methods ***/
    void (STDMETHODCALLTYPE *EnableDebugLayer)(
        ID3D12Debug4 *This);

    /*** ID3D12Debug3 methods ***/
    void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
        ID3D12Debug4 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
        ID3D12Debug4 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
        ID3D12Debug4 *This,
        D3D12_GPU_BASED_VALIDATION_FLAGS flags);

    /*** ID3D12Debug4 methods ***/
    void (STDMETHODCALLTYPE *DisableDebugLayer)(
        ID3D12Debug4 *This);

    END_INTERFACE
} ID3D12Debug4Vtbl;

interface ID3D12Debug4 {
    CONST_VTBL ID3D12Debug4Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Debug4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Debug4_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Debug methods ***/
#define ID3D12Debug4_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
/*** ID3D12Debug3 methods ***/
#define ID3D12Debug4_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
#define ID3D12Debug4_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
/*** ID3D12Debug4 methods ***/
#define ID3D12Debug4_DisableDebugLayer(This) (This)->lpVtbl->DisableDebugLayer(This)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12Debug4_QueryInterface(ID3D12Debug4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12Debug4_AddRef(ID3D12Debug4* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12Debug4_Release(ID3D12Debug4* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12Debug methods ***/
static inline void ID3D12Debug4_EnableDebugLayer(ID3D12Debug4* This) {
    This->lpVtbl->EnableDebugLayer(This);
}
/*** ID3D12Debug3 methods ***/
static inline void ID3D12Debug4_SetEnableGPUBasedValidation(ID3D12Debug4* This,WINBOOL enable) {
    This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
}
static inline void ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug4* This,WINBOOL enable) {
    This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
}
static inline void ID3D12Debug4_SetGPUBasedValidationFlags(ID3D12Debug4* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
    This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
}
/*** ID3D12Debug4 methods ***/
static inline void ID3D12Debug4_DisableDebugLayer(ID3D12Debug4* This) {
    This->lpVtbl->DisableDebugLayer(This);
}
#endif
#endif

#endif


#endif  /* __ID3D12Debug4_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12Debug5 interface
 */
#ifndef __ID3D12Debug5_INTERFACE_DEFINED__
#define __ID3D12Debug5_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12Debug5, 0x548d6b12, 0x09fa, 0x40e0, 0x90,0x69, 0x5d,0xcd,0x58,0x9a,0x52,0xc9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9")
ID3D12Debug5 : public ID3D12Debug4
{
    virtual void STDMETHODCALLTYPE SetEnableAutoName(
        WINBOOL enable) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Debug5, 0x548d6b12, 0x09fa, 0x40e0, 0x90,0x69, 0x5d,0xcd,0x58,0x9a,0x52,0xc9)
#endif
#else
typedef struct ID3D12Debug5Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12Debug5 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12Debug5 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12Debug5 *This);

    /*** ID3D12Debug methods ***/
    void (STDMETHODCALLTYPE *EnableDebugLayer)(
        ID3D12Debug5 *This);

    /*** ID3D12Debug3 methods ***/
    void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
        ID3D12Debug5 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
        ID3D12Debug5 *This,
        WINBOOL enable);

    void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
        ID3D12Debug5 *This,
        D3D12_GPU_BASED_VALIDATION_FLAGS flags);

    /*** ID3D12Debug4 methods ***/
    void (STDMETHODCALLTYPE *DisableDebugLayer)(
        ID3D12Debug5 *This);

    /*** ID3D12Debug5 methods ***/
    void (STDMETHODCALLTYPE *SetEnableAutoName)(
        ID3D12Debug5 *This,
        WINBOOL enable);

    END_INTERFACE
} ID3D12Debug5Vtbl;

interface ID3D12Debug5 {
    CONST_VTBL ID3D12Debug5Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Debug5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Debug5_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Debug methods ***/
#define ID3D12Debug5_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
/*** ID3D12Debug3 methods ***/
#define ID3D12Debug5_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
#define ID3D12Debug5_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
/*** ID3D12Debug4 methods ***/
#define ID3D12Debug5_DisableDebugLayer(This) (This)->lpVtbl->DisableDebugLayer(This)
/*** ID3D12Debug5 methods ***/
#define ID3D12Debug5_SetEnableAutoName(This,enable) (This)->lpVtbl->SetEnableAutoName(This,enable)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12Debug5_QueryInterface(ID3D12Debug5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12Debug5_AddRef(ID3D12Debug5* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12Debug5_Release(ID3D12Debug5* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12Debug methods ***/
static inline void ID3D12Debug5_EnableDebugLayer(ID3D12Debug5* This) {
    This->lpVtbl->EnableDebugLayer(This);
}
/*** ID3D12Debug3 methods ***/
static inline void ID3D12Debug5_SetEnableGPUBasedValidation(ID3D12Debug5* This,WINBOOL enable) {
    This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
}
static inline void ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug5* This,WINBOOL enable) {
    This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
}
static inline void ID3D12Debug5_SetGPUBasedValidationFlags(ID3D12Debug5* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
    This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
}
/*** ID3D12Debug4 methods ***/
static inline void ID3D12Debug5_DisableDebugLayer(ID3D12Debug5* This) {
    This->lpVtbl->DisableDebugLayer(This);
}
/*** ID3D12Debug5 methods ***/
static inline void ID3D12Debug5_SetEnableAutoName(ID3D12Debug5* This,WINBOOL enable) {
    This->lpVtbl->SetEnableAutoName(This,enable);
}
#endif
#endif

#endif


#endif  /* __ID3D12Debug5_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12DebugDevice interface
 */
#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__
#define __ID3D12DebugDevice_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12DebugDevice, 0x3febd6dd, 0x4973, 0x4787, 0x81,0x94, 0xe4,0x5f,0x9e,0x28,0x92,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e")
ID3D12DebugDevice : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
        D3D12_DEBUG_FEATURE mask) = 0;

    virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
        D3D12_RLDO_FLAGS flags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DebugDevice, 0x3febd6dd, 0x4973, 0x4787, 0x81,0x94, 0xe4,0x5f,0x9e,0x28,0x92,0x3e)
#endif
#else
typedef struct ID3D12DebugDeviceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12DebugDevice *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12DebugDevice *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12DebugDevice *This);

    /*** ID3D12DebugDevice methods ***/
    HRESULT (STDMETHODCALLTYPE *SetFeatureMask)(
        ID3D12DebugDevice *This,
        D3D12_DEBUG_FEATURE mask);

    D3D12_DEBUG_FEATURE (STDMETHODCALLTYPE *GetFeatureMask)(
        ID3D12DebugDevice *This);

    HRESULT (STDMETHODCALLTYPE *ReportLiveDeviceObjects)(
        ID3D12DebugDevice *This,
        D3D12_RLDO_FLAGS flags);

    END_INTERFACE
} ID3D12DebugDeviceVtbl;

interface ID3D12DebugDevice {
    CONST_VTBL ID3D12DebugDeviceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DebugDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DebugDevice_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DebugDevice methods ***/
#define ID3D12DebugDevice_SetFeatureMask(This,mask) (This)->lpVtbl->SetFeatureMask(This,mask)
#define ID3D12DebugDevice_GetFeatureMask(This) (This)->lpVtbl->GetFeatureMask(This)
#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,flags) (This)->lpVtbl->ReportLiveDeviceObjects(This,flags)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12DebugDevice_QueryInterface(ID3D12DebugDevice* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12DebugDevice_AddRef(ID3D12DebugDevice* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12DebugDevice_Release(ID3D12DebugDevice* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12DebugDevice methods ***/
static inline HRESULT ID3D12DebugDevice_SetFeatureMask(ID3D12DebugDevice* This,D3D12_DEBUG_FEATURE mask) {
    return This->lpVtbl->SetFeatureMask(This,mask);
}
static inline D3D12_DEBUG_FEATURE ID3D12DebugDevice_GetFeatureMask(ID3D12DebugDevice* This) {
    return This->lpVtbl->GetFeatureMask(This);
}
static inline HRESULT ID3D12DebugDevice_ReportLiveDeviceObjects(ID3D12DebugDevice* This,D3D12_RLDO_FLAGS flags) {
    return This->lpVtbl->ReportLiveDeviceObjects(This,flags);
}
#endif
#endif

#endif


#endif  /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12DebugDevice1 interface
 */
#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__
#define __ID3D12DebugDevice1_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12DebugDevice1, 0xa9b71770, 0xd099, 0x4a65, 0xa6,0x98, 0x3d,0xee,0x10,0x02,0x0f,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88")
ID3D12DebugDevice1 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        const void *data,
        UINT size) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        void *data,
        UINT size) = 0;

    virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
        D3D12_RLDO_FLAGS flags) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DebugDevice1, 0xa9b71770, 0xd099, 0x4a65, 0xa6,0x98, 0x3d,0xee,0x10,0x02,0x0f,0x88)
#endif
#else
typedef struct ID3D12DebugDevice1Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12DebugDevice1 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12DebugDevice1 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12DebugDevice1 *This);

    /*** ID3D12DebugDevice1 methods ***/
    HRESULT (STDMETHODCALLTYPE *SetDebugParameter)(
        ID3D12DebugDevice1 *This,
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        const void *data,
        UINT size);

    HRESULT (STDMETHODCALLTYPE *GetDebugParameter)(
        ID3D12DebugDevice1 *This,
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        void *data,
        UINT size);

    HRESULT (STDMETHODCALLTYPE *ReportLiveDeviceObjects)(
        ID3D12DebugDevice1 *This,
        D3D12_RLDO_FLAGS flags);

    END_INTERFACE
} ID3D12DebugDevice1Vtbl;

interface ID3D12DebugDevice1 {
    CONST_VTBL ID3D12DebugDevice1Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DebugDevice1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DebugDevice1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DebugDevice1 methods ***/
#define ID3D12DebugDevice1_SetDebugParameter(This,type,data,size) (This)->lpVtbl->SetDebugParameter(This,type,data,size)
#define ID3D12DebugDevice1_GetDebugParameter(This,type,data,size) (This)->lpVtbl->GetDebugParameter(This,type,data,size)
#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,flags) (This)->lpVtbl->ReportLiveDeviceObjects(This,flags)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12DebugDevice1_QueryInterface(ID3D12DebugDevice1* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12DebugDevice1_AddRef(ID3D12DebugDevice1* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12DebugDevice1_Release(ID3D12DebugDevice1* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12DebugDevice1 methods ***/
static inline HRESULT ID3D12DebugDevice1_SetDebugParameter(ID3D12DebugDevice1* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,const void *data,UINT size) {
    return This->lpVtbl->SetDebugParameter(This,type,data,size);
}
static inline HRESULT ID3D12DebugDevice1_GetDebugParameter(ID3D12DebugDevice1* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,void *data,UINT size) {
    return This->lpVtbl->GetDebugParameter(This,type,data,size);
}
static inline HRESULT ID3D12DebugDevice1_ReportLiveDeviceObjects(ID3D12DebugDevice1* This,D3D12_RLDO_FLAGS flags) {
    return This->lpVtbl->ReportLiveDeviceObjects(This,flags);
}
#endif
#endif

#endif


#endif  /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12DebugDevice2 interface
 */
#ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__
#define __ID3D12DebugDevice2_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12DebugDevice2, 0x60eccbc1, 0x378d, 0x4df1, 0x89,0x4c, 0xf8,0xac,0x5c,0xe4,0xd7,0xdd);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd")
ID3D12DebugDevice2 : public ID3D12DebugDevice
{
    virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        const void *data,
        UINT size) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        void *data,
        UINT size) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DebugDevice2, 0x60eccbc1, 0x378d, 0x4df1, 0x89,0x4c, 0xf8,0xac,0x5c,0xe4,0xd7,0xdd)
#endif
#else
typedef struct ID3D12DebugDevice2Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12DebugDevice2 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12DebugDevice2 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12DebugDevice2 *This);

    /*** ID3D12DebugDevice methods ***/
    HRESULT (STDMETHODCALLTYPE *SetFeatureMask)(
        ID3D12DebugDevice2 *This,
        D3D12_DEBUG_FEATURE mask);

    D3D12_DEBUG_FEATURE (STDMETHODCALLTYPE *GetFeatureMask)(
        ID3D12DebugDevice2 *This);

    HRESULT (STDMETHODCALLTYPE *ReportLiveDeviceObjects)(
        ID3D12DebugDevice2 *This,
        D3D12_RLDO_FLAGS flags);

    /*** ID3D12DebugDevice2 methods ***/
    HRESULT (STDMETHODCALLTYPE *SetDebugParameter)(
        ID3D12DebugDevice2 *This,
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        const void *data,
        UINT size);

    HRESULT (STDMETHODCALLTYPE *GetDebugParameter)(
        ID3D12DebugDevice2 *This,
        D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
        void *data,
        UINT size);

    END_INTERFACE
} ID3D12DebugDevice2Vtbl;

interface ID3D12DebugDevice2 {
    CONST_VTBL ID3D12DebugDevice2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DebugDevice2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DebugDevice2_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DebugDevice methods ***/
#define ID3D12DebugDevice2_SetFeatureMask(This,mask) (This)->lpVtbl->SetFeatureMask(This,mask)
#define ID3D12DebugDevice2_GetFeatureMask(This) (This)->lpVtbl->GetFeatureMask(This)
#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,flags) (This)->lpVtbl->ReportLiveDeviceObjects(This,flags)
/*** ID3D12DebugDevice2 methods ***/
#define ID3D12DebugDevice2_SetDebugParameter(This,type,data,size) (This)->lpVtbl->SetDebugParameter(This,type,data,size)
#define ID3D12DebugDevice2_GetDebugParameter(This,type,data,size) (This)->lpVtbl->GetDebugParameter(This,type,data,size)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12DebugDevice2_QueryInterface(ID3D12DebugDevice2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12DebugDevice2_AddRef(ID3D12DebugDevice2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12DebugDevice2_Release(ID3D12DebugDevice2* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12DebugDevice methods ***/
static inline HRESULT ID3D12DebugDevice2_SetFeatureMask(ID3D12DebugDevice2* This,D3D12_DEBUG_FEATURE mask) {
    return This->lpVtbl->SetFeatureMask(This,mask);
}
static inline D3D12_DEBUG_FEATURE ID3D12DebugDevice2_GetFeatureMask(ID3D12DebugDevice2* This) {
    return This->lpVtbl->GetFeatureMask(This);
}
static inline HRESULT ID3D12DebugDevice2_ReportLiveDeviceObjects(ID3D12DebugDevice2* This,D3D12_RLDO_FLAGS flags) {
    return This->lpVtbl->ReportLiveDeviceObjects(This,flags);
}
/*** ID3D12DebugDevice2 methods ***/
static inline HRESULT ID3D12DebugDevice2_SetDebugParameter(ID3D12DebugDevice2* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,const void *data,UINT size) {
    return This->lpVtbl->SetDebugParameter(This,type,data,size);
}
static inline HRESULT ID3D12DebugDevice2_GetDebugParameter(ID3D12DebugDevice2* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,void *data,UINT size) {
    return This->lpVtbl->GetDebugParameter(This,type,data,size);
}
#endif
#endif

#endif


#endif  /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12SharingContract interface
 */
#ifndef __ID3D12SharingContract_INTERFACE_DEFINED__
#define __ID3D12SharingContract_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12SharingContract, 0x0adf7d52, 0x929c, 0x4e61, 0xad,0xdb, 0xff,0xed,0x30,0xde,0x66,0xef);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef")
ID3D12SharingContract : public IUnknown
{
    virtual void STDMETHODCALLTYPE Present(
        ID3D12Resource *resource,
        UINT sub_resource,
        HWND window) = 0;

    virtual void STDMETHODCALLTYPE SharedFenceSignal(
        ID3D12Fence *fence,
        UINT64 fence_value) = 0;

    virtual void STDMETHODCALLTYPE BeginCapturableWork(
        REFGUID guid) = 0;

    virtual void STDMETHODCALLTYPE EndCapturableWork(
        REFGUID guid) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12SharingContract, 0x0adf7d52, 0x929c, 0x4e61, 0xad,0xdb, 0xff,0xed,0x30,0xde,0x66,0xef)
#endif
#else
typedef struct ID3D12SharingContractVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12SharingContract *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12SharingContract *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12SharingContract *This);

    /*** ID3D12SharingContract methods ***/
    void (STDMETHODCALLTYPE *Present)(
        ID3D12SharingContract *This,
        ID3D12Resource *resource,
        UINT sub_resource,
        HWND window);

    void (STDMETHODCALLTYPE *SharedFenceSignal)(
        ID3D12SharingContract *This,
        ID3D12Fence *fence,
        UINT64 fence_value);

    void (STDMETHODCALLTYPE *BeginCapturableWork)(
        ID3D12SharingContract *This,
        REFGUID guid);

    void (STDMETHODCALLTYPE *EndCapturableWork)(
        ID3D12SharingContract *This,
        REFGUID guid);

    END_INTERFACE
} ID3D12SharingContractVtbl;

interface ID3D12SharingContract {
    CONST_VTBL ID3D12SharingContractVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12SharingContract_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12SharingContract_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12SharingContract methods ***/
#define ID3D12SharingContract_Present(This,resource,sub_resource,window) (This)->lpVtbl->Present(This,resource,sub_resource,window)
#define ID3D12SharingContract_SharedFenceSignal(This,fence,fence_value) (This)->lpVtbl->SharedFenceSignal(This,fence,fence_value)
#define ID3D12SharingContract_BeginCapturableWork(This,guid) (This)->lpVtbl->BeginCapturableWork(This,guid)
#define ID3D12SharingContract_EndCapturableWork(This,guid) (This)->lpVtbl->EndCapturableWork(This,guid)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12SharingContract_QueryInterface(ID3D12SharingContract* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12SharingContract_AddRef(ID3D12SharingContract* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12SharingContract_Release(ID3D12SharingContract* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12SharingContract methods ***/
static inline void ID3D12SharingContract_Present(ID3D12SharingContract* This,ID3D12Resource *resource,UINT sub_resource,HWND window) {
    This->lpVtbl->Present(This,resource,sub_resource,window);
}
static inline void ID3D12SharingContract_SharedFenceSignal(ID3D12SharingContract* This,ID3D12Fence *fence,UINT64 fence_value) {
    This->lpVtbl->SharedFenceSignal(This,fence,fence_value);
}
static inline void ID3D12SharingContract_BeginCapturableWork(ID3D12SharingContract* This,REFGUID guid) {
    This->lpVtbl->BeginCapturableWork(This,guid);
}
static inline void ID3D12SharingContract_EndCapturableWork(ID3D12SharingContract* This,REFGUID guid) {
    This->lpVtbl->EndCapturableWork(This,guid);
}
#endif
#endif

#endif


#endif  /* __ID3D12SharingContract_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ID3D12InfoQueue interface
 */
#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__
#define __ID3D12InfoQueue_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12InfoQueue, 0x0742a90b, 0xc387, 0x483f, 0xb9,0x46, 0x30,0xa7,0xe4,0xe6,0x14,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458")
ID3D12InfoQueue : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit(
        UINT64 limit) = 0;

    virtual void STDMETHODCALLTYPE ClearStoredMessages(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMessage(
        UINT64 index,
        D3D12_MESSAGE *message,
        SIZE_T *length) = 0;

    virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter(
        ) = 0;

    virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter(
        ) = 0;

    virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages(
        ) = 0;

    virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter(
        ) = 0;

    virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit(
        ) = 0;

    virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries(
        D3D12_INFO_QUEUE_FILTER *filter) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetStorageFilter(
        D3D12_INFO_QUEUE_FILTER *filter,
        SIZE_T *length) = 0;

    virtual void STDMETHODCALLTYPE ClearStorageFilter(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE PushStorageFilter(
        D3D12_INFO_QUEUE_FILTER *filter) = 0;

    virtual void STDMETHODCALLTYPE PopStorageFilter(
        ) = 0;

    virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries(
        D3D12_INFO_QUEUE_FILTER *filter) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter(
        D3D12_INFO_QUEUE_FILTER *filter,
        SIZE_T *length) = 0;

    virtual void STDMETHODCALLTYPE ClearRetrievalFilter(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter(
        D3D12_INFO_QUEUE_FILTER *filter) = 0;

    virtual void STDMETHODCALLTYPE PopRetrievalFilter(
        ) = 0;

    virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddMessage(
        D3D12_MESSAGE_CATEGORY category,
        D3D12_MESSAGE_SEVERITY severity,
        D3D12_MESSAGE_ID id,
        const char *description) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage(
        D3D12_MESSAGE_SEVERITY severity,
        const char *description) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory(
        D3D12_MESSAGE_CATEGORY category,
        WINBOOL enable) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity(
        D3D12_MESSAGE_SEVERITY severity,
        WINBOOL enable) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetBreakOnID(
        D3D12_MESSAGE_ID id,
        WINBOOL enable) = 0;

    virtual WINBOOL STDMETHODCALLTYPE GetBreakOnCategory(
        D3D12_MESSAGE_CATEGORY category) = 0;

    virtual WINBOOL STDMETHODCALLTYPE GetBreakOnSeverity(
        D3D12_MESSAGE_SEVERITY severity) = 0;

    virtual WINBOOL STDMETHODCALLTYPE GetBreakOnID(
        D3D12_MESSAGE_ID id) = 0;

    virtual void STDMETHODCALLTYPE SetMuteDebugOutput(
        WINBOOL mute) = 0;

    virtual WINBOOL STDMETHODCALLTYPE GetMuteDebugOutput(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12InfoQueue, 0x0742a90b, 0xc387, 0x483f, 0xb9,0x46, 0x30,0xa7,0xe4,0xe6,0x14,0x58)
#endif
#else
typedef struct ID3D12InfoQueueVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12InfoQueue *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12InfoQueue *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12InfoQueue *This);

    /*** ID3D12InfoQueue methods ***/
    HRESULT (STDMETHODCALLTYPE *SetMessageCountLimit)(
        ID3D12InfoQueue *This,
        UINT64 limit);

    void (STDMETHODCALLTYPE *ClearStoredMessages)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *GetMessage)(
        ID3D12InfoQueue *This,
        UINT64 index,
        D3D12_MESSAGE *message,
        SIZE_T *length);

    UINT64 (STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter)(
        ID3D12InfoQueue *This);

    UINT64 (STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter)(
        ID3D12InfoQueue *This);

    UINT64 (STDMETHODCALLTYPE *GetNumStoredMessages)(
        ID3D12InfoQueue *This);

    UINT64 (STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter)(
        ID3D12InfoQueue *This);

    UINT64 (STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit)(
        ID3D12InfoQueue *This);

    UINT64 (STDMETHODCALLTYPE *GetMessageCountLimit)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *AddStorageFilterEntries)(
        ID3D12InfoQueue *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    HRESULT (STDMETHODCALLTYPE *GetStorageFilter)(
        ID3D12InfoQueue *This,
        D3D12_INFO_QUEUE_FILTER *filter,
        SIZE_T *length);

    void (STDMETHODCALLTYPE *ClearStorageFilter)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *PushEmptyStorageFilter)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *PushCopyOfStorageFilter)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *PushStorageFilter)(
        ID3D12InfoQueue *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    void (STDMETHODCALLTYPE *PopStorageFilter)(
        ID3D12InfoQueue *This);

    UINT (STDMETHODCALLTYPE *GetStorageFilterStackSize)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *AddRetrievalFilterEntries)(
        ID3D12InfoQueue *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    HRESULT (STDMETHODCALLTYPE *GetRetrievalFilter)(
        ID3D12InfoQueue *This,
        D3D12_INFO_QUEUE_FILTER *filter,
        SIZE_T *length);

    void (STDMETHODCALLTYPE *ClearRetrievalFilter)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *PushEmptyRetrievalFilter)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *PushCopyOfRetrievalFilter)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *PushRetrievalFilter)(
        ID3D12InfoQueue *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    void (STDMETHODCALLTYPE *PopRetrievalFilter)(
        ID3D12InfoQueue *This);

    UINT (STDMETHODCALLTYPE *GetRetrievalFilterStackSize)(
        ID3D12InfoQueue *This);

    HRESULT (STDMETHODCALLTYPE *AddMessage)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_CATEGORY category,
        D3D12_MESSAGE_SEVERITY severity,
        D3D12_MESSAGE_ID id,
        const char *description);

    HRESULT (STDMETHODCALLTYPE *AddApplicationMessage)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_SEVERITY severity,
        const char *description);

    HRESULT (STDMETHODCALLTYPE *SetBreakOnCategory)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_CATEGORY category,
        WINBOOL enable);

    HRESULT (STDMETHODCALLTYPE *SetBreakOnSeverity)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_SEVERITY severity,
        WINBOOL enable);

    HRESULT (STDMETHODCALLTYPE *SetBreakOnID)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_ID id,
        WINBOOL enable);

    WINBOOL (STDMETHODCALLTYPE *GetBreakOnCategory)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_CATEGORY category);

    WINBOOL (STDMETHODCALLTYPE *GetBreakOnSeverity)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_SEVERITY severity);

    WINBOOL (STDMETHODCALLTYPE *GetBreakOnID)(
        ID3D12InfoQueue *This,
        D3D12_MESSAGE_ID id);

    void (STDMETHODCALLTYPE *SetMuteDebugOutput)(
        ID3D12InfoQueue *This,
        WINBOOL mute);

    WINBOOL (STDMETHODCALLTYPE *GetMuteDebugOutput)(
        ID3D12InfoQueue *This);

    END_INTERFACE
} ID3D12InfoQueueVtbl;

interface ID3D12InfoQueue {
    CONST_VTBL ID3D12InfoQueueVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12InfoQueue_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12InfoQueue_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12InfoQueue methods ***/
#define ID3D12InfoQueue_SetMessageCountLimit(This,limit) (This)->lpVtbl->SetMessageCountLimit(This,limit)
#define ID3D12InfoQueue_ClearStoredMessages(This) (This)->lpVtbl->ClearStoredMessages(This)
#define ID3D12InfoQueue_GetMessage(This,index,message,length) (This)->lpVtbl->GetMessage(This,index,message,length)
#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesAllowedByStorageFilter(This)
#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesDeniedByStorageFilter(This)
#define ID3D12InfoQueue_GetNumStoredMessages(This) (This)->lpVtbl->GetNumStoredMessages(This)
#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) (This)->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This)
#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) (This)->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This)
#define ID3D12InfoQueue_GetMessageCountLimit(This) (This)->lpVtbl->GetMessageCountLimit(This)
#define ID3D12InfoQueue_AddStorageFilterEntries(This,filter) (This)->lpVtbl->AddStorageFilterEntries(This,filter)
#define ID3D12InfoQueue_GetStorageFilter(This,filter,length) (This)->lpVtbl->GetStorageFilter(This,filter,length)
#define ID3D12InfoQueue_ClearStorageFilter(This) (This)->lpVtbl->ClearStorageFilter(This)
#define ID3D12InfoQueue_PushEmptyStorageFilter(This) (This)->lpVtbl->PushEmptyStorageFilter(This)
#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) (This)->lpVtbl->PushCopyOfStorageFilter(This)
#define ID3D12InfoQueue_PushStorageFilter(This,filter) (This)->lpVtbl->PushStorageFilter(This,filter)
#define ID3D12InfoQueue_PopStorageFilter(This) (This)->lpVtbl->PopStorageFilter(This)
#define ID3D12InfoQueue_GetStorageFilterStackSize(This) (This)->lpVtbl->GetStorageFilterStackSize(This)
#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,filter) (This)->lpVtbl->AddRetrievalFilterEntries(This,filter)
#define ID3D12InfoQueue_GetRetrievalFilter(This,filter,length) (This)->lpVtbl->GetRetrievalFilter(This,filter,length)
#define ID3D12InfoQueue_ClearRetrievalFilter(This) (This)->lpVtbl->ClearRetrievalFilter(This)
#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) (This)->lpVtbl->PushEmptyRetrievalFilter(This)
#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) (This)->lpVtbl->PushCopyOfRetrievalFilter(This)
#define ID3D12InfoQueue_PushRetrievalFilter(This,filter) (This)->lpVtbl->PushRetrievalFilter(This,filter)
#define ID3D12InfoQueue_PopRetrievalFilter(This) (This)->lpVtbl->PopRetrievalFilter(This)
#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) (This)->lpVtbl->GetRetrievalFilterStackSize(This)
#define ID3D12InfoQueue_AddMessage(This,category,severity,id,description) (This)->lpVtbl->AddMessage(This,category,severity,id,description)
#define ID3D12InfoQueue_AddApplicationMessage(This,severity,description) (This)->lpVtbl->AddApplicationMessage(This,severity,description)
#define ID3D12InfoQueue_SetBreakOnCategory(This,category,enable) (This)->lpVtbl->SetBreakOnCategory(This,category,enable)
#define ID3D12InfoQueue_SetBreakOnSeverity(This,severity,enable) (This)->lpVtbl->SetBreakOnSeverity(This,severity,enable)
#define ID3D12InfoQueue_SetBreakOnID(This,id,enable) (This)->lpVtbl->SetBreakOnID(This,id,enable)
#define ID3D12InfoQueue_GetBreakOnCategory(This,category) (This)->lpVtbl->GetBreakOnCategory(This,category)
#define ID3D12InfoQueue_GetBreakOnSeverity(This,severity) (This)->lpVtbl->GetBreakOnSeverity(This,severity)
#define ID3D12InfoQueue_GetBreakOnID(This,id) (This)->lpVtbl->GetBreakOnID(This,id)
#define ID3D12InfoQueue_SetMuteDebugOutput(This,mute) (This)->lpVtbl->SetMuteDebugOutput(This,mute)
#define ID3D12InfoQueue_GetMuteDebugOutput(This) (This)->lpVtbl->GetMuteDebugOutput(This)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12InfoQueue_QueryInterface(ID3D12InfoQueue* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12InfoQueue_AddRef(ID3D12InfoQueue* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12InfoQueue_Release(ID3D12InfoQueue* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12InfoQueue methods ***/
static inline HRESULT ID3D12InfoQueue_SetMessageCountLimit(ID3D12InfoQueue* This,UINT64 limit) {
    return This->lpVtbl->SetMessageCountLimit(This,limit);
}
static inline void ID3D12InfoQueue_ClearStoredMessages(ID3D12InfoQueue* This) {
    This->lpVtbl->ClearStoredMessages(This);
}
static inline HRESULT ID3D12InfoQueue_GetMessage(ID3D12InfoQueue* This,UINT64 index,D3D12_MESSAGE *message,SIZE_T *length) {
    return This->lpVtbl->GetMessage(This,index,message,length);
}
static inline UINT64 ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetNumMessagesAllowedByStorageFilter(This);
}
static inline UINT64 ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetNumMessagesDeniedByStorageFilter(This);
}
static inline UINT64 ID3D12InfoQueue_GetNumStoredMessages(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetNumStoredMessages(This);
}
static inline UINT64 ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This);
}
static inline UINT64 ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This);
}
static inline UINT64 ID3D12InfoQueue_GetMessageCountLimit(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetMessageCountLimit(This);
}
static inline HRESULT ID3D12InfoQueue_AddStorageFilterEntries(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->AddStorageFilterEntries(This,filter);
}
static inline HRESULT ID3D12InfoQueue_GetStorageFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
    return This->lpVtbl->GetStorageFilter(This,filter,length);
}
static inline void ID3D12InfoQueue_ClearStorageFilter(ID3D12InfoQueue* This) {
    This->lpVtbl->ClearStorageFilter(This);
}
static inline HRESULT ID3D12InfoQueue_PushEmptyStorageFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->PushEmptyStorageFilter(This);
}
static inline HRESULT ID3D12InfoQueue_PushCopyOfStorageFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->PushCopyOfStorageFilter(This);
}
static inline HRESULT ID3D12InfoQueue_PushStorageFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->PushStorageFilter(This,filter);
}
static inline void ID3D12InfoQueue_PopStorageFilter(ID3D12InfoQueue* This) {
    This->lpVtbl->PopStorageFilter(This);
}
static inline UINT ID3D12InfoQueue_GetStorageFilterStackSize(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetStorageFilterStackSize(This);
}
static inline HRESULT ID3D12InfoQueue_AddRetrievalFilterEntries(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->AddRetrievalFilterEntries(This,filter);
}
static inline HRESULT ID3D12InfoQueue_GetRetrievalFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
    return This->lpVtbl->GetRetrievalFilter(This,filter,length);
}
static inline void ID3D12InfoQueue_ClearRetrievalFilter(ID3D12InfoQueue* This) {
    This->lpVtbl->ClearRetrievalFilter(This);
}
static inline HRESULT ID3D12InfoQueue_PushEmptyRetrievalFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->PushEmptyRetrievalFilter(This);
}
static inline HRESULT ID3D12InfoQueue_PushCopyOfRetrievalFilter(ID3D12InfoQueue* This) {
    return This->lpVtbl->PushCopyOfRetrievalFilter(This);
}
static inline HRESULT ID3D12InfoQueue_PushRetrievalFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->PushRetrievalFilter(This,filter);
}
static inline void ID3D12InfoQueue_PopRetrievalFilter(ID3D12InfoQueue* This) {
    This->lpVtbl->PopRetrievalFilter(This);
}
static inline UINT ID3D12InfoQueue_GetRetrievalFilterStackSize(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetRetrievalFilterStackSize(This);
}
static inline HRESULT ID3D12InfoQueue_AddMessage(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description) {
    return This->lpVtbl->AddMessage(This,category,severity,id,description);
}
static inline HRESULT ID3D12InfoQueue_AddApplicationMessage(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity,const char *description) {
    return This->lpVtbl->AddApplicationMessage(This,severity,description);
}
static inline HRESULT ID3D12InfoQueue_SetBreakOnCategory(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category,WINBOOL enable) {
    return This->lpVtbl->SetBreakOnCategory(This,category,enable);
}
static inline HRESULT ID3D12InfoQueue_SetBreakOnSeverity(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity,WINBOOL enable) {
    return This->lpVtbl->SetBreakOnSeverity(This,severity,enable);
}
static inline HRESULT ID3D12InfoQueue_SetBreakOnID(ID3D12InfoQueue* This,D3D12_MESSAGE_ID id,WINBOOL enable) {
    return This->lpVtbl->SetBreakOnID(This,id,enable);
}
static inline WINBOOL ID3D12InfoQueue_GetBreakOnCategory(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category) {
    return This->lpVtbl->GetBreakOnCategory(This,category);
}
static inline WINBOOL ID3D12InfoQueue_GetBreakOnSeverity(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity) {
    return This->lpVtbl->GetBreakOnSeverity(This,severity);
}
static inline WINBOOL ID3D12InfoQueue_GetBreakOnID(ID3D12InfoQueue* This,D3D12_MESSAGE_ID id) {
    return This->lpVtbl->GetBreakOnID(This,id);
}
static inline void ID3D12InfoQueue_SetMuteDebugOutput(ID3D12InfoQueue* This,WINBOOL mute) {
    This->lpVtbl->SetMuteDebugOutput(This,mute);
}
static inline WINBOOL ID3D12InfoQueue_GetMuteDebugOutput(ID3D12InfoQueue* This) {
    return This->lpVtbl->GetMuteDebugOutput(This);
}
#endif
#endif

#endif


#endif  /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */

typedef void (__stdcall *D3D12MessageFunc)(D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description,void *context);
/*****************************************************************************
 * ID3D12InfoQueue1 interface
 */
#ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__
#define __ID3D12InfoQueue1_INTERFACE_DEFINED__

DEFINE_GUID(IID_ID3D12InfoQueue1, 0x2852dd88, 0xb484, 0x4c0c, 0xb6,0xb1, 0x67,0x16,0x85,0x00,0xe6,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600")
ID3D12InfoQueue1 : public ID3D12InfoQueue
{
    virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback(
        D3D12MessageFunc func,
        D3D12_MESSAGE_CALLBACK_FLAGS flags,
        void *context,
        DWORD *cookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback(
        DWORD cookie) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12InfoQueue1, 0x2852dd88, 0xb484, 0x4c0c, 0xb6,0xb1, 0x67,0x16,0x85,0x00,0xe6,0x00)
#endif
#else
typedef struct ID3D12InfoQueue1Vtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ID3D12InfoQueue1 *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ID3D12InfoQueue1 *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ID3D12InfoQueue1 *This);

    /*** ID3D12InfoQueue methods ***/
    HRESULT (STDMETHODCALLTYPE *SetMessageCountLimit)(
        ID3D12InfoQueue1 *This,
        UINT64 limit);

    void (STDMETHODCALLTYPE *ClearStoredMessages)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *GetMessage)(
        ID3D12InfoQueue1 *This,
        UINT64 index,
        D3D12_MESSAGE *message,
        SIZE_T *length);

    UINT64 (STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter)(
        ID3D12InfoQueue1 *This);

    UINT64 (STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter)(
        ID3D12InfoQueue1 *This);

    UINT64 (STDMETHODCALLTYPE *GetNumStoredMessages)(
        ID3D12InfoQueue1 *This);

    UINT64 (STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter)(
        ID3D12InfoQueue1 *This);

    UINT64 (STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit)(
        ID3D12InfoQueue1 *This);

    UINT64 (STDMETHODCALLTYPE *GetMessageCountLimit)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *AddStorageFilterEntries)(
        ID3D12InfoQueue1 *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    HRESULT (STDMETHODCALLTYPE *GetStorageFilter)(
        ID3D12InfoQueue1 *This,
        D3D12_INFO_QUEUE_FILTER *filter,
        SIZE_T *length);

    void (STDMETHODCALLTYPE *ClearStorageFilter)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *PushEmptyStorageFilter)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *PushCopyOfStorageFilter)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *PushStorageFilter)(
        ID3D12InfoQueue1 *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    void (STDMETHODCALLTYPE *PopStorageFilter)(
        ID3D12InfoQueue1 *This);

    UINT (STDMETHODCALLTYPE *GetStorageFilterStackSize)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *AddRetrievalFilterEntries)(
        ID3D12InfoQueue1 *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    HRESULT (STDMETHODCALLTYPE *GetRetrievalFilter)(
        ID3D12InfoQueue1 *This,
        D3D12_INFO_QUEUE_FILTER *filter,
        SIZE_T *length);

    void (STDMETHODCALLTYPE *ClearRetrievalFilter)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *PushEmptyRetrievalFilter)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *PushCopyOfRetrievalFilter)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *PushRetrievalFilter)(
        ID3D12InfoQueue1 *This,
        D3D12_INFO_QUEUE_FILTER *filter);

    void (STDMETHODCALLTYPE *PopRetrievalFilter)(
        ID3D12InfoQueue1 *This);

    UINT (STDMETHODCALLTYPE *GetRetrievalFilterStackSize)(
        ID3D12InfoQueue1 *This);

    HRESULT (STDMETHODCALLTYPE *AddMessage)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_CATEGORY category,
        D3D12_MESSAGE_SEVERITY severity,
        D3D12_MESSAGE_ID id,
        const char *description);

    HRESULT (STDMETHODCALLTYPE *AddApplicationMessage)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_SEVERITY severity,
        const char *description);

    HRESULT (STDMETHODCALLTYPE *SetBreakOnCategory)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_CATEGORY category,
        WINBOOL enable);

    HRESULT (STDMETHODCALLTYPE *SetBreakOnSeverity)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_SEVERITY severity,
        WINBOOL enable);

    HRESULT (STDMETHODCALLTYPE *SetBreakOnID)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_ID id,
        WINBOOL enable);

    WINBOOL (STDMETHODCALLTYPE *GetBreakOnCategory)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_CATEGORY category);

    WINBOOL (STDMETHODCALLTYPE *GetBreakOnSeverity)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_SEVERITY severity);

    WINBOOL (STDMETHODCALLTYPE *GetBreakOnID)(
        ID3D12InfoQueue1 *This,
        D3D12_MESSAGE_ID id);

    void (STDMETHODCALLTYPE *SetMuteDebugOutput)(
        ID3D12InfoQueue1 *This,
        WINBOOL mute);

    WINBOOL (STDMETHODCALLTYPE *GetMuteDebugOutput)(
        ID3D12InfoQueue1 *This);

    /*** ID3D12InfoQueue1 methods ***/
    HRESULT (STDMETHODCALLTYPE *RegisterMessageCallback)(
        ID3D12InfoQueue1 *This,
        D3D12MessageFunc func,
        D3D12_MESSAGE_CALLBACK_FLAGS flags,
        void *context,
        DWORD *cookie);

    HRESULT (STDMETHODCALLTYPE *UnregisterMessageCallback)(
        ID3D12InfoQueue1 *This,
        DWORD cookie);

    END_INTERFACE
} ID3D12InfoQueue1Vtbl;

interface ID3D12InfoQueue1 {
    CONST_VTBL ID3D12InfoQueue1Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12InfoQueue1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12InfoQueue1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12InfoQueue methods ***/
#define ID3D12InfoQueue1_SetMessageCountLimit(This,limit) (This)->lpVtbl->SetMessageCountLimit(This,limit)
#define ID3D12InfoQueue1_ClearStoredMessages(This) (This)->lpVtbl->ClearStoredMessages(This)
#define ID3D12InfoQueue1_GetMessage(This,index,message,length) (This)->lpVtbl->GetMessage(This,index,message,length)
#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesAllowedByStorageFilter(This)
#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesDeniedByStorageFilter(This)
#define ID3D12InfoQueue1_GetNumStoredMessages(This) (This)->lpVtbl->GetNumStoredMessages(This)
#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) (This)->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This)
#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) (This)->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This)
#define ID3D12InfoQueue1_GetMessageCountLimit(This) (This)->lpVtbl->GetMessageCountLimit(This)
#define ID3D12InfoQueue1_AddStorageFilterEntries(This,filter) (This)->lpVtbl->AddStorageFilterEntries(This,filter)
#define ID3D12InfoQueue1_GetStorageFilter(This,filter,length) (This)->lpVtbl->GetStorageFilter(This,filter,length)
#define ID3D12InfoQueue1_ClearStorageFilter(This) (This)->lpVtbl->ClearStorageFilter(This)
#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) (This)->lpVtbl->PushEmptyStorageFilter(This)
#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) (This)->lpVtbl->PushCopyOfStorageFilter(This)
#define ID3D12InfoQueue1_PushStorageFilter(This,filter) (This)->lpVtbl->PushStorageFilter(This,filter)
#define ID3D12InfoQueue1_PopStorageFilter(This) (This)->lpVtbl->PopStorageFilter(This)
#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) (This)->lpVtbl->GetStorageFilterStackSize(This)
#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,filter) (This)->lpVtbl->AddRetrievalFilterEntries(This,filter)
#define ID3D12InfoQueue1_GetRetrievalFilter(This,filter,length) (This)->lpVtbl->GetRetrievalFilter(This,filter,length)
#define ID3D12InfoQueue1_ClearRetrievalFilter(This) (This)->lpVtbl->ClearRetrievalFilter(This)
#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) (This)->lpVtbl->PushEmptyRetrievalFilter(This)
#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) (This)->lpVtbl->PushCopyOfRetrievalFilter(This)
#define ID3D12InfoQueue1_PushRetrievalFilter(This,filter) (This)->lpVtbl->PushRetrievalFilter(This,filter)
#define ID3D12InfoQueue1_PopRetrievalFilter(This) (This)->lpVtbl->PopRetrievalFilter(This)
#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) (This)->lpVtbl->GetRetrievalFilterStackSize(This)
#define ID3D12InfoQueue1_AddMessage(This,category,severity,id,description) (This)->lpVtbl->AddMessage(This,category,severity,id,description)
#define ID3D12InfoQueue1_AddApplicationMessage(This,severity,description) (This)->lpVtbl->AddApplicationMessage(This,severity,description)
#define ID3D12InfoQueue1_SetBreakOnCategory(This,category,enable) (This)->lpVtbl->SetBreakOnCategory(This,category,enable)
#define ID3D12InfoQueue1_SetBreakOnSeverity(This,severity,enable) (This)->lpVtbl->SetBreakOnSeverity(This,severity,enable)
#define ID3D12InfoQueue1_SetBreakOnID(This,id,enable) (This)->lpVtbl->SetBreakOnID(This,id,enable)
#define ID3D12InfoQueue1_GetBreakOnCategory(This,category) (This)->lpVtbl->GetBreakOnCategory(This,category)
#define ID3D12InfoQueue1_GetBreakOnSeverity(This,severity) (This)->lpVtbl->GetBreakOnSeverity(This,severity)
#define ID3D12InfoQueue1_GetBreakOnID(This,id) (This)->lpVtbl->GetBreakOnID(This,id)
#define ID3D12InfoQueue1_SetMuteDebugOutput(This,mute) (This)->lpVtbl->SetMuteDebugOutput(This,mute)
#define ID3D12InfoQueue1_GetMuteDebugOutput(This) (This)->lpVtbl->GetMuteDebugOutput(This)
/*** ID3D12InfoQueue1 methods ***/
#define ID3D12InfoQueue1_RegisterMessageCallback(This,func,flags,context,cookie) (This)->lpVtbl->RegisterMessageCallback(This,func,flags,context,cookie)
#define ID3D12InfoQueue1_UnregisterMessageCallback(This,cookie) (This)->lpVtbl->UnregisterMessageCallback(This,cookie)
#else
/*** IUnknown methods ***/
static inline HRESULT ID3D12InfoQueue1_QueryInterface(ID3D12InfoQueue1* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG ID3D12InfoQueue1_AddRef(ID3D12InfoQueue1* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG ID3D12InfoQueue1_Release(ID3D12InfoQueue1* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D12InfoQueue methods ***/
static inline HRESULT ID3D12InfoQueue1_SetMessageCountLimit(ID3D12InfoQueue1* This,UINT64 limit) {
    return This->lpVtbl->SetMessageCountLimit(This,limit);
}
static inline void ID3D12InfoQueue1_ClearStoredMessages(ID3D12InfoQueue1* This) {
    This->lpVtbl->ClearStoredMessages(This);
}
static inline HRESULT ID3D12InfoQueue1_GetMessage(ID3D12InfoQueue1* This,UINT64 index,D3D12_MESSAGE *message,SIZE_T *length) {
    return This->lpVtbl->GetMessage(This,index,message,length);
}
static inline UINT64 ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetNumMessagesAllowedByStorageFilter(This);
}
static inline UINT64 ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetNumMessagesDeniedByStorageFilter(This);
}
static inline UINT64 ID3D12InfoQueue1_GetNumStoredMessages(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetNumStoredMessages(This);
}
static inline UINT64 ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This);
}
static inline UINT64 ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This);
}
static inline UINT64 ID3D12InfoQueue1_GetMessageCountLimit(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetMessageCountLimit(This);
}
static inline HRESULT ID3D12InfoQueue1_AddStorageFilterEntries(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->AddStorageFilterEntries(This,filter);
}
static inline HRESULT ID3D12InfoQueue1_GetStorageFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
    return This->lpVtbl->GetStorageFilter(This,filter,length);
}
static inline void ID3D12InfoQueue1_ClearStorageFilter(ID3D12InfoQueue1* This) {
    This->lpVtbl->ClearStorageFilter(This);
}
static inline HRESULT ID3D12InfoQueue1_PushEmptyStorageFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->PushEmptyStorageFilter(This);
}
static inline HRESULT ID3D12InfoQueue1_PushCopyOfStorageFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->PushCopyOfStorageFilter(This);
}
static inline HRESULT ID3D12InfoQueue1_PushStorageFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->PushStorageFilter(This,filter);
}
static inline void ID3D12InfoQueue1_PopStorageFilter(ID3D12InfoQueue1* This) {
    This->lpVtbl->PopStorageFilter(This);
}
static inline UINT ID3D12InfoQueue1_GetStorageFilterStackSize(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetStorageFilterStackSize(This);
}
static inline HRESULT ID3D12InfoQueue1_AddRetrievalFilterEntries(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->AddRetrievalFilterEntries(This,filter);
}
static inline HRESULT ID3D12InfoQueue1_GetRetrievalFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
    return This->lpVtbl->GetRetrievalFilter(This,filter,length);
}
static inline void ID3D12InfoQueue1_ClearRetrievalFilter(ID3D12InfoQueue1* This) {
    This->lpVtbl->ClearRetrievalFilter(This);
}
static inline HRESULT ID3D12InfoQueue1_PushEmptyRetrievalFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->PushEmptyRetrievalFilter(This);
}
static inline HRESULT ID3D12InfoQueue1_PushCopyOfRetrievalFilter(ID3D12InfoQueue1* This) {
    return This->lpVtbl->PushCopyOfRetrievalFilter(This);
}
static inline HRESULT ID3D12InfoQueue1_PushRetrievalFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
    return This->lpVtbl->PushRetrievalFilter(This,filter);
}
static inline void ID3D12InfoQueue1_PopRetrievalFilter(ID3D12InfoQueue1* This) {
    This->lpVtbl->PopRetrievalFilter(This);
}
static inline UINT ID3D12InfoQueue1_GetRetrievalFilterStackSize(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetRetrievalFilterStackSize(This);
}
static inline HRESULT ID3D12InfoQueue1_AddMessage(ID3D12InfoQueue1* This,D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description) {
    return This->lpVtbl->AddMessage(This,category,severity,id,description);
}
static inline HRESULT ID3D12InfoQueue1_AddApplicationMessage(ID3D12InfoQueue1* This,D3D12_MESSAGE_SEVERITY severity,const char *description) {
    return This->lpVtbl->AddApplicationMessage(This,severity,description);
}
static inline HRESULT ID3D12InfoQueue1_SetBreakOnCategory(ID3D12InfoQueue1* This,D3D12_MESSAGE_CATEGORY category,WINBOOL enable) {
    return This->lpVtbl->SetBreakOnCategory(This,category,enable);
}
static inline HRESULT ID3D12InfoQueue1_SetBreakOnSeverity(ID3D12InfoQueue1* This,D3D12_MESSAGE_SEVERITY severity,WINBOOL enable) {
    return This->lpVtbl->SetBreakOnSeverity(This,severity,enable);
}
static inline HRESULT ID3D12InfoQueue1_SetBreakOnID(ID3D12InfoQueue1* This,D3D12_MESSAGE_ID id,WINBOOL enable) {
    return This->lpVtbl->SetBreakOnID(This,id,enable);
}
static inline WINBOOL ID3D12InfoQueue1_GetBreakOnCategory(ID3D12InfoQueue1* This,D3D12_MESSAGE_CATEGORY category) {
    return This->lpVtbl->GetBreakOnCategory(This,category);
}
static inline WINBOOL ID3D12InfoQueue1_GetBreakOnSeverity(ID3D12InfoQueue1* This,D3D12_MESSAGE_SEVERITY severity) {
    return This->lpVtbl->GetBreakOnSeverity(This,severity);
}
static inline WINBOOL ID3D12InfoQueue1_GetBreakOnID(ID3D12InfoQueue1* This,D3D12_MESSAGE_ID id) {
    return This->lpVtbl->GetBreakOnID(This,id);
}
static inline void ID3D12InfoQueue1_SetMuteDebugOutput(ID3D12InfoQueue1* This,WINBOOL mute) {
    This->lpVtbl->SetMuteDebugOutput(This,mute);
}
static inline WINBOOL ID3D12InfoQueue1_GetMuteDebugOutput(ID3D12InfoQueue1* This) {
    return This->lpVtbl->GetMuteDebugOutput(This);
}
/*** ID3D12InfoQueue1 methods ***/
static inline HRESULT ID3D12InfoQueue1_RegisterMessageCallback(ID3D12InfoQueue1* This,D3D12MessageFunc func,D3D12_MESSAGE_CALLBACK_FLAGS flags,void *context,DWORD *cookie) {
    return This->lpVtbl->RegisterMessageCallback(This,func,flags,context,cookie);
}
static inline HRESULT ID3D12InfoQueue1_UnregisterMessageCallback(ID3D12InfoQueue1* This,DWORD cookie) {
    return This->lpVtbl->UnregisterMessageCallback(This,cookie);
}
#endif
#endif

#endif


#endif  /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __d3d12sdklayers_h__ */
