zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

d3d12sdklayers.h (137997B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/d3d12sdklayers.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __d3d12sdklayers_h__
     17 #define __d3d12sdklayers_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __ID3D12Debug_FWD_DEFINED__
     22 #define __ID3D12Debug_FWD_DEFINED__
     23 typedef interface ID3D12Debug ID3D12Debug;
     24 #ifdef __cplusplus
     25 interface ID3D12Debug;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ID3D12Debug1_FWD_DEFINED__
     30 #define __ID3D12Debug1_FWD_DEFINED__
     31 typedef interface ID3D12Debug1 ID3D12Debug1;
     32 #ifdef __cplusplus
     33 interface ID3D12Debug1;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ID3D12Debug2_FWD_DEFINED__
     38 #define __ID3D12Debug2_FWD_DEFINED__
     39 typedef interface ID3D12Debug2 ID3D12Debug2;
     40 #ifdef __cplusplus
     41 interface ID3D12Debug2;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __ID3D12Debug3_FWD_DEFINED__
     46 #define __ID3D12Debug3_FWD_DEFINED__
     47 typedef interface ID3D12Debug3 ID3D12Debug3;
     48 #ifdef __cplusplus
     49 interface ID3D12Debug3;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __ID3D12Debug4_FWD_DEFINED__
     54 #define __ID3D12Debug4_FWD_DEFINED__
     55 typedef interface ID3D12Debug4 ID3D12Debug4;
     56 #ifdef __cplusplus
     57 interface ID3D12Debug4;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __ID3D12Debug5_FWD_DEFINED__
     62 #define __ID3D12Debug5_FWD_DEFINED__
     63 typedef interface ID3D12Debug5 ID3D12Debug5;
     64 #ifdef __cplusplus
     65 interface ID3D12Debug5;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __ID3D12DebugDevice_FWD_DEFINED__
     70 #define __ID3D12DebugDevice_FWD_DEFINED__
     71 typedef interface ID3D12DebugDevice ID3D12DebugDevice;
     72 #ifdef __cplusplus
     73 interface ID3D12DebugDevice;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __ID3D12DebugDevice1_FWD_DEFINED__
     78 #define __ID3D12DebugDevice1_FWD_DEFINED__
     79 typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;
     80 #ifdef __cplusplus
     81 interface ID3D12DebugDevice1;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __ID3D12DebugDevice2_FWD_DEFINED__
     86 #define __ID3D12DebugDevice2_FWD_DEFINED__
     87 typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2;
     88 #ifdef __cplusplus
     89 interface ID3D12DebugDevice2;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __ID3D12SharingContract_FWD_DEFINED__
     94 #define __ID3D12SharingContract_FWD_DEFINED__
     95 typedef interface ID3D12SharingContract ID3D12SharingContract;
     96 #ifdef __cplusplus
     97 interface ID3D12SharingContract;
     98 #endif /* __cplusplus */
     99 #endif
    100 
    101 #ifndef __ID3D12InfoQueue_FWD_DEFINED__
    102 #define __ID3D12InfoQueue_FWD_DEFINED__
    103 typedef interface ID3D12InfoQueue ID3D12InfoQueue;
    104 #ifdef __cplusplus
    105 interface ID3D12InfoQueue;
    106 #endif /* __cplusplus */
    107 #endif
    108 
    109 #ifndef __ID3D12InfoQueue1_FWD_DEFINED__
    110 #define __ID3D12InfoQueue1_FWD_DEFINED__
    111 typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1;
    112 #ifdef __cplusplus
    113 interface ID3D12InfoQueue1;
    114 #endif /* __cplusplus */
    115 #endif
    116 
    117 /* Headers for imported files */
    118 
    119 #include <d3d12.h>
    120 
    121 #ifdef __cplusplus
    122 extern "C" {
    123 #endif
    124 
    125 #ifdef WINE_NO_UNICODE_MACROS
    126 #undef GetMessage
    127 #endif
    128 typedef enum D3D12_MESSAGE_CATEGORY {
    129     D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0x0,
    130     D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = 0x1,
    131     D3D12_MESSAGE_CATEGORY_INITIALIZATION = 0x2,
    132     D3D12_MESSAGE_CATEGORY_CLEANUP = 0x3,
    133     D3D12_MESSAGE_CATEGORY_COMPILATION = 0x4,
    134     D3D12_MESSAGE_CATEGORY_STATE_CREATION = 0x5,
    135     D3D12_MESSAGE_CATEGORY_STATE_SETTING = 0x6,
    136     D3D12_MESSAGE_CATEGORY_STATE_GETTING = 0x7,
    137     D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 0x8,
    138     D3D12_MESSAGE_CATEGORY_EXECUTION = 0x9,
    139     D3D12_MESSAGE_CATEGORY_SHADER = 0xa
    140 } D3D12_MESSAGE_CATEGORY;
    141 typedef enum D3D12_MESSAGE_SEVERITY {
    142     D3D12_MESSAGE_SEVERITY_CORRUPTION = 0x0,
    143     D3D12_MESSAGE_SEVERITY_ERROR = 0x1,
    144     D3D12_MESSAGE_SEVERITY_WARNING = 0x2,
    145     D3D12_MESSAGE_SEVERITY_INFO = 0x3,
    146     D3D12_MESSAGE_SEVERITY_MESSAGE = 0x4
    147 } D3D12_MESSAGE_SEVERITY;
    148 typedef enum D3D12_MESSAGE_ID {
    149     D3D12_MESSAGE_ID_UNKNOWN = 0x0,
    150     D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 0x1,
    151     D3D12_MESSAGE_ID_CORRUPTED_THIS = 0x2,
    152     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 0x3,
    153     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 0x4,
    154     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 0x5,
    155     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 0x6,
    156     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 0x7,
    157     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 0x8,
    158     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 0x9,
    159     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 0xa,
    160     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 0xb,
    161     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 0xc,
    162     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 0xd,
    163     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 0xe,
    164     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 0xf,
    165     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 0x10,
    166     D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 0x11,
    167     D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 0x12,
    168     D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 0x13,
    169     D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 0x14,
    170     D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 0x15,
    171     D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 0x18,
    172     D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 0x19,
    173     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 0x1a,
    174     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 0x1b,
    175     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 0x1c,
    176     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 0x1d,
    177     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 0x1e,
    178     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 0x1f,
    179     D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 0x20,
    180     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 0x23,
    181     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 0x24,
    182     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 0x25,
    183     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 0x26,
    184     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 0x27,
    185     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 0x28,
    186     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 0x29,
    187     D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 0x2a,
    188     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 0x2d,
    189     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 0x2e,
    190     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 0x2f,
    191     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 0x30,
    192     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 0x31,
    193     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 0x34,
    194     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 0x35,
    195     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 0x36,
    196     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 0x37,
    197     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 0x38,
    198     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 0x39,
    199     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 0x3a,
    200     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 0x3b,
    201     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 0x3c,
    202     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 0x3d,
    203     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 0x3e,
    204     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 0x3f,
    205     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 0x40,
    206     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 0x41,
    207     D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 0x42,
    208     D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 0x43,
    209     D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 0x44,
    210     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 0x45,
    211     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 0x46,
    212     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 0x47,
    213     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 0x48,
    214     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 0x49,
    215     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 0x4a,
    216     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 0x4b,
    217     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 0x4c,
    218     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 0x4f,
    219     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 0x50,
    220     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 0x51,
    221     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 0x52,
    222     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 0x53,
    223     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 0x54,
    224     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 0x55,
    225     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 0x56,
    226     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 0x57,
    227     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 0x58,
    228     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 0x59,
    229     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 0x5a,
    230     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 0x5b,
    231     D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 0x5c,
    232     D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 0x5d,
    233     D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 0x5e,
    234     D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 0x5f,
    235     D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 0x60,
    236     D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 0x61,
    237     D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 0x62,
    238     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 0x64,
    239     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 0x65,
    240     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 0x66,
    241     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 0x67,
    242     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 0x68,
    243     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 0x69,
    244     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 0x6a,
    245     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 0x6b,
    246     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 0x6c,
    247     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 0x6d,
    248     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 0x6f,
    249     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 0x70,
    250     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 0x71,
    251     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 0x72,
    252     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 0x73,
    253     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 0x74,
    254     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 0x75,
    255     D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 0x87,
    256     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 0xc8,
    257     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 0xc9,
    258     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 0xca,
    259     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 0xd1,
    260     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 0xd2,
    261     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 0xd3,
    262     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 0xd4,
    263     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 0xd5,
    264     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 0xdb,
    265     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 0xdd,
    266     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 0xde,
    267     D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 0xe8,
    268     D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 0xe9,
    269     D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 0xea,
    270     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 0xef,
    271     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 0xf0,
    272     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 0xf5,
    273     D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 0xfd,
    274     D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 0xff,
    275     D3D12_MESSAGE_ID_LIVE_DEVICE = 0x112,
    276     D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 0x113,
    277     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 0x114,
    278     D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 0x115,
    279     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 0x116,
    280     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 0x118,
    281     D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 0x11b,
    282     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 0x11c,
    283     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 0x11d,
    284     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 0x11e,
    285     D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 0x11f,
    286     D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 0x121,
    287     D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 0x122,
    288     D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 0x123,
    289     D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 0x124,
    290     D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 0x126,
    291     D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 0x127,
    292     D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 0x128,
    293     D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 0x129,
    294     D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 0x136,
    295     D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 0x13e,
    296     D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 0x141,
    297     D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 0x142,
    298     D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 0x143,
    299     D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14b,
    300     D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14c,
    301     D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14d,
    302     D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14e,
    303     D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 0x14f,
    304     D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x150,
    305     D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x151,
    306     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 0x154,
    307     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 0x155,
    308     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 0x156,
    309     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 0x157,
    310     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 0x158,
    311     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 0x159,
    312     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 0x15a,
    313     D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 0x162,
    314     D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 0x191,
    315     D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 0x193,
    316     D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19a,
    317     D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19c,
    318     D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19e,
    319     D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a0,
    320     D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a2,
    321     D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a4,
    322     D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a6,
    323     D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 0x1a9,
    324     D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 0x1aa,
    325     D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 0x1ab,
    326     D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 0x1ac,
    327     D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 0x1ad,
    328     D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 0x1ae,
    329     D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 0x1af,
    330     D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 0x1bf,
    331     D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 0x1c0,
    332     D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 0x1ed,
    333     D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 0x1ee,
    334     D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 0x1fa,
    335     D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 0x1fb,
    336     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 0x207,
    337     D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 0x208,
    338     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 0x209,
    339     D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 0x20a,
    340     D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 0x20b,
    341     D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 0x20c,
    342     D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 0x20d,
    343     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 0x20e,
    344     D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 0x20f,
    345     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 0x210,
    346     D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 0x211,
    347     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 0x212,
    348     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 0x213,
    349     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 0x214,
    350     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 0x215,
    351     D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 0x216,
    352     D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 0x217,
    353     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 0x218,
    354     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 0x219,
    355     D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 0x21a,
    356     D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 0x21c,
    357     D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 0x21d,
    358     D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 0x21e,
    359     D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 0x21f,
    360     D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 0x220,
    361     D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 0x222,
    362     D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 0x223,
    363     D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 0x225,
    364     D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 0x228,
    365     D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 0x229,
    366     D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 0x22a,
    367     D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 0x22d,
    368     D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 0x22e,
    369     D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 0x22f,
    370     D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 0x230,
    371     D3D12_MESSAGE_ID_CREATE_RESOURCE = 0x232,
    372     D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 0x233,
    373     D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 0x234,
    374     D3D12_MESSAGE_ID_CREATE_LIBRARY = 0x235,
    375     D3D12_MESSAGE_ID_CREATE_HEAP = 0x236,
    376     D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 0x237,
    377     D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 0x238,
    378     D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 0x239,
    379     D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 0x23a,
    380     D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 0x23b,
    381     D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 0x23c,
    382     D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 0x23d,
    383     D3D12_MESSAGE_ID_LIVE_RESOURCE = 0x23f,
    384     D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 0x240,
    385     D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 0x241,
    386     D3D12_MESSAGE_ID_LIVE_LIBRARY = 0x242,
    387     D3D12_MESSAGE_ID_LIVE_HEAP = 0x243,
    388     D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 0x244,
    389     D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 0x245,
    390     D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 0x246,
    391     D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 0x247,
    392     D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 0x248,
    393     D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 0x249,
    394     D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 0x24a,
    395     D3D12_MESSAGE_ID_DESTROY_RESOURCE = 0x24c,
    396     D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 0x24d,
    397     D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 0x24e,
    398     D3D12_MESSAGE_ID_DESTROY_LIBRARY = 0x24f,
    399     D3D12_MESSAGE_ID_DESTROY_HEAP = 0x250,
    400     D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 0x251,
    401     D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 0x252,
    402     D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 0x253,
    403     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 0x255,
    404     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 0x257,
    405     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 0x25a,
    406     D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 0x25b,
    407     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 0x25c,
    408     D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 0x25f,
    409     D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 0x260,
    410     D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 0x261,
    411     D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 0x262,
    412     D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 0x263,
    413     D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 0x265,
    414     D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 0x266,
    415     D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 0x267,
    416     D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 0x268,
    417     D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 0x26e,
    418     D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 0x26f,
    419     D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 0x270,
    420     D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 0x271,
    421     D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 0x272,
    422     D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 0x273,
    423     D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 0x274,
    424     D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 0x275,
    425     D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 0x276,
    426     D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 0x277,
    427     D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 0x278,
    428     D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 0x279,
    429     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 0x27a,
    430     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 0x27b,
    431     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 0x27c,
    432     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 0x27d,
    433     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 0x27e,
    434     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 0x27f,
    435     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 0x280,
    436     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 0x281,
    437     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 0x282,
    438     D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 0x283,
    439     D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 0x284,
    440     D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 0x285,
    441     D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 0x286,
    442     D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 0x287,
    443     D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 0x289,
    444     D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 0x28a,
    445     D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 0x28c,
    446     D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 0x28d,
    447     D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 0x28e,
    448     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 0x28f,
    449     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 0x290,
    450     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 0x291,
    451     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 0x292,
    452     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 0x293,
    453     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 0x294,
    454     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 0x295,
    455     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 0x296,
    456     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 0x297,
    457     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 0x298,
    458     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 0x299,
    459     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 0x29a,
    460     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 0x29b,
    461     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 0x29c,
    462     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 0x29d,
    463     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 0x29e,
    464     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 0x29f,
    465     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 0x2a0,
    466     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 0x2a1,
    467     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 0x2a2,
    468     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 0x2a3,
    469     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 0x2a4,
    470     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 0x2a5,
    471     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 0x2a6,
    472     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 0x2a7,
    473     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 0x2a8,
    474     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 0x2a9,
    475     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 0x2aa,
    476     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 0x2ab,
    477     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 0x2ac,
    478     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 0x2ad,
    479     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 0x2ae,
    480     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 0x2af,
    481     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 0x2b0,
    482     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 0x2b1,
    483     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 0x2b2,
    484     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 0x2b3,
    485     D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 0x2b4,
    486     D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 0x2b5,
    487     D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 0x2b6,
    488     D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 0x2b7,
    489     D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 0x2b8,
    490     D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 0x2b9,
    491     D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 0x2ba,
    492     D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 0x2bb,
    493     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 0x2bc,
    494     D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 0x2bd,
    495     D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 0x2be,
    496     D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 0x2bf,
    497     D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 0x2c1,
    498     D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 0x2c4,
    499     D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 0x2c5,
    500     D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 0x2c6,
    501     D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 0x2c7,
    502     D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 0x2c8,
    503     D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 0x2c9,
    504     D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 0x2cb,
    505     D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 0x2cd,
    506     D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 0x2ce,
    507     D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 0x2cf,
    508     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 0x2d0,
    509     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 0x2d1,
    510     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 0x2d2,
    511     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 0x2d3,
    512     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 0x2d4,
    513     D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 0x2d5,
    514     D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 0x2d6,
    515     D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 0x2d7,
    516     D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 0x2d8,
    517     D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 0x2d9,
    518     D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 0x2db,
    519     D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 0x2dc,
    520     D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 0x2dd,
    521     D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 0x2de,
    522     D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 0x2df,
    523     D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 0x2e1,
    524     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 0x2e2,
    525     D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 0x2e3,
    526     D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 0x2e4,
    527     D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 0x2e3,
    528     D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 0x2e4,
    529     D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 0x2e5,
    530     D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 0x2e6,
    531     D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 0x2e7,
    532     D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 0x2e8,
    533     D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 0x2e9,
    534     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 0x32f,
    535     D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 0x330,
    536     D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 0x331,
    537     D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 0x332,
    538     D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 0x334,
    539     D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 0x335,
    540     D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 0x336,
    541     D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 0x337,
    542     D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 0x338,
    543     D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 0x339,
    544     D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 0x33a,
    545     D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 0x33b,
    546     D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 0x33c,
    547     D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 0x33d,
    548     D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 0x340,
    549     D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 0x341,
    550     D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 0x342,
    551     D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 0x343,
    552     D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 0x344,
    553     D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 0x345,
    554     D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 0x346,
    555     D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 0x347,
    556     D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 0x348,
    557     D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 0x349,
    558     D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 0x34a,
    559     D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 0x34b,
    560     D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 0x34c,
    561     D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 0x34d,
    562     D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 0x34e,
    563     D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 0x34f,
    564     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 0x350,
    565     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 0x351,
    566     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 0x352,
    567     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 0x353,
    568     D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 0x354,
    569     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 0x355,
    570     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 0x356,
    571     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 0x357,
    572     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 0x358,
    573     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 0x359,
    574     D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 0x35a,
    575     D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 0x35b,
    576     D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 0x35c,
    577     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 0x35d,
    578     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 0x35e,
    579     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 0x35f,
    580     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 0x360,
    581     D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 0x361,
    582     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 0x362,
    583     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 0x363,
    584     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 0x364,
    585     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 0x365,
    586     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 0x366,
    587     D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 0x367,
    588     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 0x368,
    589     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 0x369,
    590     D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 0x36a,
    591     D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 0x36b,
    592     D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 0x36c,
    593     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 0x36d,
    594     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 0x36e,
    595     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 0x36f,
    596     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 0x370,
    597     D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 0x371,
    598     D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 0x372,
    599     D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 0x373,
    600     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 0x374,
    601     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 0x375,
    602     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 0x376,
    603     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 0x377,
    604     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 0x378,
    605     D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 0x379,
    606     D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 0x37a,
    607     D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 0x37b,
    608     D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 0x37c,
    609     D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 0x37d,
    610     D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 0x37e,
    611     D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 0x37f,
    612     D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 0x380,
    613     D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 0x381,
    614     D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 0x382,
    615     D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 0x383,
    616     D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 0x384,
    617     D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 0x385,
    618     D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 0x386,
    619     D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 0x387,
    620     D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 0x388,
    621     D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 0x389,
    622     D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 0x38a,
    623     D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 0x38b,
    624     D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 0x38c,
    625     D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 0x38d,
    626     D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 0x38e,
    627     D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 0x38f,
    628     D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 0x390,
    629     D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 0x391,
    630     D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 0x392,
    631     D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 0x393,
    632     D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 0x394,
    633     D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 0x395,
    634     D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 0x396,
    635     D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 0x397,
    636     D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 0x398,
    637     D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 0x399,
    638     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 0x39a,
    639     D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 0x39b,
    640     D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 0x39c,
    641     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 0x39d,
    642     D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 0x39e,
    643     D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 0x39f,
    644     D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 0x3a1,
    645     D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 0x3a2,
    646     D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 0x3a3,
    647     D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 0x3a4,
    648     D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 0x3a5,
    649     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 0x3a6,
    650     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 0x3a7,
    651     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 0x3a8,
    652     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 0x3a9,
    653     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 0x3aa,
    654     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 0x3ab,
    655     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 0x3ac,
    656     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 0x3ad,
    657     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 0x3ae,
    658     D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 0x3af,
    659     D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 0x3b0,
    660     D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 0x3b1,
    661     D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 0x3b2,
    662     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 0x3b3,
    663     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 0x3b4,
    664     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 0x3b5,
    665     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 0x3b6,
    666     D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 0x3b7,
    667     D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 0x3b8,
    668     D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 0x3b9,
    669     D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 0x3ba,
    670     D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 0x3bb,
    671     D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 0x3bc,
    672     D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 0x3bd,
    673     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 0x3be,
    674     D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 0x3bf,
    675     D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 0x3c0,
    676     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 0x3c1,
    677     D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 0x3c2,
    678     D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 0x3c3,
    679     D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 0x3c4,
    680     D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 0x3c5,
    681     D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 0x3c6,
    682     D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 0x3c7,
    683     D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 0x3c8,
    684     D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 0x3c9,
    685     D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 0x3ca,
    686     D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 0x3cb,
    687     D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 0x3cc,
    688     D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 0x3cd,
    689     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 0x3ce,
    690     D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 0x3cf,
    691     D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 0x3d0,
    692     D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 0x3d1,
    693     D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 0x3d2,
    694     D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 0x3d3,
    695     D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 0x3d4,
    696     D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 0x3d5,
    697     D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 0x3d6,
    698     D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 0x3d7,
    699     D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 0x3d8,
    700     D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 0x3d9,
    701     D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 0x3da,
    702     D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 0x3db,
    703     D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 0x3dc,
    704     D3D12_MESSAGE_ID_DEPRECATED_API = 0x3dd,
    705     D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 0x3de,
    706     D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 0x3df,
    707     D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 0x3e0,
    708     D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 0x3e1,
    709     D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 0x3e2,
    710     D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 0x3e3,
    711     D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 0x3e4,
    712     D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 0x3e5,
    713     D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 0x3e6,
    714     D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 0x3e7,
    715     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 0x3e8,
    716     D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 0x3e9,
    717     D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 0x3ea,
    718     D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 0x3eb,
    719     D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 0x3ec,
    720     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 0x3ed,
    721     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 0x3ee,
    722     D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 0x3ef,
    723     D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 0x3f0,
    724     D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 0x3f1,
    725     D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 0x3f5,
    726     D3D12_MESSAGE_ID_BEGIN_EVENT = 0x3f6,
    727     D3D12_MESSAGE_ID_END_EVENT = 0x3f7,
    728     D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 0x3f8,
    729     D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 0x3f9,
    730     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 0x3fa,
    731     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 0x3fb,
    732     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 0x3fc,
    733     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 0x3fd,
    734     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 0x3fe,
    735     D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 0x3ff,
    736     D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 0x400,
    737     D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 0x401,
    738     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 0x402,
    739     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 0x403,
    740     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 0x404,
    741     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 0x405,
    742     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 0x406,
    743     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 0x407,
    744     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 0x408,
    745     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 0x409,
    746     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 0x40a,
    747     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 0x40b,
    748     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 0x40c,
    749     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 0x40d,
    750     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 0x40e,
    751     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 0x40f,
    752     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 0x410,
    753     D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 0x411,
    754     D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 0x412,
    755     D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 0x413,
    756     D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 0x414,
    757     D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 0x415,
    758     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 0x416,
    759     D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 0x417,
    760     D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 0x418,
    761     D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 0x419,
    762     D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 0x41a,
    763     D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 0x41b,
    764     D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 0x41c,
    765     D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 0x41d,
    766     D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 0x41e,
    767     D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 0x41f,
    768     D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 0x420,
    769     D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 0x421,
    770     D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 0x422,
    771     D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 0x423,
    772     D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 0x424,
    773     D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 0x425,
    774     D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 0x426,
    775     D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 0x427,
    776     D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 0x428,
    777     D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 0x429,
    778     D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 0x42a,
    779     D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 0x42b,
    780     D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 0x42c,
    781     D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 0x42d,
    782     D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 0x42e,
    783     D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 0x42f,
    784     D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 0x430,
    785     D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 0x431,
    786     D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 0x432,
    787     D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 0x433,
    788     D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 0x434,
    789     D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 0x435,
    790     D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 0x436,
    791     D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 0x437,
    792     D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 0x438,
    793     D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 0x439,
    794     D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 0x43a,
    795     D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 0x43b,
    796     D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 0x43c,
    797     D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 0x43d,
    798     D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 0x43e,
    799     D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 0x43f,
    800     D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 0x440,
    801     D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 0x441,
    802     D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 0x442,
    803     D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 0x443,
    804     D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 0x444,
    805     D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 0x445,
    806     D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 0x446,
    807     D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 0x447,
    808     D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 0x448,
    809     D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 0x449,
    810     D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 0x44a,
    811     D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 0x44b,
    812     D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 0x44c,
    813     D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 0x44d,
    814     D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 0x44e,
    815     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 0x44f,
    816     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 0x450,
    817     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 0x451,
    818     D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 0x452,
    819     D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 0x453,
    820     D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 0x454,
    821     D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 0x455,
    822     D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 0x456,
    823     D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 0x457,
    824     D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 0x458,
    825     D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 0x459,
    826     D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 0x45a,
    827     D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 0x45b,
    828     D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 0x45c,
    829     D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 0x45d,
    830     D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 0x45e,
    831     D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 0x45f,
    832     D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 0x460,
    833     D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 0x461,
    834     D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 0x462,
    835     D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 0x463,
    836     D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 0x464,
    837     D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 0x465,
    838     D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 0x466,
    839     D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 0x467,
    840     D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 0x468,
    841     D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 0x469,
    842     D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 0x46a,
    843     D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 0x46b,
    844     D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 0x46c,
    845     D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 0x46d,
    846     D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 0x46e,
    847     D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 0x46f,
    848     D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 0x470,
    849     D3D12_MESSAGE_ID_CREATE_META_COMMAND = 0x471,
    850     D3D12_MESSAGE_ID_LIVE_META_COMMAND = 0x472,
    851     D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 0x473,
    852     D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 0x474,
    853     D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 0x475,
    854     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 0x476,
    855     D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 0x477,
    856     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 0x478,
    857     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 0x479,
    858     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 0x47a,
    859     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 0x47b,
    860     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 0x47c,
    861     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 0x47d,
    862     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 0x47e,
    863     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 0x47f,
    864     D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 0x480,
    865     D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 0x481,
    866     D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 0x482,
    867     D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 0x483,
    868     D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 0x484,
    869     D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 0x485,
    870     D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 0x486,
    871     D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 0x487,
    872     D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 0x488,
    873     D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 0x489,
    874     D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 0x48a,
    875     D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 0x48b,
    876     D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 0x48c,
    877     D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 0x48d,
    878     D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 0x48e,
    879     D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 0x48f,
    880     D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 0x490,
    881     D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 0x491,
    882     D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 0x492,
    883     D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 0x493,
    884     D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 0x494,
    885     D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 0x495,
    886     D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 0x496,
    887     D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 0x497,
    888     D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 0x498,
    889     D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 0x499,
    890     D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 0x49a,
    891     D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 0x49b,
    892     D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 0x49c,
    893     D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 0x49d,
    894     D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 0x49e,
    895     D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 0x49f,
    896     D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 0x4a0,
    897     D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 0x4a1,
    898     D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 0x4a2,
    899     D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 0x4a3,
    900     D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 0x4a4,
    901     D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 0x4a5,
    902     D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 0x4a6,
    903     D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 0x4a7,
    904     D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 0x4a8,
    905     D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 0x4a9,
    906     D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 0x4aa,
    907     D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 0x4ab,
    908     D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 0x4ac,
    909     D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 0x4ad,
    910     D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 0x4ae,
    911     D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 0x4af,
    912     D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 0x4b0,
    913     D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 0x4b1,
    914     D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 0x4b2,
    915     D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 0x4b3,
    916     D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 0x4b4,
    917     D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 0x4b5,
    918     D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 0x4b6,
    919     D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 0x4b7,
    920     D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 0x4b8,
    921     D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 0x4b9,
    922     D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 0x4ba,
    923     D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 0x4bb,
    924     D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 0x4bc,
    925     D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 0x4bd,
    926     D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 0x4be,
    927     D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 0x4bf,
    928     D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 0x4c0,
    929     D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 0x4c1,
    930     D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 0x4c2,
    931     D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 0x4c3,
    932     D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 0x4c4,
    933     D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 0x4c5,
    934     D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 0x4c6,
    935     D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 0x4c7,
    936     D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 0x4c8,
    937     D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 0x4c9,
    938     D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 0x4ca,
    939     D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 0x4cb,
    940     D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 0x4cc,
    941     D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 0x4cd,
    942     D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 0x4ce,
    943     D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 0x4cf,
    944     D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4d0,
    945     D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 0x4d1,
    946     D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 0x4d2,
    947     D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 0x4d3,
    948     D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 0x4d4,
    949     D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 0x4d5,
    950     D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 0x4d6,
    951     D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 0x4d7,
    952     D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 0x4d8,
    953     D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 0x4d9,
    954     D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 0x4da,
    955     D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 0x4db,
    956     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 0x4dc,
    957     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 0x4dd,
    958     D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 0x4de,
    959     D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 0x4df,
    960     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 0x4e0,
    961     D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 0x4e1,
    962     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 0x4e2,
    963     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 0x4e3,
    964     D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 0x4e4,
    965     D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 0x4e5,
    966     D3D12_MESSAGE_ID_EMPTY_DISPATCH = 0x4e6,
    967     D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 0x4e7,
    968     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 0x4e8,
    969     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 0x4e9,
    970     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 0x4ea,
    971     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 0x4eb,
    972     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 0x4ec,
    973     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 0x4ed,
    974     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 0x4ee,
    975     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 0x4ef,
    976     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 0x4f0,
    977     D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 0x4f1,
    978     D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 0x4f2,
    979     D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 0x4f3,
    980     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 0x4f4,
    981     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 0x4f5,
    982     D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 0x4f6,
    983     D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 0x4f7,
    984     D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 0x4f8,
    985     D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 0x4f9,
    986     D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4fa,
    987     D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4fb,
    988     D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 0x4fc,
    989     D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 0x4fd,
    990     D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 0x4fe,
    991     D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 0x4ff,
    992     D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 0x500
    993 } D3D12_MESSAGE_ID;
    994 typedef enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
    995     D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0x0,
    996     D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 0x1,
    997     D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 0x2,
    998     D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 0x3,
    999     NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 0x4
   1000 } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;
   1001 typedef enum D3D12_GPU_BASED_VALIDATION_FLAGS {
   1002     D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0x0,
   1003     D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1
   1004 } D3D12_GPU_BASED_VALIDATION_FLAGS;
   1005 DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS)
   1006 typedef enum D3D12_RLDO_FLAGS {
   1007     D3D12_RLDO_NONE = 0x0,
   1008     D3D12_RLDO_SUMMARY = 0x1,
   1009     D3D12_RLDO_DETAIL = 0x2,
   1010     D3D12_RLDO_IGNORE_INTERNAL = 0x4
   1011 } D3D12_RLDO_FLAGS;
   1012 DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)
   1013 typedef enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
   1014     D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
   1015     D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 1,
   1016     D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = 2
   1017 } D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
   1018 typedef enum D3D12_DEBUG_FEATURE {
   1019     D3D12_DEBUG_FEATURE_NONE = 0x0,
   1020     D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1,
   1021     D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2,
   1022     D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4,
   1023     D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8
   1024 } D3D12_DEBUG_FEATURE;
   1025 DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)
   1026 typedef enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
   1027     D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0x0,
   1028     D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
   1029     D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
   1030     D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
   1031     D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7
   1032 } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;
   1033 DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)
   1034 typedef enum D3D12_MESSAGE_CALLBACK_FLAGS {
   1035     D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0x0,
   1036     D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1
   1037 } D3D12_MESSAGE_CALLBACK_FLAGS;
   1038 DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS)
   1039 typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
   1040     UINT MaxMessagesPerCommandList;
   1041     D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;
   1042     D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
   1043 } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;
   1044 typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
   1045     FLOAT SlowdownFactor;
   1046 } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
   1047 typedef struct D3D12_MESSAGE {
   1048     D3D12_MESSAGE_CATEGORY Category;
   1049     D3D12_MESSAGE_SEVERITY Severity;
   1050     D3D12_MESSAGE_ID ID;
   1051     const char *pDescription;
   1052     SIZE_T DescriptionByteLength;
   1053 } D3D12_MESSAGE;
   1054 typedef struct D3D12_INFO_QUEUE_FILTER_DESC {
   1055     UINT NumCategories;
   1056     D3D12_MESSAGE_CATEGORY *pCategoryList;
   1057     UINT NumSeverities;
   1058     D3D12_MESSAGE_SEVERITY *pSeverityList;
   1059     UINT NumIDs;
   1060     D3D12_MESSAGE_ID *pIDList;
   1061 } D3D12_INFO_QUEUE_FILTER_DESC;
   1062 typedef struct D3D12_INFO_QUEUE_FILTER {
   1063     D3D12_INFO_QUEUE_FILTER_DESC AllowList;
   1064     D3D12_INFO_QUEUE_FILTER_DESC DenyList;
   1065 } D3D12_INFO_QUEUE_FILTER;
   1066 /*****************************************************************************
   1067  * ID3D12Debug interface
   1068  */
   1069 #ifndef __ID3D12Debug_INTERFACE_DEFINED__
   1070 #define __ID3D12Debug_INTERFACE_DEFINED__
   1071 
   1072 DEFINE_GUID(IID_ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9,0x89, 0xf0,0x27,0x44,0x82,0x45,0xe0);
   1073 #if defined(__cplusplus) && !defined(CINTERFACE)
   1074 MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
   1075 ID3D12Debug : public IUnknown
   1076 {
   1077     virtual void STDMETHODCALLTYPE EnableDebugLayer(
   1078         ) = 0;
   1079 
   1080 };
   1081 #ifdef __CRT_UUID_DECL
   1082 __CRT_UUID_DECL(ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9,0x89, 0xf0,0x27,0x44,0x82,0x45,0xe0)
   1083 #endif
   1084 #else
   1085 typedef struct ID3D12DebugVtbl {
   1086     BEGIN_INTERFACE
   1087 
   1088     /*** IUnknown methods ***/
   1089     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1090         ID3D12Debug *This,
   1091         REFIID riid,
   1092         void **ppvObject);
   1093 
   1094     ULONG (STDMETHODCALLTYPE *AddRef)(
   1095         ID3D12Debug *This);
   1096 
   1097     ULONG (STDMETHODCALLTYPE *Release)(
   1098         ID3D12Debug *This);
   1099 
   1100     /*** ID3D12Debug methods ***/
   1101     void (STDMETHODCALLTYPE *EnableDebugLayer)(
   1102         ID3D12Debug *This);
   1103 
   1104     END_INTERFACE
   1105 } ID3D12DebugVtbl;
   1106 
   1107 interface ID3D12Debug {
   1108     CONST_VTBL ID3D12DebugVtbl* lpVtbl;
   1109 };
   1110 
   1111 #ifdef COBJMACROS
   1112 #ifndef WIDL_C_INLINE_WRAPPERS
   1113 /*** IUnknown methods ***/
   1114 #define ID3D12Debug_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1115 #define ID3D12Debug_AddRef(This) (This)->lpVtbl->AddRef(This)
   1116 #define ID3D12Debug_Release(This) (This)->lpVtbl->Release(This)
   1117 /*** ID3D12Debug methods ***/
   1118 #define ID3D12Debug_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
   1119 #else
   1120 /*** IUnknown methods ***/
   1121 static inline HRESULT ID3D12Debug_QueryInterface(ID3D12Debug* This,REFIID riid,void **ppvObject) {
   1122     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1123 }
   1124 static inline ULONG ID3D12Debug_AddRef(ID3D12Debug* This) {
   1125     return This->lpVtbl->AddRef(This);
   1126 }
   1127 static inline ULONG ID3D12Debug_Release(ID3D12Debug* This) {
   1128     return This->lpVtbl->Release(This);
   1129 }
   1130 /*** ID3D12Debug methods ***/
   1131 static inline void ID3D12Debug_EnableDebugLayer(ID3D12Debug* This) {
   1132     This->lpVtbl->EnableDebugLayer(This);
   1133 }
   1134 #endif
   1135 #endif
   1136 
   1137 #endif
   1138 
   1139 
   1140 #endif  /* __ID3D12Debug_INTERFACE_DEFINED__ */
   1141 
   1142 /*****************************************************************************
   1143  * ID3D12Debug1 interface
   1144  */
   1145 #ifndef __ID3D12Debug1_INTERFACE_DEFINED__
   1146 #define __ID3D12Debug1_INTERFACE_DEFINED__
   1147 
   1148 DEFINE_GUID(IID_ID3D12Debug1, 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8,0xad, 0x15,0x90,0x00,0xaf,0x43,0x04);
   1149 #if defined(__cplusplus) && !defined(CINTERFACE)
   1150 MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304")
   1151 ID3D12Debug1 : public IUnknown
   1152 {
   1153     virtual void STDMETHODCALLTYPE EnableDebugLayer(
   1154         ) = 0;
   1155 
   1156     virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
   1157         WINBOOL enable) = 0;
   1158 
   1159     virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
   1160         WINBOOL enable) = 0;
   1161 
   1162 };
   1163 #ifdef __CRT_UUID_DECL
   1164 __CRT_UUID_DECL(ID3D12Debug1, 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8,0xad, 0x15,0x90,0x00,0xaf,0x43,0x04)
   1165 #endif
   1166 #else
   1167 typedef struct ID3D12Debug1Vtbl {
   1168     BEGIN_INTERFACE
   1169 
   1170     /*** IUnknown methods ***/
   1171     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1172         ID3D12Debug1 *This,
   1173         REFIID riid,
   1174         void **ppvObject);
   1175 
   1176     ULONG (STDMETHODCALLTYPE *AddRef)(
   1177         ID3D12Debug1 *This);
   1178 
   1179     ULONG (STDMETHODCALLTYPE *Release)(
   1180         ID3D12Debug1 *This);
   1181 
   1182     /*** ID3D12Debug1 methods ***/
   1183     void (STDMETHODCALLTYPE *EnableDebugLayer)(
   1184         ID3D12Debug1 *This);
   1185 
   1186     void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
   1187         ID3D12Debug1 *This,
   1188         WINBOOL enable);
   1189 
   1190     void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
   1191         ID3D12Debug1 *This,
   1192         WINBOOL enable);
   1193 
   1194     END_INTERFACE
   1195 } ID3D12Debug1Vtbl;
   1196 
   1197 interface ID3D12Debug1 {
   1198     CONST_VTBL ID3D12Debug1Vtbl* lpVtbl;
   1199 };
   1200 
   1201 #ifdef COBJMACROS
   1202 #ifndef WIDL_C_INLINE_WRAPPERS
   1203 /*** IUnknown methods ***/
   1204 #define ID3D12Debug1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1205 #define ID3D12Debug1_AddRef(This) (This)->lpVtbl->AddRef(This)
   1206 #define ID3D12Debug1_Release(This) (This)->lpVtbl->Release(This)
   1207 /*** ID3D12Debug1 methods ***/
   1208 #define ID3D12Debug1_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
   1209 #define ID3D12Debug1_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
   1210 #define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
   1211 #else
   1212 /*** IUnknown methods ***/
   1213 static inline HRESULT ID3D12Debug1_QueryInterface(ID3D12Debug1* This,REFIID riid,void **ppvObject) {
   1214     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1215 }
   1216 static inline ULONG ID3D12Debug1_AddRef(ID3D12Debug1* This) {
   1217     return This->lpVtbl->AddRef(This);
   1218 }
   1219 static inline ULONG ID3D12Debug1_Release(ID3D12Debug1* This) {
   1220     return This->lpVtbl->Release(This);
   1221 }
   1222 /*** ID3D12Debug1 methods ***/
   1223 static inline void ID3D12Debug1_EnableDebugLayer(ID3D12Debug1* This) {
   1224     This->lpVtbl->EnableDebugLayer(This);
   1225 }
   1226 static inline void ID3D12Debug1_SetEnableGPUBasedValidation(ID3D12Debug1* This,WINBOOL enable) {
   1227     This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
   1228 }
   1229 static inline void ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug1* This,WINBOOL enable) {
   1230     This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
   1231 }
   1232 #endif
   1233 #endif
   1234 
   1235 #endif
   1236 
   1237 
   1238 #endif  /* __ID3D12Debug1_INTERFACE_DEFINED__ */
   1239 
   1240 /*****************************************************************************
   1241  * ID3D12Debug2 interface
   1242  */
   1243 #ifndef __ID3D12Debug2_INTERFACE_DEFINED__
   1244 #define __ID3D12Debug2_INTERFACE_DEFINED__
   1245 
   1246 DEFINE_GUID(IID_ID3D12Debug2, 0x93a665c4, 0xa3b2, 0x4e5d, 0xb6,0x92, 0xa2,0x6a,0xe1,0x4e,0x33,0x74);
   1247 #if defined(__cplusplus) && !defined(CINTERFACE)
   1248 MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374")
   1249 ID3D12Debug2 : public IUnknown
   1250 {
   1251     virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
   1252         D3D12_GPU_BASED_VALIDATION_FLAGS flags) = 0;
   1253 
   1254 };
   1255 #ifdef __CRT_UUID_DECL
   1256 __CRT_UUID_DECL(ID3D12Debug2, 0x93a665c4, 0xa3b2, 0x4e5d, 0xb6,0x92, 0xa2,0x6a,0xe1,0x4e,0x33,0x74)
   1257 #endif
   1258 #else
   1259 typedef struct ID3D12Debug2Vtbl {
   1260     BEGIN_INTERFACE
   1261 
   1262     /*** IUnknown methods ***/
   1263     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1264         ID3D12Debug2 *This,
   1265         REFIID riid,
   1266         void **ppvObject);
   1267 
   1268     ULONG (STDMETHODCALLTYPE *AddRef)(
   1269         ID3D12Debug2 *This);
   1270 
   1271     ULONG (STDMETHODCALLTYPE *Release)(
   1272         ID3D12Debug2 *This);
   1273 
   1274     /*** ID3D12Debug2 methods ***/
   1275     void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
   1276         ID3D12Debug2 *This,
   1277         D3D12_GPU_BASED_VALIDATION_FLAGS flags);
   1278 
   1279     END_INTERFACE
   1280 } ID3D12Debug2Vtbl;
   1281 
   1282 interface ID3D12Debug2 {
   1283     CONST_VTBL ID3D12Debug2Vtbl* lpVtbl;
   1284 };
   1285 
   1286 #ifdef COBJMACROS
   1287 #ifndef WIDL_C_INLINE_WRAPPERS
   1288 /*** IUnknown methods ***/
   1289 #define ID3D12Debug2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1290 #define ID3D12Debug2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1291 #define ID3D12Debug2_Release(This) (This)->lpVtbl->Release(This)
   1292 /*** ID3D12Debug2 methods ***/
   1293 #define ID3D12Debug2_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
   1294 #else
   1295 /*** IUnknown methods ***/
   1296 static inline HRESULT ID3D12Debug2_QueryInterface(ID3D12Debug2* This,REFIID riid,void **ppvObject) {
   1297     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1298 }
   1299 static inline ULONG ID3D12Debug2_AddRef(ID3D12Debug2* This) {
   1300     return This->lpVtbl->AddRef(This);
   1301 }
   1302 static inline ULONG ID3D12Debug2_Release(ID3D12Debug2* This) {
   1303     return This->lpVtbl->Release(This);
   1304 }
   1305 /*** ID3D12Debug2 methods ***/
   1306 static inline void ID3D12Debug2_SetGPUBasedValidationFlags(ID3D12Debug2* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
   1307     This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
   1308 }
   1309 #endif
   1310 #endif
   1311 
   1312 #endif
   1313 
   1314 
   1315 #endif  /* __ID3D12Debug2_INTERFACE_DEFINED__ */
   1316 
   1317 /*****************************************************************************
   1318  * ID3D12Debug3 interface
   1319  */
   1320 #ifndef __ID3D12Debug3_INTERFACE_DEFINED__
   1321 #define __ID3D12Debug3_INTERFACE_DEFINED__
   1322 
   1323 DEFINE_GUID(IID_ID3D12Debug3, 0x5cf4e58f, 0xf671, 0x4ff1, 0xa5,0x42, 0x36,0x86,0xe3,0xd1,0x53,0xd1);
   1324 #if defined(__cplusplus) && !defined(CINTERFACE)
   1325 MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1")
   1326 ID3D12Debug3 : public ID3D12Debug
   1327 {
   1328     virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation(
   1329         WINBOOL enable) = 0;
   1330 
   1331     virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation(
   1332         WINBOOL enable) = 0;
   1333 
   1334     virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags(
   1335         D3D12_GPU_BASED_VALIDATION_FLAGS flags) = 0;
   1336 
   1337 };
   1338 #ifdef __CRT_UUID_DECL
   1339 __CRT_UUID_DECL(ID3D12Debug3, 0x5cf4e58f, 0xf671, 0x4ff1, 0xa5,0x42, 0x36,0x86,0xe3,0xd1,0x53,0xd1)
   1340 #endif
   1341 #else
   1342 typedef struct ID3D12Debug3Vtbl {
   1343     BEGIN_INTERFACE
   1344 
   1345     /*** IUnknown methods ***/
   1346     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1347         ID3D12Debug3 *This,
   1348         REFIID riid,
   1349         void **ppvObject);
   1350 
   1351     ULONG (STDMETHODCALLTYPE *AddRef)(
   1352         ID3D12Debug3 *This);
   1353 
   1354     ULONG (STDMETHODCALLTYPE *Release)(
   1355         ID3D12Debug3 *This);
   1356 
   1357     /*** ID3D12Debug methods ***/
   1358     void (STDMETHODCALLTYPE *EnableDebugLayer)(
   1359         ID3D12Debug3 *This);
   1360 
   1361     /*** ID3D12Debug3 methods ***/
   1362     void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
   1363         ID3D12Debug3 *This,
   1364         WINBOOL enable);
   1365 
   1366     void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
   1367         ID3D12Debug3 *This,
   1368         WINBOOL enable);
   1369 
   1370     void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
   1371         ID3D12Debug3 *This,
   1372         D3D12_GPU_BASED_VALIDATION_FLAGS flags);
   1373 
   1374     END_INTERFACE
   1375 } ID3D12Debug3Vtbl;
   1376 
   1377 interface ID3D12Debug3 {
   1378     CONST_VTBL ID3D12Debug3Vtbl* lpVtbl;
   1379 };
   1380 
   1381 #ifdef COBJMACROS
   1382 #ifndef WIDL_C_INLINE_WRAPPERS
   1383 /*** IUnknown methods ***/
   1384 #define ID3D12Debug3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1385 #define ID3D12Debug3_AddRef(This) (This)->lpVtbl->AddRef(This)
   1386 #define ID3D12Debug3_Release(This) (This)->lpVtbl->Release(This)
   1387 /*** ID3D12Debug methods ***/
   1388 #define ID3D12Debug3_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
   1389 /*** ID3D12Debug3 methods ***/
   1390 #define ID3D12Debug3_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
   1391 #define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
   1392 #define ID3D12Debug3_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
   1393 #else
   1394 /*** IUnknown methods ***/
   1395 static inline HRESULT ID3D12Debug3_QueryInterface(ID3D12Debug3* This,REFIID riid,void **ppvObject) {
   1396     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1397 }
   1398 static inline ULONG ID3D12Debug3_AddRef(ID3D12Debug3* This) {
   1399     return This->lpVtbl->AddRef(This);
   1400 }
   1401 static inline ULONG ID3D12Debug3_Release(ID3D12Debug3* This) {
   1402     return This->lpVtbl->Release(This);
   1403 }
   1404 /*** ID3D12Debug methods ***/
   1405 static inline void ID3D12Debug3_EnableDebugLayer(ID3D12Debug3* This) {
   1406     This->lpVtbl->EnableDebugLayer(This);
   1407 }
   1408 /*** ID3D12Debug3 methods ***/
   1409 static inline void ID3D12Debug3_SetEnableGPUBasedValidation(ID3D12Debug3* This,WINBOOL enable) {
   1410     This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
   1411 }
   1412 static inline void ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug3* This,WINBOOL enable) {
   1413     This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
   1414 }
   1415 static inline void ID3D12Debug3_SetGPUBasedValidationFlags(ID3D12Debug3* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
   1416     This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
   1417 }
   1418 #endif
   1419 #endif
   1420 
   1421 #endif
   1422 
   1423 
   1424 #endif  /* __ID3D12Debug3_INTERFACE_DEFINED__ */
   1425 
   1426 /*****************************************************************************
   1427  * ID3D12Debug4 interface
   1428  */
   1429 #ifndef __ID3D12Debug4_INTERFACE_DEFINED__
   1430 #define __ID3D12Debug4_INTERFACE_DEFINED__
   1431 
   1432 DEFINE_GUID(IID_ID3D12Debug4, 0x014b816e, 0x9ec5, 0x4a2f, 0xa8,0x45, 0xff,0xbe,0x44,0x1c,0xe1,0x3a);
   1433 #if defined(__cplusplus) && !defined(CINTERFACE)
   1434 MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a")
   1435 ID3D12Debug4 : public ID3D12Debug3
   1436 {
   1437     virtual void STDMETHODCALLTYPE DisableDebugLayer(
   1438         ) = 0;
   1439 
   1440 };
   1441 #ifdef __CRT_UUID_DECL
   1442 __CRT_UUID_DECL(ID3D12Debug4, 0x014b816e, 0x9ec5, 0x4a2f, 0xa8,0x45, 0xff,0xbe,0x44,0x1c,0xe1,0x3a)
   1443 #endif
   1444 #else
   1445 typedef struct ID3D12Debug4Vtbl {
   1446     BEGIN_INTERFACE
   1447 
   1448     /*** IUnknown methods ***/
   1449     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1450         ID3D12Debug4 *This,
   1451         REFIID riid,
   1452         void **ppvObject);
   1453 
   1454     ULONG (STDMETHODCALLTYPE *AddRef)(
   1455         ID3D12Debug4 *This);
   1456 
   1457     ULONG (STDMETHODCALLTYPE *Release)(
   1458         ID3D12Debug4 *This);
   1459 
   1460     /*** ID3D12Debug methods ***/
   1461     void (STDMETHODCALLTYPE *EnableDebugLayer)(
   1462         ID3D12Debug4 *This);
   1463 
   1464     /*** ID3D12Debug3 methods ***/
   1465     void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
   1466         ID3D12Debug4 *This,
   1467         WINBOOL enable);
   1468 
   1469     void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
   1470         ID3D12Debug4 *This,
   1471         WINBOOL enable);
   1472 
   1473     void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
   1474         ID3D12Debug4 *This,
   1475         D3D12_GPU_BASED_VALIDATION_FLAGS flags);
   1476 
   1477     /*** ID3D12Debug4 methods ***/
   1478     void (STDMETHODCALLTYPE *DisableDebugLayer)(
   1479         ID3D12Debug4 *This);
   1480 
   1481     END_INTERFACE
   1482 } ID3D12Debug4Vtbl;
   1483 
   1484 interface ID3D12Debug4 {
   1485     CONST_VTBL ID3D12Debug4Vtbl* lpVtbl;
   1486 };
   1487 
   1488 #ifdef COBJMACROS
   1489 #ifndef WIDL_C_INLINE_WRAPPERS
   1490 /*** IUnknown methods ***/
   1491 #define ID3D12Debug4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1492 #define ID3D12Debug4_AddRef(This) (This)->lpVtbl->AddRef(This)
   1493 #define ID3D12Debug4_Release(This) (This)->lpVtbl->Release(This)
   1494 /*** ID3D12Debug methods ***/
   1495 #define ID3D12Debug4_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
   1496 /*** ID3D12Debug3 methods ***/
   1497 #define ID3D12Debug4_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
   1498 #define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
   1499 #define ID3D12Debug4_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
   1500 /*** ID3D12Debug4 methods ***/
   1501 #define ID3D12Debug4_DisableDebugLayer(This) (This)->lpVtbl->DisableDebugLayer(This)
   1502 #else
   1503 /*** IUnknown methods ***/
   1504 static inline HRESULT ID3D12Debug4_QueryInterface(ID3D12Debug4* This,REFIID riid,void **ppvObject) {
   1505     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1506 }
   1507 static inline ULONG ID3D12Debug4_AddRef(ID3D12Debug4* This) {
   1508     return This->lpVtbl->AddRef(This);
   1509 }
   1510 static inline ULONG ID3D12Debug4_Release(ID3D12Debug4* This) {
   1511     return This->lpVtbl->Release(This);
   1512 }
   1513 /*** ID3D12Debug methods ***/
   1514 static inline void ID3D12Debug4_EnableDebugLayer(ID3D12Debug4* This) {
   1515     This->lpVtbl->EnableDebugLayer(This);
   1516 }
   1517 /*** ID3D12Debug3 methods ***/
   1518 static inline void ID3D12Debug4_SetEnableGPUBasedValidation(ID3D12Debug4* This,WINBOOL enable) {
   1519     This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
   1520 }
   1521 static inline void ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug4* This,WINBOOL enable) {
   1522     This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
   1523 }
   1524 static inline void ID3D12Debug4_SetGPUBasedValidationFlags(ID3D12Debug4* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
   1525     This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
   1526 }
   1527 /*** ID3D12Debug4 methods ***/
   1528 static inline void ID3D12Debug4_DisableDebugLayer(ID3D12Debug4* This) {
   1529     This->lpVtbl->DisableDebugLayer(This);
   1530 }
   1531 #endif
   1532 #endif
   1533 
   1534 #endif
   1535 
   1536 
   1537 #endif  /* __ID3D12Debug4_INTERFACE_DEFINED__ */
   1538 
   1539 /*****************************************************************************
   1540  * ID3D12Debug5 interface
   1541  */
   1542 #ifndef __ID3D12Debug5_INTERFACE_DEFINED__
   1543 #define __ID3D12Debug5_INTERFACE_DEFINED__
   1544 
   1545 DEFINE_GUID(IID_ID3D12Debug5, 0x548d6b12, 0x09fa, 0x40e0, 0x90,0x69, 0x5d,0xcd,0x58,0x9a,0x52,0xc9);
   1546 #if defined(__cplusplus) && !defined(CINTERFACE)
   1547 MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9")
   1548 ID3D12Debug5 : public ID3D12Debug4
   1549 {
   1550     virtual void STDMETHODCALLTYPE SetEnableAutoName(
   1551         WINBOOL enable) = 0;
   1552 
   1553 };
   1554 #ifdef __CRT_UUID_DECL
   1555 __CRT_UUID_DECL(ID3D12Debug5, 0x548d6b12, 0x09fa, 0x40e0, 0x90,0x69, 0x5d,0xcd,0x58,0x9a,0x52,0xc9)
   1556 #endif
   1557 #else
   1558 typedef struct ID3D12Debug5Vtbl {
   1559     BEGIN_INTERFACE
   1560 
   1561     /*** IUnknown methods ***/
   1562     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1563         ID3D12Debug5 *This,
   1564         REFIID riid,
   1565         void **ppvObject);
   1566 
   1567     ULONG (STDMETHODCALLTYPE *AddRef)(
   1568         ID3D12Debug5 *This);
   1569 
   1570     ULONG (STDMETHODCALLTYPE *Release)(
   1571         ID3D12Debug5 *This);
   1572 
   1573     /*** ID3D12Debug methods ***/
   1574     void (STDMETHODCALLTYPE *EnableDebugLayer)(
   1575         ID3D12Debug5 *This);
   1576 
   1577     /*** ID3D12Debug3 methods ***/
   1578     void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)(
   1579         ID3D12Debug5 *This,
   1580         WINBOOL enable);
   1581 
   1582     void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)(
   1583         ID3D12Debug5 *This,
   1584         WINBOOL enable);
   1585 
   1586     void (STDMETHODCALLTYPE *SetGPUBasedValidationFlags)(
   1587         ID3D12Debug5 *This,
   1588         D3D12_GPU_BASED_VALIDATION_FLAGS flags);
   1589 
   1590     /*** ID3D12Debug4 methods ***/
   1591     void (STDMETHODCALLTYPE *DisableDebugLayer)(
   1592         ID3D12Debug5 *This);
   1593 
   1594     /*** ID3D12Debug5 methods ***/
   1595     void (STDMETHODCALLTYPE *SetEnableAutoName)(
   1596         ID3D12Debug5 *This,
   1597         WINBOOL enable);
   1598 
   1599     END_INTERFACE
   1600 } ID3D12Debug5Vtbl;
   1601 
   1602 interface ID3D12Debug5 {
   1603     CONST_VTBL ID3D12Debug5Vtbl* lpVtbl;
   1604 };
   1605 
   1606 #ifdef COBJMACROS
   1607 #ifndef WIDL_C_INLINE_WRAPPERS
   1608 /*** IUnknown methods ***/
   1609 #define ID3D12Debug5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1610 #define ID3D12Debug5_AddRef(This) (This)->lpVtbl->AddRef(This)
   1611 #define ID3D12Debug5_Release(This) (This)->lpVtbl->Release(This)
   1612 /*** ID3D12Debug methods ***/
   1613 #define ID3D12Debug5_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This)
   1614 /*** ID3D12Debug3 methods ***/
   1615 #define ID3D12Debug5_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable)
   1616 #define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable)
   1617 #define ID3D12Debug5_SetGPUBasedValidationFlags(This,flags) (This)->lpVtbl->SetGPUBasedValidationFlags(This,flags)
   1618 /*** ID3D12Debug4 methods ***/
   1619 #define ID3D12Debug5_DisableDebugLayer(This) (This)->lpVtbl->DisableDebugLayer(This)
   1620 /*** ID3D12Debug5 methods ***/
   1621 #define ID3D12Debug5_SetEnableAutoName(This,enable) (This)->lpVtbl->SetEnableAutoName(This,enable)
   1622 #else
   1623 /*** IUnknown methods ***/
   1624 static inline HRESULT ID3D12Debug5_QueryInterface(ID3D12Debug5* This,REFIID riid,void **ppvObject) {
   1625     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1626 }
   1627 static inline ULONG ID3D12Debug5_AddRef(ID3D12Debug5* This) {
   1628     return This->lpVtbl->AddRef(This);
   1629 }
   1630 static inline ULONG ID3D12Debug5_Release(ID3D12Debug5* This) {
   1631     return This->lpVtbl->Release(This);
   1632 }
   1633 /*** ID3D12Debug methods ***/
   1634 static inline void ID3D12Debug5_EnableDebugLayer(ID3D12Debug5* This) {
   1635     This->lpVtbl->EnableDebugLayer(This);
   1636 }
   1637 /*** ID3D12Debug3 methods ***/
   1638 static inline void ID3D12Debug5_SetEnableGPUBasedValidation(ID3D12Debug5* This,WINBOOL enable) {
   1639     This->lpVtbl->SetEnableGPUBasedValidation(This,enable);
   1640 }
   1641 static inline void ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug5* This,WINBOOL enable) {
   1642     This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable);
   1643 }
   1644 static inline void ID3D12Debug5_SetGPUBasedValidationFlags(ID3D12Debug5* This,D3D12_GPU_BASED_VALIDATION_FLAGS flags) {
   1645     This->lpVtbl->SetGPUBasedValidationFlags(This,flags);
   1646 }
   1647 /*** ID3D12Debug4 methods ***/
   1648 static inline void ID3D12Debug5_DisableDebugLayer(ID3D12Debug5* This) {
   1649     This->lpVtbl->DisableDebugLayer(This);
   1650 }
   1651 /*** ID3D12Debug5 methods ***/
   1652 static inline void ID3D12Debug5_SetEnableAutoName(ID3D12Debug5* This,WINBOOL enable) {
   1653     This->lpVtbl->SetEnableAutoName(This,enable);
   1654 }
   1655 #endif
   1656 #endif
   1657 
   1658 #endif
   1659 
   1660 
   1661 #endif  /* __ID3D12Debug5_INTERFACE_DEFINED__ */
   1662 
   1663 /*****************************************************************************
   1664  * ID3D12DebugDevice interface
   1665  */
   1666 #ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__
   1667 #define __ID3D12DebugDevice_INTERFACE_DEFINED__
   1668 
   1669 DEFINE_GUID(IID_ID3D12DebugDevice, 0x3febd6dd, 0x4973, 0x4787, 0x81,0x94, 0xe4,0x5f,0x9e,0x28,0x92,0x3e);
   1670 #if defined(__cplusplus) && !defined(CINTERFACE)
   1671 MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e")
   1672 ID3D12DebugDevice : public IUnknown
   1673 {
   1674     virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
   1675         D3D12_DEBUG_FEATURE mask) = 0;
   1676 
   1677     virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask(
   1678         ) = 0;
   1679 
   1680     virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
   1681         D3D12_RLDO_FLAGS flags) = 0;
   1682 
   1683 };
   1684 #ifdef __CRT_UUID_DECL
   1685 __CRT_UUID_DECL(ID3D12DebugDevice, 0x3febd6dd, 0x4973, 0x4787, 0x81,0x94, 0xe4,0x5f,0x9e,0x28,0x92,0x3e)
   1686 #endif
   1687 #else
   1688 typedef struct ID3D12DebugDeviceVtbl {
   1689     BEGIN_INTERFACE
   1690 
   1691     /*** IUnknown methods ***/
   1692     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1693         ID3D12DebugDevice *This,
   1694         REFIID riid,
   1695         void **ppvObject);
   1696 
   1697     ULONG (STDMETHODCALLTYPE *AddRef)(
   1698         ID3D12DebugDevice *This);
   1699 
   1700     ULONG (STDMETHODCALLTYPE *Release)(
   1701         ID3D12DebugDevice *This);
   1702 
   1703     /*** ID3D12DebugDevice methods ***/
   1704     HRESULT (STDMETHODCALLTYPE *SetFeatureMask)(
   1705         ID3D12DebugDevice *This,
   1706         D3D12_DEBUG_FEATURE mask);
   1707 
   1708     D3D12_DEBUG_FEATURE (STDMETHODCALLTYPE *GetFeatureMask)(
   1709         ID3D12DebugDevice *This);
   1710 
   1711     HRESULT (STDMETHODCALLTYPE *ReportLiveDeviceObjects)(
   1712         ID3D12DebugDevice *This,
   1713         D3D12_RLDO_FLAGS flags);
   1714 
   1715     END_INTERFACE
   1716 } ID3D12DebugDeviceVtbl;
   1717 
   1718 interface ID3D12DebugDevice {
   1719     CONST_VTBL ID3D12DebugDeviceVtbl* lpVtbl;
   1720 };
   1721 
   1722 #ifdef COBJMACROS
   1723 #ifndef WIDL_C_INLINE_WRAPPERS
   1724 /*** IUnknown methods ***/
   1725 #define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1726 #define ID3D12DebugDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
   1727 #define ID3D12DebugDevice_Release(This) (This)->lpVtbl->Release(This)
   1728 /*** ID3D12DebugDevice methods ***/
   1729 #define ID3D12DebugDevice_SetFeatureMask(This,mask) (This)->lpVtbl->SetFeatureMask(This,mask)
   1730 #define ID3D12DebugDevice_GetFeatureMask(This) (This)->lpVtbl->GetFeatureMask(This)
   1731 #define ID3D12DebugDevice_ReportLiveDeviceObjects(This,flags) (This)->lpVtbl->ReportLiveDeviceObjects(This,flags)
   1732 #else
   1733 /*** IUnknown methods ***/
   1734 static inline HRESULT ID3D12DebugDevice_QueryInterface(ID3D12DebugDevice* This,REFIID riid,void **ppvObject) {
   1735     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1736 }
   1737 static inline ULONG ID3D12DebugDevice_AddRef(ID3D12DebugDevice* This) {
   1738     return This->lpVtbl->AddRef(This);
   1739 }
   1740 static inline ULONG ID3D12DebugDevice_Release(ID3D12DebugDevice* This) {
   1741     return This->lpVtbl->Release(This);
   1742 }
   1743 /*** ID3D12DebugDevice methods ***/
   1744 static inline HRESULT ID3D12DebugDevice_SetFeatureMask(ID3D12DebugDevice* This,D3D12_DEBUG_FEATURE mask) {
   1745     return This->lpVtbl->SetFeatureMask(This,mask);
   1746 }
   1747 static inline D3D12_DEBUG_FEATURE ID3D12DebugDevice_GetFeatureMask(ID3D12DebugDevice* This) {
   1748     return This->lpVtbl->GetFeatureMask(This);
   1749 }
   1750 static inline HRESULT ID3D12DebugDevice_ReportLiveDeviceObjects(ID3D12DebugDevice* This,D3D12_RLDO_FLAGS flags) {
   1751     return This->lpVtbl->ReportLiveDeviceObjects(This,flags);
   1752 }
   1753 #endif
   1754 #endif
   1755 
   1756 #endif
   1757 
   1758 
   1759 #endif  /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */
   1760 
   1761 /*****************************************************************************
   1762  * ID3D12DebugDevice1 interface
   1763  */
   1764 #ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__
   1765 #define __ID3D12DebugDevice1_INTERFACE_DEFINED__
   1766 
   1767 DEFINE_GUID(IID_ID3D12DebugDevice1, 0xa9b71770, 0xd099, 0x4a65, 0xa6,0x98, 0x3d,0xee,0x10,0x02,0x0f,0x88);
   1768 #if defined(__cplusplus) && !defined(CINTERFACE)
   1769 MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88")
   1770 ID3D12DebugDevice1 : public IUnknown
   1771 {
   1772     virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
   1773         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1774         const void *data,
   1775         UINT size) = 0;
   1776 
   1777     virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
   1778         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1779         void *data,
   1780         UINT size) = 0;
   1781 
   1782     virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
   1783         D3D12_RLDO_FLAGS flags) = 0;
   1784 
   1785 };
   1786 #ifdef __CRT_UUID_DECL
   1787 __CRT_UUID_DECL(ID3D12DebugDevice1, 0xa9b71770, 0xd099, 0x4a65, 0xa6,0x98, 0x3d,0xee,0x10,0x02,0x0f,0x88)
   1788 #endif
   1789 #else
   1790 typedef struct ID3D12DebugDevice1Vtbl {
   1791     BEGIN_INTERFACE
   1792 
   1793     /*** IUnknown methods ***/
   1794     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1795         ID3D12DebugDevice1 *This,
   1796         REFIID riid,
   1797         void **ppvObject);
   1798 
   1799     ULONG (STDMETHODCALLTYPE *AddRef)(
   1800         ID3D12DebugDevice1 *This);
   1801 
   1802     ULONG (STDMETHODCALLTYPE *Release)(
   1803         ID3D12DebugDevice1 *This);
   1804 
   1805     /*** ID3D12DebugDevice1 methods ***/
   1806     HRESULT (STDMETHODCALLTYPE *SetDebugParameter)(
   1807         ID3D12DebugDevice1 *This,
   1808         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1809         const void *data,
   1810         UINT size);
   1811 
   1812     HRESULT (STDMETHODCALLTYPE *GetDebugParameter)(
   1813         ID3D12DebugDevice1 *This,
   1814         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1815         void *data,
   1816         UINT size);
   1817 
   1818     HRESULT (STDMETHODCALLTYPE *ReportLiveDeviceObjects)(
   1819         ID3D12DebugDevice1 *This,
   1820         D3D12_RLDO_FLAGS flags);
   1821 
   1822     END_INTERFACE
   1823 } ID3D12DebugDevice1Vtbl;
   1824 
   1825 interface ID3D12DebugDevice1 {
   1826     CONST_VTBL ID3D12DebugDevice1Vtbl* lpVtbl;
   1827 };
   1828 
   1829 #ifdef COBJMACROS
   1830 #ifndef WIDL_C_INLINE_WRAPPERS
   1831 /*** IUnknown methods ***/
   1832 #define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1833 #define ID3D12DebugDevice1_AddRef(This) (This)->lpVtbl->AddRef(This)
   1834 #define ID3D12DebugDevice1_Release(This) (This)->lpVtbl->Release(This)
   1835 /*** ID3D12DebugDevice1 methods ***/
   1836 #define ID3D12DebugDevice1_SetDebugParameter(This,type,data,size) (This)->lpVtbl->SetDebugParameter(This,type,data,size)
   1837 #define ID3D12DebugDevice1_GetDebugParameter(This,type,data,size) (This)->lpVtbl->GetDebugParameter(This,type,data,size)
   1838 #define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,flags) (This)->lpVtbl->ReportLiveDeviceObjects(This,flags)
   1839 #else
   1840 /*** IUnknown methods ***/
   1841 static inline HRESULT ID3D12DebugDevice1_QueryInterface(ID3D12DebugDevice1* This,REFIID riid,void **ppvObject) {
   1842     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1843 }
   1844 static inline ULONG ID3D12DebugDevice1_AddRef(ID3D12DebugDevice1* This) {
   1845     return This->lpVtbl->AddRef(This);
   1846 }
   1847 static inline ULONG ID3D12DebugDevice1_Release(ID3D12DebugDevice1* This) {
   1848     return This->lpVtbl->Release(This);
   1849 }
   1850 /*** ID3D12DebugDevice1 methods ***/
   1851 static inline HRESULT ID3D12DebugDevice1_SetDebugParameter(ID3D12DebugDevice1* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,const void *data,UINT size) {
   1852     return This->lpVtbl->SetDebugParameter(This,type,data,size);
   1853 }
   1854 static inline HRESULT ID3D12DebugDevice1_GetDebugParameter(ID3D12DebugDevice1* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,void *data,UINT size) {
   1855     return This->lpVtbl->GetDebugParameter(This,type,data,size);
   1856 }
   1857 static inline HRESULT ID3D12DebugDevice1_ReportLiveDeviceObjects(ID3D12DebugDevice1* This,D3D12_RLDO_FLAGS flags) {
   1858     return This->lpVtbl->ReportLiveDeviceObjects(This,flags);
   1859 }
   1860 #endif
   1861 #endif
   1862 
   1863 #endif
   1864 
   1865 
   1866 #endif  /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */
   1867 
   1868 /*****************************************************************************
   1869  * ID3D12DebugDevice2 interface
   1870  */
   1871 #ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__
   1872 #define __ID3D12DebugDevice2_INTERFACE_DEFINED__
   1873 
   1874 DEFINE_GUID(IID_ID3D12DebugDevice2, 0x60eccbc1, 0x378d, 0x4df1, 0x89,0x4c, 0xf8,0xac,0x5c,0xe4,0xd7,0xdd);
   1875 #if defined(__cplusplus) && !defined(CINTERFACE)
   1876 MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd")
   1877 ID3D12DebugDevice2 : public ID3D12DebugDevice
   1878 {
   1879     virtual HRESULT STDMETHODCALLTYPE SetDebugParameter(
   1880         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1881         const void *data,
   1882         UINT size) = 0;
   1883 
   1884     virtual HRESULT STDMETHODCALLTYPE GetDebugParameter(
   1885         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1886         void *data,
   1887         UINT size) = 0;
   1888 
   1889 };
   1890 #ifdef __CRT_UUID_DECL
   1891 __CRT_UUID_DECL(ID3D12DebugDevice2, 0x60eccbc1, 0x378d, 0x4df1, 0x89,0x4c, 0xf8,0xac,0x5c,0xe4,0xd7,0xdd)
   1892 #endif
   1893 #else
   1894 typedef struct ID3D12DebugDevice2Vtbl {
   1895     BEGIN_INTERFACE
   1896 
   1897     /*** IUnknown methods ***/
   1898     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1899         ID3D12DebugDevice2 *This,
   1900         REFIID riid,
   1901         void **ppvObject);
   1902 
   1903     ULONG (STDMETHODCALLTYPE *AddRef)(
   1904         ID3D12DebugDevice2 *This);
   1905 
   1906     ULONG (STDMETHODCALLTYPE *Release)(
   1907         ID3D12DebugDevice2 *This);
   1908 
   1909     /*** ID3D12DebugDevice methods ***/
   1910     HRESULT (STDMETHODCALLTYPE *SetFeatureMask)(
   1911         ID3D12DebugDevice2 *This,
   1912         D3D12_DEBUG_FEATURE mask);
   1913 
   1914     D3D12_DEBUG_FEATURE (STDMETHODCALLTYPE *GetFeatureMask)(
   1915         ID3D12DebugDevice2 *This);
   1916 
   1917     HRESULT (STDMETHODCALLTYPE *ReportLiveDeviceObjects)(
   1918         ID3D12DebugDevice2 *This,
   1919         D3D12_RLDO_FLAGS flags);
   1920 
   1921     /*** ID3D12DebugDevice2 methods ***/
   1922     HRESULT (STDMETHODCALLTYPE *SetDebugParameter)(
   1923         ID3D12DebugDevice2 *This,
   1924         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1925         const void *data,
   1926         UINT size);
   1927 
   1928     HRESULT (STDMETHODCALLTYPE *GetDebugParameter)(
   1929         ID3D12DebugDevice2 *This,
   1930         D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,
   1931         void *data,
   1932         UINT size);
   1933 
   1934     END_INTERFACE
   1935 } ID3D12DebugDevice2Vtbl;
   1936 
   1937 interface ID3D12DebugDevice2 {
   1938     CONST_VTBL ID3D12DebugDevice2Vtbl* lpVtbl;
   1939 };
   1940 
   1941 #ifdef COBJMACROS
   1942 #ifndef WIDL_C_INLINE_WRAPPERS
   1943 /*** IUnknown methods ***/
   1944 #define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1945 #define ID3D12DebugDevice2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1946 #define ID3D12DebugDevice2_Release(This) (This)->lpVtbl->Release(This)
   1947 /*** ID3D12DebugDevice methods ***/
   1948 #define ID3D12DebugDevice2_SetFeatureMask(This,mask) (This)->lpVtbl->SetFeatureMask(This,mask)
   1949 #define ID3D12DebugDevice2_GetFeatureMask(This) (This)->lpVtbl->GetFeatureMask(This)
   1950 #define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,flags) (This)->lpVtbl->ReportLiveDeviceObjects(This,flags)
   1951 /*** ID3D12DebugDevice2 methods ***/
   1952 #define ID3D12DebugDevice2_SetDebugParameter(This,type,data,size) (This)->lpVtbl->SetDebugParameter(This,type,data,size)
   1953 #define ID3D12DebugDevice2_GetDebugParameter(This,type,data,size) (This)->lpVtbl->GetDebugParameter(This,type,data,size)
   1954 #else
   1955 /*** IUnknown methods ***/
   1956 static inline HRESULT ID3D12DebugDevice2_QueryInterface(ID3D12DebugDevice2* This,REFIID riid,void **ppvObject) {
   1957     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1958 }
   1959 static inline ULONG ID3D12DebugDevice2_AddRef(ID3D12DebugDevice2* This) {
   1960     return This->lpVtbl->AddRef(This);
   1961 }
   1962 static inline ULONG ID3D12DebugDevice2_Release(ID3D12DebugDevice2* This) {
   1963     return This->lpVtbl->Release(This);
   1964 }
   1965 /*** ID3D12DebugDevice methods ***/
   1966 static inline HRESULT ID3D12DebugDevice2_SetFeatureMask(ID3D12DebugDevice2* This,D3D12_DEBUG_FEATURE mask) {
   1967     return This->lpVtbl->SetFeatureMask(This,mask);
   1968 }
   1969 static inline D3D12_DEBUG_FEATURE ID3D12DebugDevice2_GetFeatureMask(ID3D12DebugDevice2* This) {
   1970     return This->lpVtbl->GetFeatureMask(This);
   1971 }
   1972 static inline HRESULT ID3D12DebugDevice2_ReportLiveDeviceObjects(ID3D12DebugDevice2* This,D3D12_RLDO_FLAGS flags) {
   1973     return This->lpVtbl->ReportLiveDeviceObjects(This,flags);
   1974 }
   1975 /*** ID3D12DebugDevice2 methods ***/
   1976 static inline HRESULT ID3D12DebugDevice2_SetDebugParameter(ID3D12DebugDevice2* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,const void *data,UINT size) {
   1977     return This->lpVtbl->SetDebugParameter(This,type,data,size);
   1978 }
   1979 static inline HRESULT ID3D12DebugDevice2_GetDebugParameter(ID3D12DebugDevice2* This,D3D12_DEBUG_DEVICE_PARAMETER_TYPE type,void *data,UINT size) {
   1980     return This->lpVtbl->GetDebugParameter(This,type,data,size);
   1981 }
   1982 #endif
   1983 #endif
   1984 
   1985 #endif
   1986 
   1987 
   1988 #endif  /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */
   1989 
   1990 /*****************************************************************************
   1991  * ID3D12SharingContract interface
   1992  */
   1993 #ifndef __ID3D12SharingContract_INTERFACE_DEFINED__
   1994 #define __ID3D12SharingContract_INTERFACE_DEFINED__
   1995 
   1996 DEFINE_GUID(IID_ID3D12SharingContract, 0x0adf7d52, 0x929c, 0x4e61, 0xad,0xdb, 0xff,0xed,0x30,0xde,0x66,0xef);
   1997 #if defined(__cplusplus) && !defined(CINTERFACE)
   1998 MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef")
   1999 ID3D12SharingContract : public IUnknown
   2000 {
   2001     virtual void STDMETHODCALLTYPE Present(
   2002         ID3D12Resource *resource,
   2003         UINT sub_resource,
   2004         HWND window) = 0;
   2005 
   2006     virtual void STDMETHODCALLTYPE SharedFenceSignal(
   2007         ID3D12Fence *fence,
   2008         UINT64 fence_value) = 0;
   2009 
   2010     virtual void STDMETHODCALLTYPE BeginCapturableWork(
   2011         REFGUID guid) = 0;
   2012 
   2013     virtual void STDMETHODCALLTYPE EndCapturableWork(
   2014         REFGUID guid) = 0;
   2015 
   2016 };
   2017 #ifdef __CRT_UUID_DECL
   2018 __CRT_UUID_DECL(ID3D12SharingContract, 0x0adf7d52, 0x929c, 0x4e61, 0xad,0xdb, 0xff,0xed,0x30,0xde,0x66,0xef)
   2019 #endif
   2020 #else
   2021 typedef struct ID3D12SharingContractVtbl {
   2022     BEGIN_INTERFACE
   2023 
   2024     /*** IUnknown methods ***/
   2025     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2026         ID3D12SharingContract *This,
   2027         REFIID riid,
   2028         void **ppvObject);
   2029 
   2030     ULONG (STDMETHODCALLTYPE *AddRef)(
   2031         ID3D12SharingContract *This);
   2032 
   2033     ULONG (STDMETHODCALLTYPE *Release)(
   2034         ID3D12SharingContract *This);
   2035 
   2036     /*** ID3D12SharingContract methods ***/
   2037     void (STDMETHODCALLTYPE *Present)(
   2038         ID3D12SharingContract *This,
   2039         ID3D12Resource *resource,
   2040         UINT sub_resource,
   2041         HWND window);
   2042 
   2043     void (STDMETHODCALLTYPE *SharedFenceSignal)(
   2044         ID3D12SharingContract *This,
   2045         ID3D12Fence *fence,
   2046         UINT64 fence_value);
   2047 
   2048     void (STDMETHODCALLTYPE *BeginCapturableWork)(
   2049         ID3D12SharingContract *This,
   2050         REFGUID guid);
   2051 
   2052     void (STDMETHODCALLTYPE *EndCapturableWork)(
   2053         ID3D12SharingContract *This,
   2054         REFGUID guid);
   2055 
   2056     END_INTERFACE
   2057 } ID3D12SharingContractVtbl;
   2058 
   2059 interface ID3D12SharingContract {
   2060     CONST_VTBL ID3D12SharingContractVtbl* lpVtbl;
   2061 };
   2062 
   2063 #ifdef COBJMACROS
   2064 #ifndef WIDL_C_INLINE_WRAPPERS
   2065 /*** IUnknown methods ***/
   2066 #define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2067 #define ID3D12SharingContract_AddRef(This) (This)->lpVtbl->AddRef(This)
   2068 #define ID3D12SharingContract_Release(This) (This)->lpVtbl->Release(This)
   2069 /*** ID3D12SharingContract methods ***/
   2070 #define ID3D12SharingContract_Present(This,resource,sub_resource,window) (This)->lpVtbl->Present(This,resource,sub_resource,window)
   2071 #define ID3D12SharingContract_SharedFenceSignal(This,fence,fence_value) (This)->lpVtbl->SharedFenceSignal(This,fence,fence_value)
   2072 #define ID3D12SharingContract_BeginCapturableWork(This,guid) (This)->lpVtbl->BeginCapturableWork(This,guid)
   2073 #define ID3D12SharingContract_EndCapturableWork(This,guid) (This)->lpVtbl->EndCapturableWork(This,guid)
   2074 #else
   2075 /*** IUnknown methods ***/
   2076 static inline HRESULT ID3D12SharingContract_QueryInterface(ID3D12SharingContract* This,REFIID riid,void **ppvObject) {
   2077     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2078 }
   2079 static inline ULONG ID3D12SharingContract_AddRef(ID3D12SharingContract* This) {
   2080     return This->lpVtbl->AddRef(This);
   2081 }
   2082 static inline ULONG ID3D12SharingContract_Release(ID3D12SharingContract* This) {
   2083     return This->lpVtbl->Release(This);
   2084 }
   2085 /*** ID3D12SharingContract methods ***/
   2086 static inline void ID3D12SharingContract_Present(ID3D12SharingContract* This,ID3D12Resource *resource,UINT sub_resource,HWND window) {
   2087     This->lpVtbl->Present(This,resource,sub_resource,window);
   2088 }
   2089 static inline void ID3D12SharingContract_SharedFenceSignal(ID3D12SharingContract* This,ID3D12Fence *fence,UINT64 fence_value) {
   2090     This->lpVtbl->SharedFenceSignal(This,fence,fence_value);
   2091 }
   2092 static inline void ID3D12SharingContract_BeginCapturableWork(ID3D12SharingContract* This,REFGUID guid) {
   2093     This->lpVtbl->BeginCapturableWork(This,guid);
   2094 }
   2095 static inline void ID3D12SharingContract_EndCapturableWork(ID3D12SharingContract* This,REFGUID guid) {
   2096     This->lpVtbl->EndCapturableWork(This,guid);
   2097 }
   2098 #endif
   2099 #endif
   2100 
   2101 #endif
   2102 
   2103 
   2104 #endif  /* __ID3D12SharingContract_INTERFACE_DEFINED__ */
   2105 
   2106 /*****************************************************************************
   2107  * ID3D12InfoQueue interface
   2108  */
   2109 #ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__
   2110 #define __ID3D12InfoQueue_INTERFACE_DEFINED__
   2111 
   2112 DEFINE_GUID(IID_ID3D12InfoQueue, 0x0742a90b, 0xc387, 0x483f, 0xb9,0x46, 0x30,0xa7,0xe4,0xe6,0x14,0x58);
   2113 #if defined(__cplusplus) && !defined(CINTERFACE)
   2114 MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458")
   2115 ID3D12InfoQueue : public IUnknown
   2116 {
   2117     virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit(
   2118         UINT64 limit) = 0;
   2119 
   2120     virtual void STDMETHODCALLTYPE ClearStoredMessages(
   2121         ) = 0;
   2122 
   2123     virtual HRESULT STDMETHODCALLTYPE GetMessage(
   2124         UINT64 index,
   2125         D3D12_MESSAGE *message,
   2126         SIZE_T *length) = 0;
   2127 
   2128     virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter(
   2129         ) = 0;
   2130 
   2131     virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter(
   2132         ) = 0;
   2133 
   2134     virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages(
   2135         ) = 0;
   2136 
   2137     virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter(
   2138         ) = 0;
   2139 
   2140     virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit(
   2141         ) = 0;
   2142 
   2143     virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit(
   2144         ) = 0;
   2145 
   2146     virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries(
   2147         D3D12_INFO_QUEUE_FILTER *filter) = 0;
   2148 
   2149     virtual HRESULT STDMETHODCALLTYPE GetStorageFilter(
   2150         D3D12_INFO_QUEUE_FILTER *filter,
   2151         SIZE_T *length) = 0;
   2152 
   2153     virtual void STDMETHODCALLTYPE ClearStorageFilter(
   2154         ) = 0;
   2155 
   2156     virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter(
   2157         ) = 0;
   2158 
   2159     virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter(
   2160         ) = 0;
   2161 
   2162     virtual HRESULT STDMETHODCALLTYPE PushStorageFilter(
   2163         D3D12_INFO_QUEUE_FILTER *filter) = 0;
   2164 
   2165     virtual void STDMETHODCALLTYPE PopStorageFilter(
   2166         ) = 0;
   2167 
   2168     virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize(
   2169         ) = 0;
   2170 
   2171     virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries(
   2172         D3D12_INFO_QUEUE_FILTER *filter) = 0;
   2173 
   2174     virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter(
   2175         D3D12_INFO_QUEUE_FILTER *filter,
   2176         SIZE_T *length) = 0;
   2177 
   2178     virtual void STDMETHODCALLTYPE ClearRetrievalFilter(
   2179         ) = 0;
   2180 
   2181     virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter(
   2182         ) = 0;
   2183 
   2184     virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter(
   2185         ) = 0;
   2186 
   2187     virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter(
   2188         D3D12_INFO_QUEUE_FILTER *filter) = 0;
   2189 
   2190     virtual void STDMETHODCALLTYPE PopRetrievalFilter(
   2191         ) = 0;
   2192 
   2193     virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize(
   2194         ) = 0;
   2195 
   2196     virtual HRESULT STDMETHODCALLTYPE AddMessage(
   2197         D3D12_MESSAGE_CATEGORY category,
   2198         D3D12_MESSAGE_SEVERITY severity,
   2199         D3D12_MESSAGE_ID id,
   2200         const char *description) = 0;
   2201 
   2202     virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage(
   2203         D3D12_MESSAGE_SEVERITY severity,
   2204         const char *description) = 0;
   2205 
   2206     virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory(
   2207         D3D12_MESSAGE_CATEGORY category,
   2208         WINBOOL enable) = 0;
   2209 
   2210     virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity(
   2211         D3D12_MESSAGE_SEVERITY severity,
   2212         WINBOOL enable) = 0;
   2213 
   2214     virtual HRESULT STDMETHODCALLTYPE SetBreakOnID(
   2215         D3D12_MESSAGE_ID id,
   2216         WINBOOL enable) = 0;
   2217 
   2218     virtual WINBOOL STDMETHODCALLTYPE GetBreakOnCategory(
   2219         D3D12_MESSAGE_CATEGORY category) = 0;
   2220 
   2221     virtual WINBOOL STDMETHODCALLTYPE GetBreakOnSeverity(
   2222         D3D12_MESSAGE_SEVERITY severity) = 0;
   2223 
   2224     virtual WINBOOL STDMETHODCALLTYPE GetBreakOnID(
   2225         D3D12_MESSAGE_ID id) = 0;
   2226 
   2227     virtual void STDMETHODCALLTYPE SetMuteDebugOutput(
   2228         WINBOOL mute) = 0;
   2229 
   2230     virtual WINBOOL STDMETHODCALLTYPE GetMuteDebugOutput(
   2231         ) = 0;
   2232 
   2233 };
   2234 #ifdef __CRT_UUID_DECL
   2235 __CRT_UUID_DECL(ID3D12InfoQueue, 0x0742a90b, 0xc387, 0x483f, 0xb9,0x46, 0x30,0xa7,0xe4,0xe6,0x14,0x58)
   2236 #endif
   2237 #else
   2238 typedef struct ID3D12InfoQueueVtbl {
   2239     BEGIN_INTERFACE
   2240 
   2241     /*** IUnknown methods ***/
   2242     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2243         ID3D12InfoQueue *This,
   2244         REFIID riid,
   2245         void **ppvObject);
   2246 
   2247     ULONG (STDMETHODCALLTYPE *AddRef)(
   2248         ID3D12InfoQueue *This);
   2249 
   2250     ULONG (STDMETHODCALLTYPE *Release)(
   2251         ID3D12InfoQueue *This);
   2252 
   2253     /*** ID3D12InfoQueue methods ***/
   2254     HRESULT (STDMETHODCALLTYPE *SetMessageCountLimit)(
   2255         ID3D12InfoQueue *This,
   2256         UINT64 limit);
   2257 
   2258     void (STDMETHODCALLTYPE *ClearStoredMessages)(
   2259         ID3D12InfoQueue *This);
   2260 
   2261     HRESULT (STDMETHODCALLTYPE *GetMessage)(
   2262         ID3D12InfoQueue *This,
   2263         UINT64 index,
   2264         D3D12_MESSAGE *message,
   2265         SIZE_T *length);
   2266 
   2267     UINT64 (STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter)(
   2268         ID3D12InfoQueue *This);
   2269 
   2270     UINT64 (STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter)(
   2271         ID3D12InfoQueue *This);
   2272 
   2273     UINT64 (STDMETHODCALLTYPE *GetNumStoredMessages)(
   2274         ID3D12InfoQueue *This);
   2275 
   2276     UINT64 (STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter)(
   2277         ID3D12InfoQueue *This);
   2278 
   2279     UINT64 (STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit)(
   2280         ID3D12InfoQueue *This);
   2281 
   2282     UINT64 (STDMETHODCALLTYPE *GetMessageCountLimit)(
   2283         ID3D12InfoQueue *This);
   2284 
   2285     HRESULT (STDMETHODCALLTYPE *AddStorageFilterEntries)(
   2286         ID3D12InfoQueue *This,
   2287         D3D12_INFO_QUEUE_FILTER *filter);
   2288 
   2289     HRESULT (STDMETHODCALLTYPE *GetStorageFilter)(
   2290         ID3D12InfoQueue *This,
   2291         D3D12_INFO_QUEUE_FILTER *filter,
   2292         SIZE_T *length);
   2293 
   2294     void (STDMETHODCALLTYPE *ClearStorageFilter)(
   2295         ID3D12InfoQueue *This);
   2296 
   2297     HRESULT (STDMETHODCALLTYPE *PushEmptyStorageFilter)(
   2298         ID3D12InfoQueue *This);
   2299 
   2300     HRESULT (STDMETHODCALLTYPE *PushCopyOfStorageFilter)(
   2301         ID3D12InfoQueue *This);
   2302 
   2303     HRESULT (STDMETHODCALLTYPE *PushStorageFilter)(
   2304         ID3D12InfoQueue *This,
   2305         D3D12_INFO_QUEUE_FILTER *filter);
   2306 
   2307     void (STDMETHODCALLTYPE *PopStorageFilter)(
   2308         ID3D12InfoQueue *This);
   2309 
   2310     UINT (STDMETHODCALLTYPE *GetStorageFilterStackSize)(
   2311         ID3D12InfoQueue *This);
   2312 
   2313     HRESULT (STDMETHODCALLTYPE *AddRetrievalFilterEntries)(
   2314         ID3D12InfoQueue *This,
   2315         D3D12_INFO_QUEUE_FILTER *filter);
   2316 
   2317     HRESULT (STDMETHODCALLTYPE *GetRetrievalFilter)(
   2318         ID3D12InfoQueue *This,
   2319         D3D12_INFO_QUEUE_FILTER *filter,
   2320         SIZE_T *length);
   2321 
   2322     void (STDMETHODCALLTYPE *ClearRetrievalFilter)(
   2323         ID3D12InfoQueue *This);
   2324 
   2325     HRESULT (STDMETHODCALLTYPE *PushEmptyRetrievalFilter)(
   2326         ID3D12InfoQueue *This);
   2327 
   2328     HRESULT (STDMETHODCALLTYPE *PushCopyOfRetrievalFilter)(
   2329         ID3D12InfoQueue *This);
   2330 
   2331     HRESULT (STDMETHODCALLTYPE *PushRetrievalFilter)(
   2332         ID3D12InfoQueue *This,
   2333         D3D12_INFO_QUEUE_FILTER *filter);
   2334 
   2335     void (STDMETHODCALLTYPE *PopRetrievalFilter)(
   2336         ID3D12InfoQueue *This);
   2337 
   2338     UINT (STDMETHODCALLTYPE *GetRetrievalFilterStackSize)(
   2339         ID3D12InfoQueue *This);
   2340 
   2341     HRESULT (STDMETHODCALLTYPE *AddMessage)(
   2342         ID3D12InfoQueue *This,
   2343         D3D12_MESSAGE_CATEGORY category,
   2344         D3D12_MESSAGE_SEVERITY severity,
   2345         D3D12_MESSAGE_ID id,
   2346         const char *description);
   2347 
   2348     HRESULT (STDMETHODCALLTYPE *AddApplicationMessage)(
   2349         ID3D12InfoQueue *This,
   2350         D3D12_MESSAGE_SEVERITY severity,
   2351         const char *description);
   2352 
   2353     HRESULT (STDMETHODCALLTYPE *SetBreakOnCategory)(
   2354         ID3D12InfoQueue *This,
   2355         D3D12_MESSAGE_CATEGORY category,
   2356         WINBOOL enable);
   2357 
   2358     HRESULT (STDMETHODCALLTYPE *SetBreakOnSeverity)(
   2359         ID3D12InfoQueue *This,
   2360         D3D12_MESSAGE_SEVERITY severity,
   2361         WINBOOL enable);
   2362 
   2363     HRESULT (STDMETHODCALLTYPE *SetBreakOnID)(
   2364         ID3D12InfoQueue *This,
   2365         D3D12_MESSAGE_ID id,
   2366         WINBOOL enable);
   2367 
   2368     WINBOOL (STDMETHODCALLTYPE *GetBreakOnCategory)(
   2369         ID3D12InfoQueue *This,
   2370         D3D12_MESSAGE_CATEGORY category);
   2371 
   2372     WINBOOL (STDMETHODCALLTYPE *GetBreakOnSeverity)(
   2373         ID3D12InfoQueue *This,
   2374         D3D12_MESSAGE_SEVERITY severity);
   2375 
   2376     WINBOOL (STDMETHODCALLTYPE *GetBreakOnID)(
   2377         ID3D12InfoQueue *This,
   2378         D3D12_MESSAGE_ID id);
   2379 
   2380     void (STDMETHODCALLTYPE *SetMuteDebugOutput)(
   2381         ID3D12InfoQueue *This,
   2382         WINBOOL mute);
   2383 
   2384     WINBOOL (STDMETHODCALLTYPE *GetMuteDebugOutput)(
   2385         ID3D12InfoQueue *This);
   2386 
   2387     END_INTERFACE
   2388 } ID3D12InfoQueueVtbl;
   2389 
   2390 interface ID3D12InfoQueue {
   2391     CONST_VTBL ID3D12InfoQueueVtbl* lpVtbl;
   2392 };
   2393 
   2394 #ifdef COBJMACROS
   2395 #ifndef WIDL_C_INLINE_WRAPPERS
   2396 /*** IUnknown methods ***/
   2397 #define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2398 #define ID3D12InfoQueue_AddRef(This) (This)->lpVtbl->AddRef(This)
   2399 #define ID3D12InfoQueue_Release(This) (This)->lpVtbl->Release(This)
   2400 /*** ID3D12InfoQueue methods ***/
   2401 #define ID3D12InfoQueue_SetMessageCountLimit(This,limit) (This)->lpVtbl->SetMessageCountLimit(This,limit)
   2402 #define ID3D12InfoQueue_ClearStoredMessages(This) (This)->lpVtbl->ClearStoredMessages(This)
   2403 #define ID3D12InfoQueue_GetMessage(This,index,message,length) (This)->lpVtbl->GetMessage(This,index,message,length)
   2404 #define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesAllowedByStorageFilter(This)
   2405 #define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesDeniedByStorageFilter(This)
   2406 #define ID3D12InfoQueue_GetNumStoredMessages(This) (This)->lpVtbl->GetNumStoredMessages(This)
   2407 #define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) (This)->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This)
   2408 #define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) (This)->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This)
   2409 #define ID3D12InfoQueue_GetMessageCountLimit(This) (This)->lpVtbl->GetMessageCountLimit(This)
   2410 #define ID3D12InfoQueue_AddStorageFilterEntries(This,filter) (This)->lpVtbl->AddStorageFilterEntries(This,filter)
   2411 #define ID3D12InfoQueue_GetStorageFilter(This,filter,length) (This)->lpVtbl->GetStorageFilter(This,filter,length)
   2412 #define ID3D12InfoQueue_ClearStorageFilter(This) (This)->lpVtbl->ClearStorageFilter(This)
   2413 #define ID3D12InfoQueue_PushEmptyStorageFilter(This) (This)->lpVtbl->PushEmptyStorageFilter(This)
   2414 #define ID3D12InfoQueue_PushCopyOfStorageFilter(This) (This)->lpVtbl->PushCopyOfStorageFilter(This)
   2415 #define ID3D12InfoQueue_PushStorageFilter(This,filter) (This)->lpVtbl->PushStorageFilter(This,filter)
   2416 #define ID3D12InfoQueue_PopStorageFilter(This) (This)->lpVtbl->PopStorageFilter(This)
   2417 #define ID3D12InfoQueue_GetStorageFilterStackSize(This) (This)->lpVtbl->GetStorageFilterStackSize(This)
   2418 #define ID3D12InfoQueue_AddRetrievalFilterEntries(This,filter) (This)->lpVtbl->AddRetrievalFilterEntries(This,filter)
   2419 #define ID3D12InfoQueue_GetRetrievalFilter(This,filter,length) (This)->lpVtbl->GetRetrievalFilter(This,filter,length)
   2420 #define ID3D12InfoQueue_ClearRetrievalFilter(This) (This)->lpVtbl->ClearRetrievalFilter(This)
   2421 #define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) (This)->lpVtbl->PushEmptyRetrievalFilter(This)
   2422 #define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) (This)->lpVtbl->PushCopyOfRetrievalFilter(This)
   2423 #define ID3D12InfoQueue_PushRetrievalFilter(This,filter) (This)->lpVtbl->PushRetrievalFilter(This,filter)
   2424 #define ID3D12InfoQueue_PopRetrievalFilter(This) (This)->lpVtbl->PopRetrievalFilter(This)
   2425 #define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) (This)->lpVtbl->GetRetrievalFilterStackSize(This)
   2426 #define ID3D12InfoQueue_AddMessage(This,category,severity,id,description) (This)->lpVtbl->AddMessage(This,category,severity,id,description)
   2427 #define ID3D12InfoQueue_AddApplicationMessage(This,severity,description) (This)->lpVtbl->AddApplicationMessage(This,severity,description)
   2428 #define ID3D12InfoQueue_SetBreakOnCategory(This,category,enable) (This)->lpVtbl->SetBreakOnCategory(This,category,enable)
   2429 #define ID3D12InfoQueue_SetBreakOnSeverity(This,severity,enable) (This)->lpVtbl->SetBreakOnSeverity(This,severity,enable)
   2430 #define ID3D12InfoQueue_SetBreakOnID(This,id,enable) (This)->lpVtbl->SetBreakOnID(This,id,enable)
   2431 #define ID3D12InfoQueue_GetBreakOnCategory(This,category) (This)->lpVtbl->GetBreakOnCategory(This,category)
   2432 #define ID3D12InfoQueue_GetBreakOnSeverity(This,severity) (This)->lpVtbl->GetBreakOnSeverity(This,severity)
   2433 #define ID3D12InfoQueue_GetBreakOnID(This,id) (This)->lpVtbl->GetBreakOnID(This,id)
   2434 #define ID3D12InfoQueue_SetMuteDebugOutput(This,mute) (This)->lpVtbl->SetMuteDebugOutput(This,mute)
   2435 #define ID3D12InfoQueue_GetMuteDebugOutput(This) (This)->lpVtbl->GetMuteDebugOutput(This)
   2436 #else
   2437 /*** IUnknown methods ***/
   2438 static inline HRESULT ID3D12InfoQueue_QueryInterface(ID3D12InfoQueue* This,REFIID riid,void **ppvObject) {
   2439     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2440 }
   2441 static inline ULONG ID3D12InfoQueue_AddRef(ID3D12InfoQueue* This) {
   2442     return This->lpVtbl->AddRef(This);
   2443 }
   2444 static inline ULONG ID3D12InfoQueue_Release(ID3D12InfoQueue* This) {
   2445     return This->lpVtbl->Release(This);
   2446 }
   2447 /*** ID3D12InfoQueue methods ***/
   2448 static inline HRESULT ID3D12InfoQueue_SetMessageCountLimit(ID3D12InfoQueue* This,UINT64 limit) {
   2449     return This->lpVtbl->SetMessageCountLimit(This,limit);
   2450 }
   2451 static inline void ID3D12InfoQueue_ClearStoredMessages(ID3D12InfoQueue* This) {
   2452     This->lpVtbl->ClearStoredMessages(This);
   2453 }
   2454 static inline HRESULT ID3D12InfoQueue_GetMessage(ID3D12InfoQueue* This,UINT64 index,D3D12_MESSAGE *message,SIZE_T *length) {
   2455     return This->lpVtbl->GetMessage(This,index,message,length);
   2456 }
   2457 static inline UINT64 ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(ID3D12InfoQueue* This) {
   2458     return This->lpVtbl->GetNumMessagesAllowedByStorageFilter(This);
   2459 }
   2460 static inline UINT64 ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(ID3D12InfoQueue* This) {
   2461     return This->lpVtbl->GetNumMessagesDeniedByStorageFilter(This);
   2462 }
   2463 static inline UINT64 ID3D12InfoQueue_GetNumStoredMessages(ID3D12InfoQueue* This) {
   2464     return This->lpVtbl->GetNumStoredMessages(This);
   2465 }
   2466 static inline UINT64 ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(ID3D12InfoQueue* This) {
   2467     return This->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This);
   2468 }
   2469 static inline UINT64 ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(ID3D12InfoQueue* This) {
   2470     return This->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This);
   2471 }
   2472 static inline UINT64 ID3D12InfoQueue_GetMessageCountLimit(ID3D12InfoQueue* This) {
   2473     return This->lpVtbl->GetMessageCountLimit(This);
   2474 }
   2475 static inline HRESULT ID3D12InfoQueue_AddStorageFilterEntries(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2476     return This->lpVtbl->AddStorageFilterEntries(This,filter);
   2477 }
   2478 static inline HRESULT ID3D12InfoQueue_GetStorageFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
   2479     return This->lpVtbl->GetStorageFilter(This,filter,length);
   2480 }
   2481 static inline void ID3D12InfoQueue_ClearStorageFilter(ID3D12InfoQueue* This) {
   2482     This->lpVtbl->ClearStorageFilter(This);
   2483 }
   2484 static inline HRESULT ID3D12InfoQueue_PushEmptyStorageFilter(ID3D12InfoQueue* This) {
   2485     return This->lpVtbl->PushEmptyStorageFilter(This);
   2486 }
   2487 static inline HRESULT ID3D12InfoQueue_PushCopyOfStorageFilter(ID3D12InfoQueue* This) {
   2488     return This->lpVtbl->PushCopyOfStorageFilter(This);
   2489 }
   2490 static inline HRESULT ID3D12InfoQueue_PushStorageFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2491     return This->lpVtbl->PushStorageFilter(This,filter);
   2492 }
   2493 static inline void ID3D12InfoQueue_PopStorageFilter(ID3D12InfoQueue* This) {
   2494     This->lpVtbl->PopStorageFilter(This);
   2495 }
   2496 static inline UINT ID3D12InfoQueue_GetStorageFilterStackSize(ID3D12InfoQueue* This) {
   2497     return This->lpVtbl->GetStorageFilterStackSize(This);
   2498 }
   2499 static inline HRESULT ID3D12InfoQueue_AddRetrievalFilterEntries(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2500     return This->lpVtbl->AddRetrievalFilterEntries(This,filter);
   2501 }
   2502 static inline HRESULT ID3D12InfoQueue_GetRetrievalFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
   2503     return This->lpVtbl->GetRetrievalFilter(This,filter,length);
   2504 }
   2505 static inline void ID3D12InfoQueue_ClearRetrievalFilter(ID3D12InfoQueue* This) {
   2506     This->lpVtbl->ClearRetrievalFilter(This);
   2507 }
   2508 static inline HRESULT ID3D12InfoQueue_PushEmptyRetrievalFilter(ID3D12InfoQueue* This) {
   2509     return This->lpVtbl->PushEmptyRetrievalFilter(This);
   2510 }
   2511 static inline HRESULT ID3D12InfoQueue_PushCopyOfRetrievalFilter(ID3D12InfoQueue* This) {
   2512     return This->lpVtbl->PushCopyOfRetrievalFilter(This);
   2513 }
   2514 static inline HRESULT ID3D12InfoQueue_PushRetrievalFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2515     return This->lpVtbl->PushRetrievalFilter(This,filter);
   2516 }
   2517 static inline void ID3D12InfoQueue_PopRetrievalFilter(ID3D12InfoQueue* This) {
   2518     This->lpVtbl->PopRetrievalFilter(This);
   2519 }
   2520 static inline UINT ID3D12InfoQueue_GetRetrievalFilterStackSize(ID3D12InfoQueue* This) {
   2521     return This->lpVtbl->GetRetrievalFilterStackSize(This);
   2522 }
   2523 static inline HRESULT ID3D12InfoQueue_AddMessage(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description) {
   2524     return This->lpVtbl->AddMessage(This,category,severity,id,description);
   2525 }
   2526 static inline HRESULT ID3D12InfoQueue_AddApplicationMessage(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity,const char *description) {
   2527     return This->lpVtbl->AddApplicationMessage(This,severity,description);
   2528 }
   2529 static inline HRESULT ID3D12InfoQueue_SetBreakOnCategory(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category,WINBOOL enable) {
   2530     return This->lpVtbl->SetBreakOnCategory(This,category,enable);
   2531 }
   2532 static inline HRESULT ID3D12InfoQueue_SetBreakOnSeverity(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity,WINBOOL enable) {
   2533     return This->lpVtbl->SetBreakOnSeverity(This,severity,enable);
   2534 }
   2535 static inline HRESULT ID3D12InfoQueue_SetBreakOnID(ID3D12InfoQueue* This,D3D12_MESSAGE_ID id,WINBOOL enable) {
   2536     return This->lpVtbl->SetBreakOnID(This,id,enable);
   2537 }
   2538 static inline WINBOOL ID3D12InfoQueue_GetBreakOnCategory(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category) {
   2539     return This->lpVtbl->GetBreakOnCategory(This,category);
   2540 }
   2541 static inline WINBOOL ID3D12InfoQueue_GetBreakOnSeverity(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity) {
   2542     return This->lpVtbl->GetBreakOnSeverity(This,severity);
   2543 }
   2544 static inline WINBOOL ID3D12InfoQueue_GetBreakOnID(ID3D12InfoQueue* This,D3D12_MESSAGE_ID id) {
   2545     return This->lpVtbl->GetBreakOnID(This,id);
   2546 }
   2547 static inline void ID3D12InfoQueue_SetMuteDebugOutput(ID3D12InfoQueue* This,WINBOOL mute) {
   2548     This->lpVtbl->SetMuteDebugOutput(This,mute);
   2549 }
   2550 static inline WINBOOL ID3D12InfoQueue_GetMuteDebugOutput(ID3D12InfoQueue* This) {
   2551     return This->lpVtbl->GetMuteDebugOutput(This);
   2552 }
   2553 #endif
   2554 #endif
   2555 
   2556 #endif
   2557 
   2558 
   2559 #endif  /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */
   2560 
   2561 typedef void (__stdcall *D3D12MessageFunc)(D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description,void *context);
   2562 /*****************************************************************************
   2563  * ID3D12InfoQueue1 interface
   2564  */
   2565 #ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__
   2566 #define __ID3D12InfoQueue1_INTERFACE_DEFINED__
   2567 
   2568 DEFINE_GUID(IID_ID3D12InfoQueue1, 0x2852dd88, 0xb484, 0x4c0c, 0xb6,0xb1, 0x67,0x16,0x85,0x00,0xe6,0x00);
   2569 #if defined(__cplusplus) && !defined(CINTERFACE)
   2570 MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600")
   2571 ID3D12InfoQueue1 : public ID3D12InfoQueue
   2572 {
   2573     virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback(
   2574         D3D12MessageFunc func,
   2575         D3D12_MESSAGE_CALLBACK_FLAGS flags,
   2576         void *context,
   2577         DWORD *cookie) = 0;
   2578 
   2579     virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback(
   2580         DWORD cookie) = 0;
   2581 
   2582 };
   2583 #ifdef __CRT_UUID_DECL
   2584 __CRT_UUID_DECL(ID3D12InfoQueue1, 0x2852dd88, 0xb484, 0x4c0c, 0xb6,0xb1, 0x67,0x16,0x85,0x00,0xe6,0x00)
   2585 #endif
   2586 #else
   2587 typedef struct ID3D12InfoQueue1Vtbl {
   2588     BEGIN_INTERFACE
   2589 
   2590     /*** IUnknown methods ***/
   2591     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2592         ID3D12InfoQueue1 *This,
   2593         REFIID riid,
   2594         void **ppvObject);
   2595 
   2596     ULONG (STDMETHODCALLTYPE *AddRef)(
   2597         ID3D12InfoQueue1 *This);
   2598 
   2599     ULONG (STDMETHODCALLTYPE *Release)(
   2600         ID3D12InfoQueue1 *This);
   2601 
   2602     /*** ID3D12InfoQueue methods ***/
   2603     HRESULT (STDMETHODCALLTYPE *SetMessageCountLimit)(
   2604         ID3D12InfoQueue1 *This,
   2605         UINT64 limit);
   2606 
   2607     void (STDMETHODCALLTYPE *ClearStoredMessages)(
   2608         ID3D12InfoQueue1 *This);
   2609 
   2610     HRESULT (STDMETHODCALLTYPE *GetMessage)(
   2611         ID3D12InfoQueue1 *This,
   2612         UINT64 index,
   2613         D3D12_MESSAGE *message,
   2614         SIZE_T *length);
   2615 
   2616     UINT64 (STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter)(
   2617         ID3D12InfoQueue1 *This);
   2618 
   2619     UINT64 (STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter)(
   2620         ID3D12InfoQueue1 *This);
   2621 
   2622     UINT64 (STDMETHODCALLTYPE *GetNumStoredMessages)(
   2623         ID3D12InfoQueue1 *This);
   2624 
   2625     UINT64 (STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter)(
   2626         ID3D12InfoQueue1 *This);
   2627 
   2628     UINT64 (STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit)(
   2629         ID3D12InfoQueue1 *This);
   2630 
   2631     UINT64 (STDMETHODCALLTYPE *GetMessageCountLimit)(
   2632         ID3D12InfoQueue1 *This);
   2633 
   2634     HRESULT (STDMETHODCALLTYPE *AddStorageFilterEntries)(
   2635         ID3D12InfoQueue1 *This,
   2636         D3D12_INFO_QUEUE_FILTER *filter);
   2637 
   2638     HRESULT (STDMETHODCALLTYPE *GetStorageFilter)(
   2639         ID3D12InfoQueue1 *This,
   2640         D3D12_INFO_QUEUE_FILTER *filter,
   2641         SIZE_T *length);
   2642 
   2643     void (STDMETHODCALLTYPE *ClearStorageFilter)(
   2644         ID3D12InfoQueue1 *This);
   2645 
   2646     HRESULT (STDMETHODCALLTYPE *PushEmptyStorageFilter)(
   2647         ID3D12InfoQueue1 *This);
   2648 
   2649     HRESULT (STDMETHODCALLTYPE *PushCopyOfStorageFilter)(
   2650         ID3D12InfoQueue1 *This);
   2651 
   2652     HRESULT (STDMETHODCALLTYPE *PushStorageFilter)(
   2653         ID3D12InfoQueue1 *This,
   2654         D3D12_INFO_QUEUE_FILTER *filter);
   2655 
   2656     void (STDMETHODCALLTYPE *PopStorageFilter)(
   2657         ID3D12InfoQueue1 *This);
   2658 
   2659     UINT (STDMETHODCALLTYPE *GetStorageFilterStackSize)(
   2660         ID3D12InfoQueue1 *This);
   2661 
   2662     HRESULT (STDMETHODCALLTYPE *AddRetrievalFilterEntries)(
   2663         ID3D12InfoQueue1 *This,
   2664         D3D12_INFO_QUEUE_FILTER *filter);
   2665 
   2666     HRESULT (STDMETHODCALLTYPE *GetRetrievalFilter)(
   2667         ID3D12InfoQueue1 *This,
   2668         D3D12_INFO_QUEUE_FILTER *filter,
   2669         SIZE_T *length);
   2670 
   2671     void (STDMETHODCALLTYPE *ClearRetrievalFilter)(
   2672         ID3D12InfoQueue1 *This);
   2673 
   2674     HRESULT (STDMETHODCALLTYPE *PushEmptyRetrievalFilter)(
   2675         ID3D12InfoQueue1 *This);
   2676 
   2677     HRESULT (STDMETHODCALLTYPE *PushCopyOfRetrievalFilter)(
   2678         ID3D12InfoQueue1 *This);
   2679 
   2680     HRESULT (STDMETHODCALLTYPE *PushRetrievalFilter)(
   2681         ID3D12InfoQueue1 *This,
   2682         D3D12_INFO_QUEUE_FILTER *filter);
   2683 
   2684     void (STDMETHODCALLTYPE *PopRetrievalFilter)(
   2685         ID3D12InfoQueue1 *This);
   2686 
   2687     UINT (STDMETHODCALLTYPE *GetRetrievalFilterStackSize)(
   2688         ID3D12InfoQueue1 *This);
   2689 
   2690     HRESULT (STDMETHODCALLTYPE *AddMessage)(
   2691         ID3D12InfoQueue1 *This,
   2692         D3D12_MESSAGE_CATEGORY category,
   2693         D3D12_MESSAGE_SEVERITY severity,
   2694         D3D12_MESSAGE_ID id,
   2695         const char *description);
   2696 
   2697     HRESULT (STDMETHODCALLTYPE *AddApplicationMessage)(
   2698         ID3D12InfoQueue1 *This,
   2699         D3D12_MESSAGE_SEVERITY severity,
   2700         const char *description);
   2701 
   2702     HRESULT (STDMETHODCALLTYPE *SetBreakOnCategory)(
   2703         ID3D12InfoQueue1 *This,
   2704         D3D12_MESSAGE_CATEGORY category,
   2705         WINBOOL enable);
   2706 
   2707     HRESULT (STDMETHODCALLTYPE *SetBreakOnSeverity)(
   2708         ID3D12InfoQueue1 *This,
   2709         D3D12_MESSAGE_SEVERITY severity,
   2710         WINBOOL enable);
   2711 
   2712     HRESULT (STDMETHODCALLTYPE *SetBreakOnID)(
   2713         ID3D12InfoQueue1 *This,
   2714         D3D12_MESSAGE_ID id,
   2715         WINBOOL enable);
   2716 
   2717     WINBOOL (STDMETHODCALLTYPE *GetBreakOnCategory)(
   2718         ID3D12InfoQueue1 *This,
   2719         D3D12_MESSAGE_CATEGORY category);
   2720 
   2721     WINBOOL (STDMETHODCALLTYPE *GetBreakOnSeverity)(
   2722         ID3D12InfoQueue1 *This,
   2723         D3D12_MESSAGE_SEVERITY severity);
   2724 
   2725     WINBOOL (STDMETHODCALLTYPE *GetBreakOnID)(
   2726         ID3D12InfoQueue1 *This,
   2727         D3D12_MESSAGE_ID id);
   2728 
   2729     void (STDMETHODCALLTYPE *SetMuteDebugOutput)(
   2730         ID3D12InfoQueue1 *This,
   2731         WINBOOL mute);
   2732 
   2733     WINBOOL (STDMETHODCALLTYPE *GetMuteDebugOutput)(
   2734         ID3D12InfoQueue1 *This);
   2735 
   2736     /*** ID3D12InfoQueue1 methods ***/
   2737     HRESULT (STDMETHODCALLTYPE *RegisterMessageCallback)(
   2738         ID3D12InfoQueue1 *This,
   2739         D3D12MessageFunc func,
   2740         D3D12_MESSAGE_CALLBACK_FLAGS flags,
   2741         void *context,
   2742         DWORD *cookie);
   2743 
   2744     HRESULT (STDMETHODCALLTYPE *UnregisterMessageCallback)(
   2745         ID3D12InfoQueue1 *This,
   2746         DWORD cookie);
   2747 
   2748     END_INTERFACE
   2749 } ID3D12InfoQueue1Vtbl;
   2750 
   2751 interface ID3D12InfoQueue1 {
   2752     CONST_VTBL ID3D12InfoQueue1Vtbl* lpVtbl;
   2753 };
   2754 
   2755 #ifdef COBJMACROS
   2756 #ifndef WIDL_C_INLINE_WRAPPERS
   2757 /*** IUnknown methods ***/
   2758 #define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2759 #define ID3D12InfoQueue1_AddRef(This) (This)->lpVtbl->AddRef(This)
   2760 #define ID3D12InfoQueue1_Release(This) (This)->lpVtbl->Release(This)
   2761 /*** ID3D12InfoQueue methods ***/
   2762 #define ID3D12InfoQueue1_SetMessageCountLimit(This,limit) (This)->lpVtbl->SetMessageCountLimit(This,limit)
   2763 #define ID3D12InfoQueue1_ClearStoredMessages(This) (This)->lpVtbl->ClearStoredMessages(This)
   2764 #define ID3D12InfoQueue1_GetMessage(This,index,message,length) (This)->lpVtbl->GetMessage(This,index,message,length)
   2765 #define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesAllowedByStorageFilter(This)
   2766 #define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesDeniedByStorageFilter(This)
   2767 #define ID3D12InfoQueue1_GetNumStoredMessages(This) (This)->lpVtbl->GetNumStoredMessages(This)
   2768 #define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) (This)->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This)
   2769 #define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) (This)->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This)
   2770 #define ID3D12InfoQueue1_GetMessageCountLimit(This) (This)->lpVtbl->GetMessageCountLimit(This)
   2771 #define ID3D12InfoQueue1_AddStorageFilterEntries(This,filter) (This)->lpVtbl->AddStorageFilterEntries(This,filter)
   2772 #define ID3D12InfoQueue1_GetStorageFilter(This,filter,length) (This)->lpVtbl->GetStorageFilter(This,filter,length)
   2773 #define ID3D12InfoQueue1_ClearStorageFilter(This) (This)->lpVtbl->ClearStorageFilter(This)
   2774 #define ID3D12InfoQueue1_PushEmptyStorageFilter(This) (This)->lpVtbl->PushEmptyStorageFilter(This)
   2775 #define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) (This)->lpVtbl->PushCopyOfStorageFilter(This)
   2776 #define ID3D12InfoQueue1_PushStorageFilter(This,filter) (This)->lpVtbl->PushStorageFilter(This,filter)
   2777 #define ID3D12InfoQueue1_PopStorageFilter(This) (This)->lpVtbl->PopStorageFilter(This)
   2778 #define ID3D12InfoQueue1_GetStorageFilterStackSize(This) (This)->lpVtbl->GetStorageFilterStackSize(This)
   2779 #define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,filter) (This)->lpVtbl->AddRetrievalFilterEntries(This,filter)
   2780 #define ID3D12InfoQueue1_GetRetrievalFilter(This,filter,length) (This)->lpVtbl->GetRetrievalFilter(This,filter,length)
   2781 #define ID3D12InfoQueue1_ClearRetrievalFilter(This) (This)->lpVtbl->ClearRetrievalFilter(This)
   2782 #define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) (This)->lpVtbl->PushEmptyRetrievalFilter(This)
   2783 #define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) (This)->lpVtbl->PushCopyOfRetrievalFilter(This)
   2784 #define ID3D12InfoQueue1_PushRetrievalFilter(This,filter) (This)->lpVtbl->PushRetrievalFilter(This,filter)
   2785 #define ID3D12InfoQueue1_PopRetrievalFilter(This) (This)->lpVtbl->PopRetrievalFilter(This)
   2786 #define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) (This)->lpVtbl->GetRetrievalFilterStackSize(This)
   2787 #define ID3D12InfoQueue1_AddMessage(This,category,severity,id,description) (This)->lpVtbl->AddMessage(This,category,severity,id,description)
   2788 #define ID3D12InfoQueue1_AddApplicationMessage(This,severity,description) (This)->lpVtbl->AddApplicationMessage(This,severity,description)
   2789 #define ID3D12InfoQueue1_SetBreakOnCategory(This,category,enable) (This)->lpVtbl->SetBreakOnCategory(This,category,enable)
   2790 #define ID3D12InfoQueue1_SetBreakOnSeverity(This,severity,enable) (This)->lpVtbl->SetBreakOnSeverity(This,severity,enable)
   2791 #define ID3D12InfoQueue1_SetBreakOnID(This,id,enable) (This)->lpVtbl->SetBreakOnID(This,id,enable)
   2792 #define ID3D12InfoQueue1_GetBreakOnCategory(This,category) (This)->lpVtbl->GetBreakOnCategory(This,category)
   2793 #define ID3D12InfoQueue1_GetBreakOnSeverity(This,severity) (This)->lpVtbl->GetBreakOnSeverity(This,severity)
   2794 #define ID3D12InfoQueue1_GetBreakOnID(This,id) (This)->lpVtbl->GetBreakOnID(This,id)
   2795 #define ID3D12InfoQueue1_SetMuteDebugOutput(This,mute) (This)->lpVtbl->SetMuteDebugOutput(This,mute)
   2796 #define ID3D12InfoQueue1_GetMuteDebugOutput(This) (This)->lpVtbl->GetMuteDebugOutput(This)
   2797 /*** ID3D12InfoQueue1 methods ***/
   2798 #define ID3D12InfoQueue1_RegisterMessageCallback(This,func,flags,context,cookie) (This)->lpVtbl->RegisterMessageCallback(This,func,flags,context,cookie)
   2799 #define ID3D12InfoQueue1_UnregisterMessageCallback(This,cookie) (This)->lpVtbl->UnregisterMessageCallback(This,cookie)
   2800 #else
   2801 /*** IUnknown methods ***/
   2802 static inline HRESULT ID3D12InfoQueue1_QueryInterface(ID3D12InfoQueue1* This,REFIID riid,void **ppvObject) {
   2803     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2804 }
   2805 static inline ULONG ID3D12InfoQueue1_AddRef(ID3D12InfoQueue1* This) {
   2806     return This->lpVtbl->AddRef(This);
   2807 }
   2808 static inline ULONG ID3D12InfoQueue1_Release(ID3D12InfoQueue1* This) {
   2809     return This->lpVtbl->Release(This);
   2810 }
   2811 /*** ID3D12InfoQueue methods ***/
   2812 static inline HRESULT ID3D12InfoQueue1_SetMessageCountLimit(ID3D12InfoQueue1* This,UINT64 limit) {
   2813     return This->lpVtbl->SetMessageCountLimit(This,limit);
   2814 }
   2815 static inline void ID3D12InfoQueue1_ClearStoredMessages(ID3D12InfoQueue1* This) {
   2816     This->lpVtbl->ClearStoredMessages(This);
   2817 }
   2818 static inline HRESULT ID3D12InfoQueue1_GetMessage(ID3D12InfoQueue1* This,UINT64 index,D3D12_MESSAGE *message,SIZE_T *length) {
   2819     return This->lpVtbl->GetMessage(This,index,message,length);
   2820 }
   2821 static inline UINT64 ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(ID3D12InfoQueue1* This) {
   2822     return This->lpVtbl->GetNumMessagesAllowedByStorageFilter(This);
   2823 }
   2824 static inline UINT64 ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(ID3D12InfoQueue1* This) {
   2825     return This->lpVtbl->GetNumMessagesDeniedByStorageFilter(This);
   2826 }
   2827 static inline UINT64 ID3D12InfoQueue1_GetNumStoredMessages(ID3D12InfoQueue1* This) {
   2828     return This->lpVtbl->GetNumStoredMessages(This);
   2829 }
   2830 static inline UINT64 ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(ID3D12InfoQueue1* This) {
   2831     return This->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This);
   2832 }
   2833 static inline UINT64 ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(ID3D12InfoQueue1* This) {
   2834     return This->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This);
   2835 }
   2836 static inline UINT64 ID3D12InfoQueue1_GetMessageCountLimit(ID3D12InfoQueue1* This) {
   2837     return This->lpVtbl->GetMessageCountLimit(This);
   2838 }
   2839 static inline HRESULT ID3D12InfoQueue1_AddStorageFilterEntries(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2840     return This->lpVtbl->AddStorageFilterEntries(This,filter);
   2841 }
   2842 static inline HRESULT ID3D12InfoQueue1_GetStorageFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
   2843     return This->lpVtbl->GetStorageFilter(This,filter,length);
   2844 }
   2845 static inline void ID3D12InfoQueue1_ClearStorageFilter(ID3D12InfoQueue1* This) {
   2846     This->lpVtbl->ClearStorageFilter(This);
   2847 }
   2848 static inline HRESULT ID3D12InfoQueue1_PushEmptyStorageFilter(ID3D12InfoQueue1* This) {
   2849     return This->lpVtbl->PushEmptyStorageFilter(This);
   2850 }
   2851 static inline HRESULT ID3D12InfoQueue1_PushCopyOfStorageFilter(ID3D12InfoQueue1* This) {
   2852     return This->lpVtbl->PushCopyOfStorageFilter(This);
   2853 }
   2854 static inline HRESULT ID3D12InfoQueue1_PushStorageFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2855     return This->lpVtbl->PushStorageFilter(This,filter);
   2856 }
   2857 static inline void ID3D12InfoQueue1_PopStorageFilter(ID3D12InfoQueue1* This) {
   2858     This->lpVtbl->PopStorageFilter(This);
   2859 }
   2860 static inline UINT ID3D12InfoQueue1_GetStorageFilterStackSize(ID3D12InfoQueue1* This) {
   2861     return This->lpVtbl->GetStorageFilterStackSize(This);
   2862 }
   2863 static inline HRESULT ID3D12InfoQueue1_AddRetrievalFilterEntries(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2864     return This->lpVtbl->AddRetrievalFilterEntries(This,filter);
   2865 }
   2866 static inline HRESULT ID3D12InfoQueue1_GetRetrievalFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
   2867     return This->lpVtbl->GetRetrievalFilter(This,filter,length);
   2868 }
   2869 static inline void ID3D12InfoQueue1_ClearRetrievalFilter(ID3D12InfoQueue1* This) {
   2870     This->lpVtbl->ClearRetrievalFilter(This);
   2871 }
   2872 static inline HRESULT ID3D12InfoQueue1_PushEmptyRetrievalFilter(ID3D12InfoQueue1* This) {
   2873     return This->lpVtbl->PushEmptyRetrievalFilter(This);
   2874 }
   2875 static inline HRESULT ID3D12InfoQueue1_PushCopyOfRetrievalFilter(ID3D12InfoQueue1* This) {
   2876     return This->lpVtbl->PushCopyOfRetrievalFilter(This);
   2877 }
   2878 static inline HRESULT ID3D12InfoQueue1_PushRetrievalFilter(ID3D12InfoQueue1* This,D3D12_INFO_QUEUE_FILTER *filter) {
   2879     return This->lpVtbl->PushRetrievalFilter(This,filter);
   2880 }
   2881 static inline void ID3D12InfoQueue1_PopRetrievalFilter(ID3D12InfoQueue1* This) {
   2882     This->lpVtbl->PopRetrievalFilter(This);
   2883 }
   2884 static inline UINT ID3D12InfoQueue1_GetRetrievalFilterStackSize(ID3D12InfoQueue1* This) {
   2885     return This->lpVtbl->GetRetrievalFilterStackSize(This);
   2886 }
   2887 static inline HRESULT ID3D12InfoQueue1_AddMessage(ID3D12InfoQueue1* This,D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description) {
   2888     return This->lpVtbl->AddMessage(This,category,severity,id,description);
   2889 }
   2890 static inline HRESULT ID3D12InfoQueue1_AddApplicationMessage(ID3D12InfoQueue1* This,D3D12_MESSAGE_SEVERITY severity,const char *description) {
   2891     return This->lpVtbl->AddApplicationMessage(This,severity,description);
   2892 }
   2893 static inline HRESULT ID3D12InfoQueue1_SetBreakOnCategory(ID3D12InfoQueue1* This,D3D12_MESSAGE_CATEGORY category,WINBOOL enable) {
   2894     return This->lpVtbl->SetBreakOnCategory(This,category,enable);
   2895 }
   2896 static inline HRESULT ID3D12InfoQueue1_SetBreakOnSeverity(ID3D12InfoQueue1* This,D3D12_MESSAGE_SEVERITY severity,WINBOOL enable) {
   2897     return This->lpVtbl->SetBreakOnSeverity(This,severity,enable);
   2898 }
   2899 static inline HRESULT ID3D12InfoQueue1_SetBreakOnID(ID3D12InfoQueue1* This,D3D12_MESSAGE_ID id,WINBOOL enable) {
   2900     return This->lpVtbl->SetBreakOnID(This,id,enable);
   2901 }
   2902 static inline WINBOOL ID3D12InfoQueue1_GetBreakOnCategory(ID3D12InfoQueue1* This,D3D12_MESSAGE_CATEGORY category) {
   2903     return This->lpVtbl->GetBreakOnCategory(This,category);
   2904 }
   2905 static inline WINBOOL ID3D12InfoQueue1_GetBreakOnSeverity(ID3D12InfoQueue1* This,D3D12_MESSAGE_SEVERITY severity) {
   2906     return This->lpVtbl->GetBreakOnSeverity(This,severity);
   2907 }
   2908 static inline WINBOOL ID3D12InfoQueue1_GetBreakOnID(ID3D12InfoQueue1* This,D3D12_MESSAGE_ID id) {
   2909     return This->lpVtbl->GetBreakOnID(This,id);
   2910 }
   2911 static inline void ID3D12InfoQueue1_SetMuteDebugOutput(ID3D12InfoQueue1* This,WINBOOL mute) {
   2912     This->lpVtbl->SetMuteDebugOutput(This,mute);
   2913 }
   2914 static inline WINBOOL ID3D12InfoQueue1_GetMuteDebugOutput(ID3D12InfoQueue1* This) {
   2915     return This->lpVtbl->GetMuteDebugOutput(This);
   2916 }
   2917 /*** ID3D12InfoQueue1 methods ***/
   2918 static inline HRESULT ID3D12InfoQueue1_RegisterMessageCallback(ID3D12InfoQueue1* This,D3D12MessageFunc func,D3D12_MESSAGE_CALLBACK_FLAGS flags,void *context,DWORD *cookie) {
   2919     return This->lpVtbl->RegisterMessageCallback(This,func,flags,context,cookie);
   2920 }
   2921 static inline HRESULT ID3D12InfoQueue1_UnregisterMessageCallback(ID3D12InfoQueue1* This,DWORD cookie) {
   2922     return This->lpVtbl->UnregisterMessageCallback(This,cookie);
   2923 }
   2924 #endif
   2925 #endif
   2926 
   2927 #endif
   2928 
   2929 
   2930 #endif  /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */
   2931 
   2932 /* Begin additional prototypes for all interfaces */
   2933 
   2934 
   2935 /* End additional prototypes */
   2936 
   2937 #ifdef __cplusplus
   2938 }
   2939 #endif
   2940 
   2941 #endif /* __d3d12sdklayers_h__ */