From 34e8a2255e9e5f65daf32969550039f863a66fbc Mon Sep 17 00:00:00 2001 From: Geoffrey McRae Date: Sat, 27 Jan 2024 17:55:44 +1100 Subject: [PATCH] [host] dxgi: d3d12 now writes direclty into ivshmem This is still incomplete as d3d12 doesn't have any proper sync with the captured frame and as such is still not suggested for general usage. This change though is monumental for this project as it removes a full memory copy reducing bandwidth consumption enormously. --- host/include/interface/capture.h | 5 +- .../Windows/capture/DXGI/CMakeLists.txt | 2 +- .../Windows/capture/DXGI/src/backend.h | 14 +- .../platform/Windows/capture/DXGI/src/d3d11.c | 12 +- .../platform/Windows/capture/DXGI/src/d3d12.c | 182 +- host/platform/Windows/capture/DXGI/src/dxgi.c | 81 +- .../Windows/capture/NVFBC/src/nvfbc.c | 10 +- host/src/app.c | 50 +- vendor/directx/d3d12.h | 17505 +++++++++++++++- vendor/directx/d3d12sdklayers.h | 9037 ++------ 10 files changed, 18754 insertions(+), 8144 deletions(-) diff --git a/host/include/interface/capture.h b/host/include/interface/capture.h index e9300678..d3c8c8b6 100644 --- a/host/include/interface/capture.h +++ b/host/include/interface/capture.h @@ -116,17 +116,18 @@ typedef struct CaptureInterface void (*initOptions )(void); bool(*create)( + void * ivshmemBase, CaptureGetPointerBuffer getPointerBufferFn, CapturePostPointerBuffer postPointerBufferFn ); - bool (*init )(void); + bool (*init )(unsigned * alignSize); bool (*start )(void); void (*stop )(void); bool (*deinit )(void); void (*free )(void); - CaptureResult (*capture )(void); + CaptureResult (*capture )(unsigned frameBufferIndex, FrameBuffer * frame); CaptureResult (*waitFrame )(CaptureFrame * frame, const size_t maxFrameSize); CaptureResult (*getFrame )(FrameBuffer * frame, int frameIndex); } diff --git a/host/platform/Windows/capture/DXGI/CMakeLists.txt b/host/platform/Windows/capture/DXGI/CMakeLists.txt index f7d3c857..d0f9e558 100644 --- a/host/platform/Windows/capture/DXGI/CMakeLists.txt +++ b/host/platform/Windows/capture/DXGI/CMakeLists.txt @@ -14,7 +14,7 @@ add_library(capture_DXGI STATIC src/pp/rgb24.c ) -add_definitions("-DCOBJMACROS -DINITGUID") +add_definitions("-DCOBJMACROS -DINITGUID -DWIDL_C_INLINE_WRAPPERS") target_link_libraries(capture_DXGI lg_common diff --git a/host/platform/Windows/capture/DXGI/src/backend.h b/host/platform/Windows/capture/DXGI/src/backend.h index ba354d8a..5d87a09f 100644 --- a/host/platform/Windows/capture/DXGI/src/backend.h +++ b/host/platform/Windows/capture/DXGI/src/backend.h @@ -36,7 +36,11 @@ struct DXGICopyBackend const char * code; // create the copy backend - bool (*create)(unsigned textures); + bool (*create)( + void * ivshmemBase, + unsigned * alignSize, + unsigned frameBuffers, + unsigned textures); // configure the copy backend with the specified format bool (*configure)( @@ -50,7 +54,10 @@ struct DXGICopyBackend void (*free)(void); // called just before the copy starts - bool (*preCopy)(ID3D11Texture2D * src, unsigned textureIndex); + bool (*preCopy)(ID3D11Texture2D * src, + unsigned textureIndex, + unsigned frameBufferIndex, + FrameBuffer * frameBuffer); // called to copy the full frame bool (*copyFull)(ID3D11Texture2D * src, unsigned textureIndex); @@ -65,6 +72,9 @@ struct DXGICopyBackend // maps the copied frame into memory CaptureResult (*mapTexture)(unsigned textureIndex, void ** map); + // [optional] backend specific write into the FrameBuffer + CaptureResult (*writeFrame)(int textureIndex, FrameBuffer * frame); + // unmaps the copied frame from memory void (*unmapTexture)(unsigned textureIndex); diff --git a/host/platform/Windows/capture/DXGI/src/d3d11.c b/host/platform/Windows/capture/DXGI/src/d3d11.c index b8e189f1..86b9d722 100644 --- a/host/platform/Windows/capture/DXGI/src/d3d11.c +++ b/host/platform/Windows/capture/DXGI/src/d3d11.c @@ -43,7 +43,11 @@ struct D3D11Backend static struct D3D11Backend * this = NULL; -static bool d3d11_create(unsigned textures) +static bool d3d11_create( + void * ivshmemBase, + unsigned * alignSize, + unsigned frameBuffers, + unsigned textures) { DEBUG_ASSERT(!this); this = calloc(1, @@ -128,7 +132,11 @@ static void d3d11_free(void) this = NULL; } -static bool d3d11_preCopy(ID3D11Texture2D * src, unsigned textureIndex) +static bool d3d11_preCopy( + ID3D11Texture2D * src, + unsigned textureIndex, + unsigned frameBufferIndex, + FrameBuffer * frameBuffer) { dxgi_contextLock(); this->texture[textureIndex].copyTime = microtime(); diff --git a/host/platform/Windows/capture/DXGI/src/d3d12.c b/host/platform/Windows/capture/DXGI/src/d3d12.c index a2e1fa31..1019fb86 100644 --- a/host/platform/Windows/capture/DXGI/src/d3d12.c +++ b/host/platform/Windows/capture/DXGI/src/d3d12.c @@ -35,7 +35,6 @@ struct D3D12Texture { - ID3D12Resource ** tex; ID3D12CommandAllocator ** commandAllocator; ID3D12CommandList ** commandList; ID3D12GraphicsCommandList ** graphicsCommandList; @@ -58,6 +57,11 @@ struct D3D12Backend float copySleep; ID3D12Device ** device; + ID3D12Device3 ** device3; + void * ivshmemBase; + ID3D12Heap ** heap; + ID3D12Resource *** frameBuffers; + ID3D12Resource ** dstResource; ID3D12CommandQueue ** commandQueue; UINT64 fenceValue; ID3D12Fence ** fence; @@ -88,7 +92,11 @@ typedef HRESULT (*D3D12GetDebugInterface_t)( static void d3d12_free(void); -static bool d3d12_create(unsigned textures) +static bool d3d12_create( + void * ivshmemBase, + unsigned * alignSize, + unsigned frameBuffers, + unsigned textures) { DEBUG_ASSERT(!this); comRef_scopePush(); @@ -109,6 +117,13 @@ static bool d3d12_create(unsigned textures) if (!this->d3d12) goto exit; + this->frameBuffers = calloc(frameBuffers, sizeof(*this->frameBuffers)); + if (!this->frameBuffers) + { + DEBUG_ERROR("Failed to allocate the ID3D12Resource frame buffer array"); + goto exit; + } + if (dxgi_debug()) { D3D12GetDebugInterface_t D3D12GetDebugInterface = (D3D12GetDebugInterface_t) @@ -145,6 +160,33 @@ static bool d3d12_create(unsigned textures) goto exit; } + comRef_defineLocal(ID3D12Device3, device3); + status = ID3D12Device_QueryInterface( + *device, &IID_ID3D12Device3, (void **)device3); + if (FAILED(status)) + { + DEBUG_WINERROR("Failed to obtain the ID3D12Device3 interface", status); + goto exit; + } + + comRef_defineLocal(ID3D12Heap, heap); + status = ID3D12Device3_OpenExistingHeapFromAddress( + *device3, + ivshmemBase, + &IID_ID3D12Heap, + (void **)heap); + + if (FAILED(status)) + { + DEBUG_WINERROR("Failed to open the framebuffer as a heap", status); + return false; + } + + D3D12_HEAP_DESC heapDesc = ID3D12Heap_GetDesc(*heap); + DEBUG_INFO("ID3D12Heap : Size:%I64u Alignment:%I64u", + heapDesc.SizeInBytes, heapDesc.Alignment); + *alignSize = heapDesc.Alignment; + D3D12_COMMAND_QUEUE_DESC queueDesc = { .Type = D3D12_COMMAND_LIST_TYPE_COPY, @@ -186,7 +228,11 @@ static bool d3d12_create(unsigned textures) goto exit; } + this->ivshmemBase = ivshmemBase; + comRef_toGlobal(this->device , device ); + comRef_toGlobal(this->device3 , device3 ); + comRef_toGlobal(this->heap , heap ); comRef_toGlobal(this->commandQueue, commandQueue); comRef_toGlobal(this->fence , fence ); @@ -213,48 +259,12 @@ static bool d3d12_configure( this->format = format; this->pitch = ALIGN_TO(width * bpp, D3D12_TEXTURE_DATA_PITCH_ALIGNMENT); - D3D12_HEAP_PROPERTIES readbackHeapProperties = - { - .Type = D3D12_HEAP_TYPE_READBACK, - }; - - D3D12_RESOURCE_DESC texDesc = - { - .Dimension = D3D12_RESOURCE_DIMENSION_BUFFER, - .Alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT, - .Width = this->pitch * height, - .Height = 1, - .DepthOrArraySize = 1, - .MipLevels = 1, - .Format = DXGI_FORMAT_UNKNOWN, - .SampleDesc.Count = 1, - .SampleDesc.Quality = 0, - .Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR, - .Flags = D3D12_RESOURCE_FLAG_NONE - }; - - comRef_defineLocal(ID3D12Resource , texture ); comRef_defineLocal(ID3D12Fence , fence ); comRef_defineLocal(ID3D12CommandAllocator , commandAllocator ); comRef_defineLocal(ID3D12GraphicsCommandList, graphicsCommandList); comRef_defineLocal(ID3D12CommandList , commandList ); for (int i = 0; i < this->textures; ++i) { - status = ID3D12Device_CreateCommittedResource(*this->device, - &readbackHeapProperties, - D3D12_HEAP_FLAG_NONE, - &texDesc, - D3D12_RESOURCE_STATE_COPY_DEST, - NULL, - &IID_ID3D12Resource, - (void **)texture); - - if (FAILED(status)) - { - DEBUG_WINERROR("Failed to create texture", status); - goto exit; - } - this->texture[i].event = CreateEvent(NULL, FALSE, FALSE, NULL); if (!this->texture[i].event) { @@ -307,7 +317,6 @@ static bool d3d12_configure( goto exit; } - comRef_toGlobal(this->texture[i].tex , texture ); comRef_toGlobal(this->texture[i].fence , fence ); comRef_toGlobal(this->texture[i].commandAllocator , commandAllocator ); comRef_toGlobal(this->texture[i].graphicsCommandList, graphicsCommandList); @@ -320,6 +329,7 @@ static bool d3d12_configure( exit: comRef_scopePop(); + return result; } @@ -328,13 +338,15 @@ static void d3d12_free(void) if (!this) return; - for (int i = 0; i < this->textures; ++i) + for(int i = 0; i < this->textures; ++i) if (this->texture[i].event) CloseHandle(this->texture[i].event); if (this->event) CloseHandle(this->event); + free(this->frameBuffers); + if (this->d3d12) FreeLibrary(this->d3d12); @@ -342,7 +354,11 @@ static void d3d12_free(void) this = NULL; } -static bool d3d12_preCopy(ID3D11Texture2D * src, unsigned textureIndex) +static bool d3d12_preCopy( + ID3D11Texture2D * src, + unsigned textureIndex, + unsigned frameBufferIndex, + FrameBuffer * frameBuffer) { comRef_scopePush(); bool result = false; @@ -352,9 +368,6 @@ static bool d3d12_preCopy(ID3D11Texture2D * src, unsigned textureIndex) ID3D11DeviceContext_Flush(dxgi_getContext()); dxgi_contextUnlock(); - if (this->copySleep > 0) - nsleep((uint64_t)(this->copySleep * 1000000)); - this->d12src = NULL; if (this->sharedCacheCount > -1) { @@ -363,8 +376,7 @@ static bool d3d12_preCopy(ID3D11Texture2D * src, unsigned textureIndex) if (this->sharedCache[i].tex == src) { this->d12src = *this->sharedCache[i].d12src; - result = true; - goto exit; + goto framebuffer; } } @@ -419,8 +431,52 @@ static bool d3d12_preCopy(ID3D11Texture2D * src, unsigned textureIndex) this->sharedCacheCount = -1; } +framebuffer: + if (this->frameBuffers[frameBufferIndex]) + goto done; + + // prepare a IVSHMEM backed texture for the provided framebuffer + D3D12_RESOURCE_DESC desc = + { + .Dimension = D3D12_RESOURCE_DIMENSION_BUFFER, + .Alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT, + .Width = this->height * this->pitch, + .Height = 1, + .DepthOrArraySize = 1, + .MipLevels = 1, + .Format = DXGI_FORMAT_UNKNOWN, + .SampleDesc.Count = 1, + .SampleDesc.Quality = 0, + .Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR, + .Flags = D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER + }; + + comRef_defineLocal(ID3D12Resource, resource); + status = ID3D12Device3_CreatePlacedResource( + *this->device3, + *this->heap, + (uintptr_t)framebuffer_get_data(frameBuffer) - (uintptr_t)this->ivshmemBase, + &desc, + D3D12_RESOURCE_STATE_COPY_DEST, + NULL, + &IID_ID3D12Resource, + (void**)resource); + + if (FAILED(status)) + { + DEBUG_WINERROR("Failed to create D3D12 resource from heap", status); + goto exit; + } + + comRef_toGlobal(this->frameBuffers[frameBufferIndex], resource); + +done: + this->dstResource = this->frameBuffers[frameBufferIndex]; result = true; + if (this->copySleep > 0) + nsleep((uint64_t)(this->copySleep * 1000000)); + exit: if (!result) comRef_scopePop(); @@ -441,7 +497,7 @@ static bool d3d12_copyFull(ID3D11Texture2D * src, unsigned textureIndex) D3D12_TEXTURE_COPY_LOCATION destLoc = { - .pResource = *tex->tex, + .pResource = *this->dstResource, .Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT, .PlacedFootprint = { @@ -463,7 +519,6 @@ static bool d3d12_copyFull(ID3D11Texture2D * src, unsigned textureIndex) return true; } - static bool d3d12_copyRect(ID3D11Texture2D * src, unsigned textureIndex, FrameDamageRect * rect) { @@ -478,7 +533,7 @@ static bool d3d12_copyRect(ID3D11Texture2D * src, unsigned textureIndex, D3D12_TEXTURE_COPY_LOCATION destLoc = { - .pResource = *tex->tex, + .pResource = *this->dstResource, .Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT, .PlacedFootprint = { @@ -561,7 +616,8 @@ static bool d3d12_postCopy(ID3D11Texture2D * src, unsigned textureIndex) result = true; exit: - comRef_scopePop(); //push is in pre-copy + //push is in preCopy + comRef_scopePop(); return result; } @@ -587,32 +643,17 @@ static CaptureResult d3d12_mapTexture(unsigned textureIndex, void ** map) return CAPTURE_RESULT_ERROR; } - D3D12_RANGE range = - { - .Begin = 0, - .End = this->pitch * this->height - }; - status = ID3D12Resource_Map(*tex->tex, 0, &range, map); - - if (FAILED(status)) - { - DEBUG_WINERROR("Failed to map the texture", status); - return CAPTURE_RESULT_ERROR; - } + return CAPTURE_RESULT_OK; +} +static CaptureResult d3d12_writeFrame(int textureIndex, FrameBuffer * frame) +{ + framebuffer_set_write_ptr(frame, this->height * this->pitch); return CAPTURE_RESULT_OK; } static void d3d12_unmapTexture(unsigned textureIndex) { - struct D3D12Texture * tex = &this->texture[textureIndex]; - - D3D12_RANGE range = - { - .Begin = 0, - .End = 0 - }; - ID3D12Resource_Unmap(*tex->tex, 0, &range); } static void d3d12_preRelease(void) @@ -632,6 +673,7 @@ struct DXGICopyBackend copyBackendD3D12 = .copyRect = d3d12_copyRect, .postCopy = d3d12_postCopy, .mapTexture = d3d12_mapTexture, + .writeFrame = d3d12_writeFrame, .unmapTexture = d3d12_unmapTexture, .preRelease = d3d12_preRelease, }; diff --git a/host/platform/Windows/capture/DXGI/src/dxgi.c b/host/platform/Windows/capture/DXGI/src/dxgi.c index 8fb73014..29ac0b11 100644 --- a/host/platform/Windows/capture/DXGI/src/dxgi.c +++ b/host/platform/Windows/capture/DXGI/src/dxgi.c @@ -125,6 +125,7 @@ struct DXGIInterface D3D_FEATURE_LEVEL featureLevel; IDXGIOutputDuplication ** dup; int maxTextures; + void * ivshmemBase; Texture * texture; int texRIndex; int texWIndex; @@ -275,7 +276,10 @@ static void dxgi_initOptions(void) ppEarlyInit(); } -static bool dxgi_create(CaptureGetPointerBuffer getPointerBufferFn, CapturePostPointerBuffer postPointerBufferFn) +static bool dxgi_create( + void * ivshmemBase, + CaptureGetPointerBuffer getPointerBufferFn, + CapturePostPointerBuffer postPointerBufferFn) { DEBUG_ASSERT(!this); this = calloc(1, sizeof(*this)); @@ -302,6 +306,7 @@ static bool dxgi_create(CaptureGetPointerBuffer getPointerBufferFn, CapturePostP this->allowRGB24 = option_get_bool("dxgi", "allowRGB24"); this->dwmFlush = option_get_bool("dxgi", "dwmFlush"); this->disableDamage = option_get_bool("dxgi", "disableDamage"); + this->ivshmemBase = ivshmemBase; this->texture = calloc(this->maxTextures, sizeof(*this->texture)); this->getPointerBufferFn = getPointerBufferFn; this->postPointerBufferFn = postPointerBufferFn; @@ -360,7 +365,7 @@ static bool initVertexShader(void) return true; } -static bool dxgi_init(void) +static bool dxgi_init(unsigned * alignSize) { DEBUG_ASSERT(this); @@ -800,7 +805,11 @@ static bool dxgi_init(void) { if (!strcasecmp(copyBackend, backends[i]->code)) { - if (!backends[i]->create(this->maxTextures)) + if (!backends[i]->create( + this->ivshmemBase, + alignSize, + LGMP_Q_FRAME_LEN, + this->maxTextures)) { DEBUG_ERROR("Failed to initialize selected capture backend: %s", backends[i]->name); backends[i]->free(); @@ -1052,7 +1061,8 @@ static void computeTexDamage(Texture * tex) } } -static CaptureResult dxgi_capture(void) +static CaptureResult dxgi_capture(unsigned frameBufferIndex, + FrameBuffer * frameBuffer) { DEBUG_ASSERT(this); DEBUG_ASSERT(this->initialized); @@ -1101,6 +1111,7 @@ static CaptureResult dxgi_capture(void) { if (result == CAPTURE_RESULT_ERROR) DEBUG_WINERROR("AcquireNextFrame failed", status); + goto exit; } @@ -1230,7 +1241,8 @@ static CaptureResult dxgi_capture(void) computeFrameDamage(tex); computeTexDamage(tex); - if (!this->backend->preCopy(dst, this->texWIndex)) + if (!this->backend->preCopy(dst, this->texWIndex, + frameBufferIndex, frameBuffer)) { result = CAPTURE_RESULT_ERROR; goto exit; @@ -1440,39 +1452,48 @@ static CaptureResult dxgi_getFrame(FrameBuffer * frame, int frameIndex) Texture * tex = &this->texture[this->texRIndex]; FrameDamage * damage = &this->frameDamage[frameIndex]; - if (tex->damageRectsCount == 0 || - damage->count < 0 || - damage->count + tex->damageRectsCount > KVMFR_MAX_DAMAGE_RECTS) + if (this->backend->writeFrame) { - // damage all - framebuffer_write(frame, tex->map, this->pitch * this->dataHeight); + CaptureResult result = this->backend->writeFrame(frameIndex, frame); + if (result != CAPTURE_RESULT_OK) + return result; } else { - memcpy(damage->rects + damage->count, tex->damageRects, - tex->damageRectsCount * sizeof(*tex->damageRects)); - damage->count += tex->damageRectsCount; - - if (this->outputFormat == CAPTURE_FMT_BGR_32) + if (tex->damageRectsCount == 0 || + damage->count < 0 || + damage->count + tex->damageRectsCount > KVMFR_MAX_DAMAGE_RECTS) { - FrameDamageRect scaledDamageRects[damage->count]; - for (int i = 0; i < ARRAYSIZE(scaledDamageRects); i++) { - FrameDamageRect rect = damage->rects[i]; - int originalX = rect.x; - int scaledX = originalX * 3 / 4; - rect.x = scaledX; - rect.width = (((originalX + rect.width) * 3 + 3) / 4) - scaledX; - - scaledDamageRects[i] = rect; - } - - rectsBufferToFramebuffer(scaledDamageRects, damage->count, this->bpp, frame, - this->pitch, this->dataHeight, tex->map, this->pitch); + // damage all + framebuffer_write(frame, tex->map, this->pitch * this->dataHeight); } else { - rectsBufferToFramebuffer(damage->rects, damage->count, this->bpp, frame, - this->pitch, this->dataHeight, tex->map, this->pitch); + memcpy(damage->rects + damage->count, tex->damageRects, + tex->damageRectsCount * sizeof(*tex->damageRects)); + damage->count += tex->damageRectsCount; + + if (this->outputFormat == CAPTURE_FMT_BGR_32) + { + FrameDamageRect scaledDamageRects[damage->count]; + for (int i = 0; i < ARRAYSIZE(scaledDamageRects); i++) { + FrameDamageRect rect = damage->rects[i]; + int originalX = rect.x; + int scaledX = originalX * 3 / 4; + rect.x = scaledX; + rect.width = (((originalX + rect.width) * 3 + 3) / 4) - scaledX; + + scaledDamageRects[i] = rect; + } + + rectsBufferToFramebuffer(scaledDamageRects, damage->count, this->bpp, frame, + this->pitch, this->dataHeight, tex->map, this->pitch); + } + else + { + rectsBufferToFramebuffer(damage->rects, damage->count, this->bpp, frame, + this->pitch, this->dataHeight, tex->map, this->pitch); + } } } diff --git a/host/platform/Windows/capture/NVFBC/src/nvfbc.c b/host/platform/Windows/capture/NVFBC/src/nvfbc.c index 12515338..d94be0bf 100644 --- a/host/platform/Windows/capture/NVFBC/src/nvfbc.c +++ b/host/platform/Windows/capture/NVFBC/src/nvfbc.c @@ -185,8 +185,9 @@ static void nvfbc_initOptions(void) } static bool nvfbc_create( - CaptureGetPointerBuffer getPointerBufferFn, - CapturePostPointerBuffer postPointerBufferFn) + void * ivshmemBase, + CaptureGetPointerBuffer getPointerBufferFn, + CapturePostPointerBuffer postPointerBufferFn) { if (!NvFBCInit()) return false; @@ -220,7 +221,7 @@ static void updateScale(void) this->targetHeight = this->height; } -static bool nvfbc_init(void) +static bool nvfbc_init(unsigned * alignSize) { int adapterIndex = option_get_int("nvfbc", "adapterIndex"); @@ -447,7 +448,8 @@ static void nvfbc_free(void) NvFBCFree(); } -static CaptureResult nvfbc_capture(void) +static CaptureResult nvfbc_capture(unsigned frameBufferIndex, + FrameBuffer * frameBuffer) { // this is a bit of a hack as it causes this thread to block until the next // present keeping us locked with the refresh rate of the monitor being diff --git a/host/src/app.c b/host/src/app.c index 3076aa8c..bae21101 100644 --- a/host/src/app.c +++ b/host/src/app.c @@ -89,10 +89,13 @@ struct app unsigned int pointerIndex; unsigned int pointerShapeIndex; - long pageSize; + unsigned alignSize; size_t maxFrameSize; PLGMPHostQueue frameQueue; PLGMPMemory frameMemory[LGMP_Q_FRAME_LEN]; + KVMFRFrame * frame [LGMP_Q_FRAME_LEN]; + FrameBuffer * frameBuffer[LGMP_Q_FRAME_LEN]; + unsigned int frameIndex; bool frameValid; uint32_t frameSerial; @@ -243,7 +246,7 @@ static bool sendFrame(void) if (++app.frameIndex == LGMP_Q_FRAME_LEN) app.frameIndex = 0; - KVMFRFrame * fi = lgmpHostMemPtr(app.frameMemory[app.frameIndex]); + KVMFRFrame * fi = app.frame[app.frameIndex]; KVMFRFrameFlags flags = (frame.hdr ? FRAME_FLAG_HDR : 0) | (frame.hdrPQ ? FRAME_FLAG_HDR_PQ : 0); @@ -311,7 +314,7 @@ static bool sendFrame(void) fi->frameHeight = frame.frameHeight; fi->stride = frame.stride; fi->pitch = frame.pitch; - fi->offset = app.pageSize - sizeof(FrameBuffer); + // fi->offset is initialized at startup fi->flags = flags; fi->damageRectsCount = frame.damageRectsCount; memcpy(fi->damageRects, frame.damageRects, @@ -319,10 +322,7 @@ static bool sendFrame(void) app.frameValid = true; - // put the framebuffer on the border of the next page - // this is to allow for aligned DMA transfers by the receiver - FrameBuffer * fb = (FrameBuffer *)(((uint8_t*)fi) + fi->offset); - framebuffer_prepare(fb); + framebuffer_prepare(app.frameBuffer[app.frameIndex]); /* we post and then get the frame, this is intentional! */ if ((status = lgmpHostQueuePost(app.frameQueue, 0, @@ -332,7 +332,7 @@ static bool sendFrame(void) return true; } - app.iface->getFrame(fb, app.frameIndex); + app.iface->getFrame(app.frameBuffer[app.frameIndex], app.frameIndex); return true; } @@ -392,13 +392,13 @@ static bool captureStart(void) { if (app.state == APP_STATE_IDLE) { - if (!app.iface->init()) + if (!app.iface->init(&app.alignSize)) { DEBUG_ERROR("Failed to initialize the capture device"); return false; } - if (app.iface->start && !app.iface->start()) + if (app.iface->start && app.iface->start()) { DEBUG_ERROR("Failed to start the capture device"); return false; @@ -720,18 +720,26 @@ static bool lgmpSetup(struct IVSHMEM * shmDev) } app.maxFrameSize = lgmpHostMemAvail(app.lgmp); - app.maxFrameSize = (app.maxFrameSize - (app.pageSize - 1)) & ~(app.pageSize - 1); + app.maxFrameSize = (app.maxFrameSize - (app.alignSize - 1)) & ~(app.alignSize - 1); app.maxFrameSize /= LGMP_Q_FRAME_LEN; DEBUG_INFO("Max Frame Size : %u MiB", (unsigned int)(app.maxFrameSize / 1048576LL)); for(int i = 0; i < LGMP_Q_FRAME_LEN; ++i) { if ((status = lgmpHostMemAllocAligned(app.lgmp, app.maxFrameSize, - app.pageSize, &app.frameMemory[i])) != LGMP_OK) + app.alignSize, &app.frameMemory[i])) != LGMP_OK) { DEBUG_ERROR("lgmpHostMemAlloc Failed (Frame): %s", lgmpStatusString(status)); goto fail_lgmp; } + + app.frame[i] = lgmpHostMemPtr(app.frameMemory[i]); + + /* put the framebuffer on the border of the next page, this is to allow for + aligned DMA transfers by the receiver */ + const unsigned alignOffset = app.alignSize - sizeof(FrameBuffer); + app.frame[i]->offset = alignOffset; + app.frameBuffer[i] = (FrameBuffer *)(((uint8_t*)app.frame[i]) + alignOffset); } if (!lgCreateTimer(10, lgmpTimer, NULL, &app.lgmpTimer)) @@ -828,7 +836,7 @@ int app_main(int argc, char * argv[]) DEBUG_INFO("Max Pointer Size : %u KiB", (unsigned int)MAX_POINTER_SIZE / 1024); DEBUG_INFO("KVMFR Version : %u", KVMFR_VERSION); - app.pageSize = sysinfo_getPageSize(); + app.alignSize = sysinfo_getPageSize(); app.frameValid = false; app.pointerShapeValid = false; @@ -847,13 +855,16 @@ int app_main(int argc, char * argv[]) DEBUG_INFO("Trying : %s", iface->getName()); - if (!iface->create(captureGetPointerBuffer, capturePostPointerBuffer)) + if (!iface->create( + shmDev.mem, + captureGetPointerBuffer, + capturePostPointerBuffer)) { iface = NULL; continue; } - if (iface->init()) + if (iface->init(&app.alignSize)) break; iface->free(); @@ -953,7 +964,14 @@ int app_main(int argc, char * argv[]) } const uint64_t captureStart = microtime(); - const CaptureResult result = app.iface->capture(); + + unsigned nextIndex = app.frameIndex + 1; + if (nextIndex == LGMP_Q_FRAME_LEN) + nextIndex = 0; + + const CaptureResult result = app.iface->capture( + nextIndex, app.frameBuffer[nextIndex]); + if (likely(result == CAPTURE_RESULT_OK)) previousFrameTime = captureStart; else if (likely(result == CAPTURE_RESULT_TIMEOUT)) diff --git a/vendor/directx/d3d12.h b/vendor/directx/d3d12.h index 77e9da05..991aa6b6 100644 --- a/vendor/directx/d3d12.h +++ b/vendor/directx/d3d12.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 6.4 from include/d3d12.idl - Do not edit ***/ +/*** Autogenerated by WIDL 8.17 from include/d3d12.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -16,6 +16,14 @@ #ifndef __d3d12_h__ #define __d3d12_h__ +#ifndef __WIDL_INLINE +#if defined(__cplusplus) || defined(_MSC_VER) +#define __WIDL_INLINE inline +#elif defined(__GNUC__) +#define __WIDL_INLINE __inline__ +#endif +#endif + /* Forward declarations */ #ifndef __ID3D12Object_FWD_DEFINED__ @@ -114,6 +122,30 @@ interface ID3D12GraphicsCommandList2; #endif /* __cplusplus */ #endif +#ifndef __ID3D12ProtectedSession_FWD_DEFINED__ +#define __ID3D12ProtectedSession_FWD_DEFINED__ +typedef interface ID3D12ProtectedSession ID3D12ProtectedSession; +#ifdef __cplusplus +interface ID3D12ProtectedSession; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12ProtectedResourceSession_FWD_DEFINED__ +#define __ID3D12ProtectedResourceSession_FWD_DEFINED__ +typedef interface ID3D12ProtectedResourceSession ID3D12ProtectedResourceSession; +#ifdef __cplusplus +interface ID3D12ProtectedResourceSession; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12GraphicsCommandList3_FWD_DEFINED__ +#define __ID3D12GraphicsCommandList3_FWD_DEFINED__ +typedef interface ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3; +#ifdef __cplusplus +interface ID3D12GraphicsCommandList3; +#endif /* __cplusplus */ +#endif + #ifndef __ID3D12CommandQueue_FWD_DEFINED__ #define __ID3D12CommandQueue_FWD_DEFINED__ typedef interface ID3D12CommandQueue ID3D12CommandQueue; @@ -146,6 +178,14 @@ interface ID3D12Fence; #endif /* __cplusplus */ #endif +#ifndef __ID3D12Fence1_FWD_DEFINED__ +#define __ID3D12Fence1_FWD_DEFINED__ +typedef interface ID3D12Fence1 ID3D12Fence1; +#ifdef __cplusplus +interface ID3D12Fence1; +#endif /* __cplusplus */ +#endif + #ifndef __ID3D12CommandAllocator_FWD_DEFINED__ #define __ID3D12CommandAllocator_FWD_DEFINED__ typedef interface ID3D12CommandAllocator ID3D12CommandAllocator; @@ -162,6 +202,22 @@ interface ID3D12Device; #endif /* __cplusplus */ #endif +#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__ +#define __ID3D12PipelineLibrary_FWD_DEFINED__ +typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary; +#ifdef __cplusplus +interface ID3D12PipelineLibrary; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__ +#define __ID3D12PipelineLibrary1_FWD_DEFINED__ +typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1; +#ifdef __cplusplus +interface ID3D12PipelineLibrary1; +#endif /* __cplusplus */ +#endif + #ifndef __ID3D12Device1_FWD_DEFINED__ #define __ID3D12Device1_FWD_DEFINED__ typedef interface ID3D12Device1 ID3D12Device1; @@ -170,6 +226,22 @@ interface ID3D12Device1; #endif /* __cplusplus */ #endif +#ifndef __ID3D12Device2_FWD_DEFINED__ +#define __ID3D12Device2_FWD_DEFINED__ +typedef interface ID3D12Device2 ID3D12Device2; +#ifdef __cplusplus +interface ID3D12Device2; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device3_FWD_DEFINED__ +#define __ID3D12Device3_FWD_DEFINED__ +typedef interface ID3D12Device3 ID3D12Device3; +#ifdef __cplusplus +interface ID3D12Device3; +#endif /* __cplusplus */ +#endif + #ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__ #define __ID3D12RootSignatureDeserializer_FWD_DEFINED__ typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer; @@ -186,6 +258,246 @@ interface ID3D12VersionedRootSignatureDeserializer; #endif /* __cplusplus */ #endif +#ifndef __ID3D12Device4_FWD_DEFINED__ +#define __ID3D12Device4_FWD_DEFINED__ +typedef interface ID3D12Device4 ID3D12Device4; +#ifdef __cplusplus +interface ID3D12Device4; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12LifetimeOwner_FWD_DEFINED__ +#define __ID3D12LifetimeOwner_FWD_DEFINED__ +typedef interface ID3D12LifetimeOwner ID3D12LifetimeOwner; +#ifdef __cplusplus +interface ID3D12LifetimeOwner; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12SwapChainAssistant_FWD_DEFINED__ +#define __ID3D12SwapChainAssistant_FWD_DEFINED__ +typedef interface ID3D12SwapChainAssistant ID3D12SwapChainAssistant; +#ifdef __cplusplus +interface ID3D12SwapChainAssistant; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12LifetimeTracker_FWD_DEFINED__ +#define __ID3D12LifetimeTracker_FWD_DEFINED__ +typedef interface ID3D12LifetimeTracker ID3D12LifetimeTracker; +#ifdef __cplusplus +interface ID3D12LifetimeTracker; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12StateObject_FWD_DEFINED__ +#define __ID3D12StateObject_FWD_DEFINED__ +typedef interface ID3D12StateObject ID3D12StateObject; +#ifdef __cplusplus +interface ID3D12StateObject; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12StateObjectProperties_FWD_DEFINED__ +#define __ID3D12StateObjectProperties_FWD_DEFINED__ +typedef interface ID3D12StateObjectProperties ID3D12StateObjectProperties; +#ifdef __cplusplus +interface ID3D12StateObjectProperties; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device5_FWD_DEFINED__ +#define __ID3D12Device5_FWD_DEFINED__ +typedef interface ID3D12Device5 ID3D12Device5; +#ifdef __cplusplus +interface ID3D12Device5; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ +#define __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__ +typedef interface ID3D12DeviceRemovedExtendedDataSettings ID3D12DeviceRemovedExtendedDataSettings; +#ifdef __cplusplus +interface ID3D12DeviceRemovedExtendedDataSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ +#define __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__ +typedef interface ID3D12DeviceRemovedExtendedDataSettings1 ID3D12DeviceRemovedExtendedDataSettings1; +#ifdef __cplusplus +interface ID3D12DeviceRemovedExtendedDataSettings1; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ +#define __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__ +typedef interface ID3D12DeviceRemovedExtendedData ID3D12DeviceRemovedExtendedData; +#ifdef __cplusplus +interface ID3D12DeviceRemovedExtendedData; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ +#define __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__ +typedef interface ID3D12DeviceRemovedExtendedData1 ID3D12DeviceRemovedExtendedData1; +#ifdef __cplusplus +interface ID3D12DeviceRemovedExtendedData1; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ +#define __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__ +typedef interface ID3D12DeviceRemovedExtendedData2 ID3D12DeviceRemovedExtendedData2; +#ifdef __cplusplus +interface ID3D12DeviceRemovedExtendedData2; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device6_FWD_DEFINED__ +#define __ID3D12Device6_FWD_DEFINED__ +typedef interface ID3D12Device6 ID3D12Device6; +#ifdef __cplusplus +interface ID3D12Device6; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12ProtectedResourceSession1_FWD_DEFINED__ +#define __ID3D12ProtectedResourceSession1_FWD_DEFINED__ +typedef interface ID3D12ProtectedResourceSession1 ID3D12ProtectedResourceSession1; +#ifdef __cplusplus +interface ID3D12ProtectedResourceSession1; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device7_FWD_DEFINED__ +#define __ID3D12Device7_FWD_DEFINED__ +typedef interface ID3D12Device7 ID3D12Device7; +#ifdef __cplusplus +interface ID3D12Device7; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device8_FWD_DEFINED__ +#define __ID3D12Device8_FWD_DEFINED__ +typedef interface ID3D12Device8 ID3D12Device8; +#ifdef __cplusplus +interface ID3D12Device8; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Resource1_FWD_DEFINED__ +#define __ID3D12Resource1_FWD_DEFINED__ +typedef interface ID3D12Resource1 ID3D12Resource1; +#ifdef __cplusplus +interface ID3D12Resource1; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Resource2_FWD_DEFINED__ +#define __ID3D12Resource2_FWD_DEFINED__ +typedef interface ID3D12Resource2 ID3D12Resource2; +#ifdef __cplusplus +interface ID3D12Resource2; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Heap1_FWD_DEFINED__ +#define __ID3D12Heap1_FWD_DEFINED__ +typedef interface ID3D12Heap1 ID3D12Heap1; +#ifdef __cplusplus +interface ID3D12Heap1; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12MetaCommand_FWD_DEFINED__ +#define __ID3D12MetaCommand_FWD_DEFINED__ +typedef interface ID3D12MetaCommand ID3D12MetaCommand; +#ifdef __cplusplus +interface ID3D12MetaCommand; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12GraphicsCommandList4_FWD_DEFINED__ +#define __ID3D12GraphicsCommandList4_FWD_DEFINED__ +typedef interface ID3D12GraphicsCommandList4 ID3D12GraphicsCommandList4; +#ifdef __cplusplus +interface ID3D12GraphicsCommandList4; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12ShaderCacheSession_FWD_DEFINED__ +#define __ID3D12ShaderCacheSession_FWD_DEFINED__ +typedef interface ID3D12ShaderCacheSession ID3D12ShaderCacheSession; +#ifdef __cplusplus +interface ID3D12ShaderCacheSession; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device9_FWD_DEFINED__ +#define __ID3D12Device9_FWD_DEFINED__ +typedef interface ID3D12Device9 ID3D12Device9; +#ifdef __cplusplus +interface ID3D12Device9; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Device10_FWD_DEFINED__ +#define __ID3D12Device10_FWD_DEFINED__ +typedef interface ID3D12Device10 ID3D12Device10; +#ifdef __cplusplus +interface ID3D12Device10; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ +#define __ID3D12VirtualizationGuestDevice_FWD_DEFINED__ +typedef interface ID3D12VirtualizationGuestDevice ID3D12VirtualizationGuestDevice; +#ifdef __cplusplus +interface ID3D12VirtualizationGuestDevice; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12Tools_FWD_DEFINED__ +#define __ID3D12Tools_FWD_DEFINED__ +typedef interface ID3D12Tools ID3D12Tools; +#ifdef __cplusplus +interface ID3D12Tools; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12SDKConfiguration_FWD_DEFINED__ +#define __ID3D12SDKConfiguration_FWD_DEFINED__ +typedef interface ID3D12SDKConfiguration ID3D12SDKConfiguration; +#ifdef __cplusplus +interface ID3D12SDKConfiguration; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12GraphicsCommandList5_FWD_DEFINED__ +#define __ID3D12GraphicsCommandList5_FWD_DEFINED__ +typedef interface ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5; +#ifdef __cplusplus +interface ID3D12GraphicsCommandList5; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12GraphicsCommandList6_FWD_DEFINED__ +#define __ID3D12GraphicsCommandList6_FWD_DEFINED__ +typedef interface ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6; +#ifdef __cplusplus +interface ID3D12GraphicsCommandList6; +#endif /* __cplusplus */ +#endif + +#ifndef __ID3D12GraphicsCommandList7_FWD_DEFINED__ +#define __ID3D12GraphicsCommandList7_FWD_DEFINED__ +typedef interface ID3D12GraphicsCommandList7 ID3D12GraphicsCommandList7; +#ifdef __cplusplus +interface ID3D12GraphicsCommandList7; +#endif /* __cplusplus */ +#endif + /* Headers for imported files */ #include @@ -199,43 +511,633 @@ extern "C" { #ifndef _D3D12_CONSTANTS #define _D3D12_CONSTANTS -#define D3D12_CS_TGSM_REGISTER_COUNT (8192) +#define D3D12_16BIT_INDEX_STRIP_CUT_VALUE (0xffff) -#define D3D12_MAX_ROOT_COST (64) +#define D3D12_32BIT_INDEX_STRIP_CUT_VALUE (0xffffffff) -#define D3D12_VIEWPORT_BOUNDS_MAX (32767) +#define D3D12_8BIT_INDEX_STRIP_CUT_VALUE (0xff) -#define D3D12_VIEWPORT_BOUNDS_MIN (-32768) +#define D3D12_APPEND_ALIGNED_ELEMENT (0xffffffff) + +#define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT (9) + +#define D3D12_CLIP_OR_CULL_DISTANCE_COUNT (8) + +#define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT (2) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT (16) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4) #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15) -#define D3D12_APPEND_ALIGNED_ELEMENT (0xffffffff) +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1) + +#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1) + +#define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64) + +#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4) + +#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1) + +#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1) + +#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1) + +#define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32) + +#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1) + +#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128) + +#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1) + +#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1) + +#define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128) + +#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1) + +#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT (16) + +#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1) + +#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1) + +#define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT (16) + +#define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32) + +#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4) + +#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT (4096) + +#define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3) + +#define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3) + +#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10) + +#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10) + +#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8) + +#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7) + +#define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT (256) + +#define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (256) + +#define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP (64) + +#define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (240) + +#define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP (68) + +#define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (224) + +#define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP (72) + +#define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (208) + +#define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP (76) + +#define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (192) + +#define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP (84) + +#define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (176) + +#define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP (92) + +#define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (160) + +#define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP (100) + +#define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (144) + +#define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP (112) + +#define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (128) + +#define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP (128) + +#define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (112) + +#define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP (144) + +#define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (96) + +#define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP (168) + +#define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (80) + +#define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP (204) + +#define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (64) + +#define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP (256) + +#define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (48) + +#define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP (340) + +#define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (32) + +#define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP (512) + +#define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD (16) + +#define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP (768) + +#define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION (1) + +#define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT (256) + +#define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP (768) + +#define D3D12_CS_4_X_THREAD_GROUP_MAX_X (768) + +#define D3D12_CS_4_X_THREAD_GROUP_MAX_Y (768) + +#define D3D12_CS_4_X_UAV_REGISTER_COUNT (1) + +#define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) + +#define D3D12_CS_TGSM_REGISTER_COUNT (8192) + +#define D3D12_CS_TGSM_REGISTER_READS_PER_INST (1) + +#define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS (1) + +#define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS (1) + +#define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS (3) + +#define D3D12_CS_THREADGROUPID_REGISTER_COUNT (1) + +#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS (1) + +#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT (1) + +#define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS (3) + +#define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT (1) + +#define D3D12_CS_THREADID_REGISTER_COMPONENTS (3) + +#define D3D12_CS_THREADID_REGISTER_COUNT (1) + +#define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP (1024) + +#define D3D12_CS_THREAD_GROUP_MAX_X (1024) + +#define D3D12_CS_THREAD_GROUP_MAX_Y (1024) + +#define D3D12_CS_THREAD_GROUP_MAX_Z (64) + +#define D3D12_CS_THREAD_GROUP_MIN_X (1) + +#define D3D12_CS_THREAD_GROUP_MIN_Y (1) + +#define D3D12_CS_THREAD_GROUP_MIN_Z (1) + +#define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL (16384) #define D3D12_DEFAULT_BLEND_FACTOR_ALPHA (1.0f) #define D3D12_DEFAULT_BLEND_FACTOR_BLUE (1.0f) #define D3D12_DEFAULT_BLEND_FACTOR_GREEN (1.0f) #define D3D12_DEFAULT_BLEND_FACTOR_RED (1.0f) +#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT (0.0f) #define D3D12_DEFAULT_DEPTH_BIAS (0) #define D3D12_DEFAULT_DEPTH_BIAS_CLAMP (0.0f) +#define D3D12_DEFAULT_MAX_ANISOTROPY (16) + +#define D3D12_DEFAULT_MIP_LOD_BIAS (0.0f) +#define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT (4194304) + +#define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0) + +#define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT (65536) + +#define D3D12_DEFAULT_SAMPLE_MASK (0xffffffff) + +#define D3D12_DEFAULT_SCISSOR_ENDX (0) + +#define D3D12_DEFAULT_SCISSOR_ENDY (0) + +#define D3D12_DEFAULT_SCISSOR_STARTX (0) + +#define D3D12_DEFAULT_SCISSOR_STARTY (0) + #define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS (0.0f) #define D3D12_DEFAULT_STENCIL_READ_MASK (0xff) +#define D3D12_DEFAULT_STENCIL_REFERENCE (0) + #define D3D12_DEFAULT_STENCIL_WRITE_MASK (0xff) +#define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0) + +#define D3D12_DEFAULT_VIEWPORT_HEIGHT (0) + +#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH (0.0f) +#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH (0.0f) +#define D3D12_DEFAULT_VIEWPORT_TOPLEFTX (0) + +#define D3D12_DEFAULT_VIEWPORT_TOPLEFTY (0) + +#define D3D12_DEFAULT_VIEWPORT_WIDTH (0) + #define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND (0xffffffff) +#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END (0xfffffff7) + +#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START (0xfffffff0) + +#define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS (3968) + +#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS (4) + +#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32) + +#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST (2) + +#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS (1) + +#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS (3) + +#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT (1) + +#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST (2) + +#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS (1) + +#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS (4) + +#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32) + +#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST (2) + +#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS (1) + +#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS (1) + +#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT (1) + +#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST (2) + +#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS (1) + +#define D3D12_DS_OUTPUT_REGISTER_COMPONENTS (4) + +#define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_DS_OUTPUT_REGISTER_COUNT (32) + +#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP (0.6) #define D3D12_FLOAT32_MAX (3.402823466e+38f) +#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP (0.6f) +#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR (2.4f) +#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR (1.0f) +#define D3D12_FLOAT_TO_SRGB_OFFSET (0.055f) +#define D3D12_FLOAT_TO_SRGB_SCALE_1 (12.92f) +#define D3D12_FLOAT_TO_SRGB_SCALE_2 (1.055f) +#define D3D12_FLOAT_TO_SRGB_THRESHOLD (0.0031308f) +#define D3D12_FTOI_INSTRUCTION_MAX_INPUT (2147483647.999f) +#define D3D12_FTOI_INSTRUCTION_MIN_INPUT (-2147483648.999f) +#define D3D12_FTOU_INSTRUCTION_MAX_INPUT (4294967295.999f) +#define D3D12_FTOU_INSTRUCTION_MIN_INPUT (0.0f) +#define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST (2) + +#define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS (1) + +#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS (1) + +#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT (1) + +#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS (1) + +#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT (1) + +#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST (2) + +#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS (1) + +#define D3D12_GS_INPUT_REGISTER_COMPONENTS (4) + +#define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_GS_INPUT_REGISTER_COUNT (32) + +#define D3D12_GS_INPUT_REGISTER_READS_PER_INST (2) + +#define D3D12_GS_INPUT_REGISTER_READ_PORTS (1) + +#define D3D12_GS_INPUT_REGISTER_VERTICES (32) + +#define D3D12_GS_MAX_INSTANCE_COUNT (32) + +#define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024) + +#define D3D12_GS_OUTPUT_ELEMENTS (32) + +#define D3D12_GS_OUTPUT_REGISTER_COMPONENTS (4) + +#define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_GS_OUTPUT_REGISTER_COUNT (32) + +#define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32) + +#define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32) + +#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS (4) + +#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST (2) + +#define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS (1) + +#define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND (0xffffffff) + +#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS (1) + +#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT (1) + +#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST (2) + +#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS (1) + +#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS (1) + +#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT (1) + +#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST (2) + +#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS (1) + +#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS (1) + +#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT (1) + +#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST (2) + +#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS (1) + +#define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND (0xffffffff) + +#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND (1.0f) +#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND (64.0f) +#define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS (3968) + +#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS (1) + +#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT (1) + +#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST (2) + +#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS (1) + +#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS (4) + +#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32) + +#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST (2) + +#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS (1) + +#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS (128) + +#define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES (0) + +#define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY (0) + +#define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES (0) + +#define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1) + +#define D3D12_IA_INSTANCE_ID_BIT_COUNT (32) + +#define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT (32) + +#define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT (32) + +#define D3D12_IA_PRIMITIVE_ID_BIT_COUNT (32) + +#define D3D12_IA_VERTEX_ID_BIT_COUNT (32) + #define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32) -#define D3D12_UAV_SLOT_COUNT (64) +#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS (128) + +#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT (32) + +#define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT (0xffffffff) + +#define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER (0xffffffff) + +#define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff) + +#define D3D12_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff) + +#define D3D12_LINEAR_GAMMA (1.0f) +#define D3D12_MAJOR_VERSION (12) + +#define D3D12_MAX_BORDER_COLOR_COMPONENT (1.0f) +#define D3D12_MAX_DEPTH (1.0f) +#define D3D12_MAX_LIVE_STATIC_SAMPLERS (2032) + +#define D3D12_MAX_MAXANISOTROPY (16) + +#define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT (32) + +#define D3D12_MAX_POSITION_VALUE (3.402823466e+34f) +#define D3D12_MAX_ROOT_COST (64) + +#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 (1000000) + +#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 (1000000) + +#define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE (2048) + +#define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP (17) + +#define D3D12_MAX_VIEW_INSTANCE_COUNT (4) + +#define D3D12_MINOR_VERSION (0) + +#define D3D12_MIN_BORDER_COLOR_COMPONENT (0.0f) +#define D3D12_MIN_DEPTH (0.0f) +#define D3D12_MIN_MAXANISOTROPY (0) + +#define D3D12_MIP_LOD_BIAS_MAX (15.99f) +#define D3D12_MIP_LOD_BIAS_MIN (-16.0f) +#define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT (8) + +#define D3D12_MIP_LOD_RANGE_BIT_COUNT (8) + +#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH (1.4f) +#define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT (0) + +#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END (0xffffffff) + +#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START (0xfffffff8) + +#define D3D12_PACKED_TILE (0xffffffff) + +#define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT (15) + +#define D3D12_PREVIEW_SDK_VERSION (702) + +#define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT (16) + +#define D3D12_PS_CS_UAV_REGISTER_COMPONENTS (1) + +#define D3D12_PS_CS_UAV_REGISTER_COUNT (8) + +#define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST (1) + +#define D3D12_PS_CS_UAV_REGISTER_READ_PORTS (1) + +#define D3D12_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff) + +#define D3D12_PS_FRONTFACING_FALSE_VALUE (0x0) + +#define D3D12_PS_FRONTFACING_TRUE_VALUE (0xffffffff) + +#define D3D12_PS_INPUT_REGISTER_COMPONENTS (4) + +#define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_PS_INPUT_REGISTER_COUNT (32) + +#define D3D12_PS_INPUT_REGISTER_READS_PER_INST (2) + +#define D3D12_PS_INPUT_REGISTER_READ_PORTS (1) + +#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f) +#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1) + +#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT (1) + +#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS (1) + +#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT (1) + +#define D3D12_PS_OUTPUT_REGISTER_COMPONENTS (4) + +#define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_PS_OUTPUT_REGISTER_COUNT (8) + +#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f) +#define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT (16) + +#define D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT (8) + +#define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT (256) + +#define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT (16) + +#define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES (32) + +#define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH (31) + +#define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE (16777216) + +#define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE (16777216) + +#define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE (536870912) + +#define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS (1073741824) + +#define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE (4096) + +#define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT (32) + +#define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT (64) + +#define D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT (16) + +#define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096) + +#define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27) #define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096) +#define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096) + +#define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32) + +#define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32) + +#define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) + +#define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024) + #define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096) +#define D3D12_REQ_MAXANISOTROPY (16) + #define D3D12_REQ_MIP_LEVELS (15) +#define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048) + +#define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096) + +#define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (16384) + +#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) + +#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f) +#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048) + +#define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (20) + +#define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096) + +#define D3D12_REQ_SUBRESOURCES (30720) + #define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048) #define D3D12_REQ_TEXTURE1D_U_DIMENSION (16384) @@ -248,12 +1150,42 @@ extern "C" { #define D3D12_REQ_TEXTURECUBE_DIMENSION (16384) +#define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0) + #define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES (0xffffffff) +#define D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT (2) + +#define D3D12_SDK_VERSION (602) + +#define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES (32) + +#define D3D12_SHADER_MAJOR_VERSION (5) + +#define D3D12_SHADER_MAX_INSTANCES (65535) + +#define D3D12_SHADER_MAX_INTERFACES (253) + +#define D3D12_SHADER_MAX_INTERFACE_CALL_SITES (4096) + +#define D3D12_SHADER_MAX_TYPES (65535) + +#define D3D12_SHADER_MINOR_VERSION (1) + +#define D3D12_SHIFT_INSTRUCTION_PAD_VALUE (0) + +#define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5) + #define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT (8) +#define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT (65536) + +#define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT (4096) + #define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048) +#define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (512) + #define D3D12_SO_BUFFER_SLOT_COUNT (4) #define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff) @@ -264,29 +1196,117 @@ extern "C" { #define D3D12_SO_STREAM_COUNT (4) -#define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT (256) +#define D3D12_SPEC_DATE_DAY (14) -#define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT (4194304) +#define D3D12_SPEC_DATE_MONTH (11) -#define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT (65536) +#define D3D12_SPEC_DATE_YEAR (2014) -#define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT (16) +#define D3D12_SPEC_VERSION (1.16) +#define D3D12_SRGB_GAMMA (2.2f) +#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 (12.92f) +#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 (1.055f) +#define D3D12_SRGB_TO_FLOAT_EXPONENT (2.4f) +#define D3D12_SRGB_TO_FLOAT_OFFSET (0.055f) +#define D3D12_SRGB_TO_FLOAT_THRESHOLD (0.04045f) +#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f) +#define D3D12_STANDARD_COMPONENT_BIT_COUNT (32) -#define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT (65536) - -#define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT (4096) +#define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64) #define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4) +#define D3D12_STANDARD_PIXEL_COMPONENT_COUNT (128) + +#define D3D12_STANDARD_PIXEL_ELEMENT_COUNT (32) + +#define D3D12_STANDARD_VECTOR_SIZE (4) + +#define D3D12_STANDARD_VERTEX_ELEMENT_COUNT (32) + +#define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64) + +#define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT (8) + +#define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT (8) + +#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END (0xffffffff) + +#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START (0xfffffff0) + +#define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR (64) + +#define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR (64) + +#define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR (63) + +#define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR (64) + +#define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR (2) + +#define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR (1) + +#define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR (1) + +#define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT (16) + #define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT (256) #define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT (512) +#define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES (65536) + +#define D3D12_TRACKED_WORKLOAD_MAX_INSTANCES (32) + #define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT (4096) +#define D3D12_UAV_SLOT_COUNT (64) + +#define D3D12_UNBOUND_MEMORY_ACCESS_RESULT (0) + +#define D3D12_VIDEO_DECODE_MAX_ARGUMENTS (10) + +#define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS (4) + +#define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT (256) + +#define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT (256) + +#define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN (0xffffffff) + +#define D3D12_VIDEO_PROCESS_MAX_FILTERS (32) + +#define D3D12_VIDEO_PROCESS_STEREO_VIEWS (2) + +#define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX (15) + +#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16) + +#define D3D12_VIEWPORT_BOUNDS_MAX (32767) + +#define D3D12_VIEWPORT_BOUNDS_MIN (-32768) + +#define D3D12_VS_INPUT_REGISTER_COMPONENTS (4) + +#define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32) + #define D3D12_VS_INPUT_REGISTER_COUNT (32) -#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16) +#define D3D12_VS_INPUT_REGISTER_READS_PER_INST (2) + +#define D3D12_VS_INPUT_REGISTER_READ_PORTS (1) + +#define D3D12_VS_OUTPUT_REGISTER_COMPONENTS (4) + +#define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32) + +#define D3D12_VS_OUTPUT_REGISTER_COUNT (32) + +#define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT (10) + +#define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (25) + +#define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP (25) #endif #define D3D12_SHADER_COMPONENT_MAPPING_MASK (0x7) @@ -322,7 +1342,8 @@ typedef enum D3D12_CROSS_NODE_SHARING_TIER { D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, D3D12_CROSS_NODE_SHARING_TIER_1 = 2, - D3D12_CROSS_NODE_SHARING_TIER_2 = 3 + D3D12_CROSS_NODE_SHARING_TIER_2 = 3, + D3D12_CROSS_NODE_SHARING_TIER_3 = 4 } D3D12_CROSS_NODE_SHARING_TIER; typedef enum D3D12_RESOURCE_HEAP_TIER { D3D12_RESOURCE_HEAP_TIER_1 = 1, @@ -373,7 +1394,8 @@ typedef enum D3D12_FORMAT_SUPPORT2 { D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, D3D12_FORMAT_SUPPORT2_TILED = 0x200, - D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000 + D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, + D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000 } D3D12_FORMAT_SUPPORT2; DEFINE_ENUM_FLAG_OPERATORS(D3D12_FORMAT_SUPPORT2); typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE { @@ -391,7 +1413,10 @@ typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS { D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2, D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, - D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8 + D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, + D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10, + D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20, + D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40 } D3D12_SHADER_CACHE_SUPPORT_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_SUPPORT_FLAGS); typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS { @@ -413,8 +1438,13 @@ typedef enum D3D12_VIEW_INSTANCING_TIER { } D3D12_VIEW_INSTANCING_TIER; typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER { D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0x0, - D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = 0x1 + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = 0x1, + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = 0x2 } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER; +typedef struct D3D12_FEATURE_DATA_DISPLAYABLE { + WINBOOL DisplayableTexture; + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; +} D3D12_FEATURE_DATA_DISPLAYABLE; typedef enum D3D12_HEAP_SERIALIZATION_TIER { D3D12_HEAP_SERIALIZATION_TIER_0 = 0x0, D3D12_HEAP_SERIALIZATION_TIER_10 = 0xa @@ -426,8 +1456,14 @@ typedef enum D3D12_RENDER_PASS_TIER { } D3D12_RENDER_PASS_TIER; typedef enum D3D12_RAYTRACING_TIER { D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0x0, - D3D12_RAYTRACING_TIER_1_0 = 0xa + D3D12_RAYTRACING_TIER_1_0 = 0xa, + D3D12_RAYTRACING_TIER_1_1 = 0xb } D3D12_RAYTRACING_TIER; +typedef enum D3D12_RESIDENCY_FLAGS { + D3D12_RESIDENCY_FLAG_NONE = 0x0, + D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1 +} D3D12_RESIDENCY_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESIDENCY_FLAGS); #ifndef __ID3D12Fence_FWD_DEFINED__ #define __ID3D12Fence_FWD_DEFINED__ typedef interface ID3D12Fence ID3D12Fence; @@ -537,10 +1573,20 @@ typedef struct D3D12_SUBRESOURCE_RANGE_UINT64 { UINT Subresource; D3D12_RANGE_UINT64 Range; } D3D12_SUBRESOURCE_RANGE_UINT64; +typedef struct D3D12_SUBRESOURCE_INFO { + UINT64 Offset; + UINT RowPitch; + UINT DepthPitch; +} D3D12_SUBRESOURCE_INFO; typedef struct D3D12_RESOURCE_ALLOCATION_INFO { UINT64 SizeInBytes; UINT64 Alignment; } D3D12_RESOURCE_ALLOCATION_INFO; +typedef struct D3D12_RESOURCE_ALLOCATION_INFO1 { + UINT64 Offset; + UINT64 Alignment; + UINT64 SizeInBytes; +} D3D12_RESOURCE_ALLOCATION_INFO1; typedef struct D3D12_DRAW_ARGUMENTS { UINT VertexCountPerInstance; UINT InstanceCount; @@ -624,6 +1670,11 @@ typedef enum D3D12_HEAP_FLAGS { D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, + D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100, + D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200, + D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400, + D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800, + D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000, D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0, D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0, D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, @@ -697,7 +1748,10 @@ typedef enum D3D12_RESOURCE_STATES { D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800, D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000, D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000, + D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000, + D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000, D3D12_RESOURCE_STATE_GENERIC_READ = ((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800, + D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 0x40 | 0x80, D3D12_RESOURCE_STATE_PRESENT = 0x0, D3D12_RESOURCE_STATE_PREDICATION = 0x200, D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000, @@ -761,9 +1815,17 @@ typedef enum D3D12_RESOURCE_FLAGS { D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, - D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20 + D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, + D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40, + D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80, + D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100 } D3D12_RESOURCE_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_FLAGS); +typedef struct D3D12_MIP_REGION { + UINT Width; + UINT Height; + UINT Depth; +} D3D12_MIP_REGION; typedef struct D3D12_RESOURCE_DESC { D3D12_RESOURCE_DIMENSION Dimension; UINT64 Alignment; @@ -776,11 +1838,26 @@ typedef struct D3D12_RESOURCE_DESC { D3D12_TEXTURE_LAYOUT Layout; D3D12_RESOURCE_FLAGS Flags; } D3D12_RESOURCE_DESC; +typedef struct D3D12_RESOURCE_DESC1 { + D3D12_RESOURCE_DIMENSION Dimension; + UINT64 Alignment; + UINT64 Width; + UINT Height; + UINT16 DepthOrArraySize; + UINT16 MipLevels; + DXGI_FORMAT Format; + DXGI_SAMPLE_DESC SampleDesc; + D3D12_TEXTURE_LAYOUT Layout; + D3D12_RESOURCE_FLAGS Flags; + D3D12_MIP_REGION SamplerFeedbackMipRegion; +} D3D12_RESOURCE_DESC1; typedef enum D3D12_RESOLVE_MODE { D3D12_RESOLVE_MODE_DECOMPRESS = 0, D3D12_RESOLVE_MODE_MIN = 1, D3D12_RESOLVE_MODE_MAX = 2, - D3D12_RESOLVE_MODE_AVERAGE = 3 + D3D12_RESOLVE_MODE_AVERAGE = 3, + D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4, + D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5 } D3D12_RESOLVE_MODE; typedef struct D3D12_SAMPLE_POSITION { INT8 X; @@ -827,7 +1904,8 @@ typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS { D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, - D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8 + D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, + D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000 } D3D12_DESCRIPTOR_RANGE_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_RANGE_FLAGS); typedef struct D3D12_DESCRIPTOR_RANGE1 { @@ -880,7 +1958,9 @@ typedef enum D3D12_SHADER_VISIBILITY { D3D12_SHADER_VISIBILITY_HULL = 2, D3D12_SHADER_VISIBILITY_DOMAIN = 3, D3D12_SHADER_VISIBILITY_GEOMETRY = 4, - D3D12_SHADER_VISIBILITY_PIXEL = 5 + D3D12_SHADER_VISIBILITY_PIXEL = 5, + D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6, + D3D12_SHADER_VISIBILITY_MESH = 7 } D3D12_SHADER_VISIBILITY; typedef struct D3D12_ROOT_PARAMETER { D3D12_ROOT_PARAMETER_TYPE ParameterType; @@ -967,6 +2047,19 @@ typedef enum D3D12_FILTER_REDUCTION_TYPE { #define D3D12_FILTER_REDUCTION_TYPE_SHIFT (7) +#define D3D12_ENCODE_BASIC_FILTER(min, mag, mip, reduction) \ + ((D3D12_FILTER) ( \ + (((min) & D3D12_FILTER_TYPE_MASK) << D3D12_MIN_FILTER_SHIFT) \ + | (((mag) & D3D12_FILTER_TYPE_MASK) << D3D12_MAG_FILTER_SHIFT) \ + | (((mip) & D3D12_FILTER_TYPE_MASK) << D3D12_MIP_FILTER_SHIFT) \ + | (((reduction) & D3D12_FILTER_REDUCTION_TYPE_MASK) << D3D12_FILTER_REDUCTION_TYPE_SHIFT))) +#define D3D12_ENCODE_ANISOTROPIC_FILTER(reduction) \ + ((D3D12_FILTER) ( \ + D3D12_ANISOTROPIC_FILTERING_BIT \ + | D3D12_ENCODE_BASIC_FILTER(D3D12_FILTER_TYPE_LINEAR, \ + D3D12_FILTER_TYPE_LINEAR, \ + D3D12_FILTER_TYPE_LINEAR, \ + reduction))) #define D3D12_DECODE_MAG_FILTER(filter) \ ((D3D12_FILTER_TYPE)(((filter) >> D3D12_MAG_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK)) #define D3D12_DECODE_MIN_FILTER(filter) \ @@ -1023,7 +2116,12 @@ typedef enum D3D12_ROOT_SIGNATURE_FLAGS { D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, - D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40 + D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, + D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80, + D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100, + D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200, + D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400, + D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800 } D3D12_ROOT_SIGNATURE_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_SIGNATURE_FLAGS); typedef struct D3D12_ROOT_SIGNATURE_DESC { @@ -1086,7 +2184,8 @@ typedef enum D3D12_SRV_DIMENSION { D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, D3D12_SRV_DIMENSION_TEXTURE3D = 8, D3D12_SRV_DIMENSION_TEXTURECUBE = 9, - D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10 + D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, + D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11 } D3D12_SRV_DIMENSION; typedef enum D3D12_BUFFER_SRV_FLAGS { D3D12_BUFFER_SRV_FLAG_NONE = 0x0, @@ -1167,6 +2266,9 @@ typedef struct D3D12_TEXCUBE_ARRAY_SRV { UINT NumCubes; FLOAT ResourceMinLODClamp; } D3D12_TEXCUBE_ARRAY_SRV; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV { + D3D12_GPU_VIRTUAL_ADDRESS Location; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV; typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC { DXGI_FORMAT Format; D3D12_SRV_DIMENSION ViewDimension; @@ -1182,6 +2284,7 @@ typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC { D3D12_TEX3D_SRV Texture3D; D3D12_TEXCUBE_SRV TextureCube; D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray; + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure; } __C89_NAMELESSUNIONNAME; } D3D12_SHADER_RESOURCE_VIEW_DESC; typedef enum D3D12_UAV_DIMENSION { @@ -1398,6 +2501,17 @@ typedef struct D3D12_DEPTH_STENCIL_DESC { D3D12_DEPTH_STENCILOP_DESC FrontFace; D3D12_DEPTH_STENCILOP_DESC BackFace; } D3D12_DEPTH_STENCIL_DESC; +typedef struct D3D12_DEPTH_STENCIL_DESC1 { + WINBOOL DepthEnable; + D3D12_DEPTH_WRITE_MASK DepthWriteMask; + D3D12_COMPARISON_FUNC DepthFunc; + WINBOOL StencilEnable; + UINT8 StencilReadMask; + UINT8 StencilWriteMask; + D3D12_DEPTH_STENCILOP_DESC FrontFace; + D3D12_DEPTH_STENCILOP_DESC BackFace; + WINBOOL DepthBoundsTestEnable; +} D3D12_DEPTH_STENCIL_DESC1; typedef enum D3D12_BLEND { D3D12_BLEND_ZERO = 1, D3D12_BLEND_ONE = 2, @@ -1415,7 +2529,9 @@ typedef enum D3D12_BLEND { D3D12_BLEND_SRC1_COLOR = 16, D3D12_BLEND_INV_SRC1_COLOR = 17, D3D12_BLEND_SRC1_ALPHA = 18, - D3D12_BLEND_INV_SRC1_ALPHA = 19 + D3D12_BLEND_INV_SRC1_ALPHA = 19, + D3D12_BLEND_ALPHA_FACTOR = 20, + D3D12_BLEND_INV_ALPHA_FACTOR = 21 } D3D12_BLEND; typedef enum D3D12_BLEND_OP { D3D12_BLEND_OP_ADD = 1, @@ -1425,11 +2541,22 @@ typedef enum D3D12_BLEND_OP { D3D12_BLEND_OP_MAX = 5 } D3D12_BLEND_OP; typedef enum D3D12_LOGIC_OP { - D3D12_LOGIC_OP_CLEAR = 0, - D3D12_LOGIC_OP_SET = 1, - D3D12_LOGIC_OP_COPY = 2, - D3D12_LOGIC_OP_COPY_INVERTED = 3, - D3D12_LOGIC_OP_NOOP = 4 + D3D12_LOGIC_OP_CLEAR = 0x0, + D3D12_LOGIC_OP_SET = 0x1, + D3D12_LOGIC_OP_COPY = 0x2, + D3D12_LOGIC_OP_COPY_INVERTED = 0x3, + D3D12_LOGIC_OP_NOOP = 0x4, + D3D12_LOGIC_OP_INVERT = 0x5, + D3D12_LOGIC_OP_AND = 0x6, + D3D12_LOGIC_OP_NAND = 0x7, + D3D12_LOGIC_OP_OR = 0x8, + D3D12_LOGIC_OP_NOR = 0x9, + D3D12_LOGIC_OP_XOR = 0xa, + D3D12_LOGIC_OP_EQUIV = 0xb, + D3D12_LOGIC_OP_AND_REVERSE = 0xc, + D3D12_LOGIC_OP_AND_INVERTED = 0xd, + D3D12_LOGIC_OP_OR_REVERSE = 0xe, + D3D12_LOGIC_OP_OR_INVERTED = 0xf } D3D12_LOGIC_OP; typedef enum D3D12_COLOR_WRITE_ENABLE { D3D12_COLOR_WRITE_ENABLE_RED = 0x1, @@ -1519,6 +2646,7 @@ typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE { D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2 } D3D12_INDEX_BUFFER_STRIP_CUT_VALUE; typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY; +typedef D3D_PRIMITIVE D3D12_PRIMITIVE; typedef enum D3D12_PRIMITIVE_TOPOLOGY_TYPE { D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, @@ -1565,11 +2693,64 @@ typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC { D3D12_CACHED_PIPELINE_STATE CachedPSO; D3D12_PIPELINE_STATE_FLAGS Flags; } D3D12_COMPUTE_PIPELINE_STATE_DESC; +typedef struct D3D12_PIPELINE_STATE_STREAM_DESC { + SIZE_T SizeInBytes; + void *pPipelineStateSubobjectStream; +} D3D12_PIPELINE_STATE_STREAM_DESC; +struct D3D12_RT_FORMAT_ARRAY { + DXGI_FORMAT RTFormats[8]; + UINT NumRenderTargets; +}; +typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE { + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0x0, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = 0x1, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = 0x2, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = 0x3, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = 0x4, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = 0x5, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = 0x6, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 0x7, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = 0x8, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 0x9, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = 0xa, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 0xb, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 0xc, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 0xd, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 0xe, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 0xf, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 0x10, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 0x11, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = 0x12, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = 0x13, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = 0x14, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 0x15, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 0x16, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 0x18, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 0x19, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = 0x1a +} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE; +typedef struct D3D12_VIEW_INSTANCE_LOCATION { + UINT ViewportArrayIndex; + UINT RenderTargetArrayIndex; +} D3D12_VIEW_INSTANCE_LOCATION; +typedef enum D3D12_VIEW_INSTANCING_FLAGS { + D3D12_VIEW_INSTANCING_FLAG_NONE = 0x0, + D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1 +} D3D12_VIEW_INSTANCING_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIEW_INSTANCING_FLAGS); +typedef struct D3D12_VIEW_INSTANCING_DESC { + UINT ViewInstanceCount; + const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations; + D3D12_VIEW_INSTANCING_FLAGS Flags; +} D3D12_VIEW_INSTANCING_DESC; typedef enum D3D12_COMMAND_LIST_TYPE { D3D12_COMMAND_LIST_TYPE_DIRECT = 0, D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, - D3D12_COMMAND_LIST_TYPE_COPY = 3 + D3D12_COMMAND_LIST_TYPE_COPY = 3, + D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4, + D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5, + D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6 } D3D12_COMMAND_LIST_TYPE; typedef enum D3D12_COMMAND_QUEUE_PRIORITY { D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, @@ -1611,7 +2792,15 @@ typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { } D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT; typedef enum D3D_SHADER_MODEL { D3D_SHADER_MODEL_5_1 = 0x51, - D3D_SHADER_MODEL_6_0 = 0x60 + D3D_SHADER_MODEL_6_0 = 0x60, + D3D_SHADER_MODEL_6_1 = 0x61, + D3D_SHADER_MODEL_6_2 = 0x62, + D3D_SHADER_MODEL_6_3 = 0x63, + D3D_SHADER_MODEL_6_4 = 0x64, + D3D_SHADER_MODEL_6_5 = 0x65, + D3D_SHADER_MODEL_6_6 = 0x66, + D3D_SHADER_MODEL_6_7 = 0x67, + D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_7 } D3D_SHADER_MODEL; typedef struct D3D12_FEATURE_DATA_SHADER_MODEL { D3D_SHADER_MODEL HighestShaderModel; @@ -1671,6 +2860,79 @@ typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 { D3D12_RENDER_PASS_TIER RenderPassesTier; D3D12_RAYTRACING_TIER RaytracingTier; } D3D12_FEATURE_DATA_D3D12_OPTIONS5; +typedef enum D3D12_VARIABLE_SHADING_RATE_TIER { + D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0x0, + D3D12_VARIABLE_SHADING_RATE_TIER_1 = 0x1, + D3D12_VARIABLE_SHADING_RATE_TIER_2 = 0x2 +} D3D12_VARIABLE_SHADING_RATE_TIER; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 { + WINBOOL AdditionalShadingRatesSupported; + WINBOOL PerPrimitiveShadingRateSupportedWithViewportIndexing; + D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier; + UINT ShadingRateImageTileSize; + WINBOOL BackgroundProcessingSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS6; +typedef enum D3D12_MESH_SHADER_TIER { + D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0x0, + D3D12_MESH_SHADER_TIER_1 = 0xa +} D3D12_MESH_SHADER_TIER; +typedef enum D3D12_SAMPLER_FEEDBACK_TIER { + D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0x0, + D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 0x5a, + D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 0x64 +} D3D12_SAMPLER_FEEDBACK_TIER; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 { + D3D12_MESH_SHADER_TIER MeshShaderTier; + D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier; +} D3D12_FEATURE_DATA_D3D12_OPTIONS7; +typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND { + GUID CommandId; + UINT NodeMask; + const void *pQueryInputData; + SIZE_T QueryInputDataSizeInBytes; + void *pQueryOutputData; + SIZE_T QueryOutputDataSizeInBytes; +} D3D12_FEATURE_DATA_QUERY_META_COMMAND; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 { + WINBOOL UnalignedBlockTexturesSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS8; +typedef enum D3D12_WAVE_MMA_TIER { + D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0x0, + D3D12_WAVE_MMA_TIER_1_0 = 0xa +} D3D12_WAVE_MMA_TIER; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 { + WINBOOL MeshShaderPipelineStatsSupported; + WINBOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex; + WINBOOL AtomicInt64OnTypedResourceSupported; + WINBOOL AtomicInt64OnGroupSharedSupported; + WINBOOL DerivativesInMeshAndAmplificationShadersSupported; + D3D12_WAVE_MMA_TIER WaveMMATier; +} D3D12_FEATURE_DATA_D3D12_OPTIONS9; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 { + WINBOOL VariableRateShadingSumCombinerSupported; + WINBOOL MeshShaderPerPrimitiveShadingRateSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS10; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 { + WINBOOL AtomicInt64OnDescriptorHeapResourceSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS11; +typedef enum D3D12_TRI_STATE { + D3D12_TRI_STATE_UNKNOWN = -0x1, + D3D12_TRI_STATE_FALSE = 0x0, + D3D12_TRI_STATE_TRUE = 0x1 +} D3D12_TRI_STATE; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 { + D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives; + WINBOOL EnhancedBarriersSupported; + WINBOOL RelaxedFormatCastingSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS12; +typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 { + WINBOOL UnrestrictedBufferTextureCopyPitchSupported; + WINBOOL UnrestrictedVertexElementAlignmentSupported; + WINBOOL InvertedViewportHeightFlipsYSupported; + WINBOOL InvertedViewportDepthFlipsZSupported; + WINBOOL TextureCopyBetweenDimensionsSupported; + WINBOOL AlphaBlendFactorSupported; +} D3D12_FEATURE_DATA_D3D12_OPTIONS13; typedef enum D3D12_FEATURE { D3D12_FEATURE_D3D12_OPTIONS = 0, D3D12_FEATURE_ARCHITECTURE = 1, @@ -1693,11 +2955,18 @@ typedef enum D3D12_FEATURE { D3D12_FEATURE_SERIALIZATION = 24, D3D12_FEATURE_CROSS_NODE = 25, D3D12_FEATURE_D3D12_OPTIONS5 = 27, + D3D12_FEATURE_DISPLAYABLE = 28, D3D12_FEATURE_D3D12_OPTIONS6 = 30, D3D12_FEATURE_QUERY_META_COMMAND = 31, D3D12_FEATURE_D3D12_OPTIONS7 = 32, D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33, - D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34 + D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34, + D3D12_FEATURE_D3D12_OPTIONS8 = 36, + D3D12_FEATURE_D3D12_OPTIONS9 = 37, + D3D12_FEATURE_D3D12_OPTIONS10 = 39, + D3D12_FEATURE_D3D12_OPTIONS11 = 40, + D3D12_FEATURE_D3D12_OPTIONS12 = 41, + D3D12_FEATURE_D3D12_OPTIONS13 = 42 } D3D12_FEATURE; typedef struct D3D12_MEMCPY_DEST { void *pData; @@ -1726,6 +2995,18 @@ typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER { D3D12_GPU_VIRTUAL_ADDRESS Dest; UINT32 Value; } D3D12_WRITEBUFFERIMMEDIATE_PARAMETER; +typedef enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS { + D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0 +} D3D12_PROTECTED_RESOURCE_SESSION_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_PROTECTED_RESOURCE_SESSION_FLAGS); +typedef enum D3D12_PROTECTED_SESSION_STATUS { + D3D12_PROTECTED_SESSION_STATUS_OK = 0, + D3D12_PROTECTED_SESSION_STATUS_INVALID = 1 +} D3D12_PROTECTED_SESSION_STATUS; +typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC { + UINT NodeMask; + D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; +} D3D12_PROTECTED_RESOURCE_SESSION_DESC; /***************************************************************************** * ID3D12Object interface */ @@ -1816,26 +3097,26 @@ interface ID3D12Object { #define ID3D12Object_SetName(This,name) (This)->lpVtbl->SetName(This,name) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Object_QueryInterface(ID3D12Object* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Object_QueryInterface(ID3D12Object* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Object_AddRef(ID3D12Object* This) { +static __WIDL_INLINE ULONG ID3D12Object_AddRef(ID3D12Object* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Object_Release(ID3D12Object* This) { +static __WIDL_INLINE ULONG ID3D12Object_Release(ID3D12Object* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Object_GetPrivateData(ID3D12Object* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Object_GetPrivateData(ID3D12Object* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Object_SetPrivateData(ID3D12Object* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Object_SetPrivateData(ID3D12Object* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Object_SetPrivateDataInterface(ID3D12Object* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Object_SetPrivateDataInterface(ID3D12Object* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Object_SetName(ID3D12Object* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Object_SetName(ID3D12Object* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } #endif @@ -1931,30 +3212,30 @@ interface ID3D12DeviceChild { #define ID3D12DeviceChild_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12DeviceChild_QueryInterface(ID3D12DeviceChild* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12DeviceChild_QueryInterface(ID3D12DeviceChild* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12DeviceChild_AddRef(ID3D12DeviceChild* This) { +static __WIDL_INLINE ULONG ID3D12DeviceChild_AddRef(ID3D12DeviceChild* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12DeviceChild_Release(ID3D12DeviceChild* This) { +static __WIDL_INLINE ULONG ID3D12DeviceChild_Release(ID3D12DeviceChild* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12DeviceChild_GetPrivateData(ID3D12DeviceChild* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12DeviceChild_GetPrivateData(ID3D12DeviceChild* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12DeviceChild_SetPrivateData(ID3D12DeviceChild* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12DeviceChild_SetPrivateData(ID3D12DeviceChild* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12DeviceChild_SetPrivateDataInterface(ID3D12DeviceChild* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12DeviceChild_SetPrivateDataInterface(ID3D12DeviceChild* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12DeviceChild_SetName(ID3D12DeviceChild* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12DeviceChild_SetName(ID3D12DeviceChild* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12DeviceChild_GetDevice(ID3D12DeviceChild* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12DeviceChild_GetDevice(ID3D12DeviceChild* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } #endif @@ -2046,30 +3327,30 @@ interface ID3D12Pageable { #define ID3D12Pageable_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Pageable_QueryInterface(ID3D12Pageable* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Pageable_QueryInterface(ID3D12Pageable* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Pageable_AddRef(ID3D12Pageable* This) { +static __WIDL_INLINE ULONG ID3D12Pageable_AddRef(ID3D12Pageable* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Pageable_Release(ID3D12Pageable* This) { +static __WIDL_INLINE ULONG ID3D12Pageable_Release(ID3D12Pageable* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Pageable_GetPrivateData(ID3D12Pageable* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Pageable_GetPrivateData(ID3D12Pageable* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Pageable_SetPrivateData(ID3D12Pageable* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Pageable_SetPrivateData(ID3D12Pageable* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Pageable_SetPrivateDataInterface(ID3D12Pageable* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Pageable_SetPrivateDataInterface(ID3D12Pageable* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Pageable_SetName(ID3D12Pageable* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Pageable_SetName(ID3D12Pageable* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12Pageable_GetDevice(ID3D12Pageable* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12Pageable_GetDevice(ID3D12Pageable* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } #endif @@ -2182,34 +3463,34 @@ interface ID3D12Heap { #define ID3D12Heap_GetDesc(This) ID3D12Heap_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Heap_QueryInterface(ID3D12Heap* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Heap_QueryInterface(ID3D12Heap* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Heap_AddRef(ID3D12Heap* This) { +static __WIDL_INLINE ULONG ID3D12Heap_AddRef(ID3D12Heap* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Heap_Release(ID3D12Heap* This) { +static __WIDL_INLINE ULONG ID3D12Heap_Release(ID3D12Heap* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Heap_GetPrivateData(ID3D12Heap* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Heap_GetPrivateData(ID3D12Heap* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Heap_SetPrivateData(ID3D12Heap* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Heap_SetPrivateData(ID3D12Heap* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Heap_SetPrivateDataInterface(ID3D12Heap* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Heap_SetPrivateDataInterface(ID3D12Heap* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Heap_SetName(ID3D12Heap* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Heap_SetName(ID3D12Heap* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12Heap_GetDevice(ID3D12Heap* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12Heap_GetDevice(ID3D12Heap* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12Heap methods ***/ -static FORCEINLINE D3D12_HEAP_DESC ID3D12Heap_GetDesc(ID3D12Heap* This) { +static __WIDL_INLINE D3D12_HEAP_DESC ID3D12Heap_GetDesc(ID3D12Heap* This) { D3D12_HEAP_DESC __ret; return *This->lpVtbl->GetDesc(This,&__ret); } @@ -2394,53 +3675,53 @@ interface ID3D12Resource { #define ID3D12Resource_GetHeapProperties(This,heap_properties,flags) (This)->lpVtbl->GetHeapProperties(This,heap_properties,flags) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Resource_QueryInterface(ID3D12Resource* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Resource_QueryInterface(ID3D12Resource* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Resource_AddRef(ID3D12Resource* This) { +static __WIDL_INLINE ULONG ID3D12Resource_AddRef(ID3D12Resource* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Resource_Release(ID3D12Resource* This) { +static __WIDL_INLINE ULONG ID3D12Resource_Release(ID3D12Resource* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Resource_GetPrivateData(ID3D12Resource* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Resource_GetPrivateData(ID3D12Resource* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Resource_SetPrivateData(ID3D12Resource* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Resource_SetPrivateData(ID3D12Resource* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Resource_SetPrivateDataInterface(ID3D12Resource* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Resource_SetPrivateDataInterface(ID3D12Resource* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Resource_SetName(ID3D12Resource* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Resource_SetName(ID3D12Resource* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12Resource_GetDevice(ID3D12Resource* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12Resource_GetDevice(ID3D12Resource* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12Resource methods ***/ -static FORCEINLINE HRESULT ID3D12Resource_Map(ID3D12Resource* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) { +static __WIDL_INLINE HRESULT ID3D12Resource_Map(ID3D12Resource* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) { return This->lpVtbl->Map(This,sub_resource,read_range,data); } -static FORCEINLINE void ID3D12Resource_Unmap(ID3D12Resource* This,UINT sub_resource,const D3D12_RANGE *written_range) { +static __WIDL_INLINE void ID3D12Resource_Unmap(ID3D12Resource* This,UINT sub_resource,const D3D12_RANGE *written_range) { This->lpVtbl->Unmap(This,sub_resource,written_range); } -static FORCEINLINE D3D12_RESOURCE_DESC ID3D12Resource_GetDesc(ID3D12Resource* This) { +static __WIDL_INLINE D3D12_RESOURCE_DESC ID3D12Resource_GetDesc(ID3D12Resource* This) { D3D12_RESOURCE_DESC __ret; return *This->lpVtbl->GetDesc(This,&__ret); } -static FORCEINLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource_GetGPUVirtualAddress(ID3D12Resource* This) { +static __WIDL_INLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource_GetGPUVirtualAddress(ID3D12Resource* This) { return This->lpVtbl->GetGPUVirtualAddress(This); } -static FORCEINLINE HRESULT ID3D12Resource_WriteToSubresource(ID3D12Resource* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) { +static __WIDL_INLINE HRESULT ID3D12Resource_WriteToSubresource(ID3D12Resource* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) { return This->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch); } -static FORCEINLINE HRESULT ID3D12Resource_ReadFromSubresource(ID3D12Resource* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) { +static __WIDL_INLINE HRESULT ID3D12Resource_ReadFromSubresource(ID3D12Resource* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) { return This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box); } -static FORCEINLINE HRESULT ID3D12Resource_GetHeapProperties(ID3D12Resource* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) { +static __WIDL_INLINE HRESULT ID3D12Resource_GetHeapProperties(ID3D12Resource* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) { return This->lpVtbl->GetHeapProperties(This,heap_properties,flags); } #endif @@ -2541,34 +3822,34 @@ interface ID3D12CommandList { #define ID3D12CommandList_GetType(This) (This)->lpVtbl->GetType(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12CommandList_QueryInterface(ID3D12CommandList* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12CommandList_QueryInterface(ID3D12CommandList* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12CommandList_AddRef(ID3D12CommandList* This) { +static __WIDL_INLINE ULONG ID3D12CommandList_AddRef(ID3D12CommandList* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12CommandList_Release(ID3D12CommandList* This) { +static __WIDL_INLINE ULONG ID3D12CommandList_Release(ID3D12CommandList* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12CommandList_GetPrivateData(ID3D12CommandList* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandList_GetPrivateData(ID3D12CommandList* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandList_SetPrivateData(ID3D12CommandList* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandList_SetPrivateData(ID3D12CommandList* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandList_SetPrivateDataInterface(ID3D12CommandList* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12CommandList_SetPrivateDataInterface(ID3D12CommandList* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12CommandList_SetName(ID3D12CommandList* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12CommandList_SetName(ID3D12CommandList* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12CommandList_GetDevice(ID3D12CommandList* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12CommandList_GetDevice(ID3D12CommandList* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12CommandList methods ***/ -static FORCEINLINE D3D12_COMMAND_LIST_TYPE ID3D12CommandList_GetType(ID3D12CommandList* This) { +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12CommandList_GetType(ID3D12CommandList* This) { return This->lpVtbl->GetType(This); } #endif @@ -2620,7 +3901,9 @@ typedef enum D3D12_QUERY_TYPE { D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, - D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7 + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, + D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8, + D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10 } D3D12_QUERY_TYPE; typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS { UINT64 IAVertices; @@ -2635,6 +3918,22 @@ typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS { UINT64 DSInvocations; UINT64 CSInvocations; } D3D12_QUERY_DATA_PIPELINE_STATISTICS; +typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 { + UINT64 IAVertices; + UINT64 IAPrimitives; + UINT64 VSInvocations; + UINT64 GSInvocations; + UINT64 GSPrimitives; + UINT64 CInvocations; + UINT64 CPrimitives; + UINT64 PSInvocations; + UINT64 HSInvocations; + UINT64 DSInvocations; + UINT64 CSInvocations; + UINT64 ASInvocations; + UINT64 MSInvocations; + UINT64 MSPrimitives; +} D3D12_QUERY_DATA_PIPELINE_STATISTICS1; typedef struct D3D12_QUERY_DATA_SO_STATISTICS { UINT64 NumPrimitivesWritten; UINT64 PrimitivesStorageNeeded; @@ -2783,42 +4082,42 @@ interface ID3D12DescriptorHeap { #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12DescriptorHeap_QueryInterface(ID3D12DescriptorHeap* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_QueryInterface(ID3D12DescriptorHeap* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12DescriptorHeap_AddRef(ID3D12DescriptorHeap* This) { +static __WIDL_INLINE ULONG ID3D12DescriptorHeap_AddRef(ID3D12DescriptorHeap* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12DescriptorHeap_Release(ID3D12DescriptorHeap* This) { +static __WIDL_INLINE ULONG ID3D12DescriptorHeap_Release(ID3D12DescriptorHeap* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12DescriptorHeap_GetPrivateData(ID3D12DescriptorHeap* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_GetPrivateData(ID3D12DescriptorHeap* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12DescriptorHeap_SetPrivateData(ID3D12DescriptorHeap* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_SetPrivateData(ID3D12DescriptorHeap* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12DescriptorHeap_SetPrivateDataInterface(ID3D12DescriptorHeap* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_SetPrivateDataInterface(ID3D12DescriptorHeap* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12DescriptorHeap_SetName(ID3D12DescriptorHeap* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_SetName(ID3D12DescriptorHeap* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12DescriptorHeap_GetDevice(ID3D12DescriptorHeap* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_GetDevice(ID3D12DescriptorHeap* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12DescriptorHeap methods ***/ -static FORCEINLINE D3D12_DESCRIPTOR_HEAP_DESC ID3D12DescriptorHeap_GetDesc(ID3D12DescriptorHeap* This) { +static __WIDL_INLINE D3D12_DESCRIPTOR_HEAP_DESC ID3D12DescriptorHeap_GetDesc(ID3D12DescriptorHeap* This) { D3D12_DESCRIPTOR_HEAP_DESC __ret; return *This->lpVtbl->GetDesc(This,&__ret); } -static FORCEINLINE D3D12_CPU_DESCRIPTOR_HANDLE ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap* This) { +static __WIDL_INLINE D3D12_CPU_DESCRIPTOR_HANDLE ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap* This) { D3D12_CPU_DESCRIPTOR_HANDLE __ret; return *This->lpVtbl->GetCPUDescriptorHandleForHeapStart(This,&__ret); } -static FORCEINLINE D3D12_GPU_DESCRIPTOR_HANDLE ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap* This) { +static __WIDL_INLINE D3D12_GPU_DESCRIPTOR_HANDLE ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap* This) { D3D12_GPU_DESCRIPTOR_HANDLE __ret; return *This->lpVtbl->GetGPUDescriptorHandleForHeapStart(This,&__ret); } @@ -2911,30 +4210,30 @@ interface ID3D12QueryHeap { #define ID3D12QueryHeap_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12QueryHeap_QueryInterface(ID3D12QueryHeap* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12QueryHeap_QueryInterface(ID3D12QueryHeap* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12QueryHeap_AddRef(ID3D12QueryHeap* This) { +static __WIDL_INLINE ULONG ID3D12QueryHeap_AddRef(ID3D12QueryHeap* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12QueryHeap_Release(ID3D12QueryHeap* This) { +static __WIDL_INLINE ULONG ID3D12QueryHeap_Release(ID3D12QueryHeap* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12QueryHeap_GetPrivateData(ID3D12QueryHeap* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12QueryHeap_GetPrivateData(ID3D12QueryHeap* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12QueryHeap_SetPrivateData(ID3D12QueryHeap* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12QueryHeap_SetPrivateData(ID3D12QueryHeap* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12QueryHeap_SetPrivateDataInterface(ID3D12QueryHeap* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12QueryHeap_SetPrivateDataInterface(ID3D12QueryHeap* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12QueryHeap_SetName(ID3D12QueryHeap* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12QueryHeap_SetName(ID3D12QueryHeap* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12QueryHeap_GetDevice(ID3D12QueryHeap* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12QueryHeap_GetDevice(ID3D12QueryHeap* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } #endif @@ -3026,30 +4325,30 @@ interface ID3D12CommandSignature { #define ID3D12CommandSignature_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12CommandSignature_QueryInterface(ID3D12CommandSignature* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12CommandSignature_QueryInterface(ID3D12CommandSignature* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12CommandSignature_AddRef(ID3D12CommandSignature* This) { +static __WIDL_INLINE ULONG ID3D12CommandSignature_AddRef(ID3D12CommandSignature* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12CommandSignature_Release(ID3D12CommandSignature* This) { +static __WIDL_INLINE ULONG ID3D12CommandSignature_Release(ID3D12CommandSignature* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12CommandSignature_GetPrivateData(ID3D12CommandSignature* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandSignature_GetPrivateData(ID3D12CommandSignature* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandSignature_SetPrivateData(ID3D12CommandSignature* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandSignature_SetPrivateData(ID3D12CommandSignature* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandSignature_SetPrivateDataInterface(ID3D12CommandSignature* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12CommandSignature_SetPrivateDataInterface(ID3D12CommandSignature* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12CommandSignature_SetName(ID3D12CommandSignature* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12CommandSignature_SetName(ID3D12CommandSignature* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12CommandSignature_GetDevice(ID3D12CommandSignature* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12CommandSignature_GetDevice(ID3D12CommandSignature* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } #endif @@ -3078,7 +4377,7 @@ ID3D12GraphicsCommandList : public ID3D12CommandList ID3D12CommandAllocator *allocator, ID3D12PipelineState *initial_state) = 0; - virtual HRESULT STDMETHODCALLTYPE ClearState( + virtual void STDMETHODCALLTYPE ClearState( ID3D12PipelineState *pipeline_state) = 0; virtual void STDMETHODCALLTYPE DrawInstanced( @@ -3382,7 +4681,7 @@ typedef struct ID3D12GraphicsCommandListVtbl { ID3D12CommandAllocator *allocator, ID3D12PipelineState *initial_state); - HRESULT (STDMETHODCALLTYPE *ClearState)( + void (STDMETHODCALLTYPE *ClearState)( ID3D12GraphicsCommandList *This, ID3D12PipelineState *pipeline_state); @@ -3749,188 +5048,188 @@ interface ID3D12GraphicsCommandList { #define ID3D12GraphicsCommandList_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_QueryInterface(ID3D12GraphicsCommandList* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_QueryInterface(ID3D12GraphicsCommandList* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12GraphicsCommandList_AddRef(ID3D12GraphicsCommandList* This) { +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList_AddRef(ID3D12GraphicsCommandList* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12GraphicsCommandList_Release(ID3D12GraphicsCommandList* This) { +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList_Release(ID3D12GraphicsCommandList* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_GetPrivateData(ID3D12GraphicsCommandList* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_GetPrivateData(ID3D12GraphicsCommandList* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_SetPrivateData(ID3D12GraphicsCommandList* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_SetPrivateData(ID3D12GraphicsCommandList* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_SetPrivateDataInterface(ID3D12GraphicsCommandList* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_SetPrivateDataInterface(ID3D12GraphicsCommandList* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_SetName(ID3D12GraphicsCommandList* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_SetName(ID3D12GraphicsCommandList* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_GetDevice(ID3D12GraphicsCommandList* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_GetDevice(ID3D12GraphicsCommandList* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12CommandList methods ***/ -static FORCEINLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList_GetType(ID3D12GraphicsCommandList* This) { +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList_GetType(ID3D12GraphicsCommandList* This) { return This->lpVtbl->GetType(This); } /*** ID3D12GraphicsCommandList methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_Close(ID3D12GraphicsCommandList* This) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_Close(ID3D12GraphicsCommandList* This) { return This->lpVtbl->Close(This); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_Reset(ID3D12GraphicsCommandList* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_Reset(ID3D12GraphicsCommandList* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { return This->lpVtbl->Reset(This,allocator,initial_state); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList_ClearState(ID3D12GraphicsCommandList* This,ID3D12PipelineState *pipeline_state) { - return This->lpVtbl->ClearState(This,pipeline_state); +static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearState(ID3D12GraphicsCommandList* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); } -static FORCEINLINE void ID3D12GraphicsCommandList_DrawInstanced(ID3D12GraphicsCommandList* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_DrawInstanced(ID3D12GraphicsCommandList* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); } -static FORCEINLINE void ID3D12GraphicsCommandList_DrawIndexedInstanced(ID3D12GraphicsCommandList* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_DrawIndexedInstanced(ID3D12GraphicsCommandList* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); } -static FORCEINLINE void ID3D12GraphicsCommandList_Dispatch(ID3D12GraphicsCommandList* This,UINT x,UINT u,UINT z) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_Dispatch(ID3D12GraphicsCommandList* This,UINT x,UINT u,UINT z) { This->lpVtbl->Dispatch(This,x,u,z); } -static FORCEINLINE void ID3D12GraphicsCommandList_CopyBufferRegion(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyBufferRegion(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); } -static FORCEINLINE void ID3D12GraphicsCommandList_CopyTextureRegion(ID3D12GraphicsCommandList* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyTextureRegion(ID3D12GraphicsCommandList* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); } -static FORCEINLINE void ID3D12GraphicsCommandList_CopyResource(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyResource(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { This->lpVtbl->CopyResource(This,dst_resource,src_resource); } -static FORCEINLINE void ID3D12GraphicsCommandList_CopyTiles(ID3D12GraphicsCommandList* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyTiles(ID3D12GraphicsCommandList* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); } -static FORCEINLINE void ID3D12GraphicsCommandList_ResolveSubresource(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ResolveSubresource(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); } -static FORCEINLINE void ID3D12GraphicsCommandList_IASetPrimitiveTopology(ID3D12GraphicsCommandList* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_IASetPrimitiveTopology(ID3D12GraphicsCommandList* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); } -static FORCEINLINE void ID3D12GraphicsCommandList_RSSetViewports(ID3D12GraphicsCommandList* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_RSSetViewports(ID3D12GraphicsCommandList* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { This->lpVtbl->RSSetViewports(This,viewport_count,viewports); } -static FORCEINLINE void ID3D12GraphicsCommandList_RSSetScissorRects(ID3D12GraphicsCommandList* This,UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_RSSetScissorRects(ID3D12GraphicsCommandList* This,UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->RSSetScissorRects(This,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList_OMSetBlendFactor(ID3D12GraphicsCommandList* This,const FLOAT blend_factor[4]) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_OMSetBlendFactor(ID3D12GraphicsCommandList* This,const FLOAT blend_factor[4]) { This->lpVtbl->OMSetBlendFactor(This,blend_factor); } -static FORCEINLINE void ID3D12GraphicsCommandList_OMSetStencilRef(ID3D12GraphicsCommandList* This,UINT stencil_ref) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_OMSetStencilRef(ID3D12GraphicsCommandList* This,UINT stencil_ref) { This->lpVtbl->OMSetStencilRef(This,stencil_ref); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetPipelineState(ID3D12GraphicsCommandList* This,ID3D12PipelineState *pipeline_state) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetPipelineState(ID3D12GraphicsCommandList* This,ID3D12PipelineState *pipeline_state) { This->lpVtbl->SetPipelineState(This,pipeline_state); } -static FORCEINLINE void ID3D12GraphicsCommandList_ResourceBarrier(ID3D12GraphicsCommandList* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ResourceBarrier(ID3D12GraphicsCommandList* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); } -static FORCEINLINE void ID3D12GraphicsCommandList_ExecuteBundle(ID3D12GraphicsCommandList* This,ID3D12GraphicsCommandList *command_list) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ExecuteBundle(ID3D12GraphicsCommandList* This,ID3D12GraphicsCommandList *command_list) { This->lpVtbl->ExecuteBundle(This,command_list); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetDescriptorHeaps(ID3D12GraphicsCommandList* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetDescriptorHeaps(ID3D12GraphicsCommandList* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRootSignature(ID3D12GraphicsCommandList* This,ID3D12RootSignature *root_signature) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootSignature(ID3D12GraphicsCommandList* This,ID3D12RootSignature *root_signature) { This->lpVtbl->SetComputeRootSignature(This,root_signature); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRootSignature(ID3D12GraphicsCommandList* This,ID3D12RootSignature *root_signature) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootSignature(ID3D12GraphicsCommandList* This,ID3D12RootSignature *root_signature) { This->lpVtbl->SetGraphicsRootSignature(This,root_signature); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT data,UINT dst_offset) { This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT data,UINT dst_offset) { This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList_IASetIndexBuffer(ID3D12GraphicsCommandList* This,const D3D12_INDEX_BUFFER_VIEW *view) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_IASetIndexBuffer(ID3D12GraphicsCommandList* This,const D3D12_INDEX_BUFFER_VIEW *view) { This->lpVtbl->IASetIndexBuffer(This,view); } -static FORCEINLINE void ID3D12GraphicsCommandList_IASetVertexBuffers(ID3D12GraphicsCommandList* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_IASetVertexBuffers(ID3D12GraphicsCommandList* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); } -static FORCEINLINE void ID3D12GraphicsCommandList_SOSetTargets(ID3D12GraphicsCommandList* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SOSetTargets(ID3D12GraphicsCommandList* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); } -static FORCEINLINE void ID3D12GraphicsCommandList_OMSetRenderTargets(ID3D12GraphicsCommandList* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_OMSetRenderTargets(ID3D12GraphicsCommandList* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList_ClearDepthStencilView(ID3D12GraphicsCommandList* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearDepthStencilView(ID3D12GraphicsCommandList* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList_ClearRenderTargetView(ID3D12GraphicsCommandList* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearRenderTargetView(ID3D12GraphicsCommandList* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList_DiscardResource(ID3D12GraphicsCommandList* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_DiscardResource(ID3D12GraphicsCommandList* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { This->lpVtbl->DiscardResource(This,resource,region); } -static FORCEINLINE void ID3D12GraphicsCommandList_BeginQuery(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_BeginQuery(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { This->lpVtbl->BeginQuery(This,heap,type,index); } -static FORCEINLINE void ID3D12GraphicsCommandList_EndQuery(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_EndQuery(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { This->lpVtbl->EndQuery(This,heap,type,index); } -static FORCEINLINE void ID3D12GraphicsCommandList_ResolveQueryData(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ResolveQueryData(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetPredication(ID3D12GraphicsCommandList* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetPredication(ID3D12GraphicsCommandList* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); } -static FORCEINLINE void ID3D12GraphicsCommandList_SetMarker(ID3D12GraphicsCommandList* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_SetMarker(ID3D12GraphicsCommandList* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->SetMarker(This,metadata,data,size); } -static FORCEINLINE void ID3D12GraphicsCommandList_BeginEvent(ID3D12GraphicsCommandList* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_BeginEvent(ID3D12GraphicsCommandList* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->BeginEvent(This,metadata,data,size); } -static FORCEINLINE void ID3D12GraphicsCommandList_EndEvent(ID3D12GraphicsCommandList* This) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_EndEvent(ID3D12GraphicsCommandList* This) { This->lpVtbl->EndEvent(This); } -static FORCEINLINE void ID3D12GraphicsCommandList_ExecuteIndirect(ID3D12GraphicsCommandList* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList_ExecuteIndirect(ID3D12GraphicsCommandList* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); } #endif @@ -4054,7 +5353,7 @@ typedef struct ID3D12GraphicsCommandList1Vtbl { ID3D12CommandAllocator *allocator, ID3D12PipelineState *initial_state); - HRESULT (STDMETHODCALLTYPE *ClearState)( + void (STDMETHODCALLTYPE *ClearState)( ID3D12GraphicsCommandList1 *This, ID3D12PipelineState *pipeline_state); @@ -4476,207 +5775,207 @@ interface ID3D12GraphicsCommandList1 { #define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_QueryInterface(ID3D12GraphicsCommandList1* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_QueryInterface(ID3D12GraphicsCommandList1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12GraphicsCommandList1_AddRef(ID3D12GraphicsCommandList1* This) { +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList1_AddRef(ID3D12GraphicsCommandList1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12GraphicsCommandList1_Release(ID3D12GraphicsCommandList1* This) { +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList1_Release(ID3D12GraphicsCommandList1* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_GetPrivateData(ID3D12GraphicsCommandList1* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_GetPrivateData(ID3D12GraphicsCommandList1* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_SetPrivateData(ID3D12GraphicsCommandList1* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_SetPrivateData(ID3D12GraphicsCommandList1* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_SetPrivateDataInterface(ID3D12GraphicsCommandList1* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_SetPrivateDataInterface(ID3D12GraphicsCommandList1* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_SetName(ID3D12GraphicsCommandList1* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_SetName(ID3D12GraphicsCommandList1* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_GetDevice(ID3D12GraphicsCommandList1* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_GetDevice(ID3D12GraphicsCommandList1* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12CommandList methods ***/ -static FORCEINLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList1_GetType(ID3D12GraphicsCommandList1* This) { +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList1_GetType(ID3D12GraphicsCommandList1* This) { return This->lpVtbl->GetType(This); } /*** ID3D12GraphicsCommandList methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_Close(ID3D12GraphicsCommandList1* This) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_Close(ID3D12GraphicsCommandList1* This) { return This->lpVtbl->Close(This); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_Reset(ID3D12GraphicsCommandList1* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_Reset(ID3D12GraphicsCommandList1* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { return This->lpVtbl->Reset(This,allocator,initial_state); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList1_ClearState(ID3D12GraphicsCommandList1* This,ID3D12PipelineState *pipeline_state) { - return This->lpVtbl->ClearState(This,pipeline_state); +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearState(ID3D12GraphicsCommandList1* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); } -static FORCEINLINE void ID3D12GraphicsCommandList1_DrawInstanced(ID3D12GraphicsCommandList1* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_DrawInstanced(ID3D12GraphicsCommandList1* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); } -static FORCEINLINE void ID3D12GraphicsCommandList1_DrawIndexedInstanced(ID3D12GraphicsCommandList1* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_DrawIndexedInstanced(ID3D12GraphicsCommandList1* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); } -static FORCEINLINE void ID3D12GraphicsCommandList1_Dispatch(ID3D12GraphicsCommandList1* This,UINT x,UINT u,UINT z) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_Dispatch(ID3D12GraphicsCommandList1* This,UINT x,UINT u,UINT z) { This->lpVtbl->Dispatch(This,x,u,z); } -static FORCEINLINE void ID3D12GraphicsCommandList1_CopyBufferRegion(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyBufferRegion(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); } -static FORCEINLINE void ID3D12GraphicsCommandList1_CopyTextureRegion(ID3D12GraphicsCommandList1* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyTextureRegion(ID3D12GraphicsCommandList1* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); } -static FORCEINLINE void ID3D12GraphicsCommandList1_CopyResource(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyResource(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { This->lpVtbl->CopyResource(This,dst_resource,src_resource); } -static FORCEINLINE void ID3D12GraphicsCommandList1_CopyTiles(ID3D12GraphicsCommandList1* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyTiles(ID3D12GraphicsCommandList1* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ResolveSubresource(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResolveSubresource(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); } -static FORCEINLINE void ID3D12GraphicsCommandList1_IASetPrimitiveTopology(ID3D12GraphicsCommandList1* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_IASetPrimitiveTopology(ID3D12GraphicsCommandList1* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); } -static FORCEINLINE void ID3D12GraphicsCommandList1_RSSetViewports(ID3D12GraphicsCommandList1* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_RSSetViewports(ID3D12GraphicsCommandList1* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { This->lpVtbl->RSSetViewports(This,viewport_count,viewports); } -static FORCEINLINE void ID3D12GraphicsCommandList1_RSSetScissorRects(ID3D12GraphicsCommandList1* This,UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_RSSetScissorRects(ID3D12GraphicsCommandList1* This,UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->RSSetScissorRects(This,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList1_OMSetBlendFactor(ID3D12GraphicsCommandList1* This,const FLOAT blend_factor[4]) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetBlendFactor(ID3D12GraphicsCommandList1* This,const FLOAT blend_factor[4]) { This->lpVtbl->OMSetBlendFactor(This,blend_factor); } -static FORCEINLINE void ID3D12GraphicsCommandList1_OMSetStencilRef(ID3D12GraphicsCommandList1* This,UINT stencil_ref) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetStencilRef(ID3D12GraphicsCommandList1* This,UINT stencil_ref) { This->lpVtbl->OMSetStencilRef(This,stencil_ref); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetPipelineState(ID3D12GraphicsCommandList1* This,ID3D12PipelineState *pipeline_state) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetPipelineState(ID3D12GraphicsCommandList1* This,ID3D12PipelineState *pipeline_state) { This->lpVtbl->SetPipelineState(This,pipeline_state); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ResourceBarrier(ID3D12GraphicsCommandList1* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResourceBarrier(ID3D12GraphicsCommandList1* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ExecuteBundle(ID3D12GraphicsCommandList1* This,ID3D12GraphicsCommandList *command_list) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ExecuteBundle(ID3D12GraphicsCommandList1* This,ID3D12GraphicsCommandList *command_list) { This->lpVtbl->ExecuteBundle(This,command_list); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetDescriptorHeaps(ID3D12GraphicsCommandList1* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetDescriptorHeaps(ID3D12GraphicsCommandList1* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRootSignature(ID3D12GraphicsCommandList1* This,ID3D12RootSignature *root_signature) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootSignature(ID3D12GraphicsCommandList1* This,ID3D12RootSignature *root_signature) { This->lpVtbl->SetComputeRootSignature(This,root_signature); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRootSignature(ID3D12GraphicsCommandList1* This,ID3D12RootSignature *root_signature) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootSignature(ID3D12GraphicsCommandList1* This,ID3D12RootSignature *root_signature) { This->lpVtbl->SetGraphicsRootSignature(This,root_signature); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT data,UINT dst_offset) { This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT data,UINT dst_offset) { This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList1_IASetIndexBuffer(ID3D12GraphicsCommandList1* This,const D3D12_INDEX_BUFFER_VIEW *view) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_IASetIndexBuffer(ID3D12GraphicsCommandList1* This,const D3D12_INDEX_BUFFER_VIEW *view) { This->lpVtbl->IASetIndexBuffer(This,view); } -static FORCEINLINE void ID3D12GraphicsCommandList1_IASetVertexBuffers(ID3D12GraphicsCommandList1* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_IASetVertexBuffers(ID3D12GraphicsCommandList1* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SOSetTargets(ID3D12GraphicsCommandList1* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SOSetTargets(ID3D12GraphicsCommandList1* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); } -static FORCEINLINE void ID3D12GraphicsCommandList1_OMSetRenderTargets(ID3D12GraphicsCommandList1* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetRenderTargets(ID3D12GraphicsCommandList1* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ClearDepthStencilView(ID3D12GraphicsCommandList1* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearDepthStencilView(ID3D12GraphicsCommandList1* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ClearRenderTargetView(ID3D12GraphicsCommandList1* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearRenderTargetView(ID3D12GraphicsCommandList1* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList1* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList1* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList1* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList1* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList1_DiscardResource(ID3D12GraphicsCommandList1* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_DiscardResource(ID3D12GraphicsCommandList1* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { This->lpVtbl->DiscardResource(This,resource,region); } -static FORCEINLINE void ID3D12GraphicsCommandList1_BeginQuery(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_BeginQuery(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { This->lpVtbl->BeginQuery(This,heap,type,index); } -static FORCEINLINE void ID3D12GraphicsCommandList1_EndQuery(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_EndQuery(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { This->lpVtbl->EndQuery(This,heap,type,index); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ResolveQueryData(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResolveQueryData(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetPredication(ID3D12GraphicsCommandList1* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetPredication(ID3D12GraphicsCommandList1* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetMarker(ID3D12GraphicsCommandList1* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetMarker(ID3D12GraphicsCommandList1* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->SetMarker(This,metadata,data,size); } -static FORCEINLINE void ID3D12GraphicsCommandList1_BeginEvent(ID3D12GraphicsCommandList1* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_BeginEvent(ID3D12GraphicsCommandList1* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->BeginEvent(This,metadata,data,size); } -static FORCEINLINE void ID3D12GraphicsCommandList1_EndEvent(ID3D12GraphicsCommandList1* This) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_EndEvent(ID3D12GraphicsCommandList1* This) { This->lpVtbl->EndEvent(This); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ExecuteIndirect(ID3D12GraphicsCommandList1* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ExecuteIndirect(ID3D12GraphicsCommandList1* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); } /*** ID3D12GraphicsCommandList1 methods ***/ -static FORCEINLINE void ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); } -static FORCEINLINE void ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); } -static FORCEINLINE void ID3D12GraphicsCommandList1_OMSetDepthBounds(ID3D12GraphicsCommandList1* This,FLOAT min,FLOAT max) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetDepthBounds(ID3D12GraphicsCommandList1* This,FLOAT min,FLOAT max) { This->lpVtbl->OMSetDepthBounds(This,min,max); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetSamplePositions(ID3D12GraphicsCommandList1* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetSamplePositions(ID3D12GraphicsCommandList1* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); } -static FORCEINLINE void ID3D12GraphicsCommandList1_ResolveSubresourceRegion(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResolveSubresourceRegion(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); } -static FORCEINLINE void ID3D12GraphicsCommandList1_SetViewInstanceMask(ID3D12GraphicsCommandList1* This,UINT mask) { +static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetViewInstanceMask(ID3D12GraphicsCommandList1* This,UINT mask) { This->lpVtbl->SetViewInstanceMask(This,mask); } #endif @@ -4764,7 +6063,7 @@ typedef struct ID3D12GraphicsCommandList2Vtbl { ID3D12CommandAllocator *allocator, ID3D12PipelineState *initial_state); - HRESULT (STDMETHODCALLTYPE *ClearState)( + void (STDMETHODCALLTYPE *ClearState)( ID3D12GraphicsCommandList2 *This, ID3D12PipelineState *pipeline_state); @@ -5195,211 +6494,211 @@ interface ID3D12GraphicsCommandList2 { #define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_QueryInterface(ID3D12GraphicsCommandList2* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_QueryInterface(ID3D12GraphicsCommandList2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12GraphicsCommandList2_AddRef(ID3D12GraphicsCommandList2* This) { +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList2_AddRef(ID3D12GraphicsCommandList2* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12GraphicsCommandList2_Release(ID3D12GraphicsCommandList2* This) { +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList2_Release(ID3D12GraphicsCommandList2* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_GetPrivateData(ID3D12GraphicsCommandList2* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_GetPrivateData(ID3D12GraphicsCommandList2* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_SetPrivateData(ID3D12GraphicsCommandList2* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_SetPrivateData(ID3D12GraphicsCommandList2* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_SetPrivateDataInterface(ID3D12GraphicsCommandList2* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_SetPrivateDataInterface(ID3D12GraphicsCommandList2* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_SetName(ID3D12GraphicsCommandList2* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_SetName(ID3D12GraphicsCommandList2* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_GetDevice(ID3D12GraphicsCommandList2* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_GetDevice(ID3D12GraphicsCommandList2* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12CommandList methods ***/ -static FORCEINLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList2_GetType(ID3D12GraphicsCommandList2* This) { +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList2_GetType(ID3D12GraphicsCommandList2* This) { return This->lpVtbl->GetType(This); } /*** ID3D12GraphicsCommandList methods ***/ -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_Close(ID3D12GraphicsCommandList2* This) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_Close(ID3D12GraphicsCommandList2* This) { return This->lpVtbl->Close(This); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_Reset(ID3D12GraphicsCommandList2* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_Reset(ID3D12GraphicsCommandList2* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { return This->lpVtbl->Reset(This,allocator,initial_state); } -static FORCEINLINE HRESULT ID3D12GraphicsCommandList2_ClearState(ID3D12GraphicsCommandList2* This,ID3D12PipelineState *pipeline_state) { - return This->lpVtbl->ClearState(This,pipeline_state); +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearState(ID3D12GraphicsCommandList2* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); } -static FORCEINLINE void ID3D12GraphicsCommandList2_DrawInstanced(ID3D12GraphicsCommandList2* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_DrawInstanced(ID3D12GraphicsCommandList2* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); } -static FORCEINLINE void ID3D12GraphicsCommandList2_DrawIndexedInstanced(ID3D12GraphicsCommandList2* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_DrawIndexedInstanced(ID3D12GraphicsCommandList2* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); } -static FORCEINLINE void ID3D12GraphicsCommandList2_Dispatch(ID3D12GraphicsCommandList2* This,UINT x,UINT u,UINT z) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_Dispatch(ID3D12GraphicsCommandList2* This,UINT x,UINT u,UINT z) { This->lpVtbl->Dispatch(This,x,u,z); } -static FORCEINLINE void ID3D12GraphicsCommandList2_CopyBufferRegion(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyBufferRegion(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); } -static FORCEINLINE void ID3D12GraphicsCommandList2_CopyTextureRegion(ID3D12GraphicsCommandList2* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyTextureRegion(ID3D12GraphicsCommandList2* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); } -static FORCEINLINE void ID3D12GraphicsCommandList2_CopyResource(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyResource(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { This->lpVtbl->CopyResource(This,dst_resource,src_resource); } -static FORCEINLINE void ID3D12GraphicsCommandList2_CopyTiles(ID3D12GraphicsCommandList2* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyTiles(ID3D12GraphicsCommandList2* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ResolveSubresource(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResolveSubresource(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); } -static FORCEINLINE void ID3D12GraphicsCommandList2_IASetPrimitiveTopology(ID3D12GraphicsCommandList2* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_IASetPrimitiveTopology(ID3D12GraphicsCommandList2* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); } -static FORCEINLINE void ID3D12GraphicsCommandList2_RSSetViewports(ID3D12GraphicsCommandList2* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_RSSetViewports(ID3D12GraphicsCommandList2* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { This->lpVtbl->RSSetViewports(This,viewport_count,viewports); } -static FORCEINLINE void ID3D12GraphicsCommandList2_RSSetScissorRects(ID3D12GraphicsCommandList2* This,UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_RSSetScissorRects(ID3D12GraphicsCommandList2* This,UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->RSSetScissorRects(This,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList2_OMSetBlendFactor(ID3D12GraphicsCommandList2* This,const FLOAT blend_factor[4]) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetBlendFactor(ID3D12GraphicsCommandList2* This,const FLOAT blend_factor[4]) { This->lpVtbl->OMSetBlendFactor(This,blend_factor); } -static FORCEINLINE void ID3D12GraphicsCommandList2_OMSetStencilRef(ID3D12GraphicsCommandList2* This,UINT stencil_ref) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetStencilRef(ID3D12GraphicsCommandList2* This,UINT stencil_ref) { This->lpVtbl->OMSetStencilRef(This,stencil_ref); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetPipelineState(ID3D12GraphicsCommandList2* This,ID3D12PipelineState *pipeline_state) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetPipelineState(ID3D12GraphicsCommandList2* This,ID3D12PipelineState *pipeline_state) { This->lpVtbl->SetPipelineState(This,pipeline_state); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ResourceBarrier(ID3D12GraphicsCommandList2* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResourceBarrier(ID3D12GraphicsCommandList2* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ExecuteBundle(ID3D12GraphicsCommandList2* This,ID3D12GraphicsCommandList *command_list) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ExecuteBundle(ID3D12GraphicsCommandList2* This,ID3D12GraphicsCommandList *command_list) { This->lpVtbl->ExecuteBundle(This,command_list); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetDescriptorHeaps(ID3D12GraphicsCommandList2* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetDescriptorHeaps(ID3D12GraphicsCommandList2* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRootSignature(ID3D12GraphicsCommandList2* This,ID3D12RootSignature *root_signature) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootSignature(ID3D12GraphicsCommandList2* This,ID3D12RootSignature *root_signature) { This->lpVtbl->SetComputeRootSignature(This,root_signature); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRootSignature(ID3D12GraphicsCommandList2* This,ID3D12RootSignature *root_signature) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootSignature(ID3D12GraphicsCommandList2* This,ID3D12RootSignature *root_signature) { This->lpVtbl->SetGraphicsRootSignature(This,root_signature); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT data,UINT dst_offset) { This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT data,UINT dst_offset) { This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); } -static FORCEINLINE void ID3D12GraphicsCommandList2_IASetIndexBuffer(ID3D12GraphicsCommandList2* This,const D3D12_INDEX_BUFFER_VIEW *view) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_IASetIndexBuffer(ID3D12GraphicsCommandList2* This,const D3D12_INDEX_BUFFER_VIEW *view) { This->lpVtbl->IASetIndexBuffer(This,view); } -static FORCEINLINE void ID3D12GraphicsCommandList2_IASetVertexBuffers(ID3D12GraphicsCommandList2* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_IASetVertexBuffers(ID3D12GraphicsCommandList2* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SOSetTargets(ID3D12GraphicsCommandList2* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SOSetTargets(ID3D12GraphicsCommandList2* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); } -static FORCEINLINE void ID3D12GraphicsCommandList2_OMSetRenderTargets(ID3D12GraphicsCommandList2* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetRenderTargets(ID3D12GraphicsCommandList2* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ClearDepthStencilView(ID3D12GraphicsCommandList2* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearDepthStencilView(ID3D12GraphicsCommandList2* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ClearRenderTargetView(ID3D12GraphicsCommandList2* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearRenderTargetView(ID3D12GraphicsCommandList2* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList2* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList2* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList2* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList2* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); } -static FORCEINLINE void ID3D12GraphicsCommandList2_DiscardResource(ID3D12GraphicsCommandList2* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_DiscardResource(ID3D12GraphicsCommandList2* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { This->lpVtbl->DiscardResource(This,resource,region); } -static FORCEINLINE void ID3D12GraphicsCommandList2_BeginQuery(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_BeginQuery(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { This->lpVtbl->BeginQuery(This,heap,type,index); } -static FORCEINLINE void ID3D12GraphicsCommandList2_EndQuery(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_EndQuery(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { This->lpVtbl->EndQuery(This,heap,type,index); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ResolveQueryData(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResolveQueryData(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetPredication(ID3D12GraphicsCommandList2* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetPredication(ID3D12GraphicsCommandList2* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetMarker(ID3D12GraphicsCommandList2* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetMarker(ID3D12GraphicsCommandList2* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->SetMarker(This,metadata,data,size); } -static FORCEINLINE void ID3D12GraphicsCommandList2_BeginEvent(ID3D12GraphicsCommandList2* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_BeginEvent(ID3D12GraphicsCommandList2* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->BeginEvent(This,metadata,data,size); } -static FORCEINLINE void ID3D12GraphicsCommandList2_EndEvent(ID3D12GraphicsCommandList2* This) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_EndEvent(ID3D12GraphicsCommandList2* This) { This->lpVtbl->EndEvent(This); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ExecuteIndirect(ID3D12GraphicsCommandList2* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ExecuteIndirect(ID3D12GraphicsCommandList2* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); } /*** ID3D12GraphicsCommandList1 methods ***/ -static FORCEINLINE void ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); } -static FORCEINLINE void ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); } -static FORCEINLINE void ID3D12GraphicsCommandList2_OMSetDepthBounds(ID3D12GraphicsCommandList2* This,FLOAT min,FLOAT max) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetDepthBounds(ID3D12GraphicsCommandList2* This,FLOAT min,FLOAT max) { This->lpVtbl->OMSetDepthBounds(This,min,max); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetSamplePositions(ID3D12GraphicsCommandList2* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetSamplePositions(ID3D12GraphicsCommandList2* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); } -static FORCEINLINE void ID3D12GraphicsCommandList2_ResolveSubresourceRegion(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResolveSubresourceRegion(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); } -static FORCEINLINE void ID3D12GraphicsCommandList2_SetViewInstanceMask(ID3D12GraphicsCommandList2* This,UINT mask) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetViewInstanceMask(ID3D12GraphicsCommandList2* This,UINT mask) { This->lpVtbl->SetViewInstanceMask(This,mask); } /*** ID3D12GraphicsCommandList2 methods ***/ -static FORCEINLINE void ID3D12GraphicsCommandList2_WriteBufferImmediate(ID3D12GraphicsCommandList2* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { +static __WIDL_INLINE void ID3D12GraphicsCommandList2_WriteBufferImmediate(ID3D12GraphicsCommandList2* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes); } #endif @@ -5410,6 +6709,1048 @@ static FORCEINLINE void ID3D12GraphicsCommandList2_WriteBufferImmediate(ID3D12Gr #endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */ +/***************************************************************************** + * ID3D12ProtectedSession interface + */ +#ifndef __ID3D12ProtectedSession_INTERFACE_DEFINED__ +#define __ID3D12ProtectedSession_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12ProtectedSession, 0xa1533d18, 0x0ac1, 0x4084, 0x85,0xb9, 0x89,0xa9,0x61,0x16,0x80,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1533d18-0ac1-4084-85b9-89a96116806b") +ID3D12ProtectedSession : public ID3D12DeviceChild +{ + virtual HRESULT STDMETHODCALLTYPE GetStatusFence( + REFIID riid, + void **fence) = 0; + + virtual D3D12_PROTECTED_SESSION_STATUS STDMETHODCALLTYPE GetSessionStatus( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12ProtectedSession, 0xa1533d18, 0x0ac1, 0x4084, 0x85,0xb9, 0x89,0xa9,0x61,0x16,0x80,0x6b) +#endif +#else +typedef struct ID3D12ProtectedSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12ProtectedSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12ProtectedSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12ProtectedSession *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12ProtectedSession *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12ProtectedSession *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12ProtectedSession *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12ProtectedSession *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12ProtectedSession *This, + REFIID riid, + void **device); + + /*** ID3D12ProtectedSession methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStatusFence)( + ID3D12ProtectedSession *This, + REFIID riid, + void **fence); + + D3D12_PROTECTED_SESSION_STATUS (STDMETHODCALLTYPE *GetSessionStatus)( + ID3D12ProtectedSession *This); + + END_INTERFACE +} ID3D12ProtectedSessionVtbl; + +interface ID3D12ProtectedSession { + CONST_VTBL ID3D12ProtectedSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12ProtectedSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12ProtectedSession_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12ProtectedSession_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12ProtectedSession_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12ProtectedSession_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12ProtectedSession_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12ProtectedSession methods ***/ +#define ID3D12ProtectedSession_GetStatusFence(This,riid,fence) (This)->lpVtbl->GetStatusFence(This,riid,fence) +#define ID3D12ProtectedSession_GetSessionStatus(This) (This)->lpVtbl->GetSessionStatus(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_QueryInterface(ID3D12ProtectedSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12ProtectedSession_AddRef(ID3D12ProtectedSession* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12ProtectedSession_Release(ID3D12ProtectedSession* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_GetPrivateData(ID3D12ProtectedSession* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_SetPrivateData(ID3D12ProtectedSession* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_SetPrivateDataInterface(ID3D12ProtectedSession* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_SetName(ID3D12ProtectedSession* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_GetDevice(ID3D12ProtectedSession* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12ProtectedSession methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedSession_GetStatusFence(ID3D12ProtectedSession* This,REFIID riid,void **fence) { + return This->lpVtbl->GetStatusFence(This,riid,fence); +} +static __WIDL_INLINE D3D12_PROTECTED_SESSION_STATUS ID3D12ProtectedSession_GetSessionStatus(ID3D12ProtectedSession* This) { + return This->lpVtbl->GetSessionStatus(This); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12ProtectedSession_INTERFACE_DEFINED__ */ + +typedef enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS { + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0x0, + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1 +} D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS); +typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT { + UINT NodeIndex; + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support; +} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT; +/***************************************************************************** + * ID3D12ProtectedResourceSession interface + */ +#ifndef __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ +#define __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12ProtectedResourceSession, 0x6cd696f4, 0xf289, 0x40cc, 0x80,0x91, 0x5a,0x6c,0x0a,0x09,0x9c,0x3d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6cd696f4-f289-40cc-8091-5a6c0a099c3d") +ID3D12ProtectedResourceSession : public ID3D12ProtectedSession +{ +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC* STDMETHODCALLTYPE GetDesc( + D3D12_PROTECTED_RESOURCE_SESSION_DESC *__ret) = 0; + D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc( + ) + { + D3D12_PROTECTED_RESOURCE_SESSION_DESC __ret; + return *GetDesc(&__ret); + } +#else + virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc( + ) = 0; +#endif + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12ProtectedResourceSession, 0x6cd696f4, 0xf289, 0x40cc, 0x80,0x91, 0x5a,0x6c,0x0a,0x09,0x9c,0x3d) +#endif +#else +typedef struct ID3D12ProtectedResourceSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12ProtectedResourceSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12ProtectedResourceSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12ProtectedResourceSession *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12ProtectedResourceSession *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12ProtectedResourceSession *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12ProtectedResourceSession *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12ProtectedResourceSession *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12ProtectedResourceSession *This, + REFIID riid, + void **device); + + /*** ID3D12ProtectedSession methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStatusFence)( + ID3D12ProtectedResourceSession *This, + REFIID riid, + void **fence); + + D3D12_PROTECTED_SESSION_STATUS (STDMETHODCALLTYPE *GetSessionStatus)( + ID3D12ProtectedResourceSession *This); + + /*** ID3D12ProtectedResourceSession methods ***/ + D3D12_PROTECTED_RESOURCE_SESSION_DESC * (STDMETHODCALLTYPE *GetDesc)( + ID3D12ProtectedResourceSession *This, + D3D12_PROTECTED_RESOURCE_SESSION_DESC *__ret); + + END_INTERFACE +} ID3D12ProtectedResourceSessionVtbl; + +interface ID3D12ProtectedResourceSession { + CONST_VTBL ID3D12ProtectedResourceSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12ProtectedResourceSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12ProtectedResourceSession_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12ProtectedResourceSession_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12ProtectedResourceSession_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12ProtectedSession methods ***/ +#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,fence) (This)->lpVtbl->GetStatusFence(This,riid,fence) +#define ID3D12ProtectedResourceSession_GetSessionStatus(This) (This)->lpVtbl->GetSessionStatus(This) +/*** ID3D12ProtectedResourceSession methods ***/ +#define ID3D12ProtectedResourceSession_GetDesc(This) ID3D12ProtectedResourceSession_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_QueryInterface(ID3D12ProtectedResourceSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession_AddRef(ID3D12ProtectedResourceSession* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession_Release(ID3D12ProtectedResourceSession* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_GetPrivateData(ID3D12ProtectedResourceSession* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_SetPrivateData(ID3D12ProtectedResourceSession* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_SetPrivateDataInterface(ID3D12ProtectedResourceSession* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_SetName(ID3D12ProtectedResourceSession* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_GetDevice(ID3D12ProtectedResourceSession* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12ProtectedSession methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_GetStatusFence(ID3D12ProtectedResourceSession* This,REFIID riid,void **fence) { + return This->lpVtbl->GetStatusFence(This,riid,fence); +} +static __WIDL_INLINE D3D12_PROTECTED_SESSION_STATUS ID3D12ProtectedResourceSession_GetSessionStatus(ID3D12ProtectedResourceSession* This) { + return This->lpVtbl->GetSessionStatus(This); +} +/*** ID3D12ProtectedResourceSession methods ***/ +static __WIDL_INLINE D3D12_PROTECTED_RESOURCE_SESSION_DESC ID3D12ProtectedResourceSession_GetDesc(ID3D12ProtectedResourceSession* This) { + D3D12_PROTECTED_RESOURCE_SESSION_DESC __ret; + return *This->lpVtbl->GetDesc(This,&__ret); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12GraphicsCommandList3 interface + */ +#ifndef __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ +#define __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12GraphicsCommandList3, 0x6fda83a7, 0xb84c, 0x4e38, 0x9a,0xc8, 0xc7,0xbd,0x22,0x01,0x6b,0x3d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6fda83a7-b84c-4e38-9ac8-c7bd22016b3d") +ID3D12GraphicsCommandList3 : public ID3D12GraphicsCommandList2 +{ + virtual void STDMETHODCALLTYPE SetProtectedResourceSession( + ID3D12ProtectedResourceSession *protected_resource_session) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12GraphicsCommandList3, 0x6fda83a7, 0xb84c, 0x4e38, 0x9a,0xc8, 0xc7,0xbd,0x22,0x01,0x6b,0x3d) +#endif +#else +typedef struct ID3D12GraphicsCommandList3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12GraphicsCommandList3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12GraphicsCommandList3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12GraphicsCommandList3 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12GraphicsCommandList3 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12GraphicsCommandList3 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12GraphicsCommandList3 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12GraphicsCommandList3 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12GraphicsCommandList3 *This, + REFIID riid, + void **device); + + /*** ID3D12CommandList methods ***/ + D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)( + ID3D12GraphicsCommandList3 *This); + + /*** ID3D12GraphicsCommandList methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + ID3D12GraphicsCommandList3 *This); + + HRESULT (STDMETHODCALLTYPE *Reset)( + ID3D12GraphicsCommandList3 *This, + ID3D12CommandAllocator *allocator, + ID3D12PipelineState *initial_state); + + void (STDMETHODCALLTYPE *ClearState)( + ID3D12GraphicsCommandList3 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *DrawInstanced)( + ID3D12GraphicsCommandList3 *This, + UINT vertex_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *DrawIndexedInstanced)( + ID3D12GraphicsCommandList3 *This, + UINT index_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + INT base_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *Dispatch)( + ID3D12GraphicsCommandList3 *This, + UINT x, + UINT u, + UINT z); + + void (STDMETHODCALLTYPE *CopyBufferRegion)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT64 byte_count); + + void (STDMETHODCALLTYPE *CopyTextureRegion)( + ID3D12GraphicsCommandList3 *This, + const D3D12_TEXTURE_COPY_LOCATION *dst, + UINT dst_x, + UINT dst_y, + UINT dst_z, + const D3D12_TEXTURE_COPY_LOCATION *src, + const D3D12_BOX *src_box); + + void (STDMETHODCALLTYPE *CopyResource)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *dst_resource, + ID3D12Resource *src_resource); + + void (STDMETHODCALLTYPE *CopyTiles)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *tiled_resource, + const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate, + const D3D12_TILE_REGION_SIZE *tile_region_size, + ID3D12Resource *buffer, + UINT64 buffer_offset, + D3D12_TILE_COPY_FLAGS flags); + + void (STDMETHODCALLTYPE *ResolveSubresource)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource, + ID3D12Resource *src_resource, + UINT src_sub_resource, + DXGI_FORMAT format); + + void (STDMETHODCALLTYPE *IASetPrimitiveTopology)( + ID3D12GraphicsCommandList3 *This, + D3D12_PRIMITIVE_TOPOLOGY primitive_topology); + + void (STDMETHODCALLTYPE *RSSetViewports)( + ID3D12GraphicsCommandList3 *This, + UINT viewport_count, + const D3D12_VIEWPORT *viewports); + + void (STDMETHODCALLTYPE *RSSetScissorRects)( + ID3D12GraphicsCommandList3 *This, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *OMSetBlendFactor)( + ID3D12GraphicsCommandList3 *This, + const FLOAT blend_factor[4]); + + void (STDMETHODCALLTYPE *OMSetStencilRef)( + ID3D12GraphicsCommandList3 *This, + UINT stencil_ref); + + void (STDMETHODCALLTYPE *SetPipelineState)( + ID3D12GraphicsCommandList3 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *ResourceBarrier)( + ID3D12GraphicsCommandList3 *This, + UINT barrier_count, + const D3D12_RESOURCE_BARRIER *barriers); + + void (STDMETHODCALLTYPE *ExecuteBundle)( + ID3D12GraphicsCommandList3 *This, + ID3D12GraphicsCommandList *command_list); + + void (STDMETHODCALLTYPE *SetDescriptorHeaps)( + ID3D12GraphicsCommandList3 *This, + UINT heap_count, + ID3D12DescriptorHeap *const *heaps); + + void (STDMETHODCALLTYPE *SetComputeRootSignature)( + ID3D12GraphicsCommandList3 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetGraphicsRootSignature)( + ID3D12GraphicsCommandList3 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)( + ID3D12GraphicsCommandList3 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *IASetIndexBuffer)( + ID3D12GraphicsCommandList3 *This, + const D3D12_INDEX_BUFFER_VIEW *view); + + void (STDMETHODCALLTYPE *IASetVertexBuffers)( + ID3D12GraphicsCommandList3 *This, + UINT start_slot, + UINT view_count, + const D3D12_VERTEX_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *SOSetTargets)( + ID3D12GraphicsCommandList3 *This, + UINT start_slot, + UINT view_count, + const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *OMSetRenderTargets)( + ID3D12GraphicsCommandList3 *This, + UINT render_target_descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors, + WINBOOL single_descriptor_handle, + const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor); + + void (STDMETHODCALLTYPE *ClearDepthStencilView)( + ID3D12GraphicsCommandList3 *This, + D3D12_CPU_DESCRIPTOR_HANDLE dsv, + D3D12_CLEAR_FLAGS flags, + FLOAT depth, + UINT8 stencil, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearRenderTargetView)( + ID3D12GraphicsCommandList3 *This, + D3D12_CPU_DESCRIPTOR_HANDLE rtv, + const FLOAT color[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)( + ID3D12GraphicsCommandList3 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const UINT values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)( + ID3D12GraphicsCommandList3 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const float values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *DiscardResource)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *resource, + const D3D12_DISCARD_REGION *region); + + void (STDMETHODCALLTYPE *BeginQuery)( + ID3D12GraphicsCommandList3 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *EndQuery)( + ID3D12GraphicsCommandList3 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *ResolveQueryData)( + ID3D12GraphicsCommandList3 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT start_index, + UINT query_count, + ID3D12Resource *dst_buffer, + UINT64 aligned_dst_buffer_offset); + + void (STDMETHODCALLTYPE *SetPredication)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *buffer, + UINT64 aligned_buffer_offset, + D3D12_PREDICATION_OP operation); + + void (STDMETHODCALLTYPE *SetMarker)( + ID3D12GraphicsCommandList3 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *BeginEvent)( + ID3D12GraphicsCommandList3 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *EndEvent)( + ID3D12GraphicsCommandList3 *This); + + void (STDMETHODCALLTYPE *ExecuteIndirect)( + ID3D12GraphicsCommandList3 *This, + ID3D12CommandSignature *command_signature, + UINT max_command_count, + ID3D12Resource *arg_buffer, + UINT64 arg_buffer_offset, + ID3D12Resource *count_buffer, + UINT64 count_buffer_offset); + + /*** ID3D12GraphicsCommandList1 methods ***/ + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *OMSetDepthBounds)( + ID3D12GraphicsCommandList3 *This, + FLOAT min, + FLOAT max); + + void (STDMETHODCALLTYPE *SetSamplePositions)( + ID3D12GraphicsCommandList3 *This, + UINT sample_count, + UINT pixel_count, + D3D12_SAMPLE_POSITION *sample_positions); + + void (STDMETHODCALLTYPE *ResolveSubresourceRegion)( + ID3D12GraphicsCommandList3 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource_idx, + UINT dst_x, + UINT dst_y, + ID3D12Resource *src_resource, + UINT src_sub_resource_idx, + D3D12_RECT *src_rect, + DXGI_FORMAT format, + D3D12_RESOLVE_MODE mode); + + void (STDMETHODCALLTYPE *SetViewInstanceMask)( + ID3D12GraphicsCommandList3 *This, + UINT mask); + + /*** ID3D12GraphicsCommandList2 methods ***/ + void (STDMETHODCALLTYPE *WriteBufferImmediate)( + ID3D12GraphicsCommandList3 *This, + UINT count, + const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters, + const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes); + + /*** ID3D12GraphicsCommandList3 methods ***/ + void (STDMETHODCALLTYPE *SetProtectedResourceSession)( + ID3D12GraphicsCommandList3 *This, + ID3D12ProtectedResourceSession *protected_resource_session); + + END_INTERFACE +} ID3D12GraphicsCommandList3Vtbl; + +interface ID3D12GraphicsCommandList3 { + CONST_VTBL ID3D12GraphicsCommandList3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12GraphicsCommandList3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12GraphicsCommandList3_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12GraphicsCommandList3_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12GraphicsCommandList3_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12CommandList methods ***/ +#define ID3D12GraphicsCommandList3_GetType(This) (This)->lpVtbl->GetType(This) +/*** ID3D12GraphicsCommandList methods ***/ +#define ID3D12GraphicsCommandList3_Close(This) (This)->lpVtbl->Close(This) +#define ID3D12GraphicsCommandList3_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state) +#define ID3D12GraphicsCommandList3_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state) +#define ID3D12GraphicsCommandList3_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList3_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z) +#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) +#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) +#define ID3D12GraphicsCommandList3_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource) +#define ID3D12GraphicsCommandList3_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) +#define ID3D12GraphicsCommandList3_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) +#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology) +#define ID3D12GraphicsCommandList3_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports) +#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects) +#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor) +#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref) +#define ID3D12GraphicsCommandList3_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state) +#define ID3D12GraphicsCommandList3_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers) +#define ID3D12GraphicsCommandList3_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list) +#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps) +#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view) +#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList3_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) +#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) +#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects) +#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList3_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region) +#define ID3D12GraphicsCommandList3_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList3_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList3_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) +#define ID3D12GraphicsCommandList3_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation) +#define ID3D12GraphicsCommandList3_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size) +#define ID3D12GraphicsCommandList3_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size) +#define ID3D12GraphicsCommandList3_EndEvent(This) (This)->lpVtbl->EndEvent(This) +#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) +/*** ID3D12GraphicsCommandList1 methods ***/ +#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max) +#define ID3D12GraphicsCommandList3_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions) +#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) +#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask) +/*** ID3D12GraphicsCommandList2 methods ***/ +#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes) +/*** ID3D12GraphicsCommandList3 methods ***/ +#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_QueryInterface(ID3D12GraphicsCommandList3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList3_AddRef(ID3D12GraphicsCommandList3* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList3_Release(ID3D12GraphicsCommandList3* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_GetPrivateData(ID3D12GraphicsCommandList3* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_SetPrivateData(ID3D12GraphicsCommandList3* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_SetPrivateDataInterface(ID3D12GraphicsCommandList3* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_SetName(ID3D12GraphicsCommandList3* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_GetDevice(ID3D12GraphicsCommandList3* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12CommandList methods ***/ +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList3_GetType(ID3D12GraphicsCommandList3* This) { + return This->lpVtbl->GetType(This); +} +/*** ID3D12GraphicsCommandList methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_Close(ID3D12GraphicsCommandList3* This) { + return This->lpVtbl->Close(This); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_Reset(ID3D12GraphicsCommandList3* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { + return This->lpVtbl->Reset(This,allocator,initial_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearState(ID3D12GraphicsCommandList3* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_DrawInstanced(ID3D12GraphicsCommandList3* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_DrawIndexedInstanced(ID3D12GraphicsCommandList3* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_Dispatch(ID3D12GraphicsCommandList3* This,UINT x,UINT u,UINT z) { + This->lpVtbl->Dispatch(This,x,u,z); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyBufferRegion(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { + This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyTextureRegion(ID3D12GraphicsCommandList3* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { + This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyResource(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { + This->lpVtbl->CopyResource(This,dst_resource,src_resource); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyTiles(ID3D12GraphicsCommandList3* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { + This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResolveSubresource(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { + This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_IASetPrimitiveTopology(ID3D12GraphicsCommandList3* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { + This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_RSSetViewports(ID3D12GraphicsCommandList3* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { + This->lpVtbl->RSSetViewports(This,viewport_count,viewports); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_RSSetScissorRects(ID3D12GraphicsCommandList3* This,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->RSSetScissorRects(This,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetBlendFactor(ID3D12GraphicsCommandList3* This,const FLOAT blend_factor[4]) { + This->lpVtbl->OMSetBlendFactor(This,blend_factor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetStencilRef(ID3D12GraphicsCommandList3* This,UINT stencil_ref) { + This->lpVtbl->OMSetStencilRef(This,stencil_ref); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetPipelineState(ID3D12GraphicsCommandList3* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->SetPipelineState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResourceBarrier(ID3D12GraphicsCommandList3* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { + This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ExecuteBundle(ID3D12GraphicsCommandList3* This,ID3D12GraphicsCommandList *command_list) { + This->lpVtbl->ExecuteBundle(This,command_list); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetDescriptorHeaps(ID3D12GraphicsCommandList3* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { + This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootSignature(ID3D12GraphicsCommandList3* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetComputeRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootSignature(ID3D12GraphicsCommandList3* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetGraphicsRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_IASetIndexBuffer(ID3D12GraphicsCommandList3* This,const D3D12_INDEX_BUFFER_VIEW *view) { + This->lpVtbl->IASetIndexBuffer(This,view); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_IASetVertexBuffers(ID3D12GraphicsCommandList3* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { + This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SOSetTargets(ID3D12GraphicsCommandList3* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { + This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetRenderTargets(ID3D12GraphicsCommandList3* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { + This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearDepthStencilView(ID3D12GraphicsCommandList3* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearRenderTargetView(ID3D12GraphicsCommandList3* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList3* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList3* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_DiscardResource(ID3D12GraphicsCommandList3* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { + This->lpVtbl->DiscardResource(This,resource,region); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_BeginQuery(ID3D12GraphicsCommandList3* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->BeginQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_EndQuery(ID3D12GraphicsCommandList3* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->EndQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResolveQueryData(ID3D12GraphicsCommandList3* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { + This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetPredication(ID3D12GraphicsCommandList3* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { + This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetMarker(ID3D12GraphicsCommandList3* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->SetMarker(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_BeginEvent(ID3D12GraphicsCommandList3* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->BeginEvent(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_EndEvent(ID3D12GraphicsCommandList3* This) { + This->lpVtbl->EndEvent(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ExecuteIndirect(ID3D12GraphicsCommandList3* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { + This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); +} +/*** ID3D12GraphicsCommandList1 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetDepthBounds(ID3D12GraphicsCommandList3* This,FLOAT min,FLOAT max) { + This->lpVtbl->OMSetDepthBounds(This,min,max); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetSamplePositions(ID3D12GraphicsCommandList3* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { + This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResolveSubresourceRegion(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { + This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetViewInstanceMask(ID3D12GraphicsCommandList3* This,UINT mask) { + This->lpVtbl->SetViewInstanceMask(This,mask); +} +/*** ID3D12GraphicsCommandList2 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList3_WriteBufferImmediate(ID3D12GraphicsCommandList3* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { + This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes); +} +/*** ID3D12GraphicsCommandList3 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetProtectedResourceSession(ID3D12GraphicsCommandList3* This,ID3D12ProtectedResourceSession *protected_resource_session) { + This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ */ + typedef enum D3D12_TILE_RANGE_FLAGS { D3D12_TILE_RANGE_FLAG_NONE = 0x0, D3D12_TILE_RANGE_FLAG_NULL = 0x1, @@ -5437,10 +7778,11 @@ ID3D12CommandQueue : public ID3D12Pageable UINT region_count, const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates, const D3D12_TILE_REGION_SIZE *region_sizes, + ID3D12Heap *heap, UINT range_count, const D3D12_TILE_RANGE_FLAGS *range_flags, - UINT *heap_range_offsets, - UINT *range_tile_counts, + const UINT *heap_range_offsets, + const UINT *range_tile_counts, D3D12_TILE_MAPPING_FLAGS flags) = 0; virtual void STDMETHODCALLTYPE CopyTileMappings( @@ -5552,10 +7894,11 @@ typedef struct ID3D12CommandQueueVtbl { UINT region_count, const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates, const D3D12_TILE_REGION_SIZE *region_sizes, + ID3D12Heap *heap, UINT range_count, const D3D12_TILE_RANGE_FLAGS *range_flags, - UINT *heap_range_offsets, - UINT *range_tile_counts, + const UINT *heap_range_offsets, + const UINT *range_tile_counts, D3D12_TILE_MAPPING_FLAGS flags); void (STDMETHODCALLTYPE *CopyTileMappings)( @@ -5631,7 +7974,7 @@ interface ID3D12CommandQueue { /*** ID3D12DeviceChild methods ***/ #define ID3D12CommandQueue_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) /*** ID3D12CommandQueue methods ***/ -#define ID3D12CommandQueue_UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,range_count,range_flags,heap_range_offsets,range_tile_counts,flags) (This)->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,range_count,range_flags,heap_range_offsets,range_tile_counts,flags) +#define ID3D12CommandQueue_UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,heap,range_count,range_flags,heap_range_offsets,range_tile_counts,flags) (This)->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,heap,range_count,range_flags,heap_range_offsets,range_tile_counts,flags) #define ID3D12CommandQueue_CopyTileMappings(This,dst_resource,dst_region_start_coordinate,src_resource,src_region_start_coordinate,region_size,flags) (This)->lpVtbl->CopyTileMappings(This,dst_resource,dst_region_start_coordinate,src_resource,src_region_start_coordinate,region_size,flags) #define ID3D12CommandQueue_ExecuteCommandLists(This,command_list_count,command_lists) (This)->lpVtbl->ExecuteCommandLists(This,command_list_count,command_lists) #define ID3D12CommandQueue_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size) @@ -5644,64 +7987,64 @@ interface ID3D12CommandQueue { #define ID3D12CommandQueue_GetDesc(This) ID3D12CommandQueue_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12CommandQueue_QueryInterface(ID3D12CommandQueue* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_QueryInterface(ID3D12CommandQueue* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12CommandQueue_AddRef(ID3D12CommandQueue* This) { +static __WIDL_INLINE ULONG ID3D12CommandQueue_AddRef(ID3D12CommandQueue* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12CommandQueue_Release(ID3D12CommandQueue* This) { +static __WIDL_INLINE ULONG ID3D12CommandQueue_Release(ID3D12CommandQueue* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12CommandQueue_GetPrivateData(ID3D12CommandQueue* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetPrivateData(ID3D12CommandQueue* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandQueue_SetPrivateData(ID3D12CommandQueue* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_SetPrivateData(ID3D12CommandQueue* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandQueue_SetPrivateDataInterface(ID3D12CommandQueue* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_SetPrivateDataInterface(ID3D12CommandQueue* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12CommandQueue_SetName(ID3D12CommandQueue* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_SetName(ID3D12CommandQueue* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12CommandQueue_GetDevice(ID3D12CommandQueue* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetDevice(ID3D12CommandQueue* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12CommandQueue methods ***/ -static FORCEINLINE void ID3D12CommandQueue_UpdateTileMappings(ID3D12CommandQueue* This,ID3D12Resource *resource,UINT region_count,const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates,const D3D12_TILE_REGION_SIZE *region_sizes,UINT range_count,const D3D12_TILE_RANGE_FLAGS *range_flags,UINT *heap_range_offsets,UINT *range_tile_counts,D3D12_TILE_MAPPING_FLAGS flags) { - This->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,range_count,range_flags,heap_range_offsets,range_tile_counts,flags); +static __WIDL_INLINE void ID3D12CommandQueue_UpdateTileMappings(ID3D12CommandQueue* This,ID3D12Resource *resource,UINT region_count,const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates,const D3D12_TILE_REGION_SIZE *region_sizes,ID3D12Heap *heap,UINT range_count,const D3D12_TILE_RANGE_FLAGS *range_flags,const UINT *heap_range_offsets,const UINT *range_tile_counts,D3D12_TILE_MAPPING_FLAGS flags) { + This->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,heap,range_count,range_flags,heap_range_offsets,range_tile_counts,flags); } -static FORCEINLINE void ID3D12CommandQueue_CopyTileMappings(ID3D12CommandQueue* This,ID3D12Resource *dst_resource,const D3D12_TILED_RESOURCE_COORDINATE *dst_region_start_coordinate,ID3D12Resource *src_resource,const D3D12_TILED_RESOURCE_COORDINATE *src_region_start_coordinate,const D3D12_TILE_REGION_SIZE *region_size,D3D12_TILE_MAPPING_FLAGS flags) { +static __WIDL_INLINE void ID3D12CommandQueue_CopyTileMappings(ID3D12CommandQueue* This,ID3D12Resource *dst_resource,const D3D12_TILED_RESOURCE_COORDINATE *dst_region_start_coordinate,ID3D12Resource *src_resource,const D3D12_TILED_RESOURCE_COORDINATE *src_region_start_coordinate,const D3D12_TILE_REGION_SIZE *region_size,D3D12_TILE_MAPPING_FLAGS flags) { This->lpVtbl->CopyTileMappings(This,dst_resource,dst_region_start_coordinate,src_resource,src_region_start_coordinate,region_size,flags); } -static FORCEINLINE void ID3D12CommandQueue_ExecuteCommandLists(ID3D12CommandQueue* This,UINT command_list_count,ID3D12CommandList *const *command_lists) { +static __WIDL_INLINE void ID3D12CommandQueue_ExecuteCommandLists(ID3D12CommandQueue* This,UINT command_list_count,ID3D12CommandList *const *command_lists) { This->lpVtbl->ExecuteCommandLists(This,command_list_count,command_lists); } -static FORCEINLINE void ID3D12CommandQueue_SetMarker(ID3D12CommandQueue* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12CommandQueue_SetMarker(ID3D12CommandQueue* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->SetMarker(This,metadata,data,size); } -static FORCEINLINE void ID3D12CommandQueue_BeginEvent(ID3D12CommandQueue* This,UINT metadata,const void *data,UINT size) { +static __WIDL_INLINE void ID3D12CommandQueue_BeginEvent(ID3D12CommandQueue* This,UINT metadata,const void *data,UINT size) { This->lpVtbl->BeginEvent(This,metadata,data,size); } -static FORCEINLINE void ID3D12CommandQueue_EndEvent(ID3D12CommandQueue* This) { +static __WIDL_INLINE void ID3D12CommandQueue_EndEvent(ID3D12CommandQueue* This) { This->lpVtbl->EndEvent(This); } -static FORCEINLINE HRESULT ID3D12CommandQueue_Signal(ID3D12CommandQueue* This,ID3D12Fence *fence,UINT64 value) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_Signal(ID3D12CommandQueue* This,ID3D12Fence *fence,UINT64 value) { return This->lpVtbl->Signal(This,fence,value); } -static FORCEINLINE HRESULT ID3D12CommandQueue_Wait(ID3D12CommandQueue* This,ID3D12Fence *fence,UINT64 value) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_Wait(ID3D12CommandQueue* This,ID3D12Fence *fence,UINT64 value) { return This->lpVtbl->Wait(This,fence,value); } -static FORCEINLINE HRESULT ID3D12CommandQueue_GetTimestampFrequency(ID3D12CommandQueue* This,UINT64 *frequency) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetTimestampFrequency(ID3D12CommandQueue* This,UINT64 *frequency) { return This->lpVtbl->GetTimestampFrequency(This,frequency); } -static FORCEINLINE HRESULT ID3D12CommandQueue_GetClockCalibration(ID3D12CommandQueue* This,UINT64 *gpu_timestamp,UINT64 *cpu_timestamp) { +static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetClockCalibration(ID3D12CommandQueue* This,UINT64 *gpu_timestamp,UINT64 *cpu_timestamp) { return This->lpVtbl->GetClockCalibration(This,gpu_timestamp,cpu_timestamp); } -static FORCEINLINE D3D12_COMMAND_QUEUE_DESC ID3D12CommandQueue_GetDesc(ID3D12CommandQueue* This) { +static __WIDL_INLINE D3D12_COMMAND_QUEUE_DESC ID3D12CommandQueue_GetDesc(ID3D12CommandQueue* This) { D3D12_COMMAND_QUEUE_DESC __ret; return *This->lpVtbl->GetDesc(This,&__ret); } @@ -5716,14 +8059,18 @@ static FORCEINLINE D3D12_COMMAND_QUEUE_DESC ID3D12CommandQueue_GetDesc(ID3D12Com typedef enum D3D12_FENCE_FLAGS { D3D12_FENCE_FLAG_NONE = 0x0, D3D12_FENCE_FLAG_SHARED = 0x1, - D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2 + D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, + D3D12_FENCE_FLAG_NON_MONITORED = 0x4 } D3D12_FENCE_FLAGS; DEFINE_ENUM_FLAG_OPERATORS(D3D12_FENCE_FLAGS); typedef enum D3D12_QUERY_HEAP_TYPE { D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, - D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3 + D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, + D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4, + D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5, + D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7 } D3D12_QUERY_HEAP_TYPE; typedef struct D3D12_QUERY_HEAP_DESC { D3D12_QUERY_HEAP_TYPE Type; @@ -5739,7 +8086,9 @@ typedef enum D3D12_INDIRECT_ARGUMENT_TYPE { D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = 5, D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = 6, D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = 7, - D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = 8 + D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = 8, + D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = 9, + D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = 10 } D3D12_INDIRECT_ARGUMENT_TYPE; typedef struct D3D12_INDIRECT_ARGUMENT_DESC { D3D12_INDIRECT_ARGUMENT_TYPE Type; @@ -5850,30 +8199,30 @@ interface ID3D12RootSignature { #define ID3D12RootSignature_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12RootSignature_QueryInterface(ID3D12RootSignature* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12RootSignature_QueryInterface(ID3D12RootSignature* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12RootSignature_AddRef(ID3D12RootSignature* This) { +static __WIDL_INLINE ULONG ID3D12RootSignature_AddRef(ID3D12RootSignature* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12RootSignature_Release(ID3D12RootSignature* This) { +static __WIDL_INLINE ULONG ID3D12RootSignature_Release(ID3D12RootSignature* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12RootSignature_GetPrivateData(ID3D12RootSignature* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12RootSignature_GetPrivateData(ID3D12RootSignature* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12RootSignature_SetPrivateData(ID3D12RootSignature* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12RootSignature_SetPrivateData(ID3D12RootSignature* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12RootSignature_SetPrivateDataInterface(ID3D12RootSignature* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12RootSignature_SetPrivateDataInterface(ID3D12RootSignature* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12RootSignature_SetName(ID3D12RootSignature* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12RootSignature_SetName(ID3D12RootSignature* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12RootSignature_GetDevice(ID3D12RootSignature* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12RootSignature_GetDevice(ID3D12RootSignature* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } #endif @@ -5975,34 +8324,34 @@ interface ID3D12PipelineState { #define ID3D12PipelineState_GetCachedBlob(This,blob) (This)->lpVtbl->GetCachedBlob(This,blob) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12PipelineState_QueryInterface(ID3D12PipelineState* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_QueryInterface(ID3D12PipelineState* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12PipelineState_AddRef(ID3D12PipelineState* This) { +static __WIDL_INLINE ULONG ID3D12PipelineState_AddRef(ID3D12PipelineState* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12PipelineState_Release(ID3D12PipelineState* This) { +static __WIDL_INLINE ULONG ID3D12PipelineState_Release(ID3D12PipelineState* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12PipelineState_GetPrivateData(ID3D12PipelineState* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_GetPrivateData(ID3D12PipelineState* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12PipelineState_SetPrivateData(ID3D12PipelineState* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_SetPrivateData(ID3D12PipelineState* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12PipelineState_SetPrivateDataInterface(ID3D12PipelineState* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_SetPrivateDataInterface(ID3D12PipelineState* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12PipelineState_SetName(ID3D12PipelineState* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_SetName(ID3D12PipelineState* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12PipelineState_GetDevice(ID3D12PipelineState* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_GetDevice(ID3D12PipelineState* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12PipelineState methods ***/ -static FORCEINLINE HRESULT ID3D12PipelineState_GetCachedBlob(ID3D12PipelineState* This,ID3DBlob **blob) { +static __WIDL_INLINE HRESULT ID3D12PipelineState_GetCachedBlob(ID3D12PipelineState* This,ID3DBlob **blob) { return This->lpVtbl->GetCachedBlob(This,blob); } #endif @@ -6121,40 +8470,40 @@ interface ID3D12Fence { #define ID3D12Fence_Signal(This,value) (This)->lpVtbl->Signal(This,value) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Fence_QueryInterface(ID3D12Fence* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Fence_QueryInterface(ID3D12Fence* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Fence_AddRef(ID3D12Fence* This) { +static __WIDL_INLINE ULONG ID3D12Fence_AddRef(ID3D12Fence* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Fence_Release(ID3D12Fence* This) { +static __WIDL_INLINE ULONG ID3D12Fence_Release(ID3D12Fence* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Fence_GetPrivateData(ID3D12Fence* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Fence_GetPrivateData(ID3D12Fence* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Fence_SetPrivateData(ID3D12Fence* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Fence_SetPrivateData(ID3D12Fence* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Fence_SetPrivateDataInterface(ID3D12Fence* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Fence_SetPrivateDataInterface(ID3D12Fence* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Fence_SetName(ID3D12Fence* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Fence_SetName(ID3D12Fence* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12Fence_GetDevice(ID3D12Fence* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12Fence_GetDevice(ID3D12Fence* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12Fence methods ***/ -static FORCEINLINE UINT64 ID3D12Fence_GetCompletedValue(ID3D12Fence* This) { +static __WIDL_INLINE UINT64 ID3D12Fence_GetCompletedValue(ID3D12Fence* This) { return This->lpVtbl->GetCompletedValue(This); } -static FORCEINLINE HRESULT ID3D12Fence_SetEventOnCompletion(ID3D12Fence* This,UINT64 value,HANDLE event) { +static __WIDL_INLINE HRESULT ID3D12Fence_SetEventOnCompletion(ID3D12Fence* This,UINT64 value,HANDLE event) { return This->lpVtbl->SetEventOnCompletion(This,value,event); } -static FORCEINLINE HRESULT ID3D12Fence_Signal(ID3D12Fence* This,UINT64 value) { +static __WIDL_INLINE HRESULT ID3D12Fence_Signal(ID3D12Fence* This,UINT64 value) { return This->lpVtbl->Signal(This,value); } #endif @@ -6165,6 +8514,161 @@ static FORCEINLINE HRESULT ID3D12Fence_Signal(ID3D12Fence* This,UINT64 value) { #endif /* __ID3D12Fence_INTERFACE_DEFINED__ */ +/***************************************************************************** + * ID3D12Fence1 interface + */ +#ifndef __ID3D12Fence1_INTERFACE_DEFINED__ +#define __ID3D12Fence1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Fence1, 0x433685fe, 0xe22b, 0x4ca0, 0xa8,0xdb, 0xb5,0xb4,0xf4,0xdd,0x0e,0x4a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a") +ID3D12Fence1 : public ID3D12Fence +{ + virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Fence1, 0x433685fe, 0xe22b, 0x4ca0, 0xa8,0xdb, 0xb5,0xb4,0xf4,0xdd,0x0e,0x4a) +#endif +#else +typedef struct ID3D12Fence1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Fence1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Fence1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Fence1 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Fence1 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Fence1 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Fence1 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Fence1 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12Fence1 *This, + REFIID riid, + void **device); + + /*** ID3D12Fence methods ***/ + UINT64 (STDMETHODCALLTYPE *GetCompletedValue)( + ID3D12Fence1 *This); + + HRESULT (STDMETHODCALLTYPE *SetEventOnCompletion)( + ID3D12Fence1 *This, + UINT64 value, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *Signal)( + ID3D12Fence1 *This, + UINT64 value); + + /*** ID3D12Fence1 methods ***/ + D3D12_FENCE_FLAGS (STDMETHODCALLTYPE *GetCreationFlags)( + ID3D12Fence1 *This); + + END_INTERFACE +} ID3D12Fence1Vtbl; + +interface ID3D12Fence1 { + CONST_VTBL ID3D12Fence1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Fence1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Fence1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Fence1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Fence1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Fence1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Fence1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Fence1_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12Fence1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12Fence methods ***/ +#define ID3D12Fence1_GetCompletedValue(This) (This)->lpVtbl->GetCompletedValue(This) +#define ID3D12Fence1_SetEventOnCompletion(This,value,event) (This)->lpVtbl->SetEventOnCompletion(This,value,event) +#define ID3D12Fence1_Signal(This,value) (This)->lpVtbl->Signal(This,value) +/*** ID3D12Fence1 methods ***/ +#define ID3D12Fence1_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Fence1_QueryInterface(ID3D12Fence1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Fence1_AddRef(ID3D12Fence1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Fence1_Release(ID3D12Fence1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Fence1_GetPrivateData(ID3D12Fence1* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Fence1_SetPrivateData(ID3D12Fence1* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Fence1_SetPrivateDataInterface(ID3D12Fence1* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Fence1_SetName(ID3D12Fence1* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12Fence1_GetDevice(ID3D12Fence1* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12Fence methods ***/ +static __WIDL_INLINE UINT64 ID3D12Fence1_GetCompletedValue(ID3D12Fence1* This) { + return This->lpVtbl->GetCompletedValue(This); +} +static __WIDL_INLINE HRESULT ID3D12Fence1_SetEventOnCompletion(ID3D12Fence1* This,UINT64 value,HANDLE event) { + return This->lpVtbl->SetEventOnCompletion(This,value,event); +} +static __WIDL_INLINE HRESULT ID3D12Fence1_Signal(ID3D12Fence1* This,UINT64 value) { + return This->lpVtbl->Signal(This,value); +} +/*** ID3D12Fence1 methods ***/ +static __WIDL_INLINE D3D12_FENCE_FLAGS ID3D12Fence1_GetCreationFlags(ID3D12Fence1* This) { + return This->lpVtbl->GetCreationFlags(This); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */ + /***************************************************************************** * ID3D12CommandAllocator interface */ @@ -6255,34 +8759,34 @@ interface ID3D12CommandAllocator { #define ID3D12CommandAllocator_Reset(This) (This)->lpVtbl->Reset(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12CommandAllocator_QueryInterface(ID3D12CommandAllocator* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_QueryInterface(ID3D12CommandAllocator* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12CommandAllocator_AddRef(ID3D12CommandAllocator* This) { +static __WIDL_INLINE ULONG ID3D12CommandAllocator_AddRef(ID3D12CommandAllocator* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12CommandAllocator_Release(ID3D12CommandAllocator* This) { +static __WIDL_INLINE ULONG ID3D12CommandAllocator_Release(ID3D12CommandAllocator* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12CommandAllocator_GetPrivateData(ID3D12CommandAllocator* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_GetPrivateData(ID3D12CommandAllocator* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandAllocator_SetPrivateData(ID3D12CommandAllocator* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_SetPrivateData(ID3D12CommandAllocator* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12CommandAllocator_SetPrivateDataInterface(ID3D12CommandAllocator* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_SetPrivateDataInterface(ID3D12CommandAllocator* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12CommandAllocator_SetName(ID3D12CommandAllocator* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_SetName(ID3D12CommandAllocator* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12DeviceChild methods ***/ -static FORCEINLINE HRESULT ID3D12CommandAllocator_GetDevice(ID3D12CommandAllocator* This,REFIID riid,void **device) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_GetDevice(ID3D12CommandAllocator* This,REFIID riid,void **device) { return This->lpVtbl->GetDevice(This,riid,device); } /*** ID3D12CommandAllocator methods ***/ -static FORCEINLINE HRESULT ID3D12CommandAllocator_Reset(ID3D12CommandAllocator* This) { +static __WIDL_INLINE HRESULT ID3D12CommandAllocator_Reset(ID3D12CommandAllocator* This) { return This->lpVtbl->Reset(This); } #endif @@ -6891,140 +9395,140 @@ interface ID3D12Device { #define ID3D12Device_GetAdapterLuid(This) ID3D12Device_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Device_QueryInterface(ID3D12Device* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Device_QueryInterface(ID3D12Device* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Device_AddRef(ID3D12Device* This) { +static __WIDL_INLINE ULONG ID3D12Device_AddRef(ID3D12Device* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Device_Release(ID3D12Device* This) { +static __WIDL_INLINE ULONG ID3D12Device_Release(ID3D12Device* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Device_GetPrivateData(ID3D12Device* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Device_GetPrivateData(ID3D12Device* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Device_SetPrivateData(ID3D12Device* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Device_SetPrivateData(ID3D12Device* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Device_SetPrivateDataInterface(ID3D12Device* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Device_SetPrivateDataInterface(ID3D12Device* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Device_SetName(ID3D12Device* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Device_SetName(ID3D12Device* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12Device methods ***/ -static FORCEINLINE UINT ID3D12Device_GetNodeCount(ID3D12Device* This) { +static __WIDL_INLINE UINT ID3D12Device_GetNodeCount(ID3D12Device* This) { return This->lpVtbl->GetNodeCount(This); } -static FORCEINLINE HRESULT ID3D12Device_CreateCommandQueue(ID3D12Device* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandQueue(ID3D12Device* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); } -static FORCEINLINE HRESULT ID3D12Device_CreateCommandAllocator(ID3D12Device* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandAllocator(ID3D12Device* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); } -static FORCEINLINE HRESULT ID3D12Device_CreateGraphicsPipelineState(ID3D12Device* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateGraphicsPipelineState(ID3D12Device* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); } -static FORCEINLINE HRESULT ID3D12Device_CreateComputePipelineState(ID3D12Device* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateComputePipelineState(ID3D12Device* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); } -static FORCEINLINE HRESULT ID3D12Device_CreateCommandList(ID3D12Device* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandList(ID3D12Device* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); } -static FORCEINLINE HRESULT ID3D12Device_CheckFeatureSupport(ID3D12Device* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { +static __WIDL_INLINE HRESULT ID3D12Device_CheckFeatureSupport(ID3D12Device* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); } -static FORCEINLINE HRESULT ID3D12Device_CreateDescriptorHeap(ID3D12Device* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateDescriptorHeap(ID3D12Device* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); } -static FORCEINLINE UINT ID3D12Device_GetDescriptorHandleIncrementSize(ID3D12Device* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { +static __WIDL_INLINE UINT ID3D12Device_GetDescriptorHandleIncrementSize(ID3D12Device* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); } -static FORCEINLINE HRESULT ID3D12Device_CreateRootSignature(ID3D12Device* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateRootSignature(ID3D12Device* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); } -static FORCEINLINE void ID3D12Device_CreateConstantBufferView(ID3D12Device* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device_CreateConstantBufferView(ID3D12Device* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); } -static FORCEINLINE void ID3D12Device_CreateShaderResourceView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device_CreateShaderResourceView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device_CreateUnorderedAccessView(ID3D12Device* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device_CreateUnorderedAccessView(ID3D12Device* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device_CreateRenderTargetView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device_CreateRenderTargetView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device_CreateDepthStencilView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device_CreateDepthStencilView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device_CreateSampler(ID3D12Device* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device_CreateSampler(ID3D12Device* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateSampler(This,desc,descriptor); } -static FORCEINLINE void ID3D12Device_CopyDescriptors(ID3D12Device* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { +static __WIDL_INLINE void ID3D12Device_CopyDescriptors(ID3D12Device* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); } -static FORCEINLINE void ID3D12Device_CopyDescriptorsSimple(ID3D12Device* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { +static __WIDL_INLINE void ID3D12Device_CopyDescriptorsSimple(ID3D12Device* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); } -static FORCEINLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device_GetResourceAllocationInfo(ID3D12Device* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device_GetResourceAllocationInfo(ID3D12Device* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { D3D12_RESOURCE_ALLOCATION_INFO __ret; return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); } -static FORCEINLINE D3D12_HEAP_PROPERTIES ID3D12Device_GetCustomHeapProperties(ID3D12Device* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device_GetCustomHeapProperties(ID3D12Device* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { D3D12_HEAP_PROPERTIES __ret; return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); } -static FORCEINLINE HRESULT ID3D12Device_CreateCommittedResource(ID3D12Device* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateCommittedResource(ID3D12Device* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); } -static FORCEINLINE HRESULT ID3D12Device_CreateHeap(ID3D12Device* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateHeap(ID3D12Device* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { return This->lpVtbl->CreateHeap(This,desc,riid,heap); } -static FORCEINLINE HRESULT ID3D12Device_CreatePlacedResource(ID3D12Device* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { +static __WIDL_INLINE HRESULT ID3D12Device_CreatePlacedResource(ID3D12Device* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); } -static FORCEINLINE HRESULT ID3D12Device_CreateReservedResource(ID3D12Device* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateReservedResource(ID3D12Device* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); } -static FORCEINLINE HRESULT ID3D12Device_CreateSharedHandle(ID3D12Device* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateSharedHandle(ID3D12Device* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); } -static FORCEINLINE HRESULT ID3D12Device_OpenSharedHandle(ID3D12Device* This,HANDLE handle,REFIID riid,void **object) { +static __WIDL_INLINE HRESULT ID3D12Device_OpenSharedHandle(ID3D12Device* This,HANDLE handle,REFIID riid,void **object) { return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); } -static FORCEINLINE HRESULT ID3D12Device_OpenSharedHandleByName(ID3D12Device* This,const WCHAR *name,DWORD access,HANDLE *handle) { +static __WIDL_INLINE HRESULT ID3D12Device_OpenSharedHandleByName(ID3D12Device* This,const WCHAR *name,DWORD access,HANDLE *handle) { return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); } -static FORCEINLINE HRESULT ID3D12Device_MakeResident(ID3D12Device* This,UINT object_count,ID3D12Pageable *const *objects) { +static __WIDL_INLINE HRESULT ID3D12Device_MakeResident(ID3D12Device* This,UINT object_count,ID3D12Pageable *const *objects) { return This->lpVtbl->MakeResident(This,object_count,objects); } -static FORCEINLINE HRESULT ID3D12Device_Evict(ID3D12Device* This,UINT object_count,ID3D12Pageable *const *objects) { +static __WIDL_INLINE HRESULT ID3D12Device_Evict(ID3D12Device* This,UINT object_count,ID3D12Pageable *const *objects) { return This->lpVtbl->Evict(This,object_count,objects); } -static FORCEINLINE HRESULT ID3D12Device_CreateFence(ID3D12Device* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateFence(ID3D12Device* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); } -static FORCEINLINE HRESULT ID3D12Device_GetDeviceRemovedReason(ID3D12Device* This) { +static __WIDL_INLINE HRESULT ID3D12Device_GetDeviceRemovedReason(ID3D12Device* This) { return This->lpVtbl->GetDeviceRemovedReason(This); } -static FORCEINLINE void ID3D12Device_GetCopyableFootprints(ID3D12Device* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { +static __WIDL_INLINE void ID3D12Device_GetCopyableFootprints(ID3D12Device* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); } -static FORCEINLINE HRESULT ID3D12Device_CreateQueryHeap(ID3D12Device* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateQueryHeap(ID3D12Device* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); } -static FORCEINLINE HRESULT ID3D12Device_SetStablePowerState(ID3D12Device* This,WINBOOL enable) { +static __WIDL_INLINE HRESULT ID3D12Device_SetStablePowerState(ID3D12Device* This,WINBOOL enable) { return This->lpVtbl->SetStablePowerState(This,enable); } -static FORCEINLINE HRESULT ID3D12Device_CreateCommandSignature(ID3D12Device* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { +static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandSignature(ID3D12Device* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); } -static FORCEINLINE void ID3D12Device_GetResourceTiling(ID3D12Device* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { +static __WIDL_INLINE void ID3D12Device_GetResourceTiling(ID3D12Device* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); } -static FORCEINLINE LUID ID3D12Device_GetAdapterLuid(ID3D12Device* This) { +static __WIDL_INLINE LUID ID3D12Device_GetAdapterLuid(ID3D12Device* This) { LUID __ret; return *This->lpVtbl->GetAdapterLuid(This,&__ret); } @@ -7036,6 +9540,379 @@ static FORCEINLINE LUID ID3D12Device_GetAdapterLuid(ID3D12Device* This) { #endif /* __ID3D12Device_INTERFACE_DEFINED__ */ +/***************************************************************************** + * ID3D12PipelineLibrary interface + */ +#ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__ +#define __ID3D12PipelineLibrary_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4,0xcc, 0x53,0xfb,0x9f,0xf7,0x41,0x4f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f") +ID3D12PipelineLibrary : public ID3D12DeviceChild +{ + virtual HRESULT STDMETHODCALLTYPE StorePipeline( + const WCHAR *name, + ID3D12PipelineState *pipeline) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline( + const WCHAR *name, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline( + const WCHAR *name, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state) = 0; + + virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Serialize( + void *data, + SIZE_T data_size_in_bytes) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4,0xcc, 0x53,0xfb,0x9f,0xf7,0x41,0x4f) +#endif +#else +typedef struct ID3D12PipelineLibraryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12PipelineLibrary *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12PipelineLibrary *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12PipelineLibrary *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12PipelineLibrary *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12PipelineLibrary *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12PipelineLibrary *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12PipelineLibrary *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12PipelineLibrary *This, + REFIID riid, + void **device); + + /*** ID3D12PipelineLibrary methods ***/ + HRESULT (STDMETHODCALLTYPE *StorePipeline)( + ID3D12PipelineLibrary *This, + const WCHAR *name, + ID3D12PipelineState *pipeline); + + HRESULT (STDMETHODCALLTYPE *LoadGraphicsPipeline)( + ID3D12PipelineLibrary *This, + const WCHAR *name, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *LoadComputePipeline)( + ID3D12PipelineLibrary *This, + const WCHAR *name, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + SIZE_T (STDMETHODCALLTYPE *GetSerializedSize)( + ID3D12PipelineLibrary *This); + + HRESULT (STDMETHODCALLTYPE *Serialize)( + ID3D12PipelineLibrary *This, + void *data, + SIZE_T data_size_in_bytes); + + END_INTERFACE +} ID3D12PipelineLibraryVtbl; + +interface ID3D12PipelineLibrary { + CONST_VTBL ID3D12PipelineLibraryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12PipelineLibrary_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12PipelineLibrary_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12PipelineLibrary_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12PipelineLibrary_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12PipelineLibrary_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12PipelineLibrary_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12PipelineLibrary methods ***/ +#define ID3D12PipelineLibrary_StorePipeline(This,name,pipeline) (This)->lpVtbl->StorePipeline(This,name,pipeline) +#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state) +#define ID3D12PipelineLibrary_LoadComputePipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state) +#define ID3D12PipelineLibrary_GetSerializedSize(This) (This)->lpVtbl->GetSerializedSize(This) +#define ID3D12PipelineLibrary_Serialize(This,data,data_size_in_bytes) (This)->lpVtbl->Serialize(This,data,data_size_in_bytes) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_QueryInterface(ID3D12PipelineLibrary* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12PipelineLibrary_AddRef(ID3D12PipelineLibrary* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12PipelineLibrary_Release(ID3D12PipelineLibrary* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_GetPrivateData(ID3D12PipelineLibrary* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_SetPrivateData(ID3D12PipelineLibrary* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_SetPrivateDataInterface(ID3D12PipelineLibrary* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_SetName(ID3D12PipelineLibrary* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_GetDevice(ID3D12PipelineLibrary* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12PipelineLibrary methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_StorePipeline(ID3D12PipelineLibrary* This,const WCHAR *name,ID3D12PipelineState *pipeline) { + return This->lpVtbl->StorePipeline(This,name,pipeline); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_LoadGraphicsPipeline(ID3D12PipelineLibrary* This,const WCHAR *name,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_LoadComputePipeline(ID3D12PipelineLibrary* This,const WCHAR *name,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state); +} +static __WIDL_INLINE SIZE_T ID3D12PipelineLibrary_GetSerializedSize(ID3D12PipelineLibrary* This) { + return This->lpVtbl->GetSerializedSize(This); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_Serialize(ID3D12PipelineLibrary* This,void *data,SIZE_T data_size_in_bytes) { + return This->lpVtbl->Serialize(This,data,data_size_in_bytes); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12PipelineLibrary1 interface + */ +#ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ +#define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd,0x82, 0xc3,0x7f,0x86,0x96,0x1d,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3") +ID3D12PipelineLibrary1 : public ID3D12PipelineLibrary +{ + virtual HRESULT STDMETHODCALLTYPE LoadPipeline( + const WCHAR *name, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd,0x82, 0xc3,0x7f,0x86,0x96,0x1d,0xc3) +#endif +#else +typedef struct ID3D12PipelineLibrary1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12PipelineLibrary1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12PipelineLibrary1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12PipelineLibrary1 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12PipelineLibrary1 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12PipelineLibrary1 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12PipelineLibrary1 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12PipelineLibrary1 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12PipelineLibrary1 *This, + REFIID riid, + void **device); + + /*** ID3D12PipelineLibrary methods ***/ + HRESULT (STDMETHODCALLTYPE *StorePipeline)( + ID3D12PipelineLibrary1 *This, + const WCHAR *name, + ID3D12PipelineState *pipeline); + + HRESULT (STDMETHODCALLTYPE *LoadGraphicsPipeline)( + ID3D12PipelineLibrary1 *This, + const WCHAR *name, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *LoadComputePipeline)( + ID3D12PipelineLibrary1 *This, + const WCHAR *name, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + SIZE_T (STDMETHODCALLTYPE *GetSerializedSize)( + ID3D12PipelineLibrary1 *This); + + HRESULT (STDMETHODCALLTYPE *Serialize)( + ID3D12PipelineLibrary1 *This, + void *data, + SIZE_T data_size_in_bytes); + + /*** ID3D12PipelineLibrary1 methods ***/ + HRESULT (STDMETHODCALLTYPE *LoadPipeline)( + ID3D12PipelineLibrary1 *This, + const WCHAR *name, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + END_INTERFACE +} ID3D12PipelineLibrary1Vtbl; + +interface ID3D12PipelineLibrary1 { + CONST_VTBL ID3D12PipelineLibrary1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12PipelineLibrary1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12PipelineLibrary1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12PipelineLibrary1_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12PipelineLibrary1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12PipelineLibrary methods ***/ +#define ID3D12PipelineLibrary1_StorePipeline(This,name,pipeline) (This)->lpVtbl->StorePipeline(This,name,pipeline) +#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state) +#define ID3D12PipelineLibrary1_LoadComputePipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state) +#define ID3D12PipelineLibrary1_GetSerializedSize(This) (This)->lpVtbl->GetSerializedSize(This) +#define ID3D12PipelineLibrary1_Serialize(This,data,data_size_in_bytes) (This)->lpVtbl->Serialize(This,data,data_size_in_bytes) +/*** ID3D12PipelineLibrary1 methods ***/ +#define ID3D12PipelineLibrary1_LoadPipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadPipeline(This,name,desc,riid,pipeline_state) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_QueryInterface(ID3D12PipelineLibrary1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12PipelineLibrary1_AddRef(ID3D12PipelineLibrary1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12PipelineLibrary1_Release(ID3D12PipelineLibrary1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_GetPrivateData(ID3D12PipelineLibrary1* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_SetPrivateData(ID3D12PipelineLibrary1* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_SetPrivateDataInterface(ID3D12PipelineLibrary1* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_SetName(ID3D12PipelineLibrary1* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_GetDevice(ID3D12PipelineLibrary1* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12PipelineLibrary methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_StorePipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,ID3D12PipelineState *pipeline) { + return This->lpVtbl->StorePipeline(This,name,pipeline); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_LoadGraphicsPipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_LoadComputePipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state); +} +static __WIDL_INLINE SIZE_T ID3D12PipelineLibrary1_GetSerializedSize(ID3D12PipelineLibrary1* This) { + return This->lpVtbl->GetSerializedSize(This); +} +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_Serialize(ID3D12PipelineLibrary1* This,void *data,SIZE_T data_size_in_bytes) { + return This->lpVtbl->Serialize(This,data,data_size_in_bytes); +} +/*** ID3D12PipelineLibrary1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_LoadPipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->LoadPipeline(This,name,desc,riid,pipeline_state); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */ + /***************************************************************************** * ID3D12Device1 interface */ @@ -7433,151 +10310,151 @@ interface ID3D12Device1 { #define ID3D12Device1_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12Device1_QueryInterface(ID3D12Device1* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12Device1_QueryInterface(ID3D12Device1* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12Device1_AddRef(ID3D12Device1* This) { +static __WIDL_INLINE ULONG ID3D12Device1_AddRef(ID3D12Device1* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12Device1_Release(ID3D12Device1* This) { +static __WIDL_INLINE ULONG ID3D12Device1_Release(ID3D12Device1* This) { return This->lpVtbl->Release(This); } /*** ID3D12Object methods ***/ -static FORCEINLINE HRESULT ID3D12Device1_GetPrivateData(ID3D12Device1* This,REFGUID guid,UINT *data_size,void *data) { +static __WIDL_INLINE HRESULT ID3D12Device1_GetPrivateData(ID3D12Device1* This,REFGUID guid,UINT *data_size,void *data) { return This->lpVtbl->GetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Device1_SetPrivateData(ID3D12Device1* This,REFGUID guid,UINT data_size,const void *data) { +static __WIDL_INLINE HRESULT ID3D12Device1_SetPrivateData(ID3D12Device1* This,REFGUID guid,UINT data_size,const void *data) { return This->lpVtbl->SetPrivateData(This,guid,data_size,data); } -static FORCEINLINE HRESULT ID3D12Device1_SetPrivateDataInterface(ID3D12Device1* This,REFGUID guid,const IUnknown *data) { +static __WIDL_INLINE HRESULT ID3D12Device1_SetPrivateDataInterface(ID3D12Device1* This,REFGUID guid,const IUnknown *data) { return This->lpVtbl->SetPrivateDataInterface(This,guid,data); } -static FORCEINLINE HRESULT ID3D12Device1_SetName(ID3D12Device1* This,const WCHAR *name) { +static __WIDL_INLINE HRESULT ID3D12Device1_SetName(ID3D12Device1* This,const WCHAR *name) { return This->lpVtbl->SetName(This,name); } /*** ID3D12Device methods ***/ -static FORCEINLINE UINT ID3D12Device1_GetNodeCount(ID3D12Device1* This) { +static __WIDL_INLINE UINT ID3D12Device1_GetNodeCount(ID3D12Device1* This) { return This->lpVtbl->GetNodeCount(This); } -static FORCEINLINE HRESULT ID3D12Device1_CreateCommandQueue(ID3D12Device1* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandQueue(ID3D12Device1* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); } -static FORCEINLINE HRESULT ID3D12Device1_CreateCommandAllocator(ID3D12Device1* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandAllocator(ID3D12Device1* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); } -static FORCEINLINE HRESULT ID3D12Device1_CreateGraphicsPipelineState(ID3D12Device1* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateGraphicsPipelineState(ID3D12Device1* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); } -static FORCEINLINE HRESULT ID3D12Device1_CreateComputePipelineState(ID3D12Device1* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateComputePipelineState(ID3D12Device1* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); } -static FORCEINLINE HRESULT ID3D12Device1_CreateCommandList(ID3D12Device1* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandList(ID3D12Device1* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); } -static FORCEINLINE HRESULT ID3D12Device1_CheckFeatureSupport(ID3D12Device1* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { +static __WIDL_INLINE HRESULT ID3D12Device1_CheckFeatureSupport(ID3D12Device1* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); } -static FORCEINLINE HRESULT ID3D12Device1_CreateDescriptorHeap(ID3D12Device1* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateDescriptorHeap(ID3D12Device1* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); } -static FORCEINLINE UINT ID3D12Device1_GetDescriptorHandleIncrementSize(ID3D12Device1* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { +static __WIDL_INLINE UINT ID3D12Device1_GetDescriptorHandleIncrementSize(ID3D12Device1* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); } -static FORCEINLINE HRESULT ID3D12Device1_CreateRootSignature(ID3D12Device1* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateRootSignature(ID3D12Device1* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); } -static FORCEINLINE void ID3D12Device1_CreateConstantBufferView(ID3D12Device1* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device1_CreateConstantBufferView(ID3D12Device1* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); } -static FORCEINLINE void ID3D12Device1_CreateShaderResourceView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device1_CreateShaderResourceView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device1_CreateUnorderedAccessView(ID3D12Device1* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device1_CreateUnorderedAccessView(ID3D12Device1* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device1_CreateRenderTargetView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device1_CreateRenderTargetView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device1_CreateDepthStencilView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device1_CreateDepthStencilView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); } -static FORCEINLINE void ID3D12Device1_CreateSampler(ID3D12Device1* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { +static __WIDL_INLINE void ID3D12Device1_CreateSampler(ID3D12Device1* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { This->lpVtbl->CreateSampler(This,desc,descriptor); } -static FORCEINLINE void ID3D12Device1_CopyDescriptors(ID3D12Device1* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { +static __WIDL_INLINE void ID3D12Device1_CopyDescriptors(ID3D12Device1* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); } -static FORCEINLINE void ID3D12Device1_CopyDescriptorsSimple(ID3D12Device1* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { +static __WIDL_INLINE void ID3D12Device1_CopyDescriptorsSimple(ID3D12Device1* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); } -static FORCEINLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device1_GetResourceAllocationInfo(ID3D12Device1* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device1_GetResourceAllocationInfo(ID3D12Device1* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { D3D12_RESOURCE_ALLOCATION_INFO __ret; return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); } -static FORCEINLINE D3D12_HEAP_PROPERTIES ID3D12Device1_GetCustomHeapProperties(ID3D12Device1* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device1_GetCustomHeapProperties(ID3D12Device1* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { D3D12_HEAP_PROPERTIES __ret; return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); } -static FORCEINLINE HRESULT ID3D12Device1_CreateCommittedResource(ID3D12Device1* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommittedResource(ID3D12Device1* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); } -static FORCEINLINE HRESULT ID3D12Device1_CreateHeap(ID3D12Device1* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateHeap(ID3D12Device1* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { return This->lpVtbl->CreateHeap(This,desc,riid,heap); } -static FORCEINLINE HRESULT ID3D12Device1_CreatePlacedResource(ID3D12Device1* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreatePlacedResource(ID3D12Device1* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); } -static FORCEINLINE HRESULT ID3D12Device1_CreateReservedResource(ID3D12Device1* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateReservedResource(ID3D12Device1* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); } -static FORCEINLINE HRESULT ID3D12Device1_CreateSharedHandle(ID3D12Device1* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateSharedHandle(ID3D12Device1* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); } -static FORCEINLINE HRESULT ID3D12Device1_OpenSharedHandle(ID3D12Device1* This,HANDLE handle,REFIID riid,void **object) { +static __WIDL_INLINE HRESULT ID3D12Device1_OpenSharedHandle(ID3D12Device1* This,HANDLE handle,REFIID riid,void **object) { return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); } -static FORCEINLINE HRESULT ID3D12Device1_OpenSharedHandleByName(ID3D12Device1* This,const WCHAR *name,DWORD access,HANDLE *handle) { +static __WIDL_INLINE HRESULT ID3D12Device1_OpenSharedHandleByName(ID3D12Device1* This,const WCHAR *name,DWORD access,HANDLE *handle) { return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); } -static FORCEINLINE HRESULT ID3D12Device1_MakeResident(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects) { +static __WIDL_INLINE HRESULT ID3D12Device1_MakeResident(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects) { return This->lpVtbl->MakeResident(This,object_count,objects); } -static FORCEINLINE HRESULT ID3D12Device1_Evict(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects) { +static __WIDL_INLINE HRESULT ID3D12Device1_Evict(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects) { return This->lpVtbl->Evict(This,object_count,objects); } -static FORCEINLINE HRESULT ID3D12Device1_CreateFence(ID3D12Device1* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateFence(ID3D12Device1* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); } -static FORCEINLINE HRESULT ID3D12Device1_GetDeviceRemovedReason(ID3D12Device1* This) { +static __WIDL_INLINE HRESULT ID3D12Device1_GetDeviceRemovedReason(ID3D12Device1* This) { return This->lpVtbl->GetDeviceRemovedReason(This); } -static FORCEINLINE void ID3D12Device1_GetCopyableFootprints(ID3D12Device1* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { +static __WIDL_INLINE void ID3D12Device1_GetCopyableFootprints(ID3D12Device1* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); } -static FORCEINLINE HRESULT ID3D12Device1_CreateQueryHeap(ID3D12Device1* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateQueryHeap(ID3D12Device1* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); } -static FORCEINLINE HRESULT ID3D12Device1_SetStablePowerState(ID3D12Device1* This,WINBOOL enable) { +static __WIDL_INLINE HRESULT ID3D12Device1_SetStablePowerState(ID3D12Device1* This,WINBOOL enable) { return This->lpVtbl->SetStablePowerState(This,enable); } -static FORCEINLINE HRESULT ID3D12Device1_CreateCommandSignature(ID3D12Device1* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandSignature(ID3D12Device1* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); } -static FORCEINLINE void ID3D12Device1_GetResourceTiling(ID3D12Device1* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { +static __WIDL_INLINE void ID3D12Device1_GetResourceTiling(ID3D12Device1* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); } -static FORCEINLINE LUID ID3D12Device1_GetAdapterLuid(ID3D12Device1* This) { +static __WIDL_INLINE LUID ID3D12Device1_GetAdapterLuid(ID3D12Device1* This) { LUID __ret; return *This->lpVtbl->GetAdapterLuid(This,&__ret); } /*** ID3D12Device1 methods ***/ -static FORCEINLINE HRESULT ID3D12Device1_CreatePipelineLibrary(ID3D12Device1* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { +static __WIDL_INLINE HRESULT ID3D12Device1_CreatePipelineLibrary(ID3D12Device1* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); } -static FORCEINLINE HRESULT ID3D12Device1_SetEventOnMultipleFenceCompletion(ID3D12Device1* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { +static __WIDL_INLINE HRESULT ID3D12Device1_SetEventOnMultipleFenceCompletion(ID3D12Device1* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); } -static FORCEINLINE HRESULT ID3D12Device1_SetResidencyPriority(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { +static __WIDL_INLINE HRESULT ID3D12Device1_SetResidencyPriority(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); } #endif @@ -7588,6 +10465,1157 @@ static FORCEINLINE HRESULT ID3D12Device1_SetResidencyPriority(ID3D12Device1* Thi #endif /* __ID3D12Device1_INTERFACE_DEFINED__ */ +/***************************************************************************** + * ID3D12Device2 interface + */ +#ifndef __ID3D12Device2_INTERFACE_DEFINED__ +#define __ID3D12Device2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0,0xbb, 0x1a,0xf5,0xc5,0xb6,0x43,0x28); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328") +ID3D12Device2 : public ID3D12Device1 +{ + virtual HRESULT STDMETHODCALLTYPE CreatePipelineState( + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0,0xbb, 0x1a,0xf5,0xc5,0xb6,0x43,0x28) +#endif +#else +typedef struct ID3D12Device2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device2 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device2 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device2 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device2 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device2 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device2 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device2 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device2 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device2 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device2 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device2 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device2 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device2 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device2 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device2 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device2 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device2 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device2 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device2 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device2 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device2 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device2 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device2 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device2 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device2 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device2 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device2 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device2 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device2 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device2 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device2 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device2 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device2 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device2 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device2 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device2 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device2 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device2 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device2 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device2 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device2 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device2 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device2 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device2 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device2 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + END_INTERFACE +} ID3D12Device2Vtbl; + +interface ID3D12Device2 { + CONST_VTBL ID3D12Device2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device2_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device2_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device2_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device2_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device2_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device2_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device2_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device2_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device2_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device2_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device2_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device2_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device2_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device2_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device2_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device2_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device2_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device2_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device2_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device2_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device2_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device2_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device2_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device2_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device2_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device2_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device2_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device2_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device2_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device2_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device2_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device2_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device2_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device2_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device2_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device2_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device2_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device2_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device2_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device2_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device2_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device2_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device2_GetAdapterLuid(This) ID3D12Device2_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device2_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device2_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device2_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device2_QueryInterface(ID3D12Device2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device2_AddRef(ID3D12Device2* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device2_Release(ID3D12Device2* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device2_GetPrivateData(ID3D12Device2* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device2_SetPrivateData(ID3D12Device2* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device2_SetPrivateDataInterface(ID3D12Device2* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device2_SetName(ID3D12Device2* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device2_GetNodeCount(ID3D12Device2* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandQueue(ID3D12Device2* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandAllocator(ID3D12Device2* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateGraphicsPipelineState(ID3D12Device2* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateComputePipelineState(ID3D12Device2* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandList(ID3D12Device2* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CheckFeatureSupport(ID3D12Device2* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateDescriptorHeap(ID3D12Device2* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device2_GetDescriptorHandleIncrementSize(ID3D12Device2* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateRootSignature(ID3D12Device2* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device2_CreateConstantBufferView(ID3D12Device2* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device2_CreateShaderResourceView(ID3D12Device2* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device2_CreateUnorderedAccessView(ID3D12Device2* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device2_CreateRenderTargetView(ID3D12Device2* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device2_CreateDepthStencilView(ID3D12Device2* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device2_CreateSampler(ID3D12Device2* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device2_CopyDescriptors(ID3D12Device2* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device2_CopyDescriptorsSimple(ID3D12Device2* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device2_GetResourceAllocationInfo(ID3D12Device2* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device2_GetCustomHeapProperties(ID3D12Device2* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommittedResource(ID3D12Device2* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateHeap(ID3D12Device2* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreatePlacedResource(ID3D12Device2* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateReservedResource(ID3D12Device2* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateSharedHandle(ID3D12Device2* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device2_OpenSharedHandle(ID3D12Device2* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device2_OpenSharedHandleByName(ID3D12Device2* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device2_MakeResident(ID3D12Device2* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device2_Evict(ID3D12Device2* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateFence(ID3D12Device2* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device2_GetDeviceRemovedReason(ID3D12Device2* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device2_GetCopyableFootprints(ID3D12Device2* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateQueryHeap(ID3D12Device2* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device2_SetStablePowerState(ID3D12Device2* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandSignature(ID3D12Device2* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device2_GetResourceTiling(ID3D12Device2* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device2_GetAdapterLuid(ID3D12Device2* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device2_CreatePipelineLibrary(ID3D12Device2* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device2_SetEventOnMultipleFenceCompletion(ID3D12Device2* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device2_SetResidencyPriority(ID3D12Device2* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device2_CreatePipelineState(ID3D12Device2* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Device3 interface + */ +#ifndef __ID3D12Device3_INTERFACE_DEFINED__ +#define __ID3D12Device3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device3, 0x81dadc15, 0x2bad, 0x4392, 0x93,0xc5, 0x10,0x13,0x45,0xc4,0xaa,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98") +ID3D12Device3 : public ID3D12Device2 +{ + virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress( + const void *address, + REFIID riid, + void **heap) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping( + HANDLE file_mapping, + REFIID riid, + void **heap) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device3, 0x81dadc15, 0x2bad, 0x4392, 0x93,0xc5, 0x10,0x13,0x45,0xc4,0xaa,0x98) +#endif +#else +typedef struct ID3D12Device3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device3 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device3 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device3 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device3 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device3 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device3 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device3 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device3 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device3 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device3 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device3 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device3 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device3 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device3 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device3 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device3 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device3 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device3 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device3 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device3 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device3 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device3 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device3 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device3 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device3 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device3 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device3 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device3 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device3 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device3 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device3 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device3 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device3 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device3 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device3 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device3 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device3 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device3 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device3 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device3 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device3 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device3 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device3 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device3 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device3 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device3 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device3 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device3 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device3 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + END_INTERFACE +} ID3D12Device3Vtbl; + +interface ID3D12Device3 { + CONST_VTBL ID3D12Device3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device3_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device3_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device3_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device3_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device3_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device3_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device3_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device3_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device3_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device3_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device3_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device3_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device3_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device3_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device3_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device3_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device3_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device3_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device3_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device3_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device3_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device3_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device3_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device3_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device3_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device3_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device3_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device3_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device3_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device3_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device3_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device3_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device3_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device3_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device3_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device3_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device3_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device3_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device3_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device3_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device3_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device3_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device3_GetAdapterLuid(This) ID3D12Device3_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device3_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device3_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device3_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device3_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device3_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device3_QueryInterface(ID3D12Device3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device3_AddRef(ID3D12Device3* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device3_Release(ID3D12Device3* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device3_GetPrivateData(ID3D12Device3* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device3_SetPrivateData(ID3D12Device3* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device3_SetPrivateDataInterface(ID3D12Device3* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device3_SetName(ID3D12Device3* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device3_GetNodeCount(ID3D12Device3* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandQueue(ID3D12Device3* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandAllocator(ID3D12Device3* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateGraphicsPipelineState(ID3D12Device3* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateComputePipelineState(ID3D12Device3* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandList(ID3D12Device3* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CheckFeatureSupport(ID3D12Device3* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateDescriptorHeap(ID3D12Device3* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device3_GetDescriptorHandleIncrementSize(ID3D12Device3* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateRootSignature(ID3D12Device3* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device3_CreateConstantBufferView(ID3D12Device3* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device3_CreateShaderResourceView(ID3D12Device3* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device3_CreateUnorderedAccessView(ID3D12Device3* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device3_CreateRenderTargetView(ID3D12Device3* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device3_CreateDepthStencilView(ID3D12Device3* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device3_CreateSampler(ID3D12Device3* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device3_CopyDescriptors(ID3D12Device3* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device3_CopyDescriptorsSimple(ID3D12Device3* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device3_GetResourceAllocationInfo(ID3D12Device3* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device3_GetCustomHeapProperties(ID3D12Device3* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommittedResource(ID3D12Device3* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateHeap(ID3D12Device3* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreatePlacedResource(ID3D12Device3* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateReservedResource(ID3D12Device3* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateSharedHandle(ID3D12Device3* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device3_OpenSharedHandle(ID3D12Device3* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device3_OpenSharedHandleByName(ID3D12Device3* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device3_MakeResident(ID3D12Device3* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device3_Evict(ID3D12Device3* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateFence(ID3D12Device3* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device3_GetDeviceRemovedReason(ID3D12Device3* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device3_GetCopyableFootprints(ID3D12Device3* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateQueryHeap(ID3D12Device3* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device3_SetStablePowerState(ID3D12Device3* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandSignature(ID3D12Device3* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device3_GetResourceTiling(ID3D12Device3* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device3_GetAdapterLuid(ID3D12Device3* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device3_CreatePipelineLibrary(ID3D12Device3* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device3_SetEventOnMultipleFenceCompletion(ID3D12Device3* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device3_SetResidencyPriority(ID3D12Device3* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device3_CreatePipelineState(ID3D12Device3* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device3_OpenExistingHeapFromAddress(ID3D12Device3* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device3_OpenExistingHeapFromFileMapping(ID3D12Device3* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device3_EnqueueMakeResident(ID3D12Device3* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device3_INTERFACE_DEFINED__ */ + /***************************************************************************** * ID3D12RootSignatureDeserializer interface */ @@ -7643,17 +11671,17 @@ interface ID3D12RootSignatureDeserializer { #define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) (This)->lpVtbl->GetRootSignatureDesc(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12RootSignatureDeserializer_QueryInterface(ID3D12RootSignatureDeserializer* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12RootSignatureDeserializer_QueryInterface(ID3D12RootSignatureDeserializer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12RootSignatureDeserializer_AddRef(ID3D12RootSignatureDeserializer* This) { +static __WIDL_INLINE ULONG ID3D12RootSignatureDeserializer_AddRef(ID3D12RootSignatureDeserializer* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12RootSignatureDeserializer_Release(ID3D12RootSignatureDeserializer* This) { +static __WIDL_INLINE ULONG ID3D12RootSignatureDeserializer_Release(ID3D12RootSignatureDeserializer* This) { return This->lpVtbl->Release(This); } /*** ID3D12RootSignatureDeserializer methods ***/ -static FORCEINLINE const D3D12_ROOT_SIGNATURE_DESC * ID3D12RootSignatureDeserializer_GetRootSignatureDesc(ID3D12RootSignatureDeserializer* This) { +static __WIDL_INLINE const D3D12_ROOT_SIGNATURE_DESC * ID3D12RootSignatureDeserializer_GetRootSignatureDesc(ID3D12RootSignatureDeserializer* This) { return This->lpVtbl->GetRootSignatureDesc(This); } #endif @@ -7729,20 +11757,20 @@ interface ID3D12VersionedRootSignatureDeserializer { #define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) (This)->lpVtbl->GetUnconvertedRootSignatureDesc(This) #else /*** IUnknown methods ***/ -static FORCEINLINE HRESULT ID3D12VersionedRootSignatureDeserializer_QueryInterface(ID3D12VersionedRootSignatureDeserializer* This,REFIID riid,void **ppvObject) { +static __WIDL_INLINE HRESULT ID3D12VersionedRootSignatureDeserializer_QueryInterface(ID3D12VersionedRootSignatureDeserializer* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } -static FORCEINLINE ULONG ID3D12VersionedRootSignatureDeserializer_AddRef(ID3D12VersionedRootSignatureDeserializer* This) { +static __WIDL_INLINE ULONG ID3D12VersionedRootSignatureDeserializer_AddRef(ID3D12VersionedRootSignatureDeserializer* This) { return This->lpVtbl->AddRef(This); } -static FORCEINLINE ULONG ID3D12VersionedRootSignatureDeserializer_Release(ID3D12VersionedRootSignatureDeserializer* This) { +static __WIDL_INLINE ULONG ID3D12VersionedRootSignatureDeserializer_Release(ID3D12VersionedRootSignatureDeserializer* This) { return This->lpVtbl->Release(This); } /*** ID3D12VersionedRootSignatureDeserializer methods ***/ -static FORCEINLINE HRESULT ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(ID3D12VersionedRootSignatureDeserializer* This,D3D_ROOT_SIGNATURE_VERSION version,const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc) { +static __WIDL_INLINE HRESULT ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(ID3D12VersionedRootSignatureDeserializer* This,D3D_ROOT_SIGNATURE_VERSION version,const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc) { return This->lpVtbl->GetRootSignatureDescAtVersion(This,version,desc); } -static FORCEINLINE const D3D12_VERSIONED_ROOT_SIGNATURE_DESC * ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(ID3D12VersionedRootSignatureDeserializer* This) { +static __WIDL_INLINE const D3D12_VERSIONED_ROOT_SIGNATURE_DESC * ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(ID3D12VersionedRootSignatureDeserializer* This) { return This->lpVtbl->GetUnconvertedRootSignatureDesc(This); } #endif @@ -7753,11 +11781,12514 @@ static FORCEINLINE const D3D12_VERSIONED_ROOT_SIGNATURE_DESC * ID3D12VersionedRo #endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */ +typedef enum D3D12_COMMAND_LIST_FLAGS { + D3D12_COMMAND_LIST_FLAG_NONE = 0x0 +} D3D12_COMMAND_LIST_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_LIST_FLAGS); +typedef enum D3D12_COMMAND_POOL_FLAGS { + D3D12_COMMAND_POOL_FLAG_NONE = 0x0 +} D3D12_COMMAND_POOL_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_POOL_FLAGS); +typedef enum D3D12_COMMAND_RECORDER_FLAGS { + D3D12_COMMAND_RECORDER_FLAG_NONE = 0x0 +} D3D12_COMMAND_RECORDER_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_RECORDER_FLAGS); +/***************************************************************************** + * ID3D12Device4 interface + */ +#ifndef __ID3D12Device4_INTERFACE_DEFINED__ +#define __ID3D12Device4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device4, 0xe865df17, 0xa9ee, 0x46f9, 0xa4,0x63, 0x30,0x98,0x31,0x5a,0xa2,0xe5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e865df17-a9ee-46f9-a463-3098315aa2e5") +ID3D12Device4 : public ID3D12Device3 +{ + virtual HRESULT STDMETHODCALLTYPE CreateCommandList1( + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession( + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource1( + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateHeap1( + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateReservedResource1( + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource) = 0; + +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual D3D12_RESOURCE_ALLOCATION_INFO* STDMETHODCALLTYPE GetResourceAllocationInfo1( + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0; + D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1( + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) + { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *GetResourceAllocationInfo1(&__ret, visible_mask, resource_descs_count, resource_descs, resource_allocation_info1); + } +#else + virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1( + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0; +#endif + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device4, 0xe865df17, 0xa9ee, 0x46f9, 0xa4,0x63, 0x30,0x98,0x31,0x5a,0xa2,0xe5) +#endif +#else +typedef struct ID3D12Device4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device4 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device4 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device4 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device4 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device4 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device4 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device4 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device4 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device4 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device4 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device4 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device4 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device4 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device4 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device4 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device4 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device4 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device4 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device4 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device4 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device4 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device4 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device4 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device4 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device4 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device4 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device4 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device4 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device4 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device4 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device4 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device4 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device4 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device4 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device4 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device4 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device4 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device4 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device4 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device4 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device4 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device4 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device4 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device4 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device4 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device4 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device4 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device4 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device4 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device4 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device4 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device4 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device4 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device4 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device4 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + END_INTERFACE +} ID3D12Device4Vtbl; + +interface ID3D12Device4 { + CONST_VTBL ID3D12Device4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device4_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device4_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device4_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device4_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device4_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device4_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device4_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device4_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device4_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device4_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device4_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device4_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device4_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device4_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device4_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device4_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device4_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device4_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device4_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device4_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device4_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device4_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device4_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device4_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device4_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device4_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device4_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device4_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device4_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device4_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device4_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device4_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device4_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device4_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device4_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device4_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device4_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device4_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device4_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device4_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device4_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device4_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device4_GetAdapterLuid(This) ID3D12Device4_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device4_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device4_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device4_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device4_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device4_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device4_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device4_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device4_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device4_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device4_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device4_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device4_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device4_QueryInterface(ID3D12Device4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device4_AddRef(ID3D12Device4* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device4_Release(ID3D12Device4* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device4_GetPrivateData(ID3D12Device4* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device4_SetPrivateData(ID3D12Device4* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device4_SetPrivateDataInterface(ID3D12Device4* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device4_SetName(ID3D12Device4* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device4_GetNodeCount(ID3D12Device4* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandQueue(ID3D12Device4* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandAllocator(ID3D12Device4* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateGraphicsPipelineState(ID3D12Device4* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateComputePipelineState(ID3D12Device4* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandList(ID3D12Device4* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CheckFeatureSupport(ID3D12Device4* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateDescriptorHeap(ID3D12Device4* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device4_GetDescriptorHandleIncrementSize(ID3D12Device4* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateRootSignature(ID3D12Device4* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device4_CreateConstantBufferView(ID3D12Device4* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device4_CreateShaderResourceView(ID3D12Device4* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device4_CreateUnorderedAccessView(ID3D12Device4* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device4_CreateRenderTargetView(ID3D12Device4* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device4_CreateDepthStencilView(ID3D12Device4* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device4_CreateSampler(ID3D12Device4* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device4_CopyDescriptors(ID3D12Device4* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device4_CopyDescriptorsSimple(ID3D12Device4* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device4_GetResourceAllocationInfo(ID3D12Device4* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device4_GetCustomHeapProperties(ID3D12Device4* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommittedResource(ID3D12Device4* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateHeap(ID3D12Device4* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreatePlacedResource(ID3D12Device4* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateReservedResource(ID3D12Device4* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateSharedHandle(ID3D12Device4* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device4_OpenSharedHandle(ID3D12Device4* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device4_OpenSharedHandleByName(ID3D12Device4* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device4_MakeResident(ID3D12Device4* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device4_Evict(ID3D12Device4* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateFence(ID3D12Device4* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device4_GetDeviceRemovedReason(ID3D12Device4* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device4_GetCopyableFootprints(ID3D12Device4* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateQueryHeap(ID3D12Device4* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device4_SetStablePowerState(ID3D12Device4* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandSignature(ID3D12Device4* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device4_GetResourceTiling(ID3D12Device4* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device4_GetAdapterLuid(ID3D12Device4* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device4_CreatePipelineLibrary(ID3D12Device4* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device4_SetEventOnMultipleFenceCompletion(ID3D12Device4* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device4_SetResidencyPriority(ID3D12Device4* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device4_CreatePipelineState(ID3D12Device4* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device4_OpenExistingHeapFromAddress(ID3D12Device4* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device4_OpenExistingHeapFromFileMapping(ID3D12Device4* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device4_EnqueueMakeResident(ID3D12Device4* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandList1(ID3D12Device4* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateProtectedResourceSession(ID3D12Device4* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommittedResource1(ID3D12Device4* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateHeap1(ID3D12Device4* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device4_CreateReservedResource1(ID3D12Device4* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device4_GetResourceAllocationInfo1(ID3D12Device4* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device4_INTERFACE_DEFINED__ */ + +typedef enum D3D12_LIFETIME_STATE { + D3D12_LIFETIME_STATE_IN_USE = 0x0, + D3D12_LIFETIME_STATE_NOT_IN_USE = 0x1 +} D3D12_LIFETIME_STATE; +/***************************************************************************** + * ID3D12LifetimeOwner interface + */ +#ifndef __ID3D12LifetimeOwner_INTERFACE_DEFINED__ +#define __ID3D12LifetimeOwner_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12LifetimeOwner, 0xe667af9f, 0xcd56, 0x4f46, 0x83,0xce, 0x03,0x2e,0x59,0x5d,0x70,0xa8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e667af9f-cd56-4f46-83ce-032e595d70a8") +ID3D12LifetimeOwner : public IUnknown +{ + virtual void STDMETHODCALLTYPE LifetimeStateUpdated( + D3D12_LIFETIME_STATE NewState) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12LifetimeOwner, 0xe667af9f, 0xcd56, 0x4f46, 0x83,0xce, 0x03,0x2e,0x59,0x5d,0x70,0xa8) +#endif +#else +typedef struct ID3D12LifetimeOwnerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12LifetimeOwner *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12LifetimeOwner *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12LifetimeOwner *This); + + /*** ID3D12LifetimeOwner methods ***/ + void (STDMETHODCALLTYPE *LifetimeStateUpdated)( + ID3D12LifetimeOwner *This, + D3D12_LIFETIME_STATE NewState); + + END_INTERFACE +} ID3D12LifetimeOwnerVtbl; + +interface ID3D12LifetimeOwner { + CONST_VTBL ID3D12LifetimeOwnerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12LifetimeOwner_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12LifetimeOwner_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12LifetimeOwner methods ***/ +#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) (This)->lpVtbl->LifetimeStateUpdated(This,NewState) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12LifetimeOwner_QueryInterface(ID3D12LifetimeOwner* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12LifetimeOwner_AddRef(ID3D12LifetimeOwner* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12LifetimeOwner_Release(ID3D12LifetimeOwner* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12LifetimeOwner methods ***/ +static __WIDL_INLINE void ID3D12LifetimeOwner_LifetimeStateUpdated(ID3D12LifetimeOwner* This,D3D12_LIFETIME_STATE NewState) { + This->lpVtbl->LifetimeStateUpdated(This,NewState); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12LifetimeOwner_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12SwapChainAssistant interface + */ +#ifndef __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ +#define __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12SwapChainAssistant, 0xf1df64b6, 0x57fd, 0x49cd, 0x88,0x07, 0xc0,0xeb,0x88,0xb4,0x5c,0x8f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f1df64b6-57fd-49cd-8807-c0eb88b45c8f") +ID3D12SwapChainAssistant : public IUnknown +{ +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual LUID* STDMETHODCALLTYPE GetLUID( + LUID *__ret) = 0; + LUID STDMETHODCALLTYPE GetLUID( + ) + { + LUID __ret; + return *GetLUID(&__ret); + } +#else + virtual LUID STDMETHODCALLTYPE GetLUID( + ) = 0; +#endif + + virtual HRESULT STDMETHODCALLTYPE GetSwapChainObject( + REFIID riid, + void **ppv) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentResourceAndCommandQueue( + REFIID riid_resource, + void **resource, + REFIID riid_queue, + void **queue) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertImplicitSync( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12SwapChainAssistant, 0xf1df64b6, 0x57fd, 0x49cd, 0x88,0x07, 0xc0,0xeb,0x88,0xb4,0x5c,0x8f) +#endif +#else +typedef struct ID3D12SwapChainAssistantVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12SwapChainAssistant *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12SwapChainAssistant *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12SwapChainAssistant *This); + + /*** ID3D12SwapChainAssistant methods ***/ + LUID * (STDMETHODCALLTYPE *GetLUID)( + ID3D12SwapChainAssistant *This, + LUID *__ret); + + HRESULT (STDMETHODCALLTYPE *GetSwapChainObject)( + ID3D12SwapChainAssistant *This, + REFIID riid, + void **ppv); + + HRESULT (STDMETHODCALLTYPE *GetCurrentResourceAndCommandQueue)( + ID3D12SwapChainAssistant *This, + REFIID riid_resource, + void **resource, + REFIID riid_queue, + void **queue); + + HRESULT (STDMETHODCALLTYPE *InsertImplicitSync)( + ID3D12SwapChainAssistant *This); + + END_INTERFACE +} ID3D12SwapChainAssistantVtbl; + +interface ID3D12SwapChainAssistant { + CONST_VTBL ID3D12SwapChainAssistantVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12SwapChainAssistant_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12SwapChainAssistant_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12SwapChainAssistant methods ***/ +#define ID3D12SwapChainAssistant_GetLUID(This) ID3D12SwapChainAssistant_GetLUID_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) (This)->lpVtbl->GetSwapChainObject(This,riid,ppv) +#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riid_resource,resource,riid_queue,queue) (This)->lpVtbl->GetCurrentResourceAndCommandQueue(This,riid_resource,resource,riid_queue,queue) +#define ID3D12SwapChainAssistant_InsertImplicitSync(This) (This)->lpVtbl->InsertImplicitSync(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_QueryInterface(ID3D12SwapChainAssistant* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12SwapChainAssistant_AddRef(ID3D12SwapChainAssistant* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12SwapChainAssistant_Release(ID3D12SwapChainAssistant* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12SwapChainAssistant methods ***/ +static __WIDL_INLINE LUID ID3D12SwapChainAssistant_GetLUID(ID3D12SwapChainAssistant* This) { + LUID __ret; + return *This->lpVtbl->GetLUID(This,&__ret); +} +static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_GetSwapChainObject(ID3D12SwapChainAssistant* This,REFIID riid,void **ppv) { + return This->lpVtbl->GetSwapChainObject(This,riid,ppv); +} +static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(ID3D12SwapChainAssistant* This,REFIID riid_resource,void **resource,REFIID riid_queue,void **queue) { + return This->lpVtbl->GetCurrentResourceAndCommandQueue(This,riid_resource,resource,riid_queue,queue); +} +static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_InsertImplicitSync(ID3D12SwapChainAssistant* This) { + return This->lpVtbl->InsertImplicitSync(This); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12LifetimeTracker interface + */ +#ifndef __ID3D12LifetimeTracker_INTERFACE_DEFINED__ +#define __ID3D12LifetimeTracker_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12LifetimeTracker, 0x3fd03d36, 0x4eb1, 0x424a, 0xa5,0x82, 0x49,0x4e,0xcb,0x8b,0xa8,0x13); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3fd03d36-4eb1-424a-a582-494ecb8ba813") +ID3D12LifetimeTracker : public ID3D12DeviceChild +{ + virtual HRESULT STDMETHODCALLTYPE DestroyOwnedObject( + ID3D12DeviceChild *object) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12LifetimeTracker, 0x3fd03d36, 0x4eb1, 0x424a, 0xa5,0x82, 0x49,0x4e,0xcb,0x8b,0xa8,0x13) +#endif +#else +typedef struct ID3D12LifetimeTrackerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12LifetimeTracker *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12LifetimeTracker *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12LifetimeTracker *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12LifetimeTracker *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12LifetimeTracker *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12LifetimeTracker *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12LifetimeTracker *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12LifetimeTracker *This, + REFIID riid, + void **device); + + /*** ID3D12LifetimeTracker methods ***/ + HRESULT (STDMETHODCALLTYPE *DestroyOwnedObject)( + ID3D12LifetimeTracker *This, + ID3D12DeviceChild *object); + + END_INTERFACE +} ID3D12LifetimeTrackerVtbl; + +interface ID3D12LifetimeTracker { + CONST_VTBL ID3D12LifetimeTrackerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12LifetimeTracker_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12LifetimeTracker_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12LifetimeTracker_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12LifetimeTracker_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12LifetimeTracker_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12LifetimeTracker_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12LifetimeTracker methods ***/ +#define ID3D12LifetimeTracker_DestroyOwnedObject(This,object) (This)->lpVtbl->DestroyOwnedObject(This,object) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_QueryInterface(ID3D12LifetimeTracker* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12LifetimeTracker_AddRef(ID3D12LifetimeTracker* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12LifetimeTracker_Release(ID3D12LifetimeTracker* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_GetPrivateData(ID3D12LifetimeTracker* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_SetPrivateData(ID3D12LifetimeTracker* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_SetPrivateDataInterface(ID3D12LifetimeTracker* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_SetName(ID3D12LifetimeTracker* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_GetDevice(ID3D12LifetimeTracker* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12LifetimeTracker methods ***/ +static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_DestroyOwnedObject(ID3D12LifetimeTracker* This,ID3D12DeviceChild *object) { + return This->lpVtbl->DestroyOwnedObject(This,object); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12LifetimeTracker_INTERFACE_DEFINED__ */ + +typedef enum D3D12_META_COMMAND_PARAMETER_TYPE { + D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0x0, + D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 0x1, + D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 0x2, + D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 0x3, + D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 0x4 +} D3D12_META_COMMAND_PARAMETER_TYPE; +typedef enum D3D12_META_COMMAND_PARAMETER_FLAGS { + D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1, + D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2 +} D3D12_META_COMMAND_PARAMETER_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_META_COMMAND_PARAMETER_FLAGS); +typedef enum D3D12_META_COMMAND_PARAMETER_STAGE { + D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0x0, + D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 0x1, + D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 0x2 +} D3D12_META_COMMAND_PARAMETER_STAGE; +typedef struct D3D12_META_COMMAND_PARAMETER_DESC { + const WCHAR *Name; + D3D12_META_COMMAND_PARAMETER_TYPE Type; + D3D12_META_COMMAND_PARAMETER_FLAGS Flags; + D3D12_RESOURCE_STATES RequiredResourceState; + UINT StructureOffset; +} D3D12_META_COMMAND_PARAMETER_DESC; +typedef enum D3D12_GRAPHICS_STATES { + D3D12_GRAPHICS_STATE_NONE = 0x0, + D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = 0x1, + D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = 0x2, + D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = 0x4, + D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = 0x8, + D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = 0x10, + D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = 0x20, + D3D12_GRAPHICS_STATE_RS_VIEWPORTS = 0x40, + D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = 0x80, + D3D12_GRAPHICS_STATE_PREDICATION = 0x100, + D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = 0x200, + D3D12_GRAPHICS_STATE_OM_STENCIL_REF = 0x400, + D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = 0x800, + D3D12_GRAPHICS_STATE_PIPELINE_STATE = 0x1000, + D3D12_GRAPHICS_STATE_SO_TARGETS = 0x2000, + D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = 0x4000, + D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = 0x8000, + D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = 0x10000 +} D3D12_GRAPHICS_STATES; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_GRAPHICS_STATES); +typedef struct D3D12_META_COMMAND_DESC { + GUID Id; + const WCHAR *Name; + D3D12_GRAPHICS_STATES InitializationDirtyState; + D3D12_GRAPHICS_STATES ExecutionDirtyState; +} D3D12_META_COMMAND_DESC; +/***************************************************************************** + * ID3D12StateObject interface + */ +#ifndef __ID3D12StateObject_INTERFACE_DEFINED__ +#define __ID3D12StateObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12StateObject, 0x47016943, 0xfca8, 0x4594, 0x93,0xea, 0xaf,0x25,0x8b,0x55,0x34,0x6d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("47016943-fca8-4594-93ea-af258b55346d") +ID3D12StateObject : public ID3D12Pageable +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12StateObject, 0x47016943, 0xfca8, 0x4594, 0x93,0xea, 0xaf,0x25,0x8b,0x55,0x34,0x6d) +#endif +#else +typedef struct ID3D12StateObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12StateObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12StateObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12StateObject *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12StateObject *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12StateObject *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12StateObject *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12StateObject *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12StateObject *This, + REFIID riid, + void **device); + + END_INTERFACE +} ID3D12StateObjectVtbl; + +interface ID3D12StateObject { + CONST_VTBL ID3D12StateObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12StateObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12StateObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12StateObject_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12StateObject_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12StateObject_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12StateObject_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12StateObject_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12StateObject_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12StateObject_QueryInterface(ID3D12StateObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12StateObject_AddRef(ID3D12StateObject* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12StateObject_Release(ID3D12StateObject* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12StateObject_GetPrivateData(ID3D12StateObject* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12StateObject_SetPrivateData(ID3D12StateObject* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12StateObject_SetPrivateDataInterface(ID3D12StateObject* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12StateObject_SetName(ID3D12StateObject* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12StateObject_GetDevice(ID3D12StateObject* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12StateObject_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12StateObjectProperties interface + */ +#ifndef __ID3D12StateObjectProperties_INTERFACE_DEFINED__ +#define __ID3D12StateObjectProperties_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12StateObjectProperties, 0xde5fa827, 0x9bf9, 0x4f26, 0x89,0xff, 0xd7,0xf5,0x6f,0xde,0x38,0x60); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("de5fa827-9bf9-4f26-89ff-d7f56fde3860") +ID3D12StateObjectProperties : public IUnknown +{ + virtual void * STDMETHODCALLTYPE GetShaderIdentifier( + const WCHAR *export_name) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetShaderStackSize( + const WCHAR *export_name) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetPipelineStackSize( + ) = 0; + + virtual void STDMETHODCALLTYPE SetPipelineStackSize( + UINT64 pipeline_stack_size_in_bytes) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12StateObjectProperties, 0xde5fa827, 0x9bf9, 0x4f26, 0x89,0xff, 0xd7,0xf5,0x6f,0xde,0x38,0x60) +#endif +#else +typedef struct ID3D12StateObjectPropertiesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12StateObjectProperties *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12StateObjectProperties *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12StateObjectProperties *This); + + /*** ID3D12StateObjectProperties methods ***/ + void * (STDMETHODCALLTYPE *GetShaderIdentifier)( + ID3D12StateObjectProperties *This, + const WCHAR *export_name); + + UINT64 (STDMETHODCALLTYPE *GetShaderStackSize)( + ID3D12StateObjectProperties *This, + const WCHAR *export_name); + + UINT64 (STDMETHODCALLTYPE *GetPipelineStackSize)( + ID3D12StateObjectProperties *This); + + void (STDMETHODCALLTYPE *SetPipelineStackSize)( + ID3D12StateObjectProperties *This, + UINT64 pipeline_stack_size_in_bytes); + + END_INTERFACE +} ID3D12StateObjectPropertiesVtbl; + +interface ID3D12StateObjectProperties { + CONST_VTBL ID3D12StateObjectPropertiesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12StateObjectProperties_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12StateObjectProperties_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12StateObjectProperties methods ***/ +#define ID3D12StateObjectProperties_GetShaderIdentifier(This,export_name) (This)->lpVtbl->GetShaderIdentifier(This,export_name) +#define ID3D12StateObjectProperties_GetShaderStackSize(This,export_name) (This)->lpVtbl->GetShaderStackSize(This,export_name) +#define ID3D12StateObjectProperties_GetPipelineStackSize(This) (This)->lpVtbl->GetPipelineStackSize(This) +#define ID3D12StateObjectProperties_SetPipelineStackSize(This,pipeline_stack_size_in_bytes) (This)->lpVtbl->SetPipelineStackSize(This,pipeline_stack_size_in_bytes) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12StateObjectProperties_QueryInterface(ID3D12StateObjectProperties* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12StateObjectProperties_AddRef(ID3D12StateObjectProperties* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12StateObjectProperties_Release(ID3D12StateObjectProperties* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12StateObjectProperties methods ***/ +static __WIDL_INLINE void * ID3D12StateObjectProperties_GetShaderIdentifier(ID3D12StateObjectProperties* This,const WCHAR *export_name) { + return This->lpVtbl->GetShaderIdentifier(This,export_name); +} +static __WIDL_INLINE UINT64 ID3D12StateObjectProperties_GetShaderStackSize(ID3D12StateObjectProperties* This,const WCHAR *export_name) { + return This->lpVtbl->GetShaderStackSize(This,export_name); +} +static __WIDL_INLINE UINT64 ID3D12StateObjectProperties_GetPipelineStackSize(ID3D12StateObjectProperties* This) { + return This->lpVtbl->GetPipelineStackSize(This); +} +static __WIDL_INLINE void ID3D12StateObjectProperties_SetPipelineStackSize(ID3D12StateObjectProperties* This,UINT64 pipeline_stack_size_in_bytes) { + This->lpVtbl->SetPipelineStackSize(This,pipeline_stack_size_in_bytes); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12StateObjectProperties_INTERFACE_DEFINED__ */ + +typedef enum D3D12_STATE_SUBOBJECT_TYPE { + D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0x0, + D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 0x1, + D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 0x2, + D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 0x3, + D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 0x5, + D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 0x6, + D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 0x7, + D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 0x8, + D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 0x9, + D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 0xa, + D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 0xb, + D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 0xc, + D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = 0xd +} D3D12_STATE_SUBOBJECT_TYPE; +typedef struct D3D12_STATE_SUBOBJECT { + D3D12_STATE_SUBOBJECT_TYPE Type; + const void *pDesc; +} D3D12_STATE_SUBOBJECT; +typedef enum D3D12_STATE_OBJECT_FLAGS { + D3D12_STATE_OBJECT_FLAG_NONE = 0x0, + D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1, + D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2, + D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4 +} D3D12_STATE_OBJECT_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_STATE_OBJECT_FLAGS); +typedef struct D3D12_STATE_OBJECT_CONFIG { + D3D12_STATE_OBJECT_FLAGS Flags; +} D3D12_STATE_OBJECT_CONFIG; +typedef struct D3D12_GLOBAL_ROOT_SIGNATURE { + ID3D12RootSignature *pGlobalRootSignature; +} D3D12_GLOBAL_ROOT_SIGNATURE; +typedef struct D3D12_LOCAL_ROOT_SIGNATURE { + ID3D12RootSignature *pLocalRootSignature; +} D3D12_LOCAL_ROOT_SIGNATURE; +typedef struct D3D12_NODE_MASK { + UINT NodeMask; +} D3D12_NODE_MASK; +typedef enum D3D12_EXPORT_FLAGS { + D3D12_EXPORT_FLAG_NONE = 0x0 +} D3D12_EXPORT_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_EXPORT_FLAGS); +typedef struct D3D12_EXPORT_DESC { + const WCHAR *Name; + const WCHAR *ExportToRename; + D3D12_EXPORT_FLAGS Flags; +} D3D12_EXPORT_DESC; +typedef struct D3D12_DXIL_LIBRARY_DESC { + D3D12_SHADER_BYTECODE DXILLibrary; + UINT NumExports; + D3D12_EXPORT_DESC *pExports; +} D3D12_DXIL_LIBRARY_DESC; +typedef struct D3D12_EXISTING_COLLECTION_DESC { + ID3D12StateObject *pExistingCollection; + UINT NumExports; + D3D12_EXPORT_DESC *pExports; +} D3D12_EXISTING_COLLECTION_DESC; +typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION { + const D3D12_STATE_SUBOBJECT *pSubobjectToAssociate; + UINT NumExports; + const WCHAR **pExports; +} D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION; +typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION { + const WCHAR *SubobjectToAssociate; + UINT NumExports; + const WCHAR **pExports; +} D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION; +typedef enum D3D12_HIT_GROUP_TYPE { + D3D12_HIT_GROUP_TYPE_TRIANGLES = 0x0, + D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1 +} D3D12_HIT_GROUP_TYPE; +typedef struct D3D12_HIT_GROUP_DESC { + const WCHAR *HitGroupExport; + D3D12_HIT_GROUP_TYPE Type; + const WCHAR *AnyHitShaderImport; + const WCHAR *ClosestHitShaderImport; + const WCHAR *IntersectionShaderImport; +} D3D12_HIT_GROUP_DESC; +typedef struct D3D12_RAYTRACING_SHADER_CONFIG { + UINT MaxPayloadSizeInBytes; + UINT MaxAttributeSizeInBytes; +} D3D12_RAYTRACING_SHADER_CONFIG; +typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG { + UINT MaxTraceRecursionDepth; +} D3D12_RAYTRACING_PIPELINE_CONFIG; +typedef enum D3D12_RAYTRACING_PIPELINE_FLAGS { + D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0x0, + D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100, + D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200 +} D3D12_RAYTRACING_PIPELINE_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_PIPELINE_FLAGS); +typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1 { + UINT MaxTraceRecursionDepth; + D3D12_RAYTRACING_PIPELINE_FLAGS Flags; +} D3D12_RAYTRACING_PIPELINE_CONFIG1; +typedef enum D3D12_STATE_OBJECT_TYPE { + D3D12_STATE_OBJECT_TYPE_COLLECTION = 0x0, + D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 0x3 +} D3D12_STATE_OBJECT_TYPE; +typedef struct D3D12_STATE_OBJECT_DESC { + D3D12_STATE_OBJECT_TYPE Type; + UINT NumSubobjects; + const D3D12_STATE_SUBOBJECT *pSubobjects; +} D3D12_STATE_OBJECT_DESC; +typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS { + D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0x0, + D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1, + D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2 +} D3D12_RAYTRACING_GEOMETRY_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_GEOMETRY_FLAGS); +typedef enum D3D12_RAYTRACING_GEOMETRY_TYPE { + D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0x0, + D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = 0x1 +} D3D12_RAYTRACING_GEOMETRY_TYPE; +typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS { + D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0x0, + D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1, + D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2, + D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4, + D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8 +} D3D12_RAYTRACING_INSTANCE_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_INSTANCE_FLAGS); +typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE { + D3D12_GPU_VIRTUAL_ADDRESS StartAddress; + UINT64 StrideInBytes; +} D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE; +typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE { + D3D12_GPU_VIRTUAL_ADDRESS StartAddress; + UINT64 SizeInBytes; +} D3D12_GPU_VIRTUAL_ADDRESS_RANGE; +typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE { + D3D12_GPU_VIRTUAL_ADDRESS StartAddress; + UINT64 SizeInBytes; + UINT64 StrideInBytes; +} D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE; +typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC { + D3D12_GPU_VIRTUAL_ADDRESS Transform3x4; + DXGI_FORMAT IndexFormat; + DXGI_FORMAT VertexFormat; + UINT IndexCount; + UINT VertexCount; + D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer; + D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer; +} D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC; +typedef struct D3D12_RAYTRACING_AABB { + FLOAT MinX; + FLOAT MinY; + FLOAT MinZ; + FLOAT MaxX; + FLOAT MaxY; + FLOAT MaxZ; +} D3D12_RAYTRACING_AABB; +typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC { + UINT64 AABBCount; + D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs; +} D3D12_RAYTRACING_GEOMETRY_AABBS_DESC; +typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS { + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0x0, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20 +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS); +typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE { + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0x0, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4 +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE; +typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE { + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0x0, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1 +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE; +typedef enum D3D12_ELEMENTS_LAYOUT { + D3D12_ELEMENTS_LAYOUT_ARRAY = 0x0, + D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1 +} D3D12_ELEMENTS_LAYOUT; +typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE { + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0x0, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3 +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC { + D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC { + UINT64 CompactedSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC { + UINT64 DecodedSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC; +typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER { + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; + UINT NumDescs; +} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC { + UINT64 SerializedSizeInBytes; + UINT64 NumBottomLevelAccelerationStructurePointers; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC; +typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER { + GUID DriverOpaqueGUID; + BYTE DriverOpaqueVersioningData[16]; +} D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER; +typedef enum D3D12_SERIALIZED_DATA_TYPE { + D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0x0 +} D3D12_SERIALIZED_DATA_TYPE; +typedef enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS { + D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0x0, + D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1, + D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2, + D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3, + D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4 +} D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS; +typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER { + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; + UINT64 SerializedSizeInBytesIncludingHeader; + UINT64 DeserializedSizeInBytes; + UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader; +} D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC { + UINT64 CurrentSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC; +typedef struct D3D12_RAYTRACING_INSTANCE_DESC { + FLOAT Transform[3][4]; + UINT InstanceID : 24; + UINT InstanceMask : 8; + UINT InstanceContributionToHitGroupIndex : 24; + UINT Flags : 8; + D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure; +} D3D12_RAYTRACING_INSTANCE_DESC; +typedef struct D3D12_RAYTRACING_GEOMETRY_DESC { + D3D12_RAYTRACING_GEOMETRY_TYPE Type; + D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; + __C89_NAMELESS union { + D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles; + D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs; + } __C89_NAMELESSUNIONNAME; +} D3D12_RAYTRACING_GEOMETRY_DESC; +typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS { + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; + UINT NumDescs; + D3D12_ELEMENTS_LAYOUT DescsLayout; + __C89_NAMELESS union { + D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs; + const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs; + const D3D12_RAYTRACING_GEOMETRY_DESC *const *ppGeometryDescs; + } __C89_NAMELESSUNIONNAME; +} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS; +typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC { + D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData; + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs; + D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData; + D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData; +} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC; +typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO { + UINT64 ResultDataMaxSizeInBytes; + UINT64 ScratchDataSizeInBytes; + UINT64 UpdateScratchDataSizeInBytes; +} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO; +typedef enum D3D12_RAY_FLAGS { + D3D12_RAY_FLAG_NONE = 0x0, + D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1, + D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2, + D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4, + D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8, + D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10, + D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20, + D3D12_RAY_FLAG_CULL_OPAQUE = 0x40, + D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80, + D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100, + D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200 +} D3D12_RAY_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAY_FLAGS); +typedef enum D3D12_HIT_KIND { + D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe, + D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff +} D3D12_HIT_KIND; +/***************************************************************************** + * ID3D12Device5 interface + */ +#ifndef __ID3D12Device5_INTERFACE_DEFINED__ +#define __ID3D12Device5_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device5, 0x8b4f173b, 0x2fea, 0x4b80, 0x8f,0x58, 0x43,0x07,0x19,0x1a,0xb9,0x5d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8b4f173b-2fea-4b80-8f58-4307191ab95d") +ID3D12Device5 : public ID3D12Device4 +{ + virtual HRESULT STDMETHODCALLTYPE CreateLifetimeTracker( + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker) = 0; + + virtual void STDMETHODCALLTYPE RemoveDevice( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommands( + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommandParameters( + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMetaCommand( + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStateObject( + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object) = 0; + + virtual void STDMETHODCALLTYPE GetRaytracingAccelerationStructurePrebuildInfo( + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) = 0; + + virtual D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device5, 0x8b4f173b, 0x2fea, 0x4b80, 0x8f,0x58, 0x43,0x07,0x19,0x1a,0xb9,0x5d) +#endif +#else +typedef struct ID3D12Device5Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device5 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device5 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device5 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device5 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device5 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device5 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device5 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device5 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device5 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device5 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device5 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device5 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device5 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device5 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device5 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device5 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device5 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device5 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device5 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device5 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device5 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device5 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device5 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device5 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device5 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device5 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device5 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device5 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device5 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device5 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device5 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device5 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device5 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device5 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device5 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device5 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device5 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device5 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device5 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device5 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device5 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device5 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device5 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device5 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device5 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device5 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device5 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device5 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device5 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device5 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device5 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device5 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device5 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device5 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device5 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device5 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device5 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + /*** ID3D12Device5 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)( + ID3D12Device5 *This, + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker); + + void (STDMETHODCALLTYPE *RemoveDevice)( + ID3D12Device5 *This); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)( + ID3D12Device5 *This, + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)( + ID3D12Device5 *This, + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs); + + HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)( + ID3D12Device5 *This, + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command); + + HRESULT (STDMETHODCALLTYPE *CreateStateObject)( + ID3D12Device5 *This, + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object); + + void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)( + ID3D12Device5 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info); + + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)( + ID3D12Device5 *This, + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check); + + END_INTERFACE +} ID3D12Device5Vtbl; + +interface ID3D12Device5 { + CONST_VTBL ID3D12Device5Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device5_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device5_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device5_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device5_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device5_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device5_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device5_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device5_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device5_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device5_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device5_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device5_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device5_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device5_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device5_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device5_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device5_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device5_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device5_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device5_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device5_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device5_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device5_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device5_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device5_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device5_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device5_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device5_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device5_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device5_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device5_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device5_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device5_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device5_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device5_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device5_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device5_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device5_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device5_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device5_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device5_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device5_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device5_GetAdapterLuid(This) ID3D12Device5_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device5_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device5_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device5_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device5_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device5_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device5_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device5_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device5_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device5_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device5_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device5_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device5_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device5 methods ***/ +#define ID3D12Device5_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker) +#define ID3D12Device5_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This) +#define ID3D12Device5_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs) +#define ID3D12Device5_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) +#define ID3D12Device5_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) +#define ID3D12Device5_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object) +#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) +#define ID3D12Device5_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_QueryInterface(ID3D12Device5* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device5_AddRef(ID3D12Device5* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device5_Release(ID3D12Device5* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_GetPrivateData(ID3D12Device5* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device5_SetPrivateData(ID3D12Device5* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device5_SetPrivateDataInterface(ID3D12Device5* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device5_SetName(ID3D12Device5* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device5_GetNodeCount(ID3D12Device5* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandQueue(ID3D12Device5* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandAllocator(ID3D12Device5* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateGraphicsPipelineState(ID3D12Device5* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateComputePipelineState(ID3D12Device5* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandList(ID3D12Device5* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CheckFeatureSupport(ID3D12Device5* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateDescriptorHeap(ID3D12Device5* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device5_GetDescriptorHandleIncrementSize(ID3D12Device5* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateRootSignature(ID3D12Device5* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device5_CreateConstantBufferView(ID3D12Device5* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device5_CreateShaderResourceView(ID3D12Device5* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device5_CreateUnorderedAccessView(ID3D12Device5* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device5_CreateRenderTargetView(ID3D12Device5* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device5_CreateDepthStencilView(ID3D12Device5* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device5_CreateSampler(ID3D12Device5* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device5_CopyDescriptors(ID3D12Device5* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device5_CopyDescriptorsSimple(ID3D12Device5* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device5_GetResourceAllocationInfo(ID3D12Device5* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device5_GetCustomHeapProperties(ID3D12Device5* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommittedResource(ID3D12Device5* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateHeap(ID3D12Device5* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreatePlacedResource(ID3D12Device5* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateReservedResource(ID3D12Device5* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateSharedHandle(ID3D12Device5* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device5_OpenSharedHandle(ID3D12Device5* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device5_OpenSharedHandleByName(ID3D12Device5* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device5_MakeResident(ID3D12Device5* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device5_Evict(ID3D12Device5* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateFence(ID3D12Device5* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device5_GetDeviceRemovedReason(ID3D12Device5* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device5_GetCopyableFootprints(ID3D12Device5* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateQueryHeap(ID3D12Device5* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device5_SetStablePowerState(ID3D12Device5* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandSignature(ID3D12Device5* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device5_GetResourceTiling(ID3D12Device5* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device5_GetAdapterLuid(ID3D12Device5* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_CreatePipelineLibrary(ID3D12Device5* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device5_SetEventOnMultipleFenceCompletion(ID3D12Device5* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device5_SetResidencyPriority(ID3D12Device5* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_CreatePipelineState(ID3D12Device5* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_OpenExistingHeapFromAddress(ID3D12Device5* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device5_OpenExistingHeapFromFileMapping(ID3D12Device5* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device5_EnqueueMakeResident(ID3D12Device5* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandList1(ID3D12Device5* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateProtectedResourceSession(ID3D12Device5* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommittedResource1(ID3D12Device5* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateHeap1(ID3D12Device5* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateReservedResource1(ID3D12Device5* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device5_GetResourceAllocationInfo1(ID3D12Device5* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +/*** ID3D12Device5 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device5_CreateLifetimeTracker(ID3D12Device5* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) { + return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker); +} +static __WIDL_INLINE void ID3D12Device5_RemoveDevice(ID3D12Device5* This) { + This->lpVtbl->RemoveDevice(This); +} +static __WIDL_INLINE HRESULT ID3D12Device5_EnumerateMetaCommands(ID3D12Device5* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) { + return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs); +} +static __WIDL_INLINE HRESULT ID3D12Device5_EnumerateMetaCommandParameters(ID3D12Device5* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) { + return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateMetaCommand(ID3D12Device5* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) { + return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command); +} +static __WIDL_INLINE HRESULT ID3D12Device5_CreateStateObject(ID3D12Device5* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) { + return This->lpVtbl->CreateStateObject(This,desc,riid,state_object); +} +static __WIDL_INLINE void ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device5* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) { + This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info); +} +static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device5_CheckDriverMatchingIdentifier(ID3D12Device5* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) { + return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device5_INTERFACE_DEFINED__ */ + +typedef enum D3D12_AUTO_BREADCRUMB_OP { + D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0x0, + D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 0x1, + D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 0x2, + D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 0x3, + D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 0x4, + D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 0x5, + D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 0x6, + D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 0x7, + D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 0x8, + D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 0x9, + D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 0xa, + D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 0xb, + D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 0xc, + D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 0xd, + D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 0xe, + D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 0xf, + D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 0x10, + D3D12_AUTO_BREADCRUMB_OP_PRESENT = 0x11, + D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 0x12, + D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 0x13, + D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 0x14, + D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 0x15, + D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 0x16, + D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 0x17, + D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 0x18, + D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 0x19, + D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 0x1a, + D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 0x1b, + D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 0x1c, + D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 0x1d, + D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 0x1e, + D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 0x1f, + D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 0x20, + D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 0x21, + D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 0x22, + D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 0x23, + D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 0x24, + D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 0x25, + D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 0x26, + D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 0x27, + D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 0x28, + D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 0x29, + D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 0x2a, + D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 0x2b, + D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 0x2c +} D3D12_AUTO_BREADCRUMB_OP; +typedef struct D3D12_AUTO_BREADCRUMB_NODE { + const char *pCommandListDebugNameA; + const WCHAR *pCommandListDebugNameW; + const char *pCommandQueueDebugNameA; + const WCHAR *pCommandQueueDebugNameW; + ID3D12GraphicsCommandList *pCommandList; + ID3D12CommandQueue *pCommandQueue; + UINT32 BreadcrumbCount; + const UINT32 *pLastBreadcrumbValue; + const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory; + const struct D3D12_AUTO_BREADCRUMB_NODE *pNext; +} D3D12_AUTO_BREADCRUMB_NODE; +typedef struct D3D12_DRED_BREADCRUMB_CONTEXT { + UINT BreadcrumbIndex; + const WCHAR *pContextString; +} D3D12_DRED_BREADCRUMB_CONTEXT; +typedef struct D3D12_AUTO_BREADCRUMB_NODE1 { + const char *pCommandListDebugNameA; + const WCHAR *pCommandListDebugNameW; + const char *pCommandQueueDebugNameA; + const WCHAR *pCommandQueueDebugNameW; + ID3D12GraphicsCommandList *pCommandList; + ID3D12CommandQueue *pCommandQueue; + UINT BreadcrumbCount; + const UINT *pLastBreadcrumbValue; + const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory; + const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext; + UINT BreadcrumbContextsCount; + D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts; +} D3D12_AUTO_BREADCRUMB_NODE1; +typedef enum D3D12_DRED_VERSION { + D3D12_DRED_VERSION_1_0 = 0x1, + D3D12_DRED_VERSION_1_1 = 0x2, + D3D12_DRED_VERSION_1_2 = 0x3, + D3D12_DRED_VERSION_1_3 = 0x4 +} D3D12_DRED_VERSION; +typedef enum D3D12_DRED_FLAGS { + D3D12_DRED_FLAG_NONE = 0x0, + D3D12_DRED_FLAG_FORCE_ENABLE = 0x1, + D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 0x2 +} D3D12_DRED_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_DRED_FLAGS); +typedef enum D3D12_DRED_ENABLEMENT { + D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0x0, + D3D12_DRED_ENABLEMENT_FORCED_OFF = 0x1, + D3D12_DRED_ENABLEMENT_FORCED_ON = 0x2 +} D3D12_DRED_ENABLEMENT; +typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA { + D3D12_DRED_FLAGS Flags; + D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; +} D3D12_DEVICE_REMOVED_EXTENDED_DATA; +typedef enum D3D12_DRED_ALLOCATION_TYPE { + D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 0x13, + D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 0x14, + D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 0x15, + D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 0x16, + D3D12_DRED_ALLOCATION_TYPE_FENCE = 0x17, + D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 0x18, + D3D12_DRED_ALLOCATION_TYPE_HEAP = 0x19, + D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 0x1b, + D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 0x1c, + D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 0x1d, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 0x1e, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 0x20, + D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 0x22, + D3D12_DRED_ALLOCATION_TYPE_PASS = 0x23, + D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 0x24, + D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 0x25, + D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 0x26, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 0x27, + D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 0x28, + D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 0x29, + D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 0x2a, + D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 0x2b, + D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 0x2c, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 0x2d, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 0x2e, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 0x2f, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 0x30, + D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 0x31, + D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff +} D3D12_DRED_ALLOCATION_TYPE; +typedef struct D3D12_DRED_ALLOCATION_NODE { + const char *ObjectNameA; + const WCHAR *ObjectNameW; + D3D12_DRED_ALLOCATION_TYPE AllocationType; + const struct D3D12_DRED_ALLOCATION_NODE *pNext; +} D3D12_DRED_ALLOCATION_NODE; +typedef struct D3D12_DRED_ALLOCATION_NODE1 { + const char *ObjectNameA; + const WCHAR *ObjectNameW; + D3D12_DRED_ALLOCATION_TYPE AllocationType; + const struct D3D12_DRED_ALLOCATION_NODE1 *pNext; + const IUnknown *pObject; +} D3D12_DRED_ALLOCATION_NODE1; +typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT { + const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; +} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT; +typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 { + const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode; +} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1; +typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT { + D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; + const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode; + const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode; +} D3D12_DRED_PAGE_FAULT_OUTPUT; +typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1 { + D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; + const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode; + const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode; +} D3D12_DRED_PAGE_FAULT_OUTPUT1; +typedef enum D3D12_DRED_PAGE_FAULT_FLAGS { + D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0x0 +} D3D12_DRED_PAGE_FAULT_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_DRED_PAGE_FAULT_FLAGS); +typedef enum D3D12_DRED_DEVICE_STATE { + D3D12_DRED_DEVICE_STATE_UNKNOWN = 0x0, + D3D12_DRED_DEVICE_STATE_HUNG = 0x3, + D3D12_DRED_DEVICE_STATE_FAULT = 0x6, + D3D12_DRED_DEVICE_STATE_PAGEFAULT = 0x7 +} D3D12_DRED_DEVICE_STATE; +typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2 { + D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA; + const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode; + const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode; + D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags; +} D3D12_DRED_PAGE_FAULT_OUTPUT2; +typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 { + HRESULT DeviceRemovedReason; + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput; + D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput; +} D3D12_DEVICE_REMOVED_EXTENDED_DATA1; +typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 { + HRESULT DeviceRemovedReason; + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; + D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput; +} D3D12_DEVICE_REMOVED_EXTENDED_DATA2; +typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 { + HRESULT DeviceRemovedReason; + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; + D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput; + D3D12_DRED_DEVICE_STATE DeviceState; +} D3D12_DEVICE_REMOVED_EXTENDED_DATA3; +typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA { + D3D12_DRED_VERSION Version; + __C89_NAMELESS union { + D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0; + D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1; + D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2; + D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3; + } __C89_NAMELESSUNIONNAME; +} D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA; +/***************************************************************************** + * ID3D12DeviceRemovedExtendedDataSettings interface + */ +#ifndef __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ +#define __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings, 0x82bc481c, 0x6b9b, 0x4030, 0xae,0xdb, 0x7e,0xe3,0xd1,0xdf,0x1e,0x63); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("82bc481c-6b9b-4030-aedb-7ee3d1df1e63") +ID3D12DeviceRemovedExtendedDataSettings : public IUnknown +{ + virtual void STDMETHODCALLTYPE SetAutoBreadcrumbsEnablement( + D3D12_DRED_ENABLEMENT enablement) = 0; + + virtual void STDMETHODCALLTYPE SetPageFaultEnablement( + D3D12_DRED_ENABLEMENT enablement) = 0; + + virtual void STDMETHODCALLTYPE SetWatsonDumpEnablement( + D3D12_DRED_ENABLEMENT enablement) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedDataSettings, 0x82bc481c, 0x6b9b, 0x4030, 0xae,0xdb, 0x7e,0xe3,0xd1,0xdf,0x1e,0x63) +#endif +#else +typedef struct ID3D12DeviceRemovedExtendedDataSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12DeviceRemovedExtendedDataSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12DeviceRemovedExtendedDataSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12DeviceRemovedExtendedDataSettings *This); + + /*** ID3D12DeviceRemovedExtendedDataSettings methods ***/ + void (STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement)( + ID3D12DeviceRemovedExtendedDataSettings *This, + D3D12_DRED_ENABLEMENT enablement); + + void (STDMETHODCALLTYPE *SetPageFaultEnablement)( + ID3D12DeviceRemovedExtendedDataSettings *This, + D3D12_DRED_ENABLEMENT enablement); + + void (STDMETHODCALLTYPE *SetWatsonDumpEnablement)( + ID3D12DeviceRemovedExtendedDataSettings *This, + D3D12_DRED_ENABLEMENT enablement); + + END_INTERFACE +} ID3D12DeviceRemovedExtendedDataSettingsVtbl; + +interface ID3D12DeviceRemovedExtendedDataSettings { + CONST_VTBL ID3D12DeviceRemovedExtendedDataSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12DeviceRemovedExtendedDataSettings_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/ +#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,enablement) (This)->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement) +#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,enablement) (This)->lpVtbl->SetPageFaultEnablement(This,enablement) +#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,enablement) (This)->lpVtbl->SetWatsonDumpEnablement(This,enablement) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(ID3D12DeviceRemovedExtendedDataSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings_AddRef(ID3D12DeviceRemovedExtendedDataSettings* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings_Release(ID3D12DeviceRemovedExtendedDataSettings* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/ +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(ID3D12DeviceRemovedExtendedDataSettings* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement); +} +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(ID3D12DeviceRemovedExtendedDataSettings* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetPageFaultEnablement(This,enablement); +} +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(ID3D12DeviceRemovedExtendedDataSettings* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetWatsonDumpEnablement(This,enablement); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12DeviceRemovedExtendedDataSettings1 interface + */ +#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ +#define __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1, 0xdbd5ae51, 0x3317, 0x4f0a, 0xad,0xf9, 0x1d,0x7c,0xed,0xca,0xae,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dbd5ae51-3317-4f0a-adf9-1d7cedcaae0b") +ID3D12DeviceRemovedExtendedDataSettings1 : public ID3D12DeviceRemovedExtendedDataSettings +{ + virtual void STDMETHODCALLTYPE SetBreadcrumbContextEnablement( + D3D12_DRED_ENABLEMENT enablement) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedDataSettings1, 0xdbd5ae51, 0x3317, 0x4f0a, 0xad,0xf9, 0x1d,0x7c,0xed,0xca,0xae,0x0b) +#endif +#else +typedef struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12DeviceRemovedExtendedDataSettings1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12DeviceRemovedExtendedDataSettings1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12DeviceRemovedExtendedDataSettings1 *This); + + /*** ID3D12DeviceRemovedExtendedDataSettings methods ***/ + void (STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement)( + ID3D12DeviceRemovedExtendedDataSettings1 *This, + D3D12_DRED_ENABLEMENT enablement); + + void (STDMETHODCALLTYPE *SetPageFaultEnablement)( + ID3D12DeviceRemovedExtendedDataSettings1 *This, + D3D12_DRED_ENABLEMENT enablement); + + void (STDMETHODCALLTYPE *SetWatsonDumpEnablement)( + ID3D12DeviceRemovedExtendedDataSettings1 *This, + D3D12_DRED_ENABLEMENT enablement); + + /*** ID3D12DeviceRemovedExtendedDataSettings1 methods ***/ + void (STDMETHODCALLTYPE *SetBreadcrumbContextEnablement)( + ID3D12DeviceRemovedExtendedDataSettings1 *This, + D3D12_DRED_ENABLEMENT enablement); + + END_INTERFACE +} ID3D12DeviceRemovedExtendedDataSettings1Vtbl; + +interface ID3D12DeviceRemovedExtendedDataSettings1 { + CONST_VTBL ID3D12DeviceRemovedExtendedDataSettings1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/ +#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,enablement) (This)->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement) +#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,enablement) (This)->lpVtbl->SetPageFaultEnablement(This,enablement) +#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,enablement) (This)->lpVtbl->SetWatsonDumpEnablement(This,enablement) +/*** ID3D12DeviceRemovedExtendedDataSettings1 methods ***/ +#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,enablement) (This)->lpVtbl->SetBreadcrumbContextEnablement(This,enablement) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(ID3D12DeviceRemovedExtendedDataSettings1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings1_AddRef(ID3D12DeviceRemovedExtendedDataSettings1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings1_Release(ID3D12DeviceRemovedExtendedDataSettings1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/ +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement); +} +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetPageFaultEnablement(This,enablement); +} +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetWatsonDumpEnablement(This,enablement); +} +/*** ID3D12DeviceRemovedExtendedDataSettings1 methods ***/ +static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) { + This->lpVtbl->SetBreadcrumbContextEnablement(This,enablement); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12DeviceRemovedExtendedData interface + */ +#ifndef __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ +#define __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData, 0x98931d33, 0x5ae8, 0x4791, 0xaa,0x3c, 0x1a,0x73,0xa2,0x93,0x4e,0x71); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("98931d33-5ae8-4791-aa3c-1a73a2934e71") +ID3D12DeviceRemovedExtendedData : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput( + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput( + D3D12_DRED_PAGE_FAULT_OUTPUT *output) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedData, 0x98931d33, 0x5ae8, 0x4791, 0xaa,0x3c, 0x1a,0x73,0xa2,0x93,0x4e,0x71) +#endif +#else +typedef struct ID3D12DeviceRemovedExtendedDataVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12DeviceRemovedExtendedData *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12DeviceRemovedExtendedData *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12DeviceRemovedExtendedData *This); + + /*** ID3D12DeviceRemovedExtendedData methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput)( + ID3D12DeviceRemovedExtendedData *This, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output); + + HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput)( + ID3D12DeviceRemovedExtendedData *This, + D3D12_DRED_PAGE_FAULT_OUTPUT *output); + + END_INTERFACE +} ID3D12DeviceRemovedExtendedDataVtbl; + +interface ID3D12DeviceRemovedExtendedData { + CONST_VTBL ID3D12DeviceRemovedExtendedDataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12DeviceRemovedExtendedData_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12DeviceRemovedExtendedData_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12DeviceRemovedExtendedData methods ***/ +#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput(This,output) +#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput(This,output) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData_QueryInterface(ID3D12DeviceRemovedExtendedData* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData_AddRef(ID3D12DeviceRemovedExtendedData* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData_Release(ID3D12DeviceRemovedExtendedData* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12DeviceRemovedExtendedData methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(ID3D12DeviceRemovedExtendedData* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) { + return This->lpVtbl->GetAutoBreadcrumbsOutput(This,output); +} +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(ID3D12DeviceRemovedExtendedData* This,D3D12_DRED_PAGE_FAULT_OUTPUT *output) { + return This->lpVtbl->GetPageFaultAllocationOutput(This,output); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12DeviceRemovedExtendedData1 interface + */ +#ifndef __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ +#define __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1, 0x9727a022, 0xcf1d, 0x4dda, 0x9e,0xba, 0xef,0xfa,0x65,0x3f,0xc5,0x06); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9727a022-cf1d-4dda-9eba-effa653fc506") +ID3D12DeviceRemovedExtendedData1 : public ID3D12DeviceRemovedExtendedData +{ + virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput1( + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput1( + D3D12_DRED_PAGE_FAULT_OUTPUT1 *output) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedData1, 0x9727a022, 0xcf1d, 0x4dda, 0x9e,0xba, 0xef,0xfa,0x65,0x3f,0xc5,0x06) +#endif +#else +typedef struct ID3D12DeviceRemovedExtendedData1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12DeviceRemovedExtendedData1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12DeviceRemovedExtendedData1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12DeviceRemovedExtendedData1 *This); + + /*** ID3D12DeviceRemovedExtendedData methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput)( + ID3D12DeviceRemovedExtendedData1 *This, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output); + + HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput)( + ID3D12DeviceRemovedExtendedData1 *This, + D3D12_DRED_PAGE_FAULT_OUTPUT *output); + + /*** ID3D12DeviceRemovedExtendedData1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1)( + ID3D12DeviceRemovedExtendedData1 *This, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output); + + HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput1)( + ID3D12DeviceRemovedExtendedData1 *This, + D3D12_DRED_PAGE_FAULT_OUTPUT1 *output); + + END_INTERFACE +} ID3D12DeviceRemovedExtendedData1Vtbl; + +interface ID3D12DeviceRemovedExtendedData1 { + CONST_VTBL ID3D12DeviceRemovedExtendedData1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12DeviceRemovedExtendedData1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12DeviceRemovedExtendedData1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12DeviceRemovedExtendedData methods ***/ +#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput(This,output) +#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput(This,output) +/*** ID3D12DeviceRemovedExtendedData1 methods ***/ +#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput1(This,output) +#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput1(This,output) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_QueryInterface(ID3D12DeviceRemovedExtendedData1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData1_AddRef(ID3D12DeviceRemovedExtendedData1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData1_Release(ID3D12DeviceRemovedExtendedData1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12DeviceRemovedExtendedData methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) { + return This->lpVtbl->GetAutoBreadcrumbsOutput(This,output); +} +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_PAGE_FAULT_OUTPUT *output) { + return This->lpVtbl->GetPageFaultAllocationOutput(This,output); +} +/*** ID3D12DeviceRemovedExtendedData1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output) { + return This->lpVtbl->GetAutoBreadcrumbsOutput1(This,output); +} +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_PAGE_FAULT_OUTPUT1 *output) { + return This->lpVtbl->GetPageFaultAllocationOutput1(This,output); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12DeviceRemovedExtendedData2 interface + */ +#ifndef __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ +#define __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2, 0x67fc5816, 0xe4ca, 0x4915, 0xbf,0x18, 0x42,0x54,0x12,0x72,0xda,0x54); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("67fc5816-e4ca-4915-bf18-42541272da54") +ID3D12DeviceRemovedExtendedData2 : public ID3D12DeviceRemovedExtendedData1 +{ + virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput2( + D3D12_DRED_PAGE_FAULT_OUTPUT2 *output) = 0; + + virtual D3D12_DRED_DEVICE_STATE STDMETHODCALLTYPE GetDeviceState( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedData2, 0x67fc5816, 0xe4ca, 0x4915, 0xbf,0x18, 0x42,0x54,0x12,0x72,0xda,0x54) +#endif +#else +typedef struct ID3D12DeviceRemovedExtendedData2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12DeviceRemovedExtendedData2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12DeviceRemovedExtendedData2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12DeviceRemovedExtendedData2 *This); + + /*** ID3D12DeviceRemovedExtendedData methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput)( + ID3D12DeviceRemovedExtendedData2 *This, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output); + + HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput)( + ID3D12DeviceRemovedExtendedData2 *This, + D3D12_DRED_PAGE_FAULT_OUTPUT *output); + + /*** ID3D12DeviceRemovedExtendedData1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1)( + ID3D12DeviceRemovedExtendedData2 *This, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output); + + HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput1)( + ID3D12DeviceRemovedExtendedData2 *This, + D3D12_DRED_PAGE_FAULT_OUTPUT1 *output); + + /*** ID3D12DeviceRemovedExtendedData2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput2)( + ID3D12DeviceRemovedExtendedData2 *This, + D3D12_DRED_PAGE_FAULT_OUTPUT2 *output); + + D3D12_DRED_DEVICE_STATE (STDMETHODCALLTYPE *GetDeviceState)( + ID3D12DeviceRemovedExtendedData2 *This); + + END_INTERFACE +} ID3D12DeviceRemovedExtendedData2Vtbl; + +interface ID3D12DeviceRemovedExtendedData2 { + CONST_VTBL ID3D12DeviceRemovedExtendedData2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12DeviceRemovedExtendedData2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12DeviceRemovedExtendedData2_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12DeviceRemovedExtendedData methods ***/ +#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput(This,output) +#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput(This,output) +/*** ID3D12DeviceRemovedExtendedData1 methods ***/ +#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput1(This,output) +#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput1(This,output) +/*** ID3D12DeviceRemovedExtendedData2 methods ***/ +#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput2(This,output) +#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) (This)->lpVtbl->GetDeviceState(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_QueryInterface(ID3D12DeviceRemovedExtendedData2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData2_AddRef(ID3D12DeviceRemovedExtendedData2* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData2_Release(ID3D12DeviceRemovedExtendedData2* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12DeviceRemovedExtendedData methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) { + return This->lpVtbl->GetAutoBreadcrumbsOutput(This,output); +} +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_PAGE_FAULT_OUTPUT *output) { + return This->lpVtbl->GetPageFaultAllocationOutput(This,output); +} +/*** ID3D12DeviceRemovedExtendedData1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output) { + return This->lpVtbl->GetAutoBreadcrumbsOutput1(This,output); +} +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_PAGE_FAULT_OUTPUT1 *output) { + return This->lpVtbl->GetPageFaultAllocationOutput1(This,output); +} +/*** ID3D12DeviceRemovedExtendedData2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_PAGE_FAULT_OUTPUT2 *output) { + return This->lpVtbl->GetPageFaultAllocationOutput2(This,output); +} +static __WIDL_INLINE D3D12_DRED_DEVICE_STATE ID3D12DeviceRemovedExtendedData2_GetDeviceState(ID3D12DeviceRemovedExtendedData2* This) { + return This->lpVtbl->GetDeviceState(This); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ */ + +typedef enum D3D12_BACKGROUND_PROCESSING_MODE { + D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0x0, + D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = 0x1, + D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = 0x2, + D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = 0x3 +} D3D12_BACKGROUND_PROCESSING_MODE; +typedef enum D3D12_MEASUREMENTS_ACTION { + D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0x0, + D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = 0x1, + D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = 0x2, + D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = 0x3 +} D3D12_MEASUREMENTS_ACTION; +/***************************************************************************** + * ID3D12Device6 interface + */ +#ifndef __ID3D12Device6_INTERFACE_DEFINED__ +#define __ID3D12Device6_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device6, 0xc70b221b, 0x40e4, 0x4a17, 0x89,0xaf, 0x02,0x5a,0x07,0x27,0xa6,0xdc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c70b221b-40e4-4a17-89af-025a0727a6dc") +ID3D12Device6 : public ID3D12Device5 +{ + virtual HRESULT STDMETHODCALLTYPE SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE mode, + D3D12_MEASUREMENTS_ACTION action, + HANDLE event, + WINBOOL *further_measurements_desired) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device6, 0xc70b221b, 0x40e4, 0x4a17, 0x89,0xaf, 0x02,0x5a,0x07,0x27,0xa6,0xdc) +#endif +#else +typedef struct ID3D12Device6Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device6 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device6 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device6 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device6 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device6 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device6 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device6 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device6 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device6 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device6 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device6 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device6 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device6 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device6 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device6 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device6 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device6 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device6 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device6 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device6 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device6 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device6 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device6 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device6 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device6 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device6 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device6 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device6 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device6 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device6 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device6 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device6 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device6 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device6 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device6 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device6 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device6 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device6 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device6 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device6 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device6 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device6 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device6 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device6 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device6 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device6 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device6 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device6 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device6 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device6 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device6 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device6 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device6 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device6 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device6 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device6 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device6 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + /*** ID3D12Device5 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)( + ID3D12Device6 *This, + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker); + + void (STDMETHODCALLTYPE *RemoveDevice)( + ID3D12Device6 *This); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)( + ID3D12Device6 *This, + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)( + ID3D12Device6 *This, + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs); + + HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)( + ID3D12Device6 *This, + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command); + + HRESULT (STDMETHODCALLTYPE *CreateStateObject)( + ID3D12Device6 *This, + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object); + + void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)( + ID3D12Device6 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info); + + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)( + ID3D12Device6 *This, + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check); + + /*** ID3D12Device6 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)( + ID3D12Device6 *This, + D3D12_BACKGROUND_PROCESSING_MODE mode, + D3D12_MEASUREMENTS_ACTION action, + HANDLE event, + WINBOOL *further_measurements_desired); + + END_INTERFACE +} ID3D12Device6Vtbl; + +interface ID3D12Device6 { + CONST_VTBL ID3D12Device6Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device6_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device6_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device6_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device6_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device6_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device6_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device6_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device6_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device6_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device6_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device6_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device6_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device6_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device6_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device6_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device6_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device6_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device6_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device6_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device6_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device6_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device6_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device6_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device6_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device6_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device6_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device6_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device6_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device6_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device6_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device6_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device6_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device6_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device6_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device6_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device6_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device6_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device6_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device6_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device6_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device6_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device6_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device6_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device6_GetAdapterLuid(This) ID3D12Device6_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device6_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device6_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device6_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device6_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device6_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device6_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device6_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device6_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device6_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device6_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device6_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device6_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device5 methods ***/ +#define ID3D12Device6_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker) +#define ID3D12Device6_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This) +#define ID3D12Device6_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs) +#define ID3D12Device6_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) +#define ID3D12Device6_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) +#define ID3D12Device6_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object) +#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) +#define ID3D12Device6_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) +/*** ID3D12Device6 methods ***/ +#define ID3D12Device6_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_QueryInterface(ID3D12Device6* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device6_AddRef(ID3D12Device6* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device6_Release(ID3D12Device6* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_GetPrivateData(ID3D12Device6* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device6_SetPrivateData(ID3D12Device6* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device6_SetPrivateDataInterface(ID3D12Device6* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device6_SetName(ID3D12Device6* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device6_GetNodeCount(ID3D12Device6* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandQueue(ID3D12Device6* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandAllocator(ID3D12Device6* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateGraphicsPipelineState(ID3D12Device6* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateComputePipelineState(ID3D12Device6* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandList(ID3D12Device6* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CheckFeatureSupport(ID3D12Device6* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateDescriptorHeap(ID3D12Device6* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device6_GetDescriptorHandleIncrementSize(ID3D12Device6* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateRootSignature(ID3D12Device6* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device6_CreateConstantBufferView(ID3D12Device6* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device6_CreateShaderResourceView(ID3D12Device6* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device6_CreateUnorderedAccessView(ID3D12Device6* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device6_CreateRenderTargetView(ID3D12Device6* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device6_CreateDepthStencilView(ID3D12Device6* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device6_CreateSampler(ID3D12Device6* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device6_CopyDescriptors(ID3D12Device6* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device6_CopyDescriptorsSimple(ID3D12Device6* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device6_GetResourceAllocationInfo(ID3D12Device6* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device6_GetCustomHeapProperties(ID3D12Device6* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommittedResource(ID3D12Device6* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateHeap(ID3D12Device6* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreatePlacedResource(ID3D12Device6* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateReservedResource(ID3D12Device6* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateSharedHandle(ID3D12Device6* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device6_OpenSharedHandle(ID3D12Device6* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device6_OpenSharedHandleByName(ID3D12Device6* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device6_MakeResident(ID3D12Device6* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device6_Evict(ID3D12Device6* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateFence(ID3D12Device6* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device6_GetDeviceRemovedReason(ID3D12Device6* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device6_GetCopyableFootprints(ID3D12Device6* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateQueryHeap(ID3D12Device6* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device6_SetStablePowerState(ID3D12Device6* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandSignature(ID3D12Device6* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device6_GetResourceTiling(ID3D12Device6* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device6_GetAdapterLuid(ID3D12Device6* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_CreatePipelineLibrary(ID3D12Device6* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device6_SetEventOnMultipleFenceCompletion(ID3D12Device6* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device6_SetResidencyPriority(ID3D12Device6* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_CreatePipelineState(ID3D12Device6* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_OpenExistingHeapFromAddress(ID3D12Device6* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device6_OpenExistingHeapFromFileMapping(ID3D12Device6* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device6_EnqueueMakeResident(ID3D12Device6* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandList1(ID3D12Device6* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateProtectedResourceSession(ID3D12Device6* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommittedResource1(ID3D12Device6* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateHeap1(ID3D12Device6* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateReservedResource1(ID3D12Device6* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device6_GetResourceAllocationInfo1(ID3D12Device6* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +/*** ID3D12Device5 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_CreateLifetimeTracker(ID3D12Device6* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) { + return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker); +} +static __WIDL_INLINE void ID3D12Device6_RemoveDevice(ID3D12Device6* This) { + This->lpVtbl->RemoveDevice(This); +} +static __WIDL_INLINE HRESULT ID3D12Device6_EnumerateMetaCommands(ID3D12Device6* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) { + return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs); +} +static __WIDL_INLINE HRESULT ID3D12Device6_EnumerateMetaCommandParameters(ID3D12Device6* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) { + return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateMetaCommand(ID3D12Device6* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) { + return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command); +} +static __WIDL_INLINE HRESULT ID3D12Device6_CreateStateObject(ID3D12Device6* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) { + return This->lpVtbl->CreateStateObject(This,desc,riid,state_object); +} +static __WIDL_INLINE void ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device6* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) { + This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info); +} +static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device6_CheckDriverMatchingIdentifier(ID3D12Device6* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) { + return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check); +} +/*** ID3D12Device6 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device6_SetBackgroundProcessingMode(ID3D12Device6* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) { + return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device6_INTERFACE_DEFINED__ */ + +DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62b0084e, 0xc70e, 0x4daa, 0xa1, 0x09, 0x30, 0xff, 0x8d, 0x5a, 0x04, 0x82); +typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT { + UINT NodeIndex; + UINT Count; +} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT; +typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES { + UINT NodeIndex; + UINT Count; + GUID *pTypes; +} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES; +typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 { + UINT NodeMask; + D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; + GUID ProtectionType; +} D3D12_PROTECTED_RESOURCE_SESSION_DESC1; +/***************************************************************************** + * ID3D12ProtectedResourceSession1 interface + */ +#ifndef __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ +#define __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12ProtectedResourceSession1, 0xd6f12dd6, 0x76fb, 0x406e, 0x89,0x61, 0x42,0x96,0xee,0xfc,0x04,0x09); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d6f12dd6-76fb-406e-8961-4296eefc0409") +ID3D12ProtectedResourceSession1 : public ID3D12ProtectedResourceSession +{ +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1* STDMETHODCALLTYPE GetDesc1( + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *__ret) = 0; + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1( + ) + { + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 __ret; + return *GetDesc1(&__ret); + } +#else + virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1( + ) = 0; +#endif + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12ProtectedResourceSession1, 0xd6f12dd6, 0x76fb, 0x406e, 0x89,0x61, 0x42,0x96,0xee,0xfc,0x04,0x09) +#endif +#else +typedef struct ID3D12ProtectedResourceSession1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12ProtectedResourceSession1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12ProtectedResourceSession1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12ProtectedResourceSession1 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12ProtectedResourceSession1 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12ProtectedResourceSession1 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12ProtectedResourceSession1 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12ProtectedResourceSession1 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12ProtectedResourceSession1 *This, + REFIID riid, + void **device); + + /*** ID3D12ProtectedSession methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStatusFence)( + ID3D12ProtectedResourceSession1 *This, + REFIID riid, + void **fence); + + D3D12_PROTECTED_SESSION_STATUS (STDMETHODCALLTYPE *GetSessionStatus)( + ID3D12ProtectedResourceSession1 *This); + + /*** ID3D12ProtectedResourceSession methods ***/ + D3D12_PROTECTED_RESOURCE_SESSION_DESC * (STDMETHODCALLTYPE *GetDesc)( + ID3D12ProtectedResourceSession1 *This, + D3D12_PROTECTED_RESOURCE_SESSION_DESC *__ret); + + /*** ID3D12ProtectedResourceSession1 methods ***/ + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * (STDMETHODCALLTYPE *GetDesc1)( + ID3D12ProtectedResourceSession1 *This, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *__ret); + + END_INTERFACE +} ID3D12ProtectedResourceSession1Vtbl; + +interface ID3D12ProtectedResourceSession1 { + CONST_VTBL ID3D12ProtectedResourceSession1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12ProtectedResourceSession1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12ProtectedResourceSession1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12ProtectedResourceSession1_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12ProtectedSession methods ***/ +#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,fence) (This)->lpVtbl->GetStatusFence(This,riid,fence) +#define ID3D12ProtectedResourceSession1_GetSessionStatus(This) (This)->lpVtbl->GetSessionStatus(This) +/*** ID3D12ProtectedResourceSession methods ***/ +#define ID3D12ProtectedResourceSession1_GetDesc(This) ID3D12ProtectedResourceSession1_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12ProtectedResourceSession1 methods ***/ +#define ID3D12ProtectedResourceSession1_GetDesc1(This) ID3D12ProtectedResourceSession1_GetDesc1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_QueryInterface(ID3D12ProtectedResourceSession1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession1_AddRef(ID3D12ProtectedResourceSession1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession1_Release(ID3D12ProtectedResourceSession1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_GetPrivateData(ID3D12ProtectedResourceSession1* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_SetPrivateData(ID3D12ProtectedResourceSession1* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_SetPrivateDataInterface(ID3D12ProtectedResourceSession1* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_SetName(ID3D12ProtectedResourceSession1* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_GetDevice(ID3D12ProtectedResourceSession1* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12ProtectedSession methods ***/ +static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_GetStatusFence(ID3D12ProtectedResourceSession1* This,REFIID riid,void **fence) { + return This->lpVtbl->GetStatusFence(This,riid,fence); +} +static __WIDL_INLINE D3D12_PROTECTED_SESSION_STATUS ID3D12ProtectedResourceSession1_GetSessionStatus(ID3D12ProtectedResourceSession1* This) { + return This->lpVtbl->GetSessionStatus(This); +} +/*** ID3D12ProtectedResourceSession methods ***/ +static __WIDL_INLINE D3D12_PROTECTED_RESOURCE_SESSION_DESC ID3D12ProtectedResourceSession1_GetDesc(ID3D12ProtectedResourceSession1* This) { + D3D12_PROTECTED_RESOURCE_SESSION_DESC __ret; + return *This->lpVtbl->GetDesc(This,&__ret); +} +/*** ID3D12ProtectedResourceSession1 methods ***/ +static __WIDL_INLINE D3D12_PROTECTED_RESOURCE_SESSION_DESC1 ID3D12ProtectedResourceSession1_GetDesc1(ID3D12ProtectedResourceSession1* This) { + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 __ret; + return *This->lpVtbl->GetDesc1(This,&__ret); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Device7 interface + */ +#ifndef __ID3D12Device7_INTERFACE_DEFINED__ +#define __ID3D12Device7_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device7, 0x5c014b53, 0x68a1, 0x4b9b, 0x8b,0xd1, 0xdd,0x60,0x46,0xb9,0x35,0x8b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5c014b53-68a1-4b9b-8bd1-dd6046b9358b") +ID3D12Device7 : public ID3D12Device6 +{ + virtual HRESULT STDMETHODCALLTYPE AddToStateObject( + const D3D12_STATE_OBJECT_DESC *addition, + ID3D12StateObject *state_object_to_grow_from, + REFIID riid, + void **new_state_object) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession1( + const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc, + REFIID riid, + void **session) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device7, 0x5c014b53, 0x68a1, 0x4b9b, 0x8b,0xd1, 0xdd,0x60,0x46,0xb9,0x35,0x8b) +#endif +#else +typedef struct ID3D12Device7Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device7 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device7 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device7 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device7 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device7 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device7 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device7 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device7 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device7 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device7 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device7 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device7 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device7 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device7 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device7 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device7 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device7 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device7 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device7 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device7 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device7 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device7 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device7 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device7 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device7 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device7 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device7 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device7 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device7 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device7 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device7 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device7 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device7 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device7 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device7 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device7 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device7 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device7 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device7 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device7 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device7 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device7 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device7 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device7 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device7 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device7 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device7 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device7 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device7 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device7 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device7 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device7 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device7 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device7 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device7 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device7 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device7 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + /*** ID3D12Device5 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)( + ID3D12Device7 *This, + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker); + + void (STDMETHODCALLTYPE *RemoveDevice)( + ID3D12Device7 *This); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)( + ID3D12Device7 *This, + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)( + ID3D12Device7 *This, + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs); + + HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)( + ID3D12Device7 *This, + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command); + + HRESULT (STDMETHODCALLTYPE *CreateStateObject)( + ID3D12Device7 *This, + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object); + + void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)( + ID3D12Device7 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info); + + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)( + ID3D12Device7 *This, + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check); + + /*** ID3D12Device6 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)( + ID3D12Device7 *This, + D3D12_BACKGROUND_PROCESSING_MODE mode, + D3D12_MEASUREMENTS_ACTION action, + HANDLE event, + WINBOOL *further_measurements_desired); + + /*** ID3D12Device7 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddToStateObject)( + ID3D12Device7 *This, + const D3D12_STATE_OBJECT_DESC *addition, + ID3D12StateObject *state_object_to_grow_from, + REFIID riid, + void **new_state_object); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)( + ID3D12Device7 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc, + REFIID riid, + void **session); + + END_INTERFACE +} ID3D12Device7Vtbl; + +interface ID3D12Device7 { + CONST_VTBL ID3D12Device7Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device7_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device7_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device7_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device7_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device7_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device7_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device7_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device7_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device7_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device7_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device7_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device7_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device7_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device7_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device7_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device7_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device7_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device7_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device7_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device7_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device7_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device7_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device7_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device7_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device7_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device7_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device7_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device7_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device7_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device7_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device7_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device7_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device7_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device7_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device7_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device7_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device7_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device7_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device7_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device7_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device7_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device7_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device7_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device7_GetAdapterLuid(This) ID3D12Device7_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device7_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device7_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device7_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device7_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device7_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device7_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device7_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device7_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device7_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device7_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device7_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device7_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device5 methods ***/ +#define ID3D12Device7_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker) +#define ID3D12Device7_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This) +#define ID3D12Device7_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs) +#define ID3D12Device7_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) +#define ID3D12Device7_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) +#define ID3D12Device7_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object) +#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) +#define ID3D12Device7_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) +/*** ID3D12Device6 methods ***/ +#define ID3D12Device7_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) +/*** ID3D12Device7 methods ***/ +#define ID3D12Device7_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) +#define ID3D12Device7_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_QueryInterface(ID3D12Device7* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device7_AddRef(ID3D12Device7* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device7_Release(ID3D12Device7* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_GetPrivateData(ID3D12Device7* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device7_SetPrivateData(ID3D12Device7* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device7_SetPrivateDataInterface(ID3D12Device7* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device7_SetName(ID3D12Device7* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device7_GetNodeCount(ID3D12Device7* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandQueue(ID3D12Device7* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandAllocator(ID3D12Device7* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateGraphicsPipelineState(ID3D12Device7* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateComputePipelineState(ID3D12Device7* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandList(ID3D12Device7* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CheckFeatureSupport(ID3D12Device7* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateDescriptorHeap(ID3D12Device7* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device7_GetDescriptorHandleIncrementSize(ID3D12Device7* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateRootSignature(ID3D12Device7* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device7_CreateConstantBufferView(ID3D12Device7* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device7_CreateShaderResourceView(ID3D12Device7* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device7_CreateUnorderedAccessView(ID3D12Device7* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device7_CreateRenderTargetView(ID3D12Device7* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device7_CreateDepthStencilView(ID3D12Device7* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device7_CreateSampler(ID3D12Device7* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device7_CopyDescriptors(ID3D12Device7* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device7_CopyDescriptorsSimple(ID3D12Device7* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device7_GetResourceAllocationInfo(ID3D12Device7* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device7_GetCustomHeapProperties(ID3D12Device7* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommittedResource(ID3D12Device7* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateHeap(ID3D12Device7* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreatePlacedResource(ID3D12Device7* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateReservedResource(ID3D12Device7* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateSharedHandle(ID3D12Device7* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device7_OpenSharedHandle(ID3D12Device7* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device7_OpenSharedHandleByName(ID3D12Device7* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device7_MakeResident(ID3D12Device7* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device7_Evict(ID3D12Device7* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateFence(ID3D12Device7* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device7_GetDeviceRemovedReason(ID3D12Device7* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device7_GetCopyableFootprints(ID3D12Device7* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateQueryHeap(ID3D12Device7* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device7_SetStablePowerState(ID3D12Device7* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandSignature(ID3D12Device7* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device7_GetResourceTiling(ID3D12Device7* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device7_GetAdapterLuid(ID3D12Device7* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_CreatePipelineLibrary(ID3D12Device7* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device7_SetEventOnMultipleFenceCompletion(ID3D12Device7* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device7_SetResidencyPriority(ID3D12Device7* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_CreatePipelineState(ID3D12Device7* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_OpenExistingHeapFromAddress(ID3D12Device7* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device7_OpenExistingHeapFromFileMapping(ID3D12Device7* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device7_EnqueueMakeResident(ID3D12Device7* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandList1(ID3D12Device7* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateProtectedResourceSession(ID3D12Device7* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommittedResource1(ID3D12Device7* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateHeap1(ID3D12Device7* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateReservedResource1(ID3D12Device7* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device7_GetResourceAllocationInfo1(ID3D12Device7* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +/*** ID3D12Device5 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_CreateLifetimeTracker(ID3D12Device7* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) { + return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker); +} +static __WIDL_INLINE void ID3D12Device7_RemoveDevice(ID3D12Device7* This) { + This->lpVtbl->RemoveDevice(This); +} +static __WIDL_INLINE HRESULT ID3D12Device7_EnumerateMetaCommands(ID3D12Device7* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) { + return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs); +} +static __WIDL_INLINE HRESULT ID3D12Device7_EnumerateMetaCommandParameters(ID3D12Device7* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) { + return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateMetaCommand(ID3D12Device7* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) { + return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateStateObject(ID3D12Device7* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) { + return This->lpVtbl->CreateStateObject(This,desc,riid,state_object); +} +static __WIDL_INLINE void ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device7* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) { + This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info); +} +static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device7_CheckDriverMatchingIdentifier(ID3D12Device7* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) { + return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check); +} +/*** ID3D12Device6 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_SetBackgroundProcessingMode(ID3D12Device7* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) { + return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired); +} +/*** ID3D12Device7 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device7_AddToStateObject(ID3D12Device7* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) { + return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object); +} +static __WIDL_INLINE HRESULT ID3D12Device7_CreateProtectedResourceSession1(ID3D12Device7* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device7_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Device8 interface + */ +#ifndef __ID3D12Device8_INTERFACE_DEFINED__ +#define __ID3D12Device8_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device8, 0x9218e6bb, 0xf944, 0x4f7e, 0xa7,0x5c, 0xb1,0xb2,0xc7,0xb7,0x01,0xf3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9218e6bb-f944-4f7e-a75c-b1b2c7b701f3") +ID3D12Device8 : public ID3D12Device7 +{ +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual D3D12_RESOURCE_ALLOCATION_INFO* STDMETHODCALLTYPE GetResourceAllocationInfo2( + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC1 *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0; + D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2( + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC1 *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) + { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *GetResourceAllocationInfo2(&__ret, visible_mask, resource_descs_count, resource_descs, resource_allocation_info1); + } +#else + virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2( + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC1 *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0; +#endif + + virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource2( + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource1( + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource) = 0; + + virtual void STDMETHODCALLTYPE CreateSamplerFeedbackUnorderedAccessView( + ID3D12Resource *targeted_resource, + ID3D12Resource *feedback_resource, + D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) = 0; + + virtual void STDMETHODCALLTYPE GetCopyableFootprints1( + const D3D12_RESOURCE_DESC1 *resource_desc, + UINT first_subresource, + UINT subresources_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *rows_count, + UINT64 *row_size_in_bytes, + UINT64 *total_bytes) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device8, 0x9218e6bb, 0xf944, 0x4f7e, 0xa7,0x5c, 0xb1,0xb2,0xc7,0xb7,0x01,0xf3) +#endif +#else +typedef struct ID3D12Device8Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device8 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device8 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device8 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device8 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device8 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device8 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device8 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device8 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device8 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device8 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device8 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device8 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device8 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device8 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device8 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device8 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device8 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device8 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device8 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device8 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device8 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device8 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device8 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device8 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device8 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device8 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device8 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device8 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device8 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device8 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device8 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device8 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device8 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device8 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device8 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device8 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device8 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device8 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device8 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device8 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device8 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device8 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device8 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device8 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device8 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device8 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device8 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device8 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device8 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device8 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device8 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device8 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device8 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device8 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device8 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device8 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device8 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + /*** ID3D12Device5 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)( + ID3D12Device8 *This, + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker); + + void (STDMETHODCALLTYPE *RemoveDevice)( + ID3D12Device8 *This); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)( + ID3D12Device8 *This, + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)( + ID3D12Device8 *This, + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs); + + HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)( + ID3D12Device8 *This, + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command); + + HRESULT (STDMETHODCALLTYPE *CreateStateObject)( + ID3D12Device8 *This, + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object); + + void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)( + ID3D12Device8 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info); + + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)( + ID3D12Device8 *This, + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check); + + /*** ID3D12Device6 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)( + ID3D12Device8 *This, + D3D12_BACKGROUND_PROCESSING_MODE mode, + D3D12_MEASUREMENTS_ACTION action, + HANDLE event, + WINBOOL *further_measurements_desired); + + /*** ID3D12Device7 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddToStateObject)( + ID3D12Device8 *This, + const D3D12_STATE_OBJECT_DESC *addition, + ID3D12StateObject *state_object_to_grow_from, + REFIID riid, + void **new_state_object); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)( + ID3D12Device8 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc, + REFIID riid, + void **session); + + /*** ID3D12Device8 methods ***/ + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo2)( + ID3D12Device8 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC1 *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource2)( + ID3D12Device8 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource1)( + ID3D12Device8 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + void (STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView)( + ID3D12Device8 *This, + ID3D12Resource *targeted_resource, + ID3D12Resource *feedback_resource, + D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor); + + void (STDMETHODCALLTYPE *GetCopyableFootprints1)( + ID3D12Device8 *This, + const D3D12_RESOURCE_DESC1 *resource_desc, + UINT first_subresource, + UINT subresources_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *rows_count, + UINT64 *row_size_in_bytes, + UINT64 *total_bytes); + + END_INTERFACE +} ID3D12Device8Vtbl; + +interface ID3D12Device8 { + CONST_VTBL ID3D12Device8Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device8_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device8_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device8_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device8_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device8_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device8_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device8_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device8_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device8_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device8_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device8_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device8_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device8_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device8_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device8_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device8_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device8_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device8_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device8_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device8_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device8_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device8_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device8_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device8_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device8_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device8_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device8_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device8_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device8_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device8_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device8_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device8_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device8_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device8_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device8_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device8_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device8_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device8_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device8_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device8_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device8_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device8_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device8_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device8_GetAdapterLuid(This) ID3D12Device8_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device8_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device8_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device8_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device8_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device8_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device8_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device8_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device8_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device8_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device8_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device8_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device8_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device5 methods ***/ +#define ID3D12Device8_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker) +#define ID3D12Device8_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This) +#define ID3D12Device8_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs) +#define ID3D12Device8_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) +#define ID3D12Device8_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) +#define ID3D12Device8_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object) +#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) +#define ID3D12Device8_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) +/*** ID3D12Device6 methods ***/ +#define ID3D12Device8_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) +/*** ID3D12Device7 methods ***/ +#define ID3D12Device8_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) +#define ID3D12Device8_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session) +/*** ID3D12Device8 methods ***/ +#define ID3D12Device8_GetResourceAllocationInfo2(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device8_GetResourceAllocationInfo2_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device8_CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device8_CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) (This)->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) +#define ID3D12Device8_GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) (This)->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_QueryInterface(ID3D12Device8* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device8_AddRef(ID3D12Device8* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device8_Release(ID3D12Device8* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_GetPrivateData(ID3D12Device8* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device8_SetPrivateData(ID3D12Device8* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device8_SetPrivateDataInterface(ID3D12Device8* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device8_SetName(ID3D12Device8* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device8_GetNodeCount(ID3D12Device8* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandQueue(ID3D12Device8* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandAllocator(ID3D12Device8* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateGraphicsPipelineState(ID3D12Device8* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateComputePipelineState(ID3D12Device8* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandList(ID3D12Device8* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CheckFeatureSupport(ID3D12Device8* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateDescriptorHeap(ID3D12Device8* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device8_GetDescriptorHandleIncrementSize(ID3D12Device8* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateRootSignature(ID3D12Device8* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device8_CreateConstantBufferView(ID3D12Device8* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device8_CreateShaderResourceView(ID3D12Device8* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device8_CreateUnorderedAccessView(ID3D12Device8* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device8_CreateRenderTargetView(ID3D12Device8* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device8_CreateDepthStencilView(ID3D12Device8* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device8_CreateSampler(ID3D12Device8* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device8_CopyDescriptors(ID3D12Device8* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device8_CopyDescriptorsSimple(ID3D12Device8* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device8_GetResourceAllocationInfo(ID3D12Device8* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device8_GetCustomHeapProperties(ID3D12Device8* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommittedResource(ID3D12Device8* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateHeap(ID3D12Device8* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreatePlacedResource(ID3D12Device8* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateReservedResource(ID3D12Device8* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateSharedHandle(ID3D12Device8* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device8_OpenSharedHandle(ID3D12Device8* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device8_OpenSharedHandleByName(ID3D12Device8* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device8_MakeResident(ID3D12Device8* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device8_Evict(ID3D12Device8* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateFence(ID3D12Device8* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device8_GetDeviceRemovedReason(ID3D12Device8* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device8_GetCopyableFootprints(ID3D12Device8* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateQueryHeap(ID3D12Device8* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device8_SetStablePowerState(ID3D12Device8* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandSignature(ID3D12Device8* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device8_GetResourceTiling(ID3D12Device8* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device8_GetAdapterLuid(ID3D12Device8* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_CreatePipelineLibrary(ID3D12Device8* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device8_SetEventOnMultipleFenceCompletion(ID3D12Device8* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device8_SetResidencyPriority(ID3D12Device8* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_CreatePipelineState(ID3D12Device8* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_OpenExistingHeapFromAddress(ID3D12Device8* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device8_OpenExistingHeapFromFileMapping(ID3D12Device8* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device8_EnqueueMakeResident(ID3D12Device8* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandList1(ID3D12Device8* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateProtectedResourceSession(ID3D12Device8* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommittedResource1(ID3D12Device8* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateHeap1(ID3D12Device8* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateReservedResource1(ID3D12Device8* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device8_GetResourceAllocationInfo1(ID3D12Device8* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +/*** ID3D12Device5 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_CreateLifetimeTracker(ID3D12Device8* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) { + return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker); +} +static __WIDL_INLINE void ID3D12Device8_RemoveDevice(ID3D12Device8* This) { + This->lpVtbl->RemoveDevice(This); +} +static __WIDL_INLINE HRESULT ID3D12Device8_EnumerateMetaCommands(ID3D12Device8* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) { + return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs); +} +static __WIDL_INLINE HRESULT ID3D12Device8_EnumerateMetaCommandParameters(ID3D12Device8* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) { + return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateMetaCommand(ID3D12Device8* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) { + return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateStateObject(ID3D12Device8* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) { + return This->lpVtbl->CreateStateObject(This,desc,riid,state_object); +} +static __WIDL_INLINE void ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device8* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) { + This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info); +} +static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device8_CheckDriverMatchingIdentifier(ID3D12Device8* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) { + return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check); +} +/*** ID3D12Device6 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_SetBackgroundProcessingMode(ID3D12Device8* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) { + return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired); +} +/*** ID3D12Device7 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device8_AddToStateObject(ID3D12Device8* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) { + return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateProtectedResourceSession1(ID3D12Device8* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session); +} +/*** ID3D12Device8 methods ***/ +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device8_GetResourceAllocationInfo2(ID3D12Device8* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC1 *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo2(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommittedResource2(ID3D12Device8* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device8_CreatePlacedResource1(ID3D12Device8* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE void ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(ID3D12Device8* This,ID3D12Resource *targeted_resource,ID3D12Resource *feedback_resource,D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) { + This->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor); +} +static __WIDL_INLINE void ID3D12Device8_GetCopyableFootprints1(ID3D12Device8* This,const D3D12_RESOURCE_DESC1 *resource_desc,UINT first_subresource,UINT subresources_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *rows_count,UINT64 *row_size_in_bytes,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device8_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Resource1 interface + */ +#ifndef __ID3D12Resource1_INTERFACE_DEFINED__ +#define __ID3D12Resource1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Resource1, 0x9d5e227a, 0x4430, 0x4161, 0x88,0xb3, 0x3e,0xca,0x6b,0xb1,0x6e,0x19); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9d5e227a-4430-4161-88b3-3eca6bb16e19") +ID3D12Resource1 : public ID3D12Resource +{ + virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( + REFIID riid, + void **protected_session) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Resource1, 0x9d5e227a, 0x4430, 0x4161, 0x88,0xb3, 0x3e,0xca,0x6b,0xb1,0x6e,0x19) +#endif +#else +typedef struct ID3D12Resource1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Resource1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Resource1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Resource1 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Resource1 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Resource1 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Resource1 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Resource1 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12Resource1 *This, + REFIID riid, + void **device); + + /*** ID3D12Resource methods ***/ + HRESULT (STDMETHODCALLTYPE *Map)( + ID3D12Resource1 *This, + UINT sub_resource, + const D3D12_RANGE *read_range, + void **data); + + void (STDMETHODCALLTYPE *Unmap)( + ID3D12Resource1 *This, + UINT sub_resource, + const D3D12_RANGE *written_range); + + D3D12_RESOURCE_DESC * (STDMETHODCALLTYPE *GetDesc)( + ID3D12Resource1 *This, + D3D12_RESOURCE_DESC *__ret); + + D3D12_GPU_VIRTUAL_ADDRESS (STDMETHODCALLTYPE *GetGPUVirtualAddress)( + ID3D12Resource1 *This); + + HRESULT (STDMETHODCALLTYPE *WriteToSubresource)( + ID3D12Resource1 *This, + UINT dst_sub_resource, + const D3D12_BOX *dst_box, + const void *src_data, + UINT src_row_pitch, + UINT src_slice_pitch); + + HRESULT (STDMETHODCALLTYPE *ReadFromSubresource)( + ID3D12Resource1 *This, + void *dst_data, + UINT dst_row_pitch, + UINT dst_slice_pitch, + UINT src_sub_resource, + const D3D12_BOX *src_box); + + HRESULT (STDMETHODCALLTYPE *GetHeapProperties)( + ID3D12Resource1 *This, + D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS *flags); + + /*** ID3D12Resource1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProtectedResourceSession)( + ID3D12Resource1 *This, + REFIID riid, + void **protected_session); + + END_INTERFACE +} ID3D12Resource1Vtbl; + +interface ID3D12Resource1 { + CONST_VTBL ID3D12Resource1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Resource1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Resource1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Resource1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Resource1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Resource1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Resource1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Resource1_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12Resource1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12Resource methods ***/ +#define ID3D12Resource1_Map(This,sub_resource,read_range,data) (This)->lpVtbl->Map(This,sub_resource,read_range,data) +#define ID3D12Resource1_Unmap(This,sub_resource,written_range) (This)->lpVtbl->Unmap(This,sub_resource,written_range) +#define ID3D12Resource1_GetDesc(This) ID3D12Resource1_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Resource1_GetGPUVirtualAddress(This) (This)->lpVtbl->GetGPUVirtualAddress(This) +#define ID3D12Resource1_WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) (This)->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) +#define ID3D12Resource1_ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) (This)->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) +#define ID3D12Resource1_GetHeapProperties(This,heap_properties,flags) (This)->lpVtbl->GetHeapProperties(This,heap_properties,flags) +/*** ID3D12Resource1 methods ***/ +#define ID3D12Resource1_GetProtectedResourceSession(This,riid,protected_session) (This)->lpVtbl->GetProtectedResourceSession(This,riid,protected_session) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource1_QueryInterface(ID3D12Resource1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Resource1_AddRef(ID3D12Resource1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Resource1_Release(ID3D12Resource1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource1_GetPrivateData(ID3D12Resource1* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Resource1_SetPrivateData(ID3D12Resource1* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Resource1_SetPrivateDataInterface(ID3D12Resource1* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Resource1_SetName(ID3D12Resource1* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource1_GetDevice(ID3D12Resource1* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12Resource methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource1_Map(ID3D12Resource1* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) { + return This->lpVtbl->Map(This,sub_resource,read_range,data); +} +static __WIDL_INLINE void ID3D12Resource1_Unmap(ID3D12Resource1* This,UINT sub_resource,const D3D12_RANGE *written_range) { + This->lpVtbl->Unmap(This,sub_resource,written_range); +} +static __WIDL_INLINE D3D12_RESOURCE_DESC ID3D12Resource1_GetDesc(ID3D12Resource1* This) { + D3D12_RESOURCE_DESC __ret; + return *This->lpVtbl->GetDesc(This,&__ret); +} +static __WIDL_INLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource1_GetGPUVirtualAddress(ID3D12Resource1* This) { + return This->lpVtbl->GetGPUVirtualAddress(This); +} +static __WIDL_INLINE HRESULT ID3D12Resource1_WriteToSubresource(ID3D12Resource1* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) { + return This->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch); +} +static __WIDL_INLINE HRESULT ID3D12Resource1_ReadFromSubresource(ID3D12Resource1* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) { + return This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box); +} +static __WIDL_INLINE HRESULT ID3D12Resource1_GetHeapProperties(ID3D12Resource1* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) { + return This->lpVtbl->GetHeapProperties(This,heap_properties,flags); +} +/*** ID3D12Resource1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource1_GetProtectedResourceSession(ID3D12Resource1* This,REFIID riid,void **protected_session) { + return This->lpVtbl->GetProtectedResourceSession(This,riid,protected_session); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Resource1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Resource2 interface + */ +#ifndef __ID3D12Resource2_INTERFACE_DEFINED__ +#define __ID3D12Resource2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Resource2, 0xbe36ec3b, 0xea85, 0x4aeb, 0xa4,0x5a, 0xe9,0xd7,0x64,0x04,0xa4,0x95); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("be36ec3b-ea85-4aeb-a45a-e9d76404a495") +ID3D12Resource2 : public ID3D12Resource1 +{ +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual D3D12_RESOURCE_DESC1* STDMETHODCALLTYPE GetDesc1( + D3D12_RESOURCE_DESC1 *__ret) = 0; + D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1( + ) + { + D3D12_RESOURCE_DESC1 __ret; + return *GetDesc1(&__ret); + } +#else + virtual D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1( + ) = 0; +#endif + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Resource2, 0xbe36ec3b, 0xea85, 0x4aeb, 0xa4,0x5a, 0xe9,0xd7,0x64,0x04,0xa4,0x95) +#endif +#else +typedef struct ID3D12Resource2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Resource2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Resource2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Resource2 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Resource2 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Resource2 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Resource2 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Resource2 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12Resource2 *This, + REFIID riid, + void **device); + + /*** ID3D12Resource methods ***/ + HRESULT (STDMETHODCALLTYPE *Map)( + ID3D12Resource2 *This, + UINT sub_resource, + const D3D12_RANGE *read_range, + void **data); + + void (STDMETHODCALLTYPE *Unmap)( + ID3D12Resource2 *This, + UINT sub_resource, + const D3D12_RANGE *written_range); + + D3D12_RESOURCE_DESC * (STDMETHODCALLTYPE *GetDesc)( + ID3D12Resource2 *This, + D3D12_RESOURCE_DESC *__ret); + + D3D12_GPU_VIRTUAL_ADDRESS (STDMETHODCALLTYPE *GetGPUVirtualAddress)( + ID3D12Resource2 *This); + + HRESULT (STDMETHODCALLTYPE *WriteToSubresource)( + ID3D12Resource2 *This, + UINT dst_sub_resource, + const D3D12_BOX *dst_box, + const void *src_data, + UINT src_row_pitch, + UINT src_slice_pitch); + + HRESULT (STDMETHODCALLTYPE *ReadFromSubresource)( + ID3D12Resource2 *This, + void *dst_data, + UINT dst_row_pitch, + UINT dst_slice_pitch, + UINT src_sub_resource, + const D3D12_BOX *src_box); + + HRESULT (STDMETHODCALLTYPE *GetHeapProperties)( + ID3D12Resource2 *This, + D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS *flags); + + /*** ID3D12Resource1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProtectedResourceSession)( + ID3D12Resource2 *This, + REFIID riid, + void **protected_session); + + /*** ID3D12Resource2 methods ***/ + D3D12_RESOURCE_DESC1 * (STDMETHODCALLTYPE *GetDesc1)( + ID3D12Resource2 *This, + D3D12_RESOURCE_DESC1 *__ret); + + END_INTERFACE +} ID3D12Resource2Vtbl; + +interface ID3D12Resource2 { + CONST_VTBL ID3D12Resource2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Resource2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Resource2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Resource2_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Resource2_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Resource2_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Resource2_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Resource2_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12Resource2_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12Resource methods ***/ +#define ID3D12Resource2_Map(This,sub_resource,read_range,data) (This)->lpVtbl->Map(This,sub_resource,read_range,data) +#define ID3D12Resource2_Unmap(This,sub_resource,written_range) (This)->lpVtbl->Unmap(This,sub_resource,written_range) +#define ID3D12Resource2_GetDesc(This) ID3D12Resource2_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Resource2_GetGPUVirtualAddress(This) (This)->lpVtbl->GetGPUVirtualAddress(This) +#define ID3D12Resource2_WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) (This)->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) +#define ID3D12Resource2_ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) (This)->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) +#define ID3D12Resource2_GetHeapProperties(This,heap_properties,flags) (This)->lpVtbl->GetHeapProperties(This,heap_properties,flags) +/*** ID3D12Resource1 methods ***/ +#define ID3D12Resource2_GetProtectedResourceSession(This,riid,protected_session) (This)->lpVtbl->GetProtectedResourceSession(This,riid,protected_session) +/*** ID3D12Resource2 methods ***/ +#define ID3D12Resource2_GetDesc1(This) ID3D12Resource2_GetDesc1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource2_QueryInterface(ID3D12Resource2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Resource2_AddRef(ID3D12Resource2* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Resource2_Release(ID3D12Resource2* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource2_GetPrivateData(ID3D12Resource2* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Resource2_SetPrivateData(ID3D12Resource2* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Resource2_SetPrivateDataInterface(ID3D12Resource2* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Resource2_SetName(ID3D12Resource2* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource2_GetDevice(ID3D12Resource2* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12Resource methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource2_Map(ID3D12Resource2* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) { + return This->lpVtbl->Map(This,sub_resource,read_range,data); +} +static __WIDL_INLINE void ID3D12Resource2_Unmap(ID3D12Resource2* This,UINT sub_resource,const D3D12_RANGE *written_range) { + This->lpVtbl->Unmap(This,sub_resource,written_range); +} +static __WIDL_INLINE D3D12_RESOURCE_DESC ID3D12Resource2_GetDesc(ID3D12Resource2* This) { + D3D12_RESOURCE_DESC __ret; + return *This->lpVtbl->GetDesc(This,&__ret); +} +static __WIDL_INLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource2_GetGPUVirtualAddress(ID3D12Resource2* This) { + return This->lpVtbl->GetGPUVirtualAddress(This); +} +static __WIDL_INLINE HRESULT ID3D12Resource2_WriteToSubresource(ID3D12Resource2* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) { + return This->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch); +} +static __WIDL_INLINE HRESULT ID3D12Resource2_ReadFromSubresource(ID3D12Resource2* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) { + return This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box); +} +static __WIDL_INLINE HRESULT ID3D12Resource2_GetHeapProperties(ID3D12Resource2* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) { + return This->lpVtbl->GetHeapProperties(This,heap_properties,flags); +} +/*** ID3D12Resource1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Resource2_GetProtectedResourceSession(ID3D12Resource2* This,REFIID riid,void **protected_session) { + return This->lpVtbl->GetProtectedResourceSession(This,riid,protected_session); +} +/*** ID3D12Resource2 methods ***/ +static __WIDL_INLINE D3D12_RESOURCE_DESC1 ID3D12Resource2_GetDesc1(ID3D12Resource2* This) { + D3D12_RESOURCE_DESC1 __ret; + return *This->lpVtbl->GetDesc1(This,&__ret); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Resource2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Heap1 interface + */ +#ifndef __ID3D12Heap1_INTERFACE_DEFINED__ +#define __ID3D12Heap1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Heap1, 0x572f7389, 0x2168, 0x49e3, 0x96,0x93, 0xd6,0xdf,0x58,0x71,0xbf,0x6d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("572f7389-2168-49e3-9693-d6df5871bf6d") +ID3D12Heap1 : public ID3D12Heap +{ + virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession( + REFIID riid, + void **protected_session) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Heap1, 0x572f7389, 0x2168, 0x49e3, 0x96,0x93, 0xd6,0xdf,0x58,0x71,0xbf,0x6d) +#endif +#else +typedef struct ID3D12Heap1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Heap1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Heap1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Heap1 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Heap1 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Heap1 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Heap1 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Heap1 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12Heap1 *This, + REFIID riid, + void **device); + + /*** ID3D12Heap methods ***/ + D3D12_HEAP_DESC * (STDMETHODCALLTYPE *GetDesc)( + ID3D12Heap1 *This, + D3D12_HEAP_DESC *__ret); + + /*** ID3D12Heap1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProtectedResourceSession)( + ID3D12Heap1 *This, + REFIID riid, + void **protected_session); + + END_INTERFACE +} ID3D12Heap1Vtbl; + +interface ID3D12Heap1 { + CONST_VTBL ID3D12Heap1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Heap1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Heap1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Heap1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Heap1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Heap1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Heap1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Heap1_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12Heap1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12Heap methods ***/ +#define ID3D12Heap1_GetDesc(This) ID3D12Heap1_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Heap1 methods ***/ +#define ID3D12Heap1_GetProtectedResourceSession(This,riid,protected_session) (This)->lpVtbl->GetProtectedResourceSession(This,riid,protected_session) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Heap1_QueryInterface(ID3D12Heap1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Heap1_AddRef(ID3D12Heap1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Heap1_Release(ID3D12Heap1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Heap1_GetPrivateData(ID3D12Heap1* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Heap1_SetPrivateData(ID3D12Heap1* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Heap1_SetPrivateDataInterface(ID3D12Heap1* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Heap1_SetName(ID3D12Heap1* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12Heap1_GetDevice(ID3D12Heap1* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12Heap methods ***/ +static __WIDL_INLINE D3D12_HEAP_DESC ID3D12Heap1_GetDesc(ID3D12Heap1* This) { + D3D12_HEAP_DESC __ret; + return *This->lpVtbl->GetDesc(This,&__ret); +} +/*** ID3D12Heap1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Heap1_GetProtectedResourceSession(ID3D12Heap1* This,REFIID riid,void **protected_session) { + return This->lpVtbl->GetProtectedResourceSession(This,riid,protected_session); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Heap1_INTERFACE_DEFINED__ */ + +typedef enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE { + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0x0, + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = 0x1, + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = 0x2, + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = 0x3 +} D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE; +typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS { + D3D12_CLEAR_VALUE ClearValue; +} D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS; +typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS { + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type; + __C89_NAMELESS union { + D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear; + } __C89_NAMELESSUNIONNAME; +} D3D12_RENDER_PASS_BEGINNING_ACCESS; +typedef enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE { + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0x0, + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = 0x1, + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = 0x2, + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = 0x3 +} D3D12_RENDER_PASS_ENDING_ACCESS_TYPE; +typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS { + UINT SrcSubresource; + UINT DstSubresource; + UINT DstX; + UINT DstY; + D3D12_RECT SrcRect; +} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS; +typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS { + ID3D12Resource *pSrcResource; + ID3D12Resource *pDstResource; + UINT SubresourceCount; + const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters; + DXGI_FORMAT Format; + D3D12_RESOLVE_MODE ResolveMode; + WINBOOL PreserveResolveSource; +} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS; +typedef struct D3D12_RENDER_PASS_ENDING_ACCESS { + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type; + __C89_NAMELESS union { + D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve; + } __C89_NAMELESSUNIONNAME; +} D3D12_RENDER_PASS_ENDING_ACCESS; +typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC { + D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; + D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess; + D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess; +} D3D12_RENDER_PASS_RENDER_TARGET_DESC; +typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC { + D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; + D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess; + D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess; + D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess; + D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess; +} D3D12_RENDER_PASS_DEPTH_STENCIL_DESC; +typedef enum D3D12_RENDER_PASS_FLAGS { + D3D12_RENDER_PASS_FLAG_NONE = 0x0, + D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1, + D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2, + D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4 +} D3D12_RENDER_PASS_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_RENDER_PASS_FLAGS); +/***************************************************************************** + * ID3D12MetaCommand interface + */ +#ifndef __ID3D12MetaCommand_INTERFACE_DEFINED__ +#define __ID3D12MetaCommand_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12MetaCommand, 0xdbb84c27, 0x36ce, 0x4fc9, 0xb8,0x01, 0xf0,0x48,0xc4,0x6a,0xc5,0x70); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dbb84c27-36ce-4fc9-b801-f048c46ac570") +ID3D12MetaCommand : public ID3D12Pageable +{ + virtual UINT64 STDMETHODCALLTYPE GetRequiredParameterResourceSize( + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT parameter_index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12MetaCommand, 0xdbb84c27, 0x36ce, 0x4fc9, 0xb8,0x01, 0xf0,0x48,0xc4,0x6a,0xc5,0x70) +#endif +#else +typedef struct ID3D12MetaCommandVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12MetaCommand *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12MetaCommand *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12MetaCommand *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12MetaCommand *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12MetaCommand *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12MetaCommand *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12MetaCommand *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12MetaCommand *This, + REFIID riid, + void **device); + + /*** ID3D12MetaCommand methods ***/ + UINT64 (STDMETHODCALLTYPE *GetRequiredParameterResourceSize)( + ID3D12MetaCommand *This, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT parameter_index); + + END_INTERFACE +} ID3D12MetaCommandVtbl; + +interface ID3D12MetaCommand { + CONST_VTBL ID3D12MetaCommandVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12MetaCommand_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12MetaCommand_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12MetaCommand_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12MetaCommand_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12MetaCommand_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12MetaCommand_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12MetaCommand methods ***/ +#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,stage,parameter_index) (This)->lpVtbl->GetRequiredParameterResourceSize(This,stage,parameter_index) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12MetaCommand_QueryInterface(ID3D12MetaCommand* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12MetaCommand_AddRef(ID3D12MetaCommand* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12MetaCommand_Release(ID3D12MetaCommand* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12MetaCommand_GetPrivateData(ID3D12MetaCommand* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12MetaCommand_SetPrivateData(ID3D12MetaCommand* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12MetaCommand_SetPrivateDataInterface(ID3D12MetaCommand* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12MetaCommand_SetName(ID3D12MetaCommand* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12MetaCommand_GetDevice(ID3D12MetaCommand* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12MetaCommand methods ***/ +static __WIDL_INLINE UINT64 ID3D12MetaCommand_GetRequiredParameterResourceSize(ID3D12MetaCommand* This,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT parameter_index) { + return This->lpVtbl->GetRequiredParameterResourceSize(This,stage,parameter_index); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12MetaCommand_INTERFACE_DEFINED__ */ + +typedef struct D3D12_DISPATCH_RAYS_DESC { + D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord; + D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable; + D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable; + D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable; + UINT Width; + UINT Height; + UINT Depth; +} D3D12_DISPATCH_RAYS_DESC; +/***************************************************************************** + * ID3D12GraphicsCommandList4 interface + */ +#ifndef __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ +#define __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12GraphicsCommandList4, 0x8754318e, 0xd3a9, 0x4541, 0x98,0xcf, 0x64,0x5b,0x50,0xdc,0x48,0x74); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8754318e-d3a9-4541-98cf-645b50dc4874") +ID3D12GraphicsCommandList4 : public ID3D12GraphicsCommandList3 +{ + virtual void STDMETHODCALLTYPE BeginRenderPass( + UINT render_targets_count, + const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets, + const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil, + D3D12_RENDER_PASS_FLAGS flags) = 0; + + virtual void STDMETHODCALLTYPE EndRenderPass( + ) = 0; + + virtual void STDMETHODCALLTYPE InitializeMetaCommand( + ID3D12MetaCommand *meta_command, + const void *initialization_parameters_data, + SIZE_T initialization_parameters_data_size_in_bytes) = 0; + + virtual void STDMETHODCALLTYPE ExecuteMetaCommand( + ID3D12MetaCommand *meta_command, + const void *execution_parameters_data, + SIZE_T execution_parameters_data_size_in_bytes) = 0; + + virtual void STDMETHODCALLTYPE BuildRaytracingAccelerationStructure( + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc, + UINT postbuild_info_descs_count, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) = 0; + + virtual void STDMETHODCALLTYPE EmitRaytracingAccelerationStructurePostbuildInfo( + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc, + UINT src_acceleration_structures_count, + const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) = 0; + + virtual void STDMETHODCALLTYPE CopyRaytracingAccelerationStructure( + D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data, + D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) = 0; + + virtual void STDMETHODCALLTYPE SetPipelineState1( + ID3D12StateObject *state_object) = 0; + + virtual void STDMETHODCALLTYPE DispatchRays( + const D3D12_DISPATCH_RAYS_DESC *desc) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12GraphicsCommandList4, 0x8754318e, 0xd3a9, 0x4541, 0x98,0xcf, 0x64,0x5b,0x50,0xdc,0x48,0x74) +#endif +#else +typedef struct ID3D12GraphicsCommandList4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12GraphicsCommandList4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12GraphicsCommandList4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12GraphicsCommandList4 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12GraphicsCommandList4 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12GraphicsCommandList4 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12GraphicsCommandList4 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12GraphicsCommandList4 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12GraphicsCommandList4 *This, + REFIID riid, + void **device); + + /*** ID3D12CommandList methods ***/ + D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)( + ID3D12GraphicsCommandList4 *This); + + /*** ID3D12GraphicsCommandList methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + ID3D12GraphicsCommandList4 *This); + + HRESULT (STDMETHODCALLTYPE *Reset)( + ID3D12GraphicsCommandList4 *This, + ID3D12CommandAllocator *allocator, + ID3D12PipelineState *initial_state); + + void (STDMETHODCALLTYPE *ClearState)( + ID3D12GraphicsCommandList4 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *DrawInstanced)( + ID3D12GraphicsCommandList4 *This, + UINT vertex_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *DrawIndexedInstanced)( + ID3D12GraphicsCommandList4 *This, + UINT index_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + INT base_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *Dispatch)( + ID3D12GraphicsCommandList4 *This, + UINT x, + UINT u, + UINT z); + + void (STDMETHODCALLTYPE *CopyBufferRegion)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT64 byte_count); + + void (STDMETHODCALLTYPE *CopyTextureRegion)( + ID3D12GraphicsCommandList4 *This, + const D3D12_TEXTURE_COPY_LOCATION *dst, + UINT dst_x, + UINT dst_y, + UINT dst_z, + const D3D12_TEXTURE_COPY_LOCATION *src, + const D3D12_BOX *src_box); + + void (STDMETHODCALLTYPE *CopyResource)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *dst_resource, + ID3D12Resource *src_resource); + + void (STDMETHODCALLTYPE *CopyTiles)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *tiled_resource, + const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate, + const D3D12_TILE_REGION_SIZE *tile_region_size, + ID3D12Resource *buffer, + UINT64 buffer_offset, + D3D12_TILE_COPY_FLAGS flags); + + void (STDMETHODCALLTYPE *ResolveSubresource)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource, + ID3D12Resource *src_resource, + UINT src_sub_resource, + DXGI_FORMAT format); + + void (STDMETHODCALLTYPE *IASetPrimitiveTopology)( + ID3D12GraphicsCommandList4 *This, + D3D12_PRIMITIVE_TOPOLOGY primitive_topology); + + void (STDMETHODCALLTYPE *RSSetViewports)( + ID3D12GraphicsCommandList4 *This, + UINT viewport_count, + const D3D12_VIEWPORT *viewports); + + void (STDMETHODCALLTYPE *RSSetScissorRects)( + ID3D12GraphicsCommandList4 *This, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *OMSetBlendFactor)( + ID3D12GraphicsCommandList4 *This, + const FLOAT blend_factor[4]); + + void (STDMETHODCALLTYPE *OMSetStencilRef)( + ID3D12GraphicsCommandList4 *This, + UINT stencil_ref); + + void (STDMETHODCALLTYPE *SetPipelineState)( + ID3D12GraphicsCommandList4 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *ResourceBarrier)( + ID3D12GraphicsCommandList4 *This, + UINT barrier_count, + const D3D12_RESOURCE_BARRIER *barriers); + + void (STDMETHODCALLTYPE *ExecuteBundle)( + ID3D12GraphicsCommandList4 *This, + ID3D12GraphicsCommandList *command_list); + + void (STDMETHODCALLTYPE *SetDescriptorHeaps)( + ID3D12GraphicsCommandList4 *This, + UINT heap_count, + ID3D12DescriptorHeap *const *heaps); + + void (STDMETHODCALLTYPE *SetComputeRootSignature)( + ID3D12GraphicsCommandList4 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetGraphicsRootSignature)( + ID3D12GraphicsCommandList4 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)( + ID3D12GraphicsCommandList4 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *IASetIndexBuffer)( + ID3D12GraphicsCommandList4 *This, + const D3D12_INDEX_BUFFER_VIEW *view); + + void (STDMETHODCALLTYPE *IASetVertexBuffers)( + ID3D12GraphicsCommandList4 *This, + UINT start_slot, + UINT view_count, + const D3D12_VERTEX_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *SOSetTargets)( + ID3D12GraphicsCommandList4 *This, + UINT start_slot, + UINT view_count, + const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *OMSetRenderTargets)( + ID3D12GraphicsCommandList4 *This, + UINT render_target_descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors, + WINBOOL single_descriptor_handle, + const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor); + + void (STDMETHODCALLTYPE *ClearDepthStencilView)( + ID3D12GraphicsCommandList4 *This, + D3D12_CPU_DESCRIPTOR_HANDLE dsv, + D3D12_CLEAR_FLAGS flags, + FLOAT depth, + UINT8 stencil, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearRenderTargetView)( + ID3D12GraphicsCommandList4 *This, + D3D12_CPU_DESCRIPTOR_HANDLE rtv, + const FLOAT color[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)( + ID3D12GraphicsCommandList4 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const UINT values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)( + ID3D12GraphicsCommandList4 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const float values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *DiscardResource)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *resource, + const D3D12_DISCARD_REGION *region); + + void (STDMETHODCALLTYPE *BeginQuery)( + ID3D12GraphicsCommandList4 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *EndQuery)( + ID3D12GraphicsCommandList4 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *ResolveQueryData)( + ID3D12GraphicsCommandList4 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT start_index, + UINT query_count, + ID3D12Resource *dst_buffer, + UINT64 aligned_dst_buffer_offset); + + void (STDMETHODCALLTYPE *SetPredication)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *buffer, + UINT64 aligned_buffer_offset, + D3D12_PREDICATION_OP operation); + + void (STDMETHODCALLTYPE *SetMarker)( + ID3D12GraphicsCommandList4 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *BeginEvent)( + ID3D12GraphicsCommandList4 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *EndEvent)( + ID3D12GraphicsCommandList4 *This); + + void (STDMETHODCALLTYPE *ExecuteIndirect)( + ID3D12GraphicsCommandList4 *This, + ID3D12CommandSignature *command_signature, + UINT max_command_count, + ID3D12Resource *arg_buffer, + UINT64 arg_buffer_offset, + ID3D12Resource *count_buffer, + UINT64 count_buffer_offset); + + /*** ID3D12GraphicsCommandList1 methods ***/ + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *OMSetDepthBounds)( + ID3D12GraphicsCommandList4 *This, + FLOAT min, + FLOAT max); + + void (STDMETHODCALLTYPE *SetSamplePositions)( + ID3D12GraphicsCommandList4 *This, + UINT sample_count, + UINT pixel_count, + D3D12_SAMPLE_POSITION *sample_positions); + + void (STDMETHODCALLTYPE *ResolveSubresourceRegion)( + ID3D12GraphicsCommandList4 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource_idx, + UINT dst_x, + UINT dst_y, + ID3D12Resource *src_resource, + UINT src_sub_resource_idx, + D3D12_RECT *src_rect, + DXGI_FORMAT format, + D3D12_RESOLVE_MODE mode); + + void (STDMETHODCALLTYPE *SetViewInstanceMask)( + ID3D12GraphicsCommandList4 *This, + UINT mask); + + /*** ID3D12GraphicsCommandList2 methods ***/ + void (STDMETHODCALLTYPE *WriteBufferImmediate)( + ID3D12GraphicsCommandList4 *This, + UINT count, + const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters, + const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes); + + /*** ID3D12GraphicsCommandList3 methods ***/ + void (STDMETHODCALLTYPE *SetProtectedResourceSession)( + ID3D12GraphicsCommandList4 *This, + ID3D12ProtectedResourceSession *protected_resource_session); + + /*** ID3D12GraphicsCommandList4 methods ***/ + void (STDMETHODCALLTYPE *BeginRenderPass)( + ID3D12GraphicsCommandList4 *This, + UINT render_targets_count, + const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets, + const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil, + D3D12_RENDER_PASS_FLAGS flags); + + void (STDMETHODCALLTYPE *EndRenderPass)( + ID3D12GraphicsCommandList4 *This); + + void (STDMETHODCALLTYPE *InitializeMetaCommand)( + ID3D12GraphicsCommandList4 *This, + ID3D12MetaCommand *meta_command, + const void *initialization_parameters_data, + SIZE_T initialization_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *ExecuteMetaCommand)( + ID3D12GraphicsCommandList4 *This, + ID3D12MetaCommand *meta_command, + const void *execution_parameters_data, + SIZE_T execution_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList4 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc, + UINT postbuild_info_descs_count, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs); + + void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)( + ID3D12GraphicsCommandList4 *This, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc, + UINT src_acceleration_structures_count, + const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data); + + void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList4 *This, + D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data, + D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode); + + void (STDMETHODCALLTYPE *SetPipelineState1)( + ID3D12GraphicsCommandList4 *This, + ID3D12StateObject *state_object); + + void (STDMETHODCALLTYPE *DispatchRays)( + ID3D12GraphicsCommandList4 *This, + const D3D12_DISPATCH_RAYS_DESC *desc); + + END_INTERFACE +} ID3D12GraphicsCommandList4Vtbl; + +interface ID3D12GraphicsCommandList4 { + CONST_VTBL ID3D12GraphicsCommandList4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12GraphicsCommandList4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12GraphicsCommandList4_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12GraphicsCommandList4_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12GraphicsCommandList4_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12CommandList methods ***/ +#define ID3D12GraphicsCommandList4_GetType(This) (This)->lpVtbl->GetType(This) +/*** ID3D12GraphicsCommandList methods ***/ +#define ID3D12GraphicsCommandList4_Close(This) (This)->lpVtbl->Close(This) +#define ID3D12GraphicsCommandList4_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state) +#define ID3D12GraphicsCommandList4_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state) +#define ID3D12GraphicsCommandList4_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList4_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z) +#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) +#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) +#define ID3D12GraphicsCommandList4_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource) +#define ID3D12GraphicsCommandList4_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) +#define ID3D12GraphicsCommandList4_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) +#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology) +#define ID3D12GraphicsCommandList4_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports) +#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects) +#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor) +#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref) +#define ID3D12GraphicsCommandList4_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state) +#define ID3D12GraphicsCommandList4_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers) +#define ID3D12GraphicsCommandList4_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list) +#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps) +#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view) +#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList4_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) +#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) +#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects) +#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList4_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region) +#define ID3D12GraphicsCommandList4_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList4_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList4_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) +#define ID3D12GraphicsCommandList4_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation) +#define ID3D12GraphicsCommandList4_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size) +#define ID3D12GraphicsCommandList4_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size) +#define ID3D12GraphicsCommandList4_EndEvent(This) (This)->lpVtbl->EndEvent(This) +#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) +/*** ID3D12GraphicsCommandList1 methods ***/ +#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max) +#define ID3D12GraphicsCommandList4_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions) +#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) +#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask) +/*** ID3D12GraphicsCommandList2 methods ***/ +#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes) +/*** ID3D12GraphicsCommandList3 methods ***/ +#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session) +/*** ID3D12GraphicsCommandList4 methods ***/ +#define ID3D12GraphicsCommandList4_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) +#define ID3D12GraphicsCommandList4_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This) +#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) +#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) +#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) +#define ID3D12GraphicsCommandList4_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object) +#define ID3D12GraphicsCommandList4_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_QueryInterface(ID3D12GraphicsCommandList4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList4_AddRef(ID3D12GraphicsCommandList4* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList4_Release(ID3D12GraphicsCommandList4* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_GetPrivateData(ID3D12GraphicsCommandList4* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_SetPrivateData(ID3D12GraphicsCommandList4* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_SetPrivateDataInterface(ID3D12GraphicsCommandList4* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_SetName(ID3D12GraphicsCommandList4* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_GetDevice(ID3D12GraphicsCommandList4* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12CommandList methods ***/ +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList4_GetType(ID3D12GraphicsCommandList4* This) { + return This->lpVtbl->GetType(This); +} +/*** ID3D12GraphicsCommandList methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_Close(ID3D12GraphicsCommandList4* This) { + return This->lpVtbl->Close(This); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_Reset(ID3D12GraphicsCommandList4* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { + return This->lpVtbl->Reset(This,allocator,initial_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearState(ID3D12GraphicsCommandList4* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_DrawInstanced(ID3D12GraphicsCommandList4* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_DrawIndexedInstanced(ID3D12GraphicsCommandList4* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_Dispatch(ID3D12GraphicsCommandList4* This,UINT x,UINT u,UINT z) { + This->lpVtbl->Dispatch(This,x,u,z); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyBufferRegion(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { + This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyTextureRegion(ID3D12GraphicsCommandList4* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { + This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyResource(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { + This->lpVtbl->CopyResource(This,dst_resource,src_resource); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyTiles(ID3D12GraphicsCommandList4* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { + This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResolveSubresource(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { + This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_IASetPrimitiveTopology(ID3D12GraphicsCommandList4* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { + This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_RSSetViewports(ID3D12GraphicsCommandList4* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { + This->lpVtbl->RSSetViewports(This,viewport_count,viewports); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_RSSetScissorRects(ID3D12GraphicsCommandList4* This,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->RSSetScissorRects(This,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetBlendFactor(ID3D12GraphicsCommandList4* This,const FLOAT blend_factor[4]) { + This->lpVtbl->OMSetBlendFactor(This,blend_factor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetStencilRef(ID3D12GraphicsCommandList4* This,UINT stencil_ref) { + This->lpVtbl->OMSetStencilRef(This,stencil_ref); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetPipelineState(ID3D12GraphicsCommandList4* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->SetPipelineState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResourceBarrier(ID3D12GraphicsCommandList4* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { + This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ExecuteBundle(ID3D12GraphicsCommandList4* This,ID3D12GraphicsCommandList *command_list) { + This->lpVtbl->ExecuteBundle(This,command_list); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetDescriptorHeaps(ID3D12GraphicsCommandList4* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { + This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootSignature(ID3D12GraphicsCommandList4* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetComputeRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootSignature(ID3D12GraphicsCommandList4* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetGraphicsRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_IASetIndexBuffer(ID3D12GraphicsCommandList4* This,const D3D12_INDEX_BUFFER_VIEW *view) { + This->lpVtbl->IASetIndexBuffer(This,view); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_IASetVertexBuffers(ID3D12GraphicsCommandList4* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { + This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SOSetTargets(ID3D12GraphicsCommandList4* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { + This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetRenderTargets(ID3D12GraphicsCommandList4* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { + This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearDepthStencilView(ID3D12GraphicsCommandList4* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearRenderTargetView(ID3D12GraphicsCommandList4* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList4* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList4* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_DiscardResource(ID3D12GraphicsCommandList4* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { + This->lpVtbl->DiscardResource(This,resource,region); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_BeginQuery(ID3D12GraphicsCommandList4* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->BeginQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_EndQuery(ID3D12GraphicsCommandList4* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->EndQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResolveQueryData(ID3D12GraphicsCommandList4* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { + This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetPredication(ID3D12GraphicsCommandList4* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { + This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetMarker(ID3D12GraphicsCommandList4* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->SetMarker(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_BeginEvent(ID3D12GraphicsCommandList4* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->BeginEvent(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_EndEvent(ID3D12GraphicsCommandList4* This) { + This->lpVtbl->EndEvent(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ExecuteIndirect(ID3D12GraphicsCommandList4* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { + This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); +} +/*** ID3D12GraphicsCommandList1 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetDepthBounds(ID3D12GraphicsCommandList4* This,FLOAT min,FLOAT max) { + This->lpVtbl->OMSetDepthBounds(This,min,max); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetSamplePositions(ID3D12GraphicsCommandList4* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { + This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResolveSubresourceRegion(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { + This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetViewInstanceMask(ID3D12GraphicsCommandList4* This,UINT mask) { + This->lpVtbl->SetViewInstanceMask(This,mask); +} +/*** ID3D12GraphicsCommandList2 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList4_WriteBufferImmediate(ID3D12GraphicsCommandList4* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { + This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes); +} +/*** ID3D12GraphicsCommandList3 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetProtectedResourceSession(ID3D12GraphicsCommandList4* This,ID3D12ProtectedResourceSession *protected_resource_session) { + This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session); +} +/*** ID3D12GraphicsCommandList4 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList4_BeginRenderPass(ID3D12GraphicsCommandList4* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) { + This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_EndRenderPass(ID3D12GraphicsCommandList4* This) { + This->lpVtbl->EndRenderPass(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_InitializeMetaCommand(ID3D12GraphicsCommandList4* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) { + This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_ExecuteMetaCommand(ID3D12GraphicsCommandList4* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) { + This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList4* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) { + This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList4* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) { + This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList4* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) { + This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetPipelineState1(ID3D12GraphicsCommandList4* This,ID3D12StateObject *state_object) { + This->lpVtbl->SetPipelineState1(This,state_object); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList4_DispatchRays(ID3D12GraphicsCommandList4* This,const D3D12_DISPATCH_RAYS_DESC *desc) { + This->lpVtbl->DispatchRays(This,desc); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ */ + +typedef enum D3D12_SHADER_CACHE_MODE { + D3D12_SHADER_CACHE_MODE_MEMORY = 0x0, + D3D12_SHADER_CACHE_MODE_DISK = 0x1 +} D3D12_SHADER_CACHE_MODE; +typedef enum D3D12_SHADER_CACHE_FLAGS { + D3D12_SHADER_CACHE_FLAG_NONE = 0x0, + D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1, + D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2 +} D3D12_SHADER_CACHE_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_FLAGS); +typedef struct D3D12_SHADER_CACHE_SESSION_DESC { + GUID Identifier; + D3D12_SHADER_CACHE_MODE Mode; + D3D12_SHADER_CACHE_FLAGS Flags; + UINT MaximumInMemoryCacheSizeBytes; + UINT MaximumInMemoryCacheEntries; + UINT MaximumValueFileSizeBytes; + UINT64 Version; +} D3D12_SHADER_CACHE_SESSION_DESC; +typedef enum D3D12_BARRIER_LAYOUT { + D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff, + D3D12_BARRIER_LAYOUT_COMMON = 0x0, + D3D12_BARRIER_LAYOUT_PRESENT = 0x0, + D3D12_BARRIER_LAYOUT_GENERIC_READ = 0x1, + D3D12_BARRIER_LAYOUT_RENDER_TARGET = 0x2, + D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = 0x3, + D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = 0x4, + D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = 0x5, + D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = 0x6, + D3D12_BARRIER_LAYOUT_COPY_SOURCE = 0x7, + D3D12_BARRIER_LAYOUT_COPY_DEST = 0x8, + D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = 0x9, + D3D12_BARRIER_LAYOUT_RESOLVE_DEST = 0xa, + D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = 0xb, + D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = 0xc, + D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = 0xd, + D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = 0xe, + D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = 0xf, + D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = 0x10, + D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = 0x11, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = 0x12, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = 0x13, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = 0x14, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = 0x15, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = 0x16, + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = 0x17, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = 0x18, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = 0x19, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = 0x1a, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = 0x1b, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = 0x1c, + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = 0x1d, + D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = 0x1e +} D3D12_BARRIER_LAYOUT; +typedef enum D3D12_BARRIER_SYNC { + D3D12_BARRIER_SYNC_NONE = 0x0, + D3D12_BARRIER_SYNC_ALL = 0x1, + D3D12_BARRIER_SYNC_DRAW = 0x2, + D3D12_BARRIER_SYNC_INPUT_ASSEMBLER = 0x4, + D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8, + D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10, + D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20, + D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40, + D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80, + D3D12_BARRIER_SYNC_RAYTRACING = 0x100, + D3D12_BARRIER_SYNC_COPY = 0x200, + D3D12_BARRIER_SYNC_RESOLVE = 0x400, + D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800, + D3D12_BARRIER_SYNC_PREDICATION = 0x800, + D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000, + D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000, + D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000, + D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000, + D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000, + D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000, + D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000, + D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000, + D3D12_BARRIER_SYNC_SPLIT = 0x80000000 +} D3D12_BARRIER_SYNC; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_BARRIER_SYNC); +typedef enum D3D12_BARRIER_ACCESS { + D3D12_BARRIER_ACCESS_COMMON = 0, + D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1, + D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2, + D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4, + D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8, + D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10, + D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20, + D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40, + D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80, + D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100, + D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200, + D3D12_BARRIER_ACCESS_PREDICATION = 0x200, + D3D12_BARRIER_ACCESS_COPY_DEST = 0x400, + D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800, + D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000, + D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000, + D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000, + D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000, + D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000, + D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000, + D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000, + D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000, + D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000, + D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000, + D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000, + D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000 +} D3D12_BARRIER_ACCESS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_BARRIER_ACCESS); +typedef enum D3D12_BARRIER_TYPE { + D3D12_BARRIER_TYPE_GLOBAL = 0x0, + D3D12_BARRIER_TYPE_TEXTURE = 0x1, + D3D12_BARRIER_TYPE_BUFFER = 0x2 +} D3D12_BARRIER_TYPE; +typedef enum D3D12_TEXTURE_BARRIER_FLAGS { + D3D12_TEXTURE_BARRIER_FLAG_NONE = 0x0, + D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1 +} D3D12_TEXTURE_BARRIER_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_TEXTURE_BARRIER_FLAGS); +typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE { + UINT IndexOrFirstMipLevel; + UINT NumMipLevels; + UINT FirstArraySlice; + UINT NumArraySlices; + UINT FirstPlane; + UINT NumPlanes; +} D3D12_BARRIER_SUBRESOURCE_RANGE; +typedef struct D3D12_GLOBAL_BARRIER { + D3D12_BARRIER_SYNC SyncBefore; + D3D12_BARRIER_SYNC SyncAfter; + D3D12_BARRIER_ACCESS AccessBefore; + D3D12_BARRIER_ACCESS AccessAfter; +} D3D12_GLOBAL_BARRIER; +typedef struct D3D12_TEXTURE_BARRIER { + D3D12_BARRIER_SYNC SyncBefore; + D3D12_BARRIER_SYNC SyncAfter; + D3D12_BARRIER_ACCESS AccessBefore; + D3D12_BARRIER_ACCESS AccessAfter; + D3D12_BARRIER_LAYOUT LayoutBefore; + D3D12_BARRIER_LAYOUT LayoutAfter; + ID3D12Resource *pResource; + D3D12_BARRIER_SUBRESOURCE_RANGE Subresources; + D3D12_TEXTURE_BARRIER_FLAGS Flags; +} D3D12_TEXTURE_BARRIER; +typedef struct D3D12_BUFFER_BARRIER { + D3D12_BARRIER_SYNC SyncBefore; + D3D12_BARRIER_SYNC SyncAfter; + D3D12_BARRIER_ACCESS AccessBefore; + D3D12_BARRIER_ACCESS AccessAfter; + ID3D12Resource *pResource; + UINT64 Offset; + UINT64 Size; +} D3D12_BUFFER_BARRIER; +typedef struct D3D12_BARRIER_GROUP { + D3D12_BARRIER_TYPE Type; + UINT32 NumBarriers; + __C89_NAMELESS union { + const D3D12_GLOBAL_BARRIER *pGlobalBarriers; + const D3D12_TEXTURE_BARRIER *pTextureBarriers; + const D3D12_BUFFER_BARRIER *pBufferBarriers; + } __C89_NAMELESSUNIONNAME; +} D3D12_BARRIER_GROUP; +/***************************************************************************** + * ID3D12ShaderCacheSession interface + */ +#ifndef __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ +#define __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12ShaderCacheSession, 0x28e2495d, 0x0f64, 0x4ae4, 0xa6,0xec, 0x12,0x92,0x55,0xdc,0x49,0xa8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("28e2495d-0f64-4ae4-a6ec-129255dc49a8") +ID3D12ShaderCacheSession : public ID3D12DeviceChild +{ + virtual HRESULT STDMETHODCALLTYPE FindValue( + const void *key, + UINT key_size, + void *value, + UINT *value_size) = 0; + + virtual HRESULT STDMETHODCALLTYPE StoreValue( + const void *key, + UINT key_size, + const void *value, + UINT value_size) = 0; + + virtual void STDMETHODCALLTYPE SetDeleteOnDestroy( + ) = 0; + +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual D3D12_SHADER_CACHE_SESSION_DESC* STDMETHODCALLTYPE GetDesc( + D3D12_SHADER_CACHE_SESSION_DESC *__ret) = 0; + D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc( + ) + { + D3D12_SHADER_CACHE_SESSION_DESC __ret; + return *GetDesc(&__ret); + } +#else + virtual D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc( + ) = 0; +#endif + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12ShaderCacheSession, 0x28e2495d, 0x0f64, 0x4ae4, 0xa6,0xec, 0x12,0x92,0x55,0xdc,0x49,0xa8) +#endif +#else +typedef struct ID3D12ShaderCacheSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12ShaderCacheSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12ShaderCacheSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12ShaderCacheSession *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12ShaderCacheSession *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12ShaderCacheSession *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12ShaderCacheSession *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12ShaderCacheSession *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12ShaderCacheSession *This, + REFIID riid, + void **device); + + /*** ID3D12ShaderCacheSession methods ***/ + HRESULT (STDMETHODCALLTYPE *FindValue)( + ID3D12ShaderCacheSession *This, + const void *key, + UINT key_size, + void *value, + UINT *value_size); + + HRESULT (STDMETHODCALLTYPE *StoreValue)( + ID3D12ShaderCacheSession *This, + const void *key, + UINT key_size, + const void *value, + UINT value_size); + + void (STDMETHODCALLTYPE *SetDeleteOnDestroy)( + ID3D12ShaderCacheSession *This); + + D3D12_SHADER_CACHE_SESSION_DESC * (STDMETHODCALLTYPE *GetDesc)( + ID3D12ShaderCacheSession *This, + D3D12_SHADER_CACHE_SESSION_DESC *__ret); + + END_INTERFACE +} ID3D12ShaderCacheSessionVtbl; + +interface ID3D12ShaderCacheSession { + CONST_VTBL ID3D12ShaderCacheSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12ShaderCacheSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12ShaderCacheSession_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12ShaderCacheSession_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12ShaderCacheSession_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12ShaderCacheSession methods ***/ +#define ID3D12ShaderCacheSession_FindValue(This,key,key_size,value,value_size) (This)->lpVtbl->FindValue(This,key,key_size,value,value_size) +#define ID3D12ShaderCacheSession_StoreValue(This,key,key_size,value,value_size) (This)->lpVtbl->StoreValue(This,key,key_size,value,value_size) +#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) (This)->lpVtbl->SetDeleteOnDestroy(This) +#define ID3D12ShaderCacheSession_GetDesc(This) ID3D12ShaderCacheSession_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_QueryInterface(ID3D12ShaderCacheSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12ShaderCacheSession_AddRef(ID3D12ShaderCacheSession* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12ShaderCacheSession_Release(ID3D12ShaderCacheSession* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_GetPrivateData(ID3D12ShaderCacheSession* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_SetPrivateData(ID3D12ShaderCacheSession* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_SetPrivateDataInterface(ID3D12ShaderCacheSession* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_SetName(ID3D12ShaderCacheSession* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_GetDevice(ID3D12ShaderCacheSession* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12ShaderCacheSession methods ***/ +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_FindValue(ID3D12ShaderCacheSession* This,const void *key,UINT key_size,void *value,UINT *value_size) { + return This->lpVtbl->FindValue(This,key,key_size,value,value_size); +} +static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_StoreValue(ID3D12ShaderCacheSession* This,const void *key,UINT key_size,const void *value,UINT value_size) { + return This->lpVtbl->StoreValue(This,key,key_size,value,value_size); +} +static __WIDL_INLINE void ID3D12ShaderCacheSession_SetDeleteOnDestroy(ID3D12ShaderCacheSession* This) { + This->lpVtbl->SetDeleteOnDestroy(This); +} +static __WIDL_INLINE D3D12_SHADER_CACHE_SESSION_DESC ID3D12ShaderCacheSession_GetDesc(ID3D12ShaderCacheSession* This) { + D3D12_SHADER_CACHE_SESSION_DESC __ret; + return *This->lpVtbl->GetDesc(This,&__ret); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ */ + +typedef enum D3D12_SHADER_CACHE_KIND_FLAGS { + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1, + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2, + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4, + D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8 +} D3D12_SHADER_CACHE_KIND_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_KIND_FLAGS); +typedef enum D3D12_SHADER_CACHE_CONTROL_FLAGS { + D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1, + D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2, + D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4 +} D3D12_SHADER_CACHE_CONTROL_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_CONTROL_FLAGS); +/***************************************************************************** + * ID3D12Device9 interface + */ +#ifndef __ID3D12Device9_INTERFACE_DEFINED__ +#define __ID3D12Device9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device9, 0x4c80e962, 0xf032, 0x4f60, 0xbc,0x9e, 0xeb,0xc2,0xcf,0xa1,0xd8,0x3c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c") +ID3D12Device9 : public ID3D12Device8 +{ + virtual HRESULT STDMETHODCALLTYPE CreateShaderCacheSession( + const D3D12_SHADER_CACHE_SESSION_DESC *desc, + REFIID riid, + void **session) = 0; + + virtual HRESULT STDMETHODCALLTYPE ShaderCacheControl( + D3D12_SHADER_CACHE_KIND_FLAGS kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS control) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue1( + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID creator_id, + REFIID riid, + void **command_queue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device9, 0x4c80e962, 0xf032, 0x4f60, 0xbc,0x9e, 0xeb,0xc2,0xcf,0xa1,0xd8,0x3c) +#endif +#else +typedef struct ID3D12Device9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device9 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device9 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device9 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device9 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device9 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device9 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device9 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device9 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device9 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device9 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device9 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device9 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device9 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device9 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device9 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device9 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device9 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device9 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device9 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device9 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device9 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device9 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device9 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device9 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device9 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device9 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device9 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device9 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device9 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device9 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device9 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device9 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device9 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device9 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device9 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device9 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device9 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device9 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device9 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device9 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device9 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device9 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device9 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device9 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device9 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device9 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device9 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device9 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device9 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device9 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device9 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device9 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device9 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device9 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device9 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + /*** ID3D12Device5 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)( + ID3D12Device9 *This, + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker); + + void (STDMETHODCALLTYPE *RemoveDevice)( + ID3D12Device9 *This); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)( + ID3D12Device9 *This, + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)( + ID3D12Device9 *This, + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs); + + HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)( + ID3D12Device9 *This, + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command); + + HRESULT (STDMETHODCALLTYPE *CreateStateObject)( + ID3D12Device9 *This, + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object); + + void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)( + ID3D12Device9 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info); + + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)( + ID3D12Device9 *This, + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check); + + /*** ID3D12Device6 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)( + ID3D12Device9 *This, + D3D12_BACKGROUND_PROCESSING_MODE mode, + D3D12_MEASUREMENTS_ACTION action, + HANDLE event, + WINBOOL *further_measurements_desired); + + /*** ID3D12Device7 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddToStateObject)( + ID3D12Device9 *This, + const D3D12_STATE_OBJECT_DESC *addition, + ID3D12StateObject *state_object_to_grow_from, + REFIID riid, + void **new_state_object); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)( + ID3D12Device9 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc, + REFIID riid, + void **session); + + /*** ID3D12Device8 methods ***/ + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo2)( + ID3D12Device9 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC1 *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource2)( + ID3D12Device9 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource1)( + ID3D12Device9 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + void (STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView)( + ID3D12Device9 *This, + ID3D12Resource *targeted_resource, + ID3D12Resource *feedback_resource, + D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor); + + void (STDMETHODCALLTYPE *GetCopyableFootprints1)( + ID3D12Device9 *This, + const D3D12_RESOURCE_DESC1 *resource_desc, + UINT first_subresource, + UINT subresources_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *rows_count, + UINT64 *row_size_in_bytes, + UINT64 *total_bytes); + + /*** ID3D12Device9 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateShaderCacheSession)( + ID3D12Device9 *This, + const D3D12_SHADER_CACHE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *ShaderCacheControl)( + ID3D12Device9 *This, + D3D12_SHADER_CACHE_KIND_FLAGS kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS control); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue1)( + ID3D12Device9 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID creator_id, + REFIID riid, + void **command_queue); + + END_INTERFACE +} ID3D12Device9Vtbl; + +interface ID3D12Device9 { + CONST_VTBL ID3D12Device9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device9_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device9_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device9_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device9_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device9_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device9_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device9_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device9_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device9_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device9_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device9_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device9_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device9_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device9_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device9_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device9_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device9_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device9_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device9_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device9_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device9_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device9_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device9_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device9_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device9_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device9_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device9_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device9_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device9_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device9_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device9_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device9_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device9_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device9_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device9_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device9_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device9_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device9_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device9_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device9_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device9_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device9_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device9_GetAdapterLuid(This) ID3D12Device9_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device9_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device9_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device9_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device9_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device9_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device9_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device9_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device9_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device9_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device9_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device9_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device9_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device5 methods ***/ +#define ID3D12Device9_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker) +#define ID3D12Device9_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This) +#define ID3D12Device9_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs) +#define ID3D12Device9_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) +#define ID3D12Device9_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) +#define ID3D12Device9_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object) +#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) +#define ID3D12Device9_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) +/*** ID3D12Device6 methods ***/ +#define ID3D12Device9_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) +/*** ID3D12Device7 methods ***/ +#define ID3D12Device9_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) +#define ID3D12Device9_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session) +/*** ID3D12Device8 methods ***/ +#define ID3D12Device9_GetResourceAllocationInfo2(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device9_GetResourceAllocationInfo2_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device9_CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device9_CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) (This)->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) +#define ID3D12Device9_GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) (This)->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) +/*** ID3D12Device9 methods ***/ +#define ID3D12Device9_CreateShaderCacheSession(This,desc,riid,session) (This)->lpVtbl->CreateShaderCacheSession(This,desc,riid,session) +#define ID3D12Device9_ShaderCacheControl(This,kinds,control) (This)->lpVtbl->ShaderCacheControl(This,kinds,control) +#define ID3D12Device9_CreateCommandQueue1(This,desc,creator_id,riid,command_queue) (This)->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_QueryInterface(ID3D12Device9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device9_AddRef(ID3D12Device9* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device9_Release(ID3D12Device9* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_GetPrivateData(ID3D12Device9* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device9_SetPrivateData(ID3D12Device9* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device9_SetPrivateDataInterface(ID3D12Device9* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device9_SetName(ID3D12Device9* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device9_GetNodeCount(ID3D12Device9* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandQueue(ID3D12Device9* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandAllocator(ID3D12Device9* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateGraphicsPipelineState(ID3D12Device9* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateComputePipelineState(ID3D12Device9* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandList(ID3D12Device9* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CheckFeatureSupport(ID3D12Device9* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateDescriptorHeap(ID3D12Device9* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device9_GetDescriptorHandleIncrementSize(ID3D12Device9* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateRootSignature(ID3D12Device9* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device9_CreateConstantBufferView(ID3D12Device9* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device9_CreateShaderResourceView(ID3D12Device9* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device9_CreateUnorderedAccessView(ID3D12Device9* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device9_CreateRenderTargetView(ID3D12Device9* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device9_CreateDepthStencilView(ID3D12Device9* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device9_CreateSampler(ID3D12Device9* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device9_CopyDescriptors(ID3D12Device9* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device9_CopyDescriptorsSimple(ID3D12Device9* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device9_GetResourceAllocationInfo(ID3D12Device9* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device9_GetCustomHeapProperties(ID3D12Device9* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommittedResource(ID3D12Device9* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateHeap(ID3D12Device9* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreatePlacedResource(ID3D12Device9* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateReservedResource(ID3D12Device9* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateSharedHandle(ID3D12Device9* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device9_OpenSharedHandle(ID3D12Device9* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device9_OpenSharedHandleByName(ID3D12Device9* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device9_MakeResident(ID3D12Device9* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device9_Evict(ID3D12Device9* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateFence(ID3D12Device9* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device9_GetDeviceRemovedReason(ID3D12Device9* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device9_GetCopyableFootprints(ID3D12Device9* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateQueryHeap(ID3D12Device9* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device9_SetStablePowerState(ID3D12Device9* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandSignature(ID3D12Device9* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device9_GetResourceTiling(ID3D12Device9* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device9_GetAdapterLuid(ID3D12Device9* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_CreatePipelineLibrary(ID3D12Device9* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device9_SetEventOnMultipleFenceCompletion(ID3D12Device9* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device9_SetResidencyPriority(ID3D12Device9* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_CreatePipelineState(ID3D12Device9* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_OpenExistingHeapFromAddress(ID3D12Device9* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device9_OpenExistingHeapFromFileMapping(ID3D12Device9* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device9_EnqueueMakeResident(ID3D12Device9* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandList1(ID3D12Device9* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateProtectedResourceSession(ID3D12Device9* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommittedResource1(ID3D12Device9* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateHeap1(ID3D12Device9* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateReservedResource1(ID3D12Device9* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device9_GetResourceAllocationInfo1(ID3D12Device9* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +/*** ID3D12Device5 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_CreateLifetimeTracker(ID3D12Device9* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) { + return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker); +} +static __WIDL_INLINE void ID3D12Device9_RemoveDevice(ID3D12Device9* This) { + This->lpVtbl->RemoveDevice(This); +} +static __WIDL_INLINE HRESULT ID3D12Device9_EnumerateMetaCommands(ID3D12Device9* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) { + return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs); +} +static __WIDL_INLINE HRESULT ID3D12Device9_EnumerateMetaCommandParameters(ID3D12Device9* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) { + return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateMetaCommand(ID3D12Device9* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) { + return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateStateObject(ID3D12Device9* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) { + return This->lpVtbl->CreateStateObject(This,desc,riid,state_object); +} +static __WIDL_INLINE void ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device9* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) { + This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info); +} +static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device9_CheckDriverMatchingIdentifier(ID3D12Device9* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) { + return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check); +} +/*** ID3D12Device6 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_SetBackgroundProcessingMode(ID3D12Device9* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) { + return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired); +} +/*** ID3D12Device7 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_AddToStateObject(ID3D12Device9* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) { + return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateProtectedResourceSession1(ID3D12Device9* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session); +} +/*** ID3D12Device8 methods ***/ +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device9_GetResourceAllocationInfo2(ID3D12Device9* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC1 *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo2(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommittedResource2(ID3D12Device9* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreatePlacedResource1(ID3D12Device9* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE void ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(ID3D12Device9* This,ID3D12Resource *targeted_resource,ID3D12Resource *feedback_resource,D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) { + This->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor); +} +static __WIDL_INLINE void ID3D12Device9_GetCopyableFootprints1(ID3D12Device9* This,const D3D12_RESOURCE_DESC1 *resource_desc,UINT first_subresource,UINT subresources_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *rows_count,UINT64 *row_size_in_bytes,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes); +} +/*** ID3D12Device9 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device9_CreateShaderCacheSession(ID3D12Device9* This,const D3D12_SHADER_CACHE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateShaderCacheSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device9_ShaderCacheControl(ID3D12Device9* This,D3D12_SHADER_CACHE_KIND_FLAGS kinds,D3D12_SHADER_CACHE_CONTROL_FLAGS control) { + return This->lpVtbl->ShaderCacheControl(This,kinds,control); +} +static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandQueue1(ID3D12Device9* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID creator_id,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Device10 interface + */ +#ifndef __ID3D12Device10_INTERFACE_DEFINED__ +#define __ID3D12Device10_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Device10, 0x517f8718, 0xaa66, 0x49f9, 0xb0,0x2b, 0xa7,0xab,0x89,0xc0,0x60,0x31); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("517f8718-aa66-49f9-b02b-a7ab89c06031") +ID3D12Device10 : public ID3D12Device9 +{ + virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource3( + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid_resource, + void **resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource2( + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid, + void **resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateReservedResource2( + const D3D12_RESOURCE_DESC *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid, + void **resource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Device10, 0x517f8718, 0xaa66, 0x49f9, 0xb0,0x2b, 0xa7,0xab,0x89,0xc0,0x60,0x31) +#endif +#else +typedef struct ID3D12Device10Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Device10 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Device10 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Device10 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12Device10 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12Device10 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12Device10 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12Device10 *This, + const WCHAR *name); + + /*** ID3D12Device methods ***/ + UINT (STDMETHODCALLTYPE *GetNodeCount)( + ID3D12Device10 *This); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)( + ID3D12Device10 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID riid, + void **command_queue); + + HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)( + ID3D12Device10 *This, + D3D12_COMMAND_LIST_TYPE type, + REFIID riid, + void **command_allocator); + + HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)( + ID3D12Device10 *This, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)( + ID3D12Device10 *This, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, + REFIID riid, + void **pipeline_state); + + HRESULT (STDMETHODCALLTYPE *CreateCommandList)( + ID3D12Device10 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator *command_allocator, + ID3D12PipelineState *initial_pipeline_state, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)( + ID3D12Device10 *This, + D3D12_FEATURE feature, + void *feature_data, + UINT feature_data_size); + + HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)( + ID3D12Device10 *This, + const D3D12_DESCRIPTOR_HEAP_DESC *desc, + REFIID riid, + void **descriptor_heap); + + UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)( + ID3D12Device10 *This, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateRootSignature)( + ID3D12Device10 *This, + UINT node_mask, + const void *bytecode, + SIZE_T bytecode_length, + REFIID riid, + void **root_signature); + + void (STDMETHODCALLTYPE *CreateConstantBufferView)( + ID3D12Device10 *This, + const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateShaderResourceView)( + ID3D12Device10 *This, + ID3D12Resource *resource, + const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateUnorderedAccessView)( + ID3D12Device10 *This, + ID3D12Resource *resource, + ID3D12Resource *counter_resource, + const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateRenderTargetView)( + ID3D12Device10 *This, + ID3D12Resource *resource, + const D3D12_RENDER_TARGET_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateDepthStencilView)( + ID3D12Device10 *This, + ID3D12Resource *resource, + const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CreateSampler)( + ID3D12Device10 *This, + const D3D12_SAMPLER_DESC *desc, + D3D12_CPU_DESCRIPTOR_HANDLE descriptor); + + void (STDMETHODCALLTYPE *CopyDescriptors)( + ID3D12Device10 *This, + UINT dst_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, + const UINT *dst_descriptor_range_sizes, + UINT src_descriptor_range_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, + const UINT *src_descriptor_range_sizes, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + void (STDMETHODCALLTYPE *CopyDescriptorsSimple)( + ID3D12Device10 *This, + UINT descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, + const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, + D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)( + ID3D12Device10 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT reource_desc_count, + const D3D12_RESOURCE_DESC *resource_descs); + + D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)( + ID3D12Device10 *This, + D3D12_HEAP_PROPERTIES *__ret, + UINT node_mask, + D3D12_HEAP_TYPE heap_type); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)( + ID3D12Device10 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap)( + ID3D12Device10 *This, + const D3D12_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)( + ID3D12Device10 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource)( + ID3D12Device10 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)( + ID3D12Device10 *This, + ID3D12DeviceChild *object, + const SECURITY_ATTRIBUTES *attributes, + DWORD access, + const WCHAR *name, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)( + ID3D12Device10 *This, + HANDLE handle, + REFIID riid, + void **object); + + HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)( + ID3D12Device10 *This, + const WCHAR *name, + DWORD access, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *MakeResident)( + ID3D12Device10 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *Evict)( + ID3D12Device10 *This, + UINT object_count, + ID3D12Pageable *const *objects); + + HRESULT (STDMETHODCALLTYPE *CreateFence)( + ID3D12Device10 *This, + UINT64 initial_value, + D3D12_FENCE_FLAGS flags, + REFIID riid, + void **fence); + + HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)( + ID3D12Device10 *This); + + void (STDMETHODCALLTYPE *GetCopyableFootprints)( + ID3D12Device10 *This, + const D3D12_RESOURCE_DESC *desc, + UINT first_sub_resource, + UINT sub_resource_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *row_count, + UINT64 *row_size, + UINT64 *total_bytes); + + HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)( + ID3D12Device10 *This, + const D3D12_QUERY_HEAP_DESC *desc, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *SetStablePowerState)( + ID3D12Device10 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)( + ID3D12Device10 *This, + const D3D12_COMMAND_SIGNATURE_DESC *desc, + ID3D12RootSignature *root_signature, + REFIID riid, + void **command_signature); + + void (STDMETHODCALLTYPE *GetResourceTiling)( + ID3D12Device10 *This, + ID3D12Resource *resource, + UINT *total_tile_count, + D3D12_PACKED_MIP_INFO *packed_mip_info, + D3D12_TILE_SHAPE *standard_tile_shape, + UINT *sub_resource_tiling_count, + UINT first_sub_resource_tiling, + D3D12_SUBRESOURCE_TILING *sub_resource_tilings); + + LUID * (STDMETHODCALLTYPE *GetAdapterLuid)( + ID3D12Device10 *This, + LUID *__ret); + + /*** ID3D12Device1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)( + ID3D12Device10 *This, + const void *blob, + SIZE_T blob_size, + REFIID iid, + void **lib); + + HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)( + ID3D12Device10 *This, + ID3D12Fence *const *fences, + const UINT64 *values, + UINT fence_count, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, + HANDLE event); + + HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)( + ID3D12Device10 *This, + UINT object_count, + ID3D12Pageable *const *objects, + const D3D12_RESIDENCY_PRIORITY *priorities); + + /*** ID3D12Device2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePipelineState)( + ID3D12Device10 *This, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, + REFIID riid, + void **pipeline_state); + + /*** ID3D12Device3 methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)( + ID3D12Device10 *This, + const void *address, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)( + ID3D12Device10 *This, + HANDLE file_mapping, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)( + ID3D12Device10 *This, + D3D12_RESIDENCY_FLAGS flags, + UINT num_objects, + ID3D12Pageable *const *objects, + ID3D12Fence *fence, + UINT64 fence_value); + + /*** ID3D12Device4 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommandList1)( + ID3D12Device10 *This, + UINT node_mask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + REFIID riid, + void **command_list); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)( + ID3D12Device10 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)( + ID3D12Device10 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateHeap1)( + ID3D12Device10 *This, + const D3D12_HEAP_DESC *desc, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **heap); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)( + ID3D12Device10 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid, + void **resource); + + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)( + ID3D12Device10 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + /*** ID3D12Device5 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)( + ID3D12Device10 *This, + ID3D12LifetimeOwner *owner, + REFIID riid, + void **tracker); + + void (STDMETHODCALLTYPE *RemoveDevice)( + ID3D12Device10 *This); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)( + ID3D12Device10 *This, + UINT *meta_commands_count, + D3D12_META_COMMAND_DESC *descs); + + HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)( + ID3D12Device10 *This, + REFGUID command_id, + D3D12_META_COMMAND_PARAMETER_STAGE stage, + UINT *total_structure_size_in_bytes, + UINT *parameter_count, + D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs); + + HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)( + ID3D12Device10 *This, + REFGUID command_id, + UINT node_mask, + const void *creation_parameters_data, + SIZE_T creation_parameters_data_size_in_bytes, + REFIID riid, + void **meta_command); + + HRESULT (STDMETHODCALLTYPE *CreateStateObject)( + ID3D12Device10 *This, + const D3D12_STATE_OBJECT_DESC *desc, + REFIID riid, + void **state_object); + + void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)( + ID3D12Device10 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info); + + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)( + ID3D12Device10 *This, + D3D12_SERIALIZED_DATA_TYPE serialized_data_type, + const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check); + + /*** ID3D12Device6 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)( + ID3D12Device10 *This, + D3D12_BACKGROUND_PROCESSING_MODE mode, + D3D12_MEASUREMENTS_ACTION action, + HANDLE event, + WINBOOL *further_measurements_desired); + + /*** ID3D12Device7 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddToStateObject)( + ID3D12Device10 *This, + const D3D12_STATE_OBJECT_DESC *addition, + ID3D12StateObject *state_object_to_grow_from, + REFIID riid, + void **new_state_object); + + HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)( + ID3D12Device10 *This, + const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc, + REFIID riid, + void **session); + + /*** ID3D12Device8 methods ***/ + D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo2)( + ID3D12Device10 *This, + D3D12_RESOURCE_ALLOCATION_INFO *__ret, + UINT visible_mask, + UINT resource_descs_count, + const D3D12_RESOURCE_DESC1 *resource_descs, + D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1); + + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource2)( + ID3D12Device10 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_resource_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource1)( + ID3D12Device10 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_RESOURCE_STATES initial_state, + const D3D12_CLEAR_VALUE *optimized_clear_value, + REFIID riid, + void **resource); + + void (STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView)( + ID3D12Device10 *This, + ID3D12Resource *targeted_resource, + ID3D12Resource *feedback_resource, + D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor); + + void (STDMETHODCALLTYPE *GetCopyableFootprints1)( + ID3D12Device10 *This, + const D3D12_RESOURCE_DESC1 *resource_desc, + UINT first_subresource, + UINT subresources_count, + UINT64 base_offset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, + UINT *rows_count, + UINT64 *row_size_in_bytes, + UINT64 *total_bytes); + + /*** ID3D12Device9 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateShaderCacheSession)( + ID3D12Device10 *This, + const D3D12_SHADER_CACHE_SESSION_DESC *desc, + REFIID riid, + void **session); + + HRESULT (STDMETHODCALLTYPE *ShaderCacheControl)( + ID3D12Device10 *This, + D3D12_SHADER_CACHE_KIND_FLAGS kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS control); + + HRESULT (STDMETHODCALLTYPE *CreateCommandQueue1)( + ID3D12Device10 *This, + const D3D12_COMMAND_QUEUE_DESC *desc, + REFIID creator_id, + REFIID riid, + void **command_queue); + + /*** ID3D12Device10 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateCommittedResource3)( + ID3D12Device10 *This, + const D3D12_HEAP_PROPERTIES *heap_properties, + D3D12_HEAP_FLAGS heap_flags, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid_resource, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreatePlacedResource2)( + ID3D12Device10 *This, + ID3D12Heap *heap, + UINT64 heap_offset, + const D3D12_RESOURCE_DESC1 *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid, + void **resource); + + HRESULT (STDMETHODCALLTYPE *CreateReservedResource2)( + ID3D12Device10 *This, + const D3D12_RESOURCE_DESC *desc, + D3D12_BARRIER_LAYOUT initial_layout, + const D3D12_CLEAR_VALUE *optimized_clear_value, + ID3D12ProtectedResourceSession *protected_session, + UINT32 castable_formats_count, + DXGI_FORMAT *castable_formats, + REFIID riid, + void **resource); + + END_INTERFACE +} ID3D12Device10Vtbl; + +interface ID3D12Device10 { + CONST_VTBL ID3D12Device10Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Device10_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Device10_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Device10_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12Device10_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12Device10_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12Device10_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12Device10_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12Device methods ***/ +#define ID3D12Device10_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This) +#define ID3D12Device10_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue) +#define ID3D12Device10_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator) +#define ID3D12Device10_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device10_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state) +#define ID3D12Device10_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) +#define ID3D12Device10_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size) +#define ID3D12Device10_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap) +#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type) +#define ID3D12Device10_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) +#define ID3D12Device10_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor) +#define ID3D12Device10_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor) +#define ID3D12Device10_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) +#define ID3D12Device10_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor) +#define ID3D12Device10_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor) +#define ID3D12Device10_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor) +#define ID3D12Device10_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) +#define ID3D12Device10_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) +#define ID3D12Device10_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device10_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device10_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device10_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device10_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device10_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap) +#define ID3D12Device10_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device10_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device10_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle) +#define ID3D12Device10_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object) +#define ID3D12Device10_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle) +#define ID3D12Device10_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects) +#define ID3D12Device10_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects) +#define ID3D12Device10_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence) +#define ID3D12Device10_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This) +#define ID3D12Device10_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) +#define ID3D12Device10_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap) +#define ID3D12Device10_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable) +#define ID3D12Device10_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature) +#define ID3D12Device10_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) +#define ID3D12Device10_GetAdapterLuid(This) ID3D12Device10_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device1 methods ***/ +#define ID3D12Device10_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib) +#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) +#define ID3D12Device10_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities) +/*** ID3D12Device2 methods ***/ +#define ID3D12Device10_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state) +/*** ID3D12Device3 methods ***/ +#define ID3D12Device10_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap) +#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) +#define ID3D12Device10_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) +/*** ID3D12Device4 methods ***/ +#define ID3D12Device10_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list) +#define ID3D12Device10_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session) +#define ID3D12Device10_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device10_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap) +#define ID3D12Device10_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) +#define ID3D12Device10_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device10_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +/*** ID3D12Device5 methods ***/ +#define ID3D12Device10_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker) +#define ID3D12Device10_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This) +#define ID3D12Device10_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs) +#define ID3D12Device10_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) +#define ID3D12Device10_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) +#define ID3D12Device10_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object) +#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) +#define ID3D12Device10_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) +/*** ID3D12Device6 methods ***/ +#define ID3D12Device10_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) +/*** ID3D12Device7 methods ***/ +#define ID3D12Device10_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) +#define ID3D12Device10_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session) +/*** ID3D12Device8 methods ***/ +#define ID3D12Device10_GetResourceAllocationInfo2(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device10_GetResourceAllocationInfo2_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define ID3D12Device10_CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) +#define ID3D12Device10_CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) +#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) (This)->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) +#define ID3D12Device10_GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) (This)->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) +/*** ID3D12Device9 methods ***/ +#define ID3D12Device10_CreateShaderCacheSession(This,desc,riid,session) (This)->lpVtbl->CreateShaderCacheSession(This,desc,riid,session) +#define ID3D12Device10_ShaderCacheControl(This,kinds,control) (This)->lpVtbl->ShaderCacheControl(This,kinds,control) +#define ID3D12Device10_CreateCommandQueue1(This,desc,creator_id,riid,command_queue) (This)->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue) +/*** ID3D12Device10 methods ***/ +#define ID3D12Device10_CreateCommittedResource3(This,heap_properties,heap_flags,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource3(This,heap_properties,heap_flags,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid_resource,resource) +#define ID3D12Device10_CreatePlacedResource2(This,heap,heap_offset,desc,initial_layout,optimized_clear_value,castable_formats_count,castable_formats,riid,resource) (This)->lpVtbl->CreatePlacedResource2(This,heap,heap_offset,desc,initial_layout,optimized_clear_value,castable_formats_count,castable_formats,riid,resource) +#define ID3D12Device10_CreateReservedResource2(This,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid,resource) (This)->lpVtbl->CreateReservedResource2(This,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid,resource) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_QueryInterface(ID3D12Device10* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Device10_AddRef(ID3D12Device10* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Device10_Release(ID3D12Device10* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_GetPrivateData(ID3D12Device10* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device10_SetPrivateData(ID3D12Device10* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12Device10_SetPrivateDataInterface(ID3D12Device10* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12Device10_SetName(ID3D12Device10* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12Device methods ***/ +static __WIDL_INLINE UINT ID3D12Device10_GetNodeCount(ID3D12Device10* This) { + return This->lpVtbl->GetNodeCount(This); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandQueue(ID3D12Device10* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandAllocator(ID3D12Device10* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) { + return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateGraphicsPipelineState(ID3D12Device10* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateComputePipelineState(ID3D12Device10* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandList(ID3D12Device10* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CheckFeatureSupport(ID3D12Device10* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) { + return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateDescriptorHeap(ID3D12Device10* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) { + return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap); +} +static __WIDL_INLINE UINT ID3D12Device10_GetDescriptorHandleIncrementSize(ID3D12Device10* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateRootSignature(ID3D12Device10* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) { + return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature); +} +static __WIDL_INLINE void ID3D12Device10_CreateConstantBufferView(ID3D12Device10* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateConstantBufferView(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device10_CreateShaderResourceView(ID3D12Device10* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device10_CreateUnorderedAccessView(ID3D12Device10* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device10_CreateRenderTargetView(ID3D12Device10* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device10_CreateDepthStencilView(ID3D12Device10* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device10_CreateSampler(ID3D12Device10* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) { + This->lpVtbl->CreateSampler(This,desc,descriptor); +} +static __WIDL_INLINE void ID3D12Device10_CopyDescriptors(ID3D12Device10* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type); +} +static __WIDL_INLINE void ID3D12Device10_CopyDescriptorsSimple(ID3D12Device10* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) { + This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device10_GetResourceAllocationInfo(ID3D12Device10* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs); +} +static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device10_GetCustomHeapProperties(ID3D12Device10* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) { + D3D12_HEAP_PROPERTIES __ret; + return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateHeap(ID3D12Device10* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreatePlacedResource(ID3D12Device10* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateReservedResource(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateSharedHandle(ID3D12Device10* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) { + return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device10_OpenSharedHandle(ID3D12Device10* This,HANDLE handle,REFIID riid,void **object) { + return This->lpVtbl->OpenSharedHandle(This,handle,riid,object); +} +static __WIDL_INLINE HRESULT ID3D12Device10_OpenSharedHandleByName(ID3D12Device10* This,const WCHAR *name,DWORD access,HANDLE *handle) { + return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle); +} +static __WIDL_INLINE HRESULT ID3D12Device10_MakeResident(ID3D12Device10* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->MakeResident(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device10_Evict(ID3D12Device10* This,UINT object_count,ID3D12Pageable *const *objects) { + return This->lpVtbl->Evict(This,object_count,objects); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateFence(ID3D12Device10* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) { + return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence); +} +static __WIDL_INLINE HRESULT ID3D12Device10_GetDeviceRemovedReason(ID3D12Device10* This) { + return This->lpVtbl->GetDeviceRemovedReason(This); +} +static __WIDL_INLINE void ID3D12Device10_GetCopyableFootprints(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateQueryHeap(ID3D12Device10* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) { + return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device10_SetStablePowerState(ID3D12Device10* This,WINBOOL enable) { + return This->lpVtbl->SetStablePowerState(This,enable); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandSignature(ID3D12Device10* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) { + return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature); +} +static __WIDL_INLINE void ID3D12Device10_GetResourceTiling(ID3D12Device10* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) { + This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings); +} +static __WIDL_INLINE LUID ID3D12Device10_GetAdapterLuid(ID3D12Device10* This) { + LUID __ret; + return *This->lpVtbl->GetAdapterLuid(This,&__ret); +} +/*** ID3D12Device1 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_CreatePipelineLibrary(ID3D12Device10* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) { + return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib); +} +static __WIDL_INLINE HRESULT ID3D12Device10_SetEventOnMultipleFenceCompletion(ID3D12Device10* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) { + return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event); +} +static __WIDL_INLINE HRESULT ID3D12Device10_SetResidencyPriority(ID3D12Device10* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) { + return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities); +} +/*** ID3D12Device2 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_CreatePipelineState(ID3D12Device10* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) { + return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state); +} +/*** ID3D12Device3 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_OpenExistingHeapFromAddress(ID3D12Device10* This,const void *address,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device10_OpenExistingHeapFromFileMapping(ID3D12Device10* This,HANDLE file_mapping,REFIID riid,void **heap) { + return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device10_EnqueueMakeResident(ID3D12Device10* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) { + return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value); +} +/*** ID3D12Device4 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandList1(ID3D12Device10* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) { + return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateProtectedResourceSession(ID3D12Device10* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource1(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateHeap1(ID3D12Device10* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) { + return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateReservedResource1(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource); +} +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device10_GetResourceAllocationInfo1(ID3D12Device10* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +/*** ID3D12Device5 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_CreateLifetimeTracker(ID3D12Device10* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) { + return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker); +} +static __WIDL_INLINE void ID3D12Device10_RemoveDevice(ID3D12Device10* This) { + This->lpVtbl->RemoveDevice(This); +} +static __WIDL_INLINE HRESULT ID3D12Device10_EnumerateMetaCommands(ID3D12Device10* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) { + return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs); +} +static __WIDL_INLINE HRESULT ID3D12Device10_EnumerateMetaCommandParameters(ID3D12Device10* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) { + return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateMetaCommand(ID3D12Device10* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) { + return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateStateObject(ID3D12Device10* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) { + return This->lpVtbl->CreateStateObject(This,desc,riid,state_object); +} +static __WIDL_INLINE void ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device10* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) { + This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info); +} +static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device10_CheckDriverMatchingIdentifier(ID3D12Device10* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) { + return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check); +} +/*** ID3D12Device6 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_SetBackgroundProcessingMode(ID3D12Device10* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) { + return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired); +} +/*** ID3D12Device7 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_AddToStateObject(ID3D12Device10* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) { + return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateProtectedResourceSession1(ID3D12Device10* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session); +} +/*** ID3D12Device8 methods ***/ +static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device10_GetResourceAllocationInfo2(ID3D12Device10* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC1 *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) { + D3D12_RESOURCE_ALLOCATION_INFO __ret; + return *This->lpVtbl->GetResourceAllocationInfo2(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource2(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreatePlacedResource1(ID3D12Device10* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource); +} +static __WIDL_INLINE void ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(ID3D12Device10* This,ID3D12Resource *targeted_resource,ID3D12Resource *feedback_resource,D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) { + This->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor); +} +static __WIDL_INLINE void ID3D12Device10_GetCopyableFootprints1(ID3D12Device10* This,const D3D12_RESOURCE_DESC1 *resource_desc,UINT first_subresource,UINT subresources_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *rows_count,UINT64 *row_size_in_bytes,UINT64 *total_bytes) { + This->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes); +} +/*** ID3D12Device9 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_CreateShaderCacheSession(ID3D12Device10* This,const D3D12_SHADER_CACHE_SESSION_DESC *desc,REFIID riid,void **session) { + return This->lpVtbl->CreateShaderCacheSession(This,desc,riid,session); +} +static __WIDL_INLINE HRESULT ID3D12Device10_ShaderCacheControl(ID3D12Device10* This,D3D12_SHADER_CACHE_KIND_FLAGS kinds,D3D12_SHADER_CACHE_CONTROL_FLAGS control) { + return This->lpVtbl->ShaderCacheControl(This,kinds,control); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandQueue1(ID3D12Device10* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID creator_id,REFIID riid,void **command_queue) { + return This->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue); +} +/*** ID3D12Device10 methods ***/ +static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource3(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_BARRIER_LAYOUT initial_layout,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,UINT32 castable_formats_count,DXGI_FORMAT *castable_formats,REFIID riid_resource,void **resource) { + return This->lpVtbl->CreateCommittedResource3(This,heap_properties,heap_flags,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid_resource,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreatePlacedResource2(ID3D12Device10* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_BARRIER_LAYOUT initial_layout,const D3D12_CLEAR_VALUE *optimized_clear_value,UINT32 castable_formats_count,DXGI_FORMAT *castable_formats,REFIID riid,void **resource) { + return This->lpVtbl->CreatePlacedResource2(This,heap,heap_offset,desc,initial_layout,optimized_clear_value,castable_formats_count,castable_formats,riid,resource); +} +static __WIDL_INLINE HRESULT ID3D12Device10_CreateReservedResource2(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,D3D12_BARRIER_LAYOUT initial_layout,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,UINT32 castable_formats_count,DXGI_FORMAT *castable_formats,REFIID riid,void **resource) { + return This->lpVtbl->CreateReservedResource2(This,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid,resource); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Device10_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12VirtualizationGuestDevice interface + */ +#ifndef __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ +#define __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice, 0xbc66d368, 0x7373, 0x4943, 0x87,0x57, 0xfc,0x87,0xdc,0x79,0xe4,0x76); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bc66d368-7373-4943-8757-fc87dc79e476") +ID3D12VirtualizationGuestDevice : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ShareWithHost( + ID3D12DeviceChild *object, + HANDLE *handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFenceFd( + ID3D12Fence *fence, + UINT64 fence_value, + int *fence_fd) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12VirtualizationGuestDevice, 0xbc66d368, 0x7373, 0x4943, 0x87,0x57, 0xfc,0x87,0xdc,0x79,0xe4,0x76) +#endif +#else +typedef struct ID3D12VirtualizationGuestDeviceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12VirtualizationGuestDevice *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12VirtualizationGuestDevice *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12VirtualizationGuestDevice *This); + + /*** ID3D12VirtualizationGuestDevice methods ***/ + HRESULT (STDMETHODCALLTYPE *ShareWithHost)( + ID3D12VirtualizationGuestDevice *This, + ID3D12DeviceChild *object, + HANDLE *handle); + + HRESULT (STDMETHODCALLTYPE *CreateFenceFd)( + ID3D12VirtualizationGuestDevice *This, + ID3D12Fence *fence, + UINT64 fence_value, + int *fence_fd); + + END_INTERFACE +} ID3D12VirtualizationGuestDeviceVtbl; + +interface ID3D12VirtualizationGuestDevice { + CONST_VTBL ID3D12VirtualizationGuestDeviceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12VirtualizationGuestDevice_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12VirtualizationGuestDevice_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12VirtualizationGuestDevice methods ***/ +#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,object,handle) (This)->lpVtbl->ShareWithHost(This,object,handle) +#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,fence,fence_value,fence_fd) (This)->lpVtbl->CreateFenceFd(This,fence,fence_value,fence_fd) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12VirtualizationGuestDevice_QueryInterface(ID3D12VirtualizationGuestDevice* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12VirtualizationGuestDevice_AddRef(ID3D12VirtualizationGuestDevice* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12VirtualizationGuestDevice_Release(ID3D12VirtualizationGuestDevice* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12VirtualizationGuestDevice methods ***/ +static __WIDL_INLINE HRESULT ID3D12VirtualizationGuestDevice_ShareWithHost(ID3D12VirtualizationGuestDevice* This,ID3D12DeviceChild *object,HANDLE *handle) { + return This->lpVtbl->ShareWithHost(This,object,handle); +} +static __WIDL_INLINE HRESULT ID3D12VirtualizationGuestDevice_CreateFenceFd(ID3D12VirtualizationGuestDevice* This,ID3D12Fence *fence,UINT64 fence_value,int *fence_fd) { + return This->lpVtbl->CreateFenceFd(This,fence,fence_value,fence_fd); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12Tools interface + */ +#ifndef __ID3D12Tools_INTERFACE_DEFINED__ +#define __ID3D12Tools_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97,0x4f, 0x12,0xfa,0x49,0xde,0x65,0xc5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5") +ID3D12Tools : public IUnknown +{ + virtual void STDMETHODCALLTYPE EnableShaderInstrumentation( + WINBOOL enable) = 0; + + virtual WINBOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97,0x4f, 0x12,0xfa,0x49,0xde,0x65,0xc5) +#endif +#else +typedef struct ID3D12ToolsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Tools *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Tools *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Tools *This); + + /*** ID3D12Tools methods ***/ + void (STDMETHODCALLTYPE *EnableShaderInstrumentation)( + ID3D12Tools *This, + WINBOOL enable); + + WINBOOL (STDMETHODCALLTYPE *ShaderInstrumentationEnabled)( + ID3D12Tools *This); + + END_INTERFACE +} ID3D12ToolsVtbl; + +interface ID3D12Tools { + CONST_VTBL ID3D12ToolsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Tools_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Tools_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Tools_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Tools methods ***/ +#define ID3D12Tools_EnableShaderInstrumentation(This,enable) (This)->lpVtbl->EnableShaderInstrumentation(This,enable) +#define ID3D12Tools_ShaderInstrumentationEnabled(This) (This)->lpVtbl->ShaderInstrumentationEnabled(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Tools_QueryInterface(ID3D12Tools* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Tools_AddRef(ID3D12Tools* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Tools_Release(ID3D12Tools* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Tools methods ***/ +static __WIDL_INLINE void ID3D12Tools_EnableShaderInstrumentation(ID3D12Tools* This,WINBOOL enable) { + This->lpVtbl->EnableShaderInstrumentation(This,enable); +} +static __WIDL_INLINE WINBOOL ID3D12Tools_ShaderInstrumentationEnabled(ID3D12Tools* This) { + return This->lpVtbl->ShaderInstrumentationEnabled(This); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12Tools_INTERFACE_DEFINED__ */ + +DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f); +DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8); +DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2); +DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce); +/***************************************************************************** + * ID3D12SDKConfiguration interface + */ +#ifndef __ID3D12SDKConfiguration_INTERFACE_DEFINED__ +#define __ID3D12SDKConfiguration_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12SDKConfiguration, 0xe9eb5314, 0x33aa, 0x42b2, 0xa7,0x18, 0xd7,0x7f,0x58,0xb1,0xf1,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e9eb5314-33aa-42b2-a718-d77f58b1f1c7") +ID3D12SDKConfiguration : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetSDKVersion( + UINT version, + const char *path) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12SDKConfiguration, 0xe9eb5314, 0x33aa, 0x42b2, 0xa7,0x18, 0xd7,0x7f,0x58,0xb1,0xf1,0xc7) +#endif +#else +typedef struct ID3D12SDKConfigurationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12SDKConfiguration *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12SDKConfiguration *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12SDKConfiguration *This); + + /*** ID3D12SDKConfiguration methods ***/ + HRESULT (STDMETHODCALLTYPE *SetSDKVersion)( + ID3D12SDKConfiguration *This, + UINT version, + const char *path); + + END_INTERFACE +} ID3D12SDKConfigurationVtbl; + +interface ID3D12SDKConfiguration { + CONST_VTBL ID3D12SDKConfigurationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12SDKConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12SDKConfiguration_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12SDKConfiguration methods ***/ +#define ID3D12SDKConfiguration_SetSDKVersion(This,version,path) (This)->lpVtbl->SetSDKVersion(This,version,path) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12SDKConfiguration_QueryInterface(ID3D12SDKConfiguration* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12SDKConfiguration_AddRef(ID3D12SDKConfiguration* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12SDKConfiguration_Release(ID3D12SDKConfiguration* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12SDKConfiguration methods ***/ +static __WIDL_INLINE HRESULT ID3D12SDKConfiguration_SetSDKVersion(ID3D12SDKConfiguration* This,UINT version,const char *path) { + return This->lpVtbl->SetSDKVersion(This,version,path); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12SDKConfiguration_INTERFACE_DEFINED__ */ + +typedef enum D3D12_AXIS_SHADING_RATE { + D3D12_AXIS_SHADING_RATE_1X = 0x0, + D3D12_AXIS_SHADING_RATE_2X = 0x1, + D3D12_AXIS_SHADING_RATE_4X = 0x2 +} D3D12_AXIS_SHADING_RATE; +typedef enum D3D12_SHADING_RATE { + D3D12_SHADING_RATE_1X1 = 0x0, + D3D12_SHADING_RATE_1X2 = 0x1, + D3D12_SHADING_RATE_2X1 = 0x4, + D3D12_SHADING_RATE_2X2 = 0x5, + D3D12_SHADING_RATE_2X4 = 0x6, + D3D12_SHADING_RATE_4X2 = 0x9, + D3D12_SHADING_RATE_4X4 = 0xa +} D3D12_SHADING_RATE; +typedef enum D3D12_SHADING_RATE_COMBINER { + D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0x0, + D3D12_SHADING_RATE_COMBINER_OVERRIDE = 0x1, + D3D12_SHADING_RATE_COMBINER_MIN = 0x2, + D3D12_SHADING_RATE_COMBINER_MAX = 0x3, + D3D12_SHADING_RATE_COMBINER_SUM = 0x4 +} D3D12_SHADING_RATE_COMBINER; +/***************************************************************************** + * ID3D12GraphicsCommandList5 interface + */ +#ifndef __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ +#define __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12GraphicsCommandList5, 0x55050859, 0x4024, 0x474c, 0x87,0xf5, 0x64,0x72,0xea,0xee,0x44,0xea); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("55050859-4024-474c-87f5-6472eaee44ea") +ID3D12GraphicsCommandList5 : public ID3D12GraphicsCommandList4 +{ + virtual void STDMETHODCALLTYPE RSSetShadingRate( + D3D12_SHADING_RATE base_shading_rate, + const D3D12_SHADING_RATE_COMBINER *combiners) = 0; + + virtual void STDMETHODCALLTYPE RSSetShadingRateImage( + ID3D12Resource *shading_rate_image) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12GraphicsCommandList5, 0x55050859, 0x4024, 0x474c, 0x87,0xf5, 0x64,0x72,0xea,0xee,0x44,0xea) +#endif +#else +typedef struct ID3D12GraphicsCommandList5Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12GraphicsCommandList5 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12GraphicsCommandList5 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12GraphicsCommandList5 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12GraphicsCommandList5 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12GraphicsCommandList5 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12GraphicsCommandList5 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12GraphicsCommandList5 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12GraphicsCommandList5 *This, + REFIID riid, + void **device); + + /*** ID3D12CommandList methods ***/ + D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)( + ID3D12GraphicsCommandList5 *This); + + /*** ID3D12GraphicsCommandList methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + ID3D12GraphicsCommandList5 *This); + + HRESULT (STDMETHODCALLTYPE *Reset)( + ID3D12GraphicsCommandList5 *This, + ID3D12CommandAllocator *allocator, + ID3D12PipelineState *initial_state); + + void (STDMETHODCALLTYPE *ClearState)( + ID3D12GraphicsCommandList5 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *DrawInstanced)( + ID3D12GraphicsCommandList5 *This, + UINT vertex_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *DrawIndexedInstanced)( + ID3D12GraphicsCommandList5 *This, + UINT index_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + INT base_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *Dispatch)( + ID3D12GraphicsCommandList5 *This, + UINT x, + UINT u, + UINT z); + + void (STDMETHODCALLTYPE *CopyBufferRegion)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT64 byte_count); + + void (STDMETHODCALLTYPE *CopyTextureRegion)( + ID3D12GraphicsCommandList5 *This, + const D3D12_TEXTURE_COPY_LOCATION *dst, + UINT dst_x, + UINT dst_y, + UINT dst_z, + const D3D12_TEXTURE_COPY_LOCATION *src, + const D3D12_BOX *src_box); + + void (STDMETHODCALLTYPE *CopyResource)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *dst_resource, + ID3D12Resource *src_resource); + + void (STDMETHODCALLTYPE *CopyTiles)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *tiled_resource, + const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate, + const D3D12_TILE_REGION_SIZE *tile_region_size, + ID3D12Resource *buffer, + UINT64 buffer_offset, + D3D12_TILE_COPY_FLAGS flags); + + void (STDMETHODCALLTYPE *ResolveSubresource)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource, + ID3D12Resource *src_resource, + UINT src_sub_resource, + DXGI_FORMAT format); + + void (STDMETHODCALLTYPE *IASetPrimitiveTopology)( + ID3D12GraphicsCommandList5 *This, + D3D12_PRIMITIVE_TOPOLOGY primitive_topology); + + void (STDMETHODCALLTYPE *RSSetViewports)( + ID3D12GraphicsCommandList5 *This, + UINT viewport_count, + const D3D12_VIEWPORT *viewports); + + void (STDMETHODCALLTYPE *RSSetScissorRects)( + ID3D12GraphicsCommandList5 *This, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *OMSetBlendFactor)( + ID3D12GraphicsCommandList5 *This, + const FLOAT blend_factor[4]); + + void (STDMETHODCALLTYPE *OMSetStencilRef)( + ID3D12GraphicsCommandList5 *This, + UINT stencil_ref); + + void (STDMETHODCALLTYPE *SetPipelineState)( + ID3D12GraphicsCommandList5 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *ResourceBarrier)( + ID3D12GraphicsCommandList5 *This, + UINT barrier_count, + const D3D12_RESOURCE_BARRIER *barriers); + + void (STDMETHODCALLTYPE *ExecuteBundle)( + ID3D12GraphicsCommandList5 *This, + ID3D12GraphicsCommandList *command_list); + + void (STDMETHODCALLTYPE *SetDescriptorHeaps)( + ID3D12GraphicsCommandList5 *This, + UINT heap_count, + ID3D12DescriptorHeap *const *heaps); + + void (STDMETHODCALLTYPE *SetComputeRootSignature)( + ID3D12GraphicsCommandList5 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetGraphicsRootSignature)( + ID3D12GraphicsCommandList5 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)( + ID3D12GraphicsCommandList5 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *IASetIndexBuffer)( + ID3D12GraphicsCommandList5 *This, + const D3D12_INDEX_BUFFER_VIEW *view); + + void (STDMETHODCALLTYPE *IASetVertexBuffers)( + ID3D12GraphicsCommandList5 *This, + UINT start_slot, + UINT view_count, + const D3D12_VERTEX_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *SOSetTargets)( + ID3D12GraphicsCommandList5 *This, + UINT start_slot, + UINT view_count, + const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *OMSetRenderTargets)( + ID3D12GraphicsCommandList5 *This, + UINT render_target_descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors, + WINBOOL single_descriptor_handle, + const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor); + + void (STDMETHODCALLTYPE *ClearDepthStencilView)( + ID3D12GraphicsCommandList5 *This, + D3D12_CPU_DESCRIPTOR_HANDLE dsv, + D3D12_CLEAR_FLAGS flags, + FLOAT depth, + UINT8 stencil, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearRenderTargetView)( + ID3D12GraphicsCommandList5 *This, + D3D12_CPU_DESCRIPTOR_HANDLE rtv, + const FLOAT color[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)( + ID3D12GraphicsCommandList5 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const UINT values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)( + ID3D12GraphicsCommandList5 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const float values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *DiscardResource)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *resource, + const D3D12_DISCARD_REGION *region); + + void (STDMETHODCALLTYPE *BeginQuery)( + ID3D12GraphicsCommandList5 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *EndQuery)( + ID3D12GraphicsCommandList5 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *ResolveQueryData)( + ID3D12GraphicsCommandList5 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT start_index, + UINT query_count, + ID3D12Resource *dst_buffer, + UINT64 aligned_dst_buffer_offset); + + void (STDMETHODCALLTYPE *SetPredication)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *buffer, + UINT64 aligned_buffer_offset, + D3D12_PREDICATION_OP operation); + + void (STDMETHODCALLTYPE *SetMarker)( + ID3D12GraphicsCommandList5 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *BeginEvent)( + ID3D12GraphicsCommandList5 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *EndEvent)( + ID3D12GraphicsCommandList5 *This); + + void (STDMETHODCALLTYPE *ExecuteIndirect)( + ID3D12GraphicsCommandList5 *This, + ID3D12CommandSignature *command_signature, + UINT max_command_count, + ID3D12Resource *arg_buffer, + UINT64 arg_buffer_offset, + ID3D12Resource *count_buffer, + UINT64 count_buffer_offset); + + /*** ID3D12GraphicsCommandList1 methods ***/ + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *OMSetDepthBounds)( + ID3D12GraphicsCommandList5 *This, + FLOAT min, + FLOAT max); + + void (STDMETHODCALLTYPE *SetSamplePositions)( + ID3D12GraphicsCommandList5 *This, + UINT sample_count, + UINT pixel_count, + D3D12_SAMPLE_POSITION *sample_positions); + + void (STDMETHODCALLTYPE *ResolveSubresourceRegion)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource_idx, + UINT dst_x, + UINT dst_y, + ID3D12Resource *src_resource, + UINT src_sub_resource_idx, + D3D12_RECT *src_rect, + DXGI_FORMAT format, + D3D12_RESOLVE_MODE mode); + + void (STDMETHODCALLTYPE *SetViewInstanceMask)( + ID3D12GraphicsCommandList5 *This, + UINT mask); + + /*** ID3D12GraphicsCommandList2 methods ***/ + void (STDMETHODCALLTYPE *WriteBufferImmediate)( + ID3D12GraphicsCommandList5 *This, + UINT count, + const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters, + const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes); + + /*** ID3D12GraphicsCommandList3 methods ***/ + void (STDMETHODCALLTYPE *SetProtectedResourceSession)( + ID3D12GraphicsCommandList5 *This, + ID3D12ProtectedResourceSession *protected_resource_session); + + /*** ID3D12GraphicsCommandList4 methods ***/ + void (STDMETHODCALLTYPE *BeginRenderPass)( + ID3D12GraphicsCommandList5 *This, + UINT render_targets_count, + const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets, + const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil, + D3D12_RENDER_PASS_FLAGS flags); + + void (STDMETHODCALLTYPE *EndRenderPass)( + ID3D12GraphicsCommandList5 *This); + + void (STDMETHODCALLTYPE *InitializeMetaCommand)( + ID3D12GraphicsCommandList5 *This, + ID3D12MetaCommand *meta_command, + const void *initialization_parameters_data, + SIZE_T initialization_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *ExecuteMetaCommand)( + ID3D12GraphicsCommandList5 *This, + ID3D12MetaCommand *meta_command, + const void *execution_parameters_data, + SIZE_T execution_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList5 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc, + UINT postbuild_info_descs_count, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs); + + void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)( + ID3D12GraphicsCommandList5 *This, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc, + UINT src_acceleration_structures_count, + const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data); + + void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList5 *This, + D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data, + D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode); + + void (STDMETHODCALLTYPE *SetPipelineState1)( + ID3D12GraphicsCommandList5 *This, + ID3D12StateObject *state_object); + + void (STDMETHODCALLTYPE *DispatchRays)( + ID3D12GraphicsCommandList5 *This, + const D3D12_DISPATCH_RAYS_DESC *desc); + + /*** ID3D12GraphicsCommandList5 methods ***/ + void (STDMETHODCALLTYPE *RSSetShadingRate)( + ID3D12GraphicsCommandList5 *This, + D3D12_SHADING_RATE base_shading_rate, + const D3D12_SHADING_RATE_COMBINER *combiners); + + void (STDMETHODCALLTYPE *RSSetShadingRateImage)( + ID3D12GraphicsCommandList5 *This, + ID3D12Resource *shading_rate_image); + + END_INTERFACE +} ID3D12GraphicsCommandList5Vtbl; + +interface ID3D12GraphicsCommandList5 { + CONST_VTBL ID3D12GraphicsCommandList5Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12GraphicsCommandList5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12GraphicsCommandList5_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12GraphicsCommandList5_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12GraphicsCommandList5_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12CommandList methods ***/ +#define ID3D12GraphicsCommandList5_GetType(This) (This)->lpVtbl->GetType(This) +/*** ID3D12GraphicsCommandList methods ***/ +#define ID3D12GraphicsCommandList5_Close(This) (This)->lpVtbl->Close(This) +#define ID3D12GraphicsCommandList5_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state) +#define ID3D12GraphicsCommandList5_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state) +#define ID3D12GraphicsCommandList5_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList5_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z) +#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) +#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) +#define ID3D12GraphicsCommandList5_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource) +#define ID3D12GraphicsCommandList5_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) +#define ID3D12GraphicsCommandList5_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) +#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology) +#define ID3D12GraphicsCommandList5_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports) +#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects) +#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor) +#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref) +#define ID3D12GraphicsCommandList5_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state) +#define ID3D12GraphicsCommandList5_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers) +#define ID3D12GraphicsCommandList5_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list) +#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps) +#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view) +#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList5_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) +#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) +#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects) +#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList5_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region) +#define ID3D12GraphicsCommandList5_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList5_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList5_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) +#define ID3D12GraphicsCommandList5_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation) +#define ID3D12GraphicsCommandList5_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size) +#define ID3D12GraphicsCommandList5_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size) +#define ID3D12GraphicsCommandList5_EndEvent(This) (This)->lpVtbl->EndEvent(This) +#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) +/*** ID3D12GraphicsCommandList1 methods ***/ +#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max) +#define ID3D12GraphicsCommandList5_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions) +#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) +#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask) +/*** ID3D12GraphicsCommandList2 methods ***/ +#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes) +/*** ID3D12GraphicsCommandList3 methods ***/ +#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session) +/*** ID3D12GraphicsCommandList4 methods ***/ +#define ID3D12GraphicsCommandList5_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) +#define ID3D12GraphicsCommandList5_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This) +#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) +#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) +#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) +#define ID3D12GraphicsCommandList5_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object) +#define ID3D12GraphicsCommandList5_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc) +/*** ID3D12GraphicsCommandList5 methods ***/ +#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,base_shading_rate,combiners) (This)->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners) +#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shading_rate_image) (This)->lpVtbl->RSSetShadingRateImage(This,shading_rate_image) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_QueryInterface(ID3D12GraphicsCommandList5* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList5_AddRef(ID3D12GraphicsCommandList5* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList5_Release(ID3D12GraphicsCommandList5* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_GetPrivateData(ID3D12GraphicsCommandList5* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_SetPrivateData(ID3D12GraphicsCommandList5* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_SetPrivateDataInterface(ID3D12GraphicsCommandList5* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_SetName(ID3D12GraphicsCommandList5* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_GetDevice(ID3D12GraphicsCommandList5* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12CommandList methods ***/ +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList5_GetType(ID3D12GraphicsCommandList5* This) { + return This->lpVtbl->GetType(This); +} +/*** ID3D12GraphicsCommandList methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_Close(ID3D12GraphicsCommandList5* This) { + return This->lpVtbl->Close(This); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_Reset(ID3D12GraphicsCommandList5* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { + return This->lpVtbl->Reset(This,allocator,initial_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearState(ID3D12GraphicsCommandList5* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_DrawInstanced(ID3D12GraphicsCommandList5* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_DrawIndexedInstanced(ID3D12GraphicsCommandList5* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_Dispatch(ID3D12GraphicsCommandList5* This,UINT x,UINT u,UINT z) { + This->lpVtbl->Dispatch(This,x,u,z); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyBufferRegion(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { + This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyTextureRegion(ID3D12GraphicsCommandList5* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { + This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyResource(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { + This->lpVtbl->CopyResource(This,dst_resource,src_resource); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyTiles(ID3D12GraphicsCommandList5* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { + This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResolveSubresource(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { + This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_IASetPrimitiveTopology(ID3D12GraphicsCommandList5* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { + This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetViewports(ID3D12GraphicsCommandList5* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { + This->lpVtbl->RSSetViewports(This,viewport_count,viewports); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetScissorRects(ID3D12GraphicsCommandList5* This,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->RSSetScissorRects(This,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetBlendFactor(ID3D12GraphicsCommandList5* This,const FLOAT blend_factor[4]) { + This->lpVtbl->OMSetBlendFactor(This,blend_factor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetStencilRef(ID3D12GraphicsCommandList5* This,UINT stencil_ref) { + This->lpVtbl->OMSetStencilRef(This,stencil_ref); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetPipelineState(ID3D12GraphicsCommandList5* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->SetPipelineState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResourceBarrier(ID3D12GraphicsCommandList5* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { + This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ExecuteBundle(ID3D12GraphicsCommandList5* This,ID3D12GraphicsCommandList *command_list) { + This->lpVtbl->ExecuteBundle(This,command_list); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetDescriptorHeaps(ID3D12GraphicsCommandList5* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { + This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootSignature(ID3D12GraphicsCommandList5* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetComputeRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootSignature(ID3D12GraphicsCommandList5* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetGraphicsRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_IASetIndexBuffer(ID3D12GraphicsCommandList5* This,const D3D12_INDEX_BUFFER_VIEW *view) { + This->lpVtbl->IASetIndexBuffer(This,view); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_IASetVertexBuffers(ID3D12GraphicsCommandList5* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { + This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SOSetTargets(ID3D12GraphicsCommandList5* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { + This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetRenderTargets(ID3D12GraphicsCommandList5* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { + This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearDepthStencilView(ID3D12GraphicsCommandList5* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearRenderTargetView(ID3D12GraphicsCommandList5* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList5* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList5* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_DiscardResource(ID3D12GraphicsCommandList5* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { + This->lpVtbl->DiscardResource(This,resource,region); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_BeginQuery(ID3D12GraphicsCommandList5* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->BeginQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_EndQuery(ID3D12GraphicsCommandList5* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->EndQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResolveQueryData(ID3D12GraphicsCommandList5* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { + This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetPredication(ID3D12GraphicsCommandList5* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { + This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetMarker(ID3D12GraphicsCommandList5* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->SetMarker(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_BeginEvent(ID3D12GraphicsCommandList5* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->BeginEvent(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_EndEvent(ID3D12GraphicsCommandList5* This) { + This->lpVtbl->EndEvent(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ExecuteIndirect(ID3D12GraphicsCommandList5* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { + This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); +} +/*** ID3D12GraphicsCommandList1 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetDepthBounds(ID3D12GraphicsCommandList5* This,FLOAT min,FLOAT max) { + This->lpVtbl->OMSetDepthBounds(This,min,max); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetSamplePositions(ID3D12GraphicsCommandList5* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { + This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResolveSubresourceRegion(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { + This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetViewInstanceMask(ID3D12GraphicsCommandList5* This,UINT mask) { + This->lpVtbl->SetViewInstanceMask(This,mask); +} +/*** ID3D12GraphicsCommandList2 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList5_WriteBufferImmediate(ID3D12GraphicsCommandList5* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { + This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes); +} +/*** ID3D12GraphicsCommandList3 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetProtectedResourceSession(ID3D12GraphicsCommandList5* This,ID3D12ProtectedResourceSession *protected_resource_session) { + This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session); +} +/*** ID3D12GraphicsCommandList4 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList5_BeginRenderPass(ID3D12GraphicsCommandList5* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) { + This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_EndRenderPass(ID3D12GraphicsCommandList5* This) { + This->lpVtbl->EndRenderPass(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_InitializeMetaCommand(ID3D12GraphicsCommandList5* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) { + This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_ExecuteMetaCommand(ID3D12GraphicsCommandList5* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) { + This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList5* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) { + This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList5* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) { + This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList5* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) { + This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetPipelineState1(ID3D12GraphicsCommandList5* This,ID3D12StateObject *state_object) { + This->lpVtbl->SetPipelineState1(This,state_object); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_DispatchRays(ID3D12GraphicsCommandList5* This,const D3D12_DISPATCH_RAYS_DESC *desc) { + This->lpVtbl->DispatchRays(This,desc); +} +/*** ID3D12GraphicsCommandList5 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetShadingRate(ID3D12GraphicsCommandList5* This,D3D12_SHADING_RATE base_shading_rate,const D3D12_SHADING_RATE_COMBINER *combiners) { + This->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetShadingRateImage(ID3D12GraphicsCommandList5* This,ID3D12Resource *shading_rate_image) { + This->lpVtbl->RSSetShadingRateImage(This,shading_rate_image); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ */ + +#define D3D12_SHADING_RATE_X_AXIS_SHIFT (2) + +#define D3D12_SHADING_RATE_VALID_MASK (3) + +#define D3D12_MAKE_COARSE_SHADING_RATE(x, y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y)) +#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(val) (((val) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK) +#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(val) ((val) & D3D12_SHADING_RATE_VALID_MASK) +typedef struct D3D12_DISPATCH_MESH_ARGUMENTS { + UINT ThreadGroupCountX; + UINT ThreadGroupCountY; + UINT ThreadGroupCountZ; +} D3D12_DISPATCH_MESH_ARGUMENTS; +/***************************************************************************** + * ID3D12GraphicsCommandList6 interface + */ +#ifndef __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ +#define __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12GraphicsCommandList6, 0xc3827890, 0xe548, 0x4cfa, 0x96,0xcf, 0x56,0x89,0xa9,0x37,0x0f,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c3827890-e548-4cfa-96cf-5689a9370f80") +ID3D12GraphicsCommandList6 : public ID3D12GraphicsCommandList5 +{ + virtual void STDMETHODCALLTYPE DispatchMesh( + UINT thread_group_count_x, + UINT thread_group_count_y, + UINT thread_group_count_z) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12GraphicsCommandList6, 0xc3827890, 0xe548, 0x4cfa, 0x96,0xcf, 0x56,0x89,0xa9,0x37,0x0f,0x80) +#endif +#else +typedef struct ID3D12GraphicsCommandList6Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12GraphicsCommandList6 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12GraphicsCommandList6 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12GraphicsCommandList6 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12GraphicsCommandList6 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12GraphicsCommandList6 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12GraphicsCommandList6 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12GraphicsCommandList6 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12GraphicsCommandList6 *This, + REFIID riid, + void **device); + + /*** ID3D12CommandList methods ***/ + D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)( + ID3D12GraphicsCommandList6 *This); + + /*** ID3D12GraphicsCommandList methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + ID3D12GraphicsCommandList6 *This); + + HRESULT (STDMETHODCALLTYPE *Reset)( + ID3D12GraphicsCommandList6 *This, + ID3D12CommandAllocator *allocator, + ID3D12PipelineState *initial_state); + + void (STDMETHODCALLTYPE *ClearState)( + ID3D12GraphicsCommandList6 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *DrawInstanced)( + ID3D12GraphicsCommandList6 *This, + UINT vertex_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *DrawIndexedInstanced)( + ID3D12GraphicsCommandList6 *This, + UINT index_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + INT base_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *Dispatch)( + ID3D12GraphicsCommandList6 *This, + UINT x, + UINT u, + UINT z); + + void (STDMETHODCALLTYPE *CopyBufferRegion)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT64 byte_count); + + void (STDMETHODCALLTYPE *CopyTextureRegion)( + ID3D12GraphicsCommandList6 *This, + const D3D12_TEXTURE_COPY_LOCATION *dst, + UINT dst_x, + UINT dst_y, + UINT dst_z, + const D3D12_TEXTURE_COPY_LOCATION *src, + const D3D12_BOX *src_box); + + void (STDMETHODCALLTYPE *CopyResource)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *dst_resource, + ID3D12Resource *src_resource); + + void (STDMETHODCALLTYPE *CopyTiles)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *tiled_resource, + const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate, + const D3D12_TILE_REGION_SIZE *tile_region_size, + ID3D12Resource *buffer, + UINT64 buffer_offset, + D3D12_TILE_COPY_FLAGS flags); + + void (STDMETHODCALLTYPE *ResolveSubresource)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource, + ID3D12Resource *src_resource, + UINT src_sub_resource, + DXGI_FORMAT format); + + void (STDMETHODCALLTYPE *IASetPrimitiveTopology)( + ID3D12GraphicsCommandList6 *This, + D3D12_PRIMITIVE_TOPOLOGY primitive_topology); + + void (STDMETHODCALLTYPE *RSSetViewports)( + ID3D12GraphicsCommandList6 *This, + UINT viewport_count, + const D3D12_VIEWPORT *viewports); + + void (STDMETHODCALLTYPE *RSSetScissorRects)( + ID3D12GraphicsCommandList6 *This, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *OMSetBlendFactor)( + ID3D12GraphicsCommandList6 *This, + const FLOAT blend_factor[4]); + + void (STDMETHODCALLTYPE *OMSetStencilRef)( + ID3D12GraphicsCommandList6 *This, + UINT stencil_ref); + + void (STDMETHODCALLTYPE *SetPipelineState)( + ID3D12GraphicsCommandList6 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *ResourceBarrier)( + ID3D12GraphicsCommandList6 *This, + UINT barrier_count, + const D3D12_RESOURCE_BARRIER *barriers); + + void (STDMETHODCALLTYPE *ExecuteBundle)( + ID3D12GraphicsCommandList6 *This, + ID3D12GraphicsCommandList *command_list); + + void (STDMETHODCALLTYPE *SetDescriptorHeaps)( + ID3D12GraphicsCommandList6 *This, + UINT heap_count, + ID3D12DescriptorHeap *const *heaps); + + void (STDMETHODCALLTYPE *SetComputeRootSignature)( + ID3D12GraphicsCommandList6 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetGraphicsRootSignature)( + ID3D12GraphicsCommandList6 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)( + ID3D12GraphicsCommandList6 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *IASetIndexBuffer)( + ID3D12GraphicsCommandList6 *This, + const D3D12_INDEX_BUFFER_VIEW *view); + + void (STDMETHODCALLTYPE *IASetVertexBuffers)( + ID3D12GraphicsCommandList6 *This, + UINT start_slot, + UINT view_count, + const D3D12_VERTEX_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *SOSetTargets)( + ID3D12GraphicsCommandList6 *This, + UINT start_slot, + UINT view_count, + const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *OMSetRenderTargets)( + ID3D12GraphicsCommandList6 *This, + UINT render_target_descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors, + WINBOOL single_descriptor_handle, + const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor); + + void (STDMETHODCALLTYPE *ClearDepthStencilView)( + ID3D12GraphicsCommandList6 *This, + D3D12_CPU_DESCRIPTOR_HANDLE dsv, + D3D12_CLEAR_FLAGS flags, + FLOAT depth, + UINT8 stencil, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearRenderTargetView)( + ID3D12GraphicsCommandList6 *This, + D3D12_CPU_DESCRIPTOR_HANDLE rtv, + const FLOAT color[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)( + ID3D12GraphicsCommandList6 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const UINT values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)( + ID3D12GraphicsCommandList6 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const float values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *DiscardResource)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *resource, + const D3D12_DISCARD_REGION *region); + + void (STDMETHODCALLTYPE *BeginQuery)( + ID3D12GraphicsCommandList6 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *EndQuery)( + ID3D12GraphicsCommandList6 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *ResolveQueryData)( + ID3D12GraphicsCommandList6 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT start_index, + UINT query_count, + ID3D12Resource *dst_buffer, + UINT64 aligned_dst_buffer_offset); + + void (STDMETHODCALLTYPE *SetPredication)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *buffer, + UINT64 aligned_buffer_offset, + D3D12_PREDICATION_OP operation); + + void (STDMETHODCALLTYPE *SetMarker)( + ID3D12GraphicsCommandList6 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *BeginEvent)( + ID3D12GraphicsCommandList6 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *EndEvent)( + ID3D12GraphicsCommandList6 *This); + + void (STDMETHODCALLTYPE *ExecuteIndirect)( + ID3D12GraphicsCommandList6 *This, + ID3D12CommandSignature *command_signature, + UINT max_command_count, + ID3D12Resource *arg_buffer, + UINT64 arg_buffer_offset, + ID3D12Resource *count_buffer, + UINT64 count_buffer_offset); + + /*** ID3D12GraphicsCommandList1 methods ***/ + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *OMSetDepthBounds)( + ID3D12GraphicsCommandList6 *This, + FLOAT min, + FLOAT max); + + void (STDMETHODCALLTYPE *SetSamplePositions)( + ID3D12GraphicsCommandList6 *This, + UINT sample_count, + UINT pixel_count, + D3D12_SAMPLE_POSITION *sample_positions); + + void (STDMETHODCALLTYPE *ResolveSubresourceRegion)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource_idx, + UINT dst_x, + UINT dst_y, + ID3D12Resource *src_resource, + UINT src_sub_resource_idx, + D3D12_RECT *src_rect, + DXGI_FORMAT format, + D3D12_RESOLVE_MODE mode); + + void (STDMETHODCALLTYPE *SetViewInstanceMask)( + ID3D12GraphicsCommandList6 *This, + UINT mask); + + /*** ID3D12GraphicsCommandList2 methods ***/ + void (STDMETHODCALLTYPE *WriteBufferImmediate)( + ID3D12GraphicsCommandList6 *This, + UINT count, + const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters, + const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes); + + /*** ID3D12GraphicsCommandList3 methods ***/ + void (STDMETHODCALLTYPE *SetProtectedResourceSession)( + ID3D12GraphicsCommandList6 *This, + ID3D12ProtectedResourceSession *protected_resource_session); + + /*** ID3D12GraphicsCommandList4 methods ***/ + void (STDMETHODCALLTYPE *BeginRenderPass)( + ID3D12GraphicsCommandList6 *This, + UINT render_targets_count, + const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets, + const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil, + D3D12_RENDER_PASS_FLAGS flags); + + void (STDMETHODCALLTYPE *EndRenderPass)( + ID3D12GraphicsCommandList6 *This); + + void (STDMETHODCALLTYPE *InitializeMetaCommand)( + ID3D12GraphicsCommandList6 *This, + ID3D12MetaCommand *meta_command, + const void *initialization_parameters_data, + SIZE_T initialization_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *ExecuteMetaCommand)( + ID3D12GraphicsCommandList6 *This, + ID3D12MetaCommand *meta_command, + const void *execution_parameters_data, + SIZE_T execution_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList6 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc, + UINT postbuild_info_descs_count, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs); + + void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)( + ID3D12GraphicsCommandList6 *This, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc, + UINT src_acceleration_structures_count, + const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data); + + void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList6 *This, + D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data, + D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode); + + void (STDMETHODCALLTYPE *SetPipelineState1)( + ID3D12GraphicsCommandList6 *This, + ID3D12StateObject *state_object); + + void (STDMETHODCALLTYPE *DispatchRays)( + ID3D12GraphicsCommandList6 *This, + const D3D12_DISPATCH_RAYS_DESC *desc); + + /*** ID3D12GraphicsCommandList5 methods ***/ + void (STDMETHODCALLTYPE *RSSetShadingRate)( + ID3D12GraphicsCommandList6 *This, + D3D12_SHADING_RATE base_shading_rate, + const D3D12_SHADING_RATE_COMBINER *combiners); + + void (STDMETHODCALLTYPE *RSSetShadingRateImage)( + ID3D12GraphicsCommandList6 *This, + ID3D12Resource *shading_rate_image); + + /*** ID3D12GraphicsCommandList6 methods ***/ + void (STDMETHODCALLTYPE *DispatchMesh)( + ID3D12GraphicsCommandList6 *This, + UINT thread_group_count_x, + UINT thread_group_count_y, + UINT thread_group_count_z); + + END_INTERFACE +} ID3D12GraphicsCommandList6Vtbl; + +interface ID3D12GraphicsCommandList6 { + CONST_VTBL ID3D12GraphicsCommandList6Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12GraphicsCommandList6_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12GraphicsCommandList6_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12GraphicsCommandList6_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12GraphicsCommandList6_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12CommandList methods ***/ +#define ID3D12GraphicsCommandList6_GetType(This) (This)->lpVtbl->GetType(This) +/*** ID3D12GraphicsCommandList methods ***/ +#define ID3D12GraphicsCommandList6_Close(This) (This)->lpVtbl->Close(This) +#define ID3D12GraphicsCommandList6_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state) +#define ID3D12GraphicsCommandList6_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state) +#define ID3D12GraphicsCommandList6_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList6_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z) +#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) +#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) +#define ID3D12GraphicsCommandList6_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource) +#define ID3D12GraphicsCommandList6_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) +#define ID3D12GraphicsCommandList6_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) +#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology) +#define ID3D12GraphicsCommandList6_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports) +#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects) +#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor) +#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref) +#define ID3D12GraphicsCommandList6_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state) +#define ID3D12GraphicsCommandList6_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers) +#define ID3D12GraphicsCommandList6_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list) +#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps) +#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view) +#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList6_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) +#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) +#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects) +#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList6_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region) +#define ID3D12GraphicsCommandList6_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList6_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList6_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) +#define ID3D12GraphicsCommandList6_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation) +#define ID3D12GraphicsCommandList6_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size) +#define ID3D12GraphicsCommandList6_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size) +#define ID3D12GraphicsCommandList6_EndEvent(This) (This)->lpVtbl->EndEvent(This) +#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) +/*** ID3D12GraphicsCommandList1 methods ***/ +#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max) +#define ID3D12GraphicsCommandList6_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions) +#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) +#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask) +/*** ID3D12GraphicsCommandList2 methods ***/ +#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes) +/*** ID3D12GraphicsCommandList3 methods ***/ +#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session) +/*** ID3D12GraphicsCommandList4 methods ***/ +#define ID3D12GraphicsCommandList6_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) +#define ID3D12GraphicsCommandList6_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This) +#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) +#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) +#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) +#define ID3D12GraphicsCommandList6_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object) +#define ID3D12GraphicsCommandList6_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc) +/*** ID3D12GraphicsCommandList5 methods ***/ +#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,base_shading_rate,combiners) (This)->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners) +#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shading_rate_image) (This)->lpVtbl->RSSetShadingRateImage(This,shading_rate_image) +/*** ID3D12GraphicsCommandList6 methods ***/ +#define ID3D12GraphicsCommandList6_DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z) (This)->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_QueryInterface(ID3D12GraphicsCommandList6* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList6_AddRef(ID3D12GraphicsCommandList6* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList6_Release(ID3D12GraphicsCommandList6* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_GetPrivateData(ID3D12GraphicsCommandList6* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_SetPrivateData(ID3D12GraphicsCommandList6* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_SetPrivateDataInterface(ID3D12GraphicsCommandList6* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_SetName(ID3D12GraphicsCommandList6* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_GetDevice(ID3D12GraphicsCommandList6* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12CommandList methods ***/ +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList6_GetType(ID3D12GraphicsCommandList6* This) { + return This->lpVtbl->GetType(This); +} +/*** ID3D12GraphicsCommandList methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_Close(ID3D12GraphicsCommandList6* This) { + return This->lpVtbl->Close(This); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_Reset(ID3D12GraphicsCommandList6* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { + return This->lpVtbl->Reset(This,allocator,initial_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearState(ID3D12GraphicsCommandList6* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_DrawInstanced(ID3D12GraphicsCommandList6* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_DrawIndexedInstanced(ID3D12GraphicsCommandList6* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_Dispatch(ID3D12GraphicsCommandList6* This,UINT x,UINT u,UINT z) { + This->lpVtbl->Dispatch(This,x,u,z); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyBufferRegion(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { + This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyTextureRegion(ID3D12GraphicsCommandList6* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { + This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyResource(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { + This->lpVtbl->CopyResource(This,dst_resource,src_resource); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyTiles(ID3D12GraphicsCommandList6* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { + This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResolveSubresource(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { + This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_IASetPrimitiveTopology(ID3D12GraphicsCommandList6* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { + This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetViewports(ID3D12GraphicsCommandList6* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { + This->lpVtbl->RSSetViewports(This,viewport_count,viewports); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetScissorRects(ID3D12GraphicsCommandList6* This,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->RSSetScissorRects(This,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetBlendFactor(ID3D12GraphicsCommandList6* This,const FLOAT blend_factor[4]) { + This->lpVtbl->OMSetBlendFactor(This,blend_factor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetStencilRef(ID3D12GraphicsCommandList6* This,UINT stencil_ref) { + This->lpVtbl->OMSetStencilRef(This,stencil_ref); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetPipelineState(ID3D12GraphicsCommandList6* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->SetPipelineState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResourceBarrier(ID3D12GraphicsCommandList6* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { + This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ExecuteBundle(ID3D12GraphicsCommandList6* This,ID3D12GraphicsCommandList *command_list) { + This->lpVtbl->ExecuteBundle(This,command_list); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetDescriptorHeaps(ID3D12GraphicsCommandList6* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { + This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootSignature(ID3D12GraphicsCommandList6* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetComputeRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootSignature(ID3D12GraphicsCommandList6* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetGraphicsRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_IASetIndexBuffer(ID3D12GraphicsCommandList6* This,const D3D12_INDEX_BUFFER_VIEW *view) { + This->lpVtbl->IASetIndexBuffer(This,view); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_IASetVertexBuffers(ID3D12GraphicsCommandList6* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { + This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SOSetTargets(ID3D12GraphicsCommandList6* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { + This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetRenderTargets(ID3D12GraphicsCommandList6* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { + This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearDepthStencilView(ID3D12GraphicsCommandList6* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearRenderTargetView(ID3D12GraphicsCommandList6* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList6* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList6* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_DiscardResource(ID3D12GraphicsCommandList6* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { + This->lpVtbl->DiscardResource(This,resource,region); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_BeginQuery(ID3D12GraphicsCommandList6* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->BeginQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_EndQuery(ID3D12GraphicsCommandList6* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->EndQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResolveQueryData(ID3D12GraphicsCommandList6* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { + This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetPredication(ID3D12GraphicsCommandList6* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { + This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetMarker(ID3D12GraphicsCommandList6* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->SetMarker(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_BeginEvent(ID3D12GraphicsCommandList6* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->BeginEvent(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_EndEvent(ID3D12GraphicsCommandList6* This) { + This->lpVtbl->EndEvent(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ExecuteIndirect(ID3D12GraphicsCommandList6* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { + This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); +} +/*** ID3D12GraphicsCommandList1 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetDepthBounds(ID3D12GraphicsCommandList6* This,FLOAT min,FLOAT max) { + This->lpVtbl->OMSetDepthBounds(This,min,max); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetSamplePositions(ID3D12GraphicsCommandList6* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { + This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResolveSubresourceRegion(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { + This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetViewInstanceMask(ID3D12GraphicsCommandList6* This,UINT mask) { + This->lpVtbl->SetViewInstanceMask(This,mask); +} +/*** ID3D12GraphicsCommandList2 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList6_WriteBufferImmediate(ID3D12GraphicsCommandList6* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { + This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes); +} +/*** ID3D12GraphicsCommandList3 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetProtectedResourceSession(ID3D12GraphicsCommandList6* This,ID3D12ProtectedResourceSession *protected_resource_session) { + This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session); +} +/*** ID3D12GraphicsCommandList4 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList6_BeginRenderPass(ID3D12GraphicsCommandList6* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) { + This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_EndRenderPass(ID3D12GraphicsCommandList6* This) { + This->lpVtbl->EndRenderPass(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_InitializeMetaCommand(ID3D12GraphicsCommandList6* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) { + This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_ExecuteMetaCommand(ID3D12GraphicsCommandList6* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) { + This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList6* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) { + This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList6* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) { + This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList6* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) { + This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetPipelineState1(ID3D12GraphicsCommandList6* This,ID3D12StateObject *state_object) { + This->lpVtbl->SetPipelineState1(This,state_object); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_DispatchRays(ID3D12GraphicsCommandList6* This,const D3D12_DISPATCH_RAYS_DESC *desc) { + This->lpVtbl->DispatchRays(This,desc); +} +/*** ID3D12GraphicsCommandList5 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetShadingRate(ID3D12GraphicsCommandList6* This,D3D12_SHADING_RATE base_shading_rate,const D3D12_SHADING_RATE_COMBINER *combiners) { + This->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetShadingRateImage(ID3D12GraphicsCommandList6* This,ID3D12Resource *shading_rate_image) { + This->lpVtbl->RSSetShadingRateImage(This,shading_rate_image); +} +/*** ID3D12GraphicsCommandList6 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList6_DispatchMesh(ID3D12GraphicsCommandList6* This,UINT thread_group_count_x,UINT thread_group_count_y,UINT thread_group_count_z) { + This->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ID3D12GraphicsCommandList7 interface + */ +#ifndef __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ +#define __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ID3D12GraphicsCommandList7, 0xdd171223, 0x8b61, 0x4769, 0x90,0xe3, 0x16,0x0c,0xcd,0xe4,0xe2,0xc1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dd171223-8b61-4769-90e3-160ccde4e2c1") +ID3D12GraphicsCommandList7 : public ID3D12GraphicsCommandList6 +{ + virtual void STDMETHODCALLTYPE Barrier( + UINT32 barrier_groups_count, + const D3D12_BARRIER_GROUP *barrier_groups) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12GraphicsCommandList7, 0xdd171223, 0x8b61, 0x4769, 0x90,0xe3, 0x16,0x0c,0xcd,0xe4,0xe2,0xc1) +#endif +#else +typedef struct ID3D12GraphicsCommandList7Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12GraphicsCommandList7 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12GraphicsCommandList7 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12GraphicsCommandList7 *This); + + /*** ID3D12Object methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPrivateData)( + ID3D12GraphicsCommandList7 *This, + REFGUID guid, + UINT *data_size, + void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateData)( + ID3D12GraphicsCommandList7 *This, + REFGUID guid, + UINT data_size, + const void *data); + + HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( + ID3D12GraphicsCommandList7 *This, + REFGUID guid, + const IUnknown *data); + + HRESULT (STDMETHODCALLTYPE *SetName)( + ID3D12GraphicsCommandList7 *This, + const WCHAR *name); + + /*** ID3D12DeviceChild methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDevice)( + ID3D12GraphicsCommandList7 *This, + REFIID riid, + void **device); + + /*** ID3D12CommandList methods ***/ + D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)( + ID3D12GraphicsCommandList7 *This); + + /*** ID3D12GraphicsCommandList methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + ID3D12GraphicsCommandList7 *This); + + HRESULT (STDMETHODCALLTYPE *Reset)( + ID3D12GraphicsCommandList7 *This, + ID3D12CommandAllocator *allocator, + ID3D12PipelineState *initial_state); + + void (STDMETHODCALLTYPE *ClearState)( + ID3D12GraphicsCommandList7 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *DrawInstanced)( + ID3D12GraphicsCommandList7 *This, + UINT vertex_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *DrawIndexedInstanced)( + ID3D12GraphicsCommandList7 *This, + UINT index_count_per_instance, + UINT instance_count, + UINT start_vertex_location, + INT base_vertex_location, + UINT start_instance_location); + + void (STDMETHODCALLTYPE *Dispatch)( + ID3D12GraphicsCommandList7 *This, + UINT x, + UINT u, + UINT z); + + void (STDMETHODCALLTYPE *CopyBufferRegion)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT64 byte_count); + + void (STDMETHODCALLTYPE *CopyTextureRegion)( + ID3D12GraphicsCommandList7 *This, + const D3D12_TEXTURE_COPY_LOCATION *dst, + UINT dst_x, + UINT dst_y, + UINT dst_z, + const D3D12_TEXTURE_COPY_LOCATION *src, + const D3D12_BOX *src_box); + + void (STDMETHODCALLTYPE *CopyResource)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *dst_resource, + ID3D12Resource *src_resource); + + void (STDMETHODCALLTYPE *CopyTiles)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *tiled_resource, + const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate, + const D3D12_TILE_REGION_SIZE *tile_region_size, + ID3D12Resource *buffer, + UINT64 buffer_offset, + D3D12_TILE_COPY_FLAGS flags); + + void (STDMETHODCALLTYPE *ResolveSubresource)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource, + ID3D12Resource *src_resource, + UINT src_sub_resource, + DXGI_FORMAT format); + + void (STDMETHODCALLTYPE *IASetPrimitiveTopology)( + ID3D12GraphicsCommandList7 *This, + D3D12_PRIMITIVE_TOPOLOGY primitive_topology); + + void (STDMETHODCALLTYPE *RSSetViewports)( + ID3D12GraphicsCommandList7 *This, + UINT viewport_count, + const D3D12_VIEWPORT *viewports); + + void (STDMETHODCALLTYPE *RSSetScissorRects)( + ID3D12GraphicsCommandList7 *This, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *OMSetBlendFactor)( + ID3D12GraphicsCommandList7 *This, + const FLOAT blend_factor[4]); + + void (STDMETHODCALLTYPE *OMSetStencilRef)( + ID3D12GraphicsCommandList7 *This, + UINT stencil_ref); + + void (STDMETHODCALLTYPE *SetPipelineState)( + ID3D12GraphicsCommandList7 *This, + ID3D12PipelineState *pipeline_state); + + void (STDMETHODCALLTYPE *ResourceBarrier)( + ID3D12GraphicsCommandList7 *This, + UINT barrier_count, + const D3D12_RESOURCE_BARRIER *barriers); + + void (STDMETHODCALLTYPE *ExecuteBundle)( + ID3D12GraphicsCommandList7 *This, + ID3D12GraphicsCommandList *command_list); + + void (STDMETHODCALLTYPE *SetDescriptorHeaps)( + ID3D12GraphicsCommandList7 *This, + UINT heap_count, + ID3D12DescriptorHeap *const *heaps); + + void (STDMETHODCALLTYPE *SetComputeRootSignature)( + ID3D12GraphicsCommandList7 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetGraphicsRootSignature)( + ID3D12GraphicsCommandList7 *This, + ID3D12RootSignature *root_signature); + + void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + UINT data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + UINT constant_count, + const void *data, + UINT dst_offset); + + void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)( + ID3D12GraphicsCommandList7 *This, + UINT root_parameter_index, + D3D12_GPU_VIRTUAL_ADDRESS address); + + void (STDMETHODCALLTYPE *IASetIndexBuffer)( + ID3D12GraphicsCommandList7 *This, + const D3D12_INDEX_BUFFER_VIEW *view); + + void (STDMETHODCALLTYPE *IASetVertexBuffers)( + ID3D12GraphicsCommandList7 *This, + UINT start_slot, + UINT view_count, + const D3D12_VERTEX_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *SOSetTargets)( + ID3D12GraphicsCommandList7 *This, + UINT start_slot, + UINT view_count, + const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views); + + void (STDMETHODCALLTYPE *OMSetRenderTargets)( + ID3D12GraphicsCommandList7 *This, + UINT render_target_descriptor_count, + const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors, + WINBOOL single_descriptor_handle, + const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor); + + void (STDMETHODCALLTYPE *ClearDepthStencilView)( + ID3D12GraphicsCommandList7 *This, + D3D12_CPU_DESCRIPTOR_HANDLE dsv, + D3D12_CLEAR_FLAGS flags, + FLOAT depth, + UINT8 stencil, + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearRenderTargetView)( + ID3D12GraphicsCommandList7 *This, + D3D12_CPU_DESCRIPTOR_HANDLE rtv, + const FLOAT color[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)( + ID3D12GraphicsCommandList7 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const UINT values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)( + ID3D12GraphicsCommandList7 *This, + D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, + D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, + ID3D12Resource *resource, + const float values[4], + UINT rect_count, + const D3D12_RECT *rects); + + void (STDMETHODCALLTYPE *DiscardResource)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *resource, + const D3D12_DISCARD_REGION *region); + + void (STDMETHODCALLTYPE *BeginQuery)( + ID3D12GraphicsCommandList7 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *EndQuery)( + ID3D12GraphicsCommandList7 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT index); + + void (STDMETHODCALLTYPE *ResolveQueryData)( + ID3D12GraphicsCommandList7 *This, + ID3D12QueryHeap *heap, + D3D12_QUERY_TYPE type, + UINT start_index, + UINT query_count, + ID3D12Resource *dst_buffer, + UINT64 aligned_dst_buffer_offset); + + void (STDMETHODCALLTYPE *SetPredication)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *buffer, + UINT64 aligned_buffer_offset, + D3D12_PREDICATION_OP operation); + + void (STDMETHODCALLTYPE *SetMarker)( + ID3D12GraphicsCommandList7 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *BeginEvent)( + ID3D12GraphicsCommandList7 *This, + UINT metadata, + const void *data, + UINT size); + + void (STDMETHODCALLTYPE *EndEvent)( + ID3D12GraphicsCommandList7 *This); + + void (STDMETHODCALLTYPE *ExecuteIndirect)( + ID3D12GraphicsCommandList7 *This, + ID3D12CommandSignature *command_signature, + UINT max_command_count, + ID3D12Resource *arg_buffer, + UINT64 arg_buffer_offset, + ID3D12Resource *count_buffer, + UINT64 count_buffer_offset); + + /*** ID3D12GraphicsCommandList1 methods ***/ + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *dst_buffer, + UINT64 dst_offset, + ID3D12Resource *src_buffer, + UINT64 src_offset, + UINT dependent_resource_count, + ID3D12Resource *const *dependent_resources, + const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); + + void (STDMETHODCALLTYPE *OMSetDepthBounds)( + ID3D12GraphicsCommandList7 *This, + FLOAT min, + FLOAT max); + + void (STDMETHODCALLTYPE *SetSamplePositions)( + ID3D12GraphicsCommandList7 *This, + UINT sample_count, + UINT pixel_count, + D3D12_SAMPLE_POSITION *sample_positions); + + void (STDMETHODCALLTYPE *ResolveSubresourceRegion)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *dst_resource, + UINT dst_sub_resource_idx, + UINT dst_x, + UINT dst_y, + ID3D12Resource *src_resource, + UINT src_sub_resource_idx, + D3D12_RECT *src_rect, + DXGI_FORMAT format, + D3D12_RESOLVE_MODE mode); + + void (STDMETHODCALLTYPE *SetViewInstanceMask)( + ID3D12GraphicsCommandList7 *This, + UINT mask); + + /*** ID3D12GraphicsCommandList2 methods ***/ + void (STDMETHODCALLTYPE *WriteBufferImmediate)( + ID3D12GraphicsCommandList7 *This, + UINT count, + const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters, + const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes); + + /*** ID3D12GraphicsCommandList3 methods ***/ + void (STDMETHODCALLTYPE *SetProtectedResourceSession)( + ID3D12GraphicsCommandList7 *This, + ID3D12ProtectedResourceSession *protected_resource_session); + + /*** ID3D12GraphicsCommandList4 methods ***/ + void (STDMETHODCALLTYPE *BeginRenderPass)( + ID3D12GraphicsCommandList7 *This, + UINT render_targets_count, + const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets, + const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil, + D3D12_RENDER_PASS_FLAGS flags); + + void (STDMETHODCALLTYPE *EndRenderPass)( + ID3D12GraphicsCommandList7 *This); + + void (STDMETHODCALLTYPE *InitializeMetaCommand)( + ID3D12GraphicsCommandList7 *This, + ID3D12MetaCommand *meta_command, + const void *initialization_parameters_data, + SIZE_T initialization_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *ExecuteMetaCommand)( + ID3D12GraphicsCommandList7 *This, + ID3D12MetaCommand *meta_command, + const void *execution_parameters_data, + SIZE_T execution_parameters_data_size_in_bytes); + + void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList7 *This, + const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc, + UINT postbuild_info_descs_count, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs); + + void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)( + ID3D12GraphicsCommandList7 *This, + const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc, + UINT src_acceleration_structures_count, + const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data); + + void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)( + ID3D12GraphicsCommandList7 *This, + D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data, + D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode); + + void (STDMETHODCALLTYPE *SetPipelineState1)( + ID3D12GraphicsCommandList7 *This, + ID3D12StateObject *state_object); + + void (STDMETHODCALLTYPE *DispatchRays)( + ID3D12GraphicsCommandList7 *This, + const D3D12_DISPATCH_RAYS_DESC *desc); + + /*** ID3D12GraphicsCommandList5 methods ***/ + void (STDMETHODCALLTYPE *RSSetShadingRate)( + ID3D12GraphicsCommandList7 *This, + D3D12_SHADING_RATE base_shading_rate, + const D3D12_SHADING_RATE_COMBINER *combiners); + + void (STDMETHODCALLTYPE *RSSetShadingRateImage)( + ID3D12GraphicsCommandList7 *This, + ID3D12Resource *shading_rate_image); + + /*** ID3D12GraphicsCommandList6 methods ***/ + void (STDMETHODCALLTYPE *DispatchMesh)( + ID3D12GraphicsCommandList7 *This, + UINT thread_group_count_x, + UINT thread_group_count_y, + UINT thread_group_count_z); + + /*** ID3D12GraphicsCommandList7 methods ***/ + void (STDMETHODCALLTYPE *Barrier)( + ID3D12GraphicsCommandList7 *This, + UINT32 barrier_groups_count, + const D3D12_BARRIER_GROUP *barrier_groups); + + END_INTERFACE +} ID3D12GraphicsCommandList7Vtbl; + +interface ID3D12GraphicsCommandList7 { + CONST_VTBL ID3D12GraphicsCommandList7Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12GraphicsCommandList7_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12GraphicsCommandList7_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Object methods ***/ +#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) +#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data) +#define ID3D12GraphicsCommandList7_SetName(This,name) (This)->lpVtbl->SetName(This,name) +/*** ID3D12DeviceChild methods ***/ +#define ID3D12GraphicsCommandList7_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) +/*** ID3D12CommandList methods ***/ +#define ID3D12GraphicsCommandList7_GetType(This) (This)->lpVtbl->GetType(This) +/*** ID3D12GraphicsCommandList methods ***/ +#define ID3D12GraphicsCommandList7_Close(This) (This)->lpVtbl->Close(This) +#define ID3D12GraphicsCommandList7_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state) +#define ID3D12GraphicsCommandList7_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state) +#define ID3D12GraphicsCommandList7_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) +#define ID3D12GraphicsCommandList7_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z) +#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) +#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) +#define ID3D12GraphicsCommandList7_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource) +#define ID3D12GraphicsCommandList7_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) +#define ID3D12GraphicsCommandList7_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) +#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology) +#define ID3D12GraphicsCommandList7_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports) +#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects) +#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor) +#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref) +#define ID3D12GraphicsCommandList7_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state) +#define ID3D12GraphicsCommandList7_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers) +#define ID3D12GraphicsCommandList7_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list) +#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps) +#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature) +#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) +#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) +#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) +#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) +#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view) +#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList7_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views) +#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) +#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) +#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects) +#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) +#define ID3D12GraphicsCommandList7_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region) +#define ID3D12GraphicsCommandList7_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList7_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index) +#define ID3D12GraphicsCommandList7_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) +#define ID3D12GraphicsCommandList7_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation) +#define ID3D12GraphicsCommandList7_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size) +#define ID3D12GraphicsCommandList7_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size) +#define ID3D12GraphicsCommandList7_EndEvent(This) (This)->lpVtbl->EndEvent(This) +#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) +/*** ID3D12GraphicsCommandList1 methods ***/ +#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) +#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max) +#define ID3D12GraphicsCommandList7_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions) +#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) +#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask) +/*** ID3D12GraphicsCommandList2 methods ***/ +#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes) +/*** ID3D12GraphicsCommandList3 methods ***/ +#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session) +/*** ID3D12GraphicsCommandList4 methods ***/ +#define ID3D12GraphicsCommandList7_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) +#define ID3D12GraphicsCommandList7_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This) +#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) +#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) +#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) +#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) +#define ID3D12GraphicsCommandList7_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object) +#define ID3D12GraphicsCommandList7_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc) +/*** ID3D12GraphicsCommandList5 methods ***/ +#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,base_shading_rate,combiners) (This)->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners) +#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shading_rate_image) (This)->lpVtbl->RSSetShadingRateImage(This,shading_rate_image) +/*** ID3D12GraphicsCommandList6 methods ***/ +#define ID3D12GraphicsCommandList7_DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z) (This)->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z) +/*** ID3D12GraphicsCommandList7 methods ***/ +#define ID3D12GraphicsCommandList7_Barrier(This,barrier_groups_count,barrier_groups) (This)->lpVtbl->Barrier(This,barrier_groups_count,barrier_groups) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_QueryInterface(ID3D12GraphicsCommandList7* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList7_AddRef(ID3D12GraphicsCommandList7* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12GraphicsCommandList7_Release(ID3D12GraphicsCommandList7* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Object methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_GetPrivateData(ID3D12GraphicsCommandList7* This,REFGUID guid,UINT *data_size,void *data) { + return This->lpVtbl->GetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_SetPrivateData(ID3D12GraphicsCommandList7* This,REFGUID guid,UINT data_size,const void *data) { + return This->lpVtbl->SetPrivateData(This,guid,data_size,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_SetPrivateDataInterface(ID3D12GraphicsCommandList7* This,REFGUID guid,const IUnknown *data) { + return This->lpVtbl->SetPrivateDataInterface(This,guid,data); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_SetName(ID3D12GraphicsCommandList7* This,const WCHAR *name) { + return This->lpVtbl->SetName(This,name); +} +/*** ID3D12DeviceChild methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_GetDevice(ID3D12GraphicsCommandList7* This,REFIID riid,void **device) { + return This->lpVtbl->GetDevice(This,riid,device); +} +/*** ID3D12CommandList methods ***/ +static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList7_GetType(ID3D12GraphicsCommandList7* This) { + return This->lpVtbl->GetType(This); +} +/*** ID3D12GraphicsCommandList methods ***/ +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_Close(ID3D12GraphicsCommandList7* This) { + return This->lpVtbl->Close(This); +} +static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_Reset(ID3D12GraphicsCommandList7* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) { + return This->lpVtbl->Reset(This,allocator,initial_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearState(ID3D12GraphicsCommandList7* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->ClearState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_DrawInstanced(ID3D12GraphicsCommandList7* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_DrawIndexedInstanced(ID3D12GraphicsCommandList7* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) { + This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_Dispatch(ID3D12GraphicsCommandList7* This,UINT x,UINT u,UINT z) { + This->lpVtbl->Dispatch(This,x,u,z); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyBufferRegion(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) { + This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyTextureRegion(ID3D12GraphicsCommandList7* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) { + This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyResource(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) { + This->lpVtbl->CopyResource(This,dst_resource,src_resource); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyTiles(ID3D12GraphicsCommandList7* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) { + This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResolveSubresource(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) { + This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_IASetPrimitiveTopology(ID3D12GraphicsCommandList7* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) { + This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetViewports(ID3D12GraphicsCommandList7* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) { + This->lpVtbl->RSSetViewports(This,viewport_count,viewports); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetScissorRects(ID3D12GraphicsCommandList7* This,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->RSSetScissorRects(This,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetBlendFactor(ID3D12GraphicsCommandList7* This,const FLOAT blend_factor[4]) { + This->lpVtbl->OMSetBlendFactor(This,blend_factor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetStencilRef(ID3D12GraphicsCommandList7* This,UINT stencil_ref) { + This->lpVtbl->OMSetStencilRef(This,stencil_ref); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetPipelineState(ID3D12GraphicsCommandList7* This,ID3D12PipelineState *pipeline_state) { + This->lpVtbl->SetPipelineState(This,pipeline_state); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResourceBarrier(ID3D12GraphicsCommandList7* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) { + This->lpVtbl->ResourceBarrier(This,barrier_count,barriers); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ExecuteBundle(ID3D12GraphicsCommandList7* This,ID3D12GraphicsCommandList *command_list) { + This->lpVtbl->ExecuteBundle(This,command_list); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetDescriptorHeaps(ID3D12GraphicsCommandList7* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) { + This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootSignature(ID3D12GraphicsCommandList7* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetComputeRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootSignature(ID3D12GraphicsCommandList7* This,ID3D12RootSignature *root_signature) { + This->lpVtbl->SetGraphicsRootSignature(This,root_signature); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) { + This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) { + This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) { + This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_IASetIndexBuffer(ID3D12GraphicsCommandList7* This,const D3D12_INDEX_BUFFER_VIEW *view) { + This->lpVtbl->IASetIndexBuffer(This,view); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_IASetVertexBuffers(ID3D12GraphicsCommandList7* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) { + This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SOSetTargets(ID3D12GraphicsCommandList7* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) { + This->lpVtbl->SOSetTargets(This,start_slot,view_count,views); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetRenderTargets(ID3D12GraphicsCommandList7* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) { + This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearDepthStencilView(ID3D12GraphicsCommandList7* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearRenderTargetView(ID3D12GraphicsCommandList7* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList7* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList7* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) { + This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_DiscardResource(ID3D12GraphicsCommandList7* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) { + This->lpVtbl->DiscardResource(This,resource,region); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_BeginQuery(ID3D12GraphicsCommandList7* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->BeginQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_EndQuery(ID3D12GraphicsCommandList7* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) { + This->lpVtbl->EndQuery(This,heap,type,index); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResolveQueryData(ID3D12GraphicsCommandList7* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) { + This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetPredication(ID3D12GraphicsCommandList7* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) { + This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetMarker(ID3D12GraphicsCommandList7* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->SetMarker(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_BeginEvent(ID3D12GraphicsCommandList7* This,UINT metadata,const void *data,UINT size) { + This->lpVtbl->BeginEvent(This,metadata,data,size); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_EndEvent(ID3D12GraphicsCommandList7* This) { + This->lpVtbl->EndEvent(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ExecuteIndirect(ID3D12GraphicsCommandList7* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) { + This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset); +} +/*** ID3D12GraphicsCommandList1 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) { + This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetDepthBounds(ID3D12GraphicsCommandList7* This,FLOAT min,FLOAT max) { + This->lpVtbl->OMSetDepthBounds(This,min,max); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetSamplePositions(ID3D12GraphicsCommandList7* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) { + This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResolveSubresourceRegion(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) { + This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetViewInstanceMask(ID3D12GraphicsCommandList7* This,UINT mask) { + This->lpVtbl->SetViewInstanceMask(This,mask); +} +/*** ID3D12GraphicsCommandList2 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_WriteBufferImmediate(ID3D12GraphicsCommandList7* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) { + This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes); +} +/*** ID3D12GraphicsCommandList3 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetProtectedResourceSession(ID3D12GraphicsCommandList7* This,ID3D12ProtectedResourceSession *protected_resource_session) { + This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session); +} +/*** ID3D12GraphicsCommandList4 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_BeginRenderPass(ID3D12GraphicsCommandList7* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) { + This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_EndRenderPass(ID3D12GraphicsCommandList7* This) { + This->lpVtbl->EndRenderPass(This); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_InitializeMetaCommand(ID3D12GraphicsCommandList7* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) { + This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_ExecuteMetaCommand(ID3D12GraphicsCommandList7* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) { + This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList7* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) { + This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList7* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) { + This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList7* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) { + This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetPipelineState1(ID3D12GraphicsCommandList7* This,ID3D12StateObject *state_object) { + This->lpVtbl->SetPipelineState1(This,state_object); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_DispatchRays(ID3D12GraphicsCommandList7* This,const D3D12_DISPATCH_RAYS_DESC *desc) { + This->lpVtbl->DispatchRays(This,desc); +} +/*** ID3D12GraphicsCommandList5 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetShadingRate(ID3D12GraphicsCommandList7* This,D3D12_SHADING_RATE base_shading_rate,const D3D12_SHADING_RATE_COMBINER *combiners) { + This->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners); +} +static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetShadingRateImage(ID3D12GraphicsCommandList7* This,ID3D12Resource *shading_rate_image) { + This->lpVtbl->RSSetShadingRateImage(This,shading_rate_image); +} +/*** ID3D12GraphicsCommandList6 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_DispatchMesh(ID3D12GraphicsCommandList7* This,UINT thread_group_count_x,UINT thread_group_count_y,UINT thread_group_count_z) { + This->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z); +} +/*** ID3D12GraphicsCommandList7 methods ***/ +static __WIDL_INLINE void ID3D12GraphicsCommandList7_Barrier(ID3D12GraphicsCommandList7* This,UINT32 barrier_groups_count,const D3D12_BARRIER_GROUP *barrier_groups) { + This->lpVtbl->Barrier(This,barrier_groups_count,barrier_groups); +} +#endif +#endif + +#endif + + +#endif /* __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ */ + +#ifndef D3D12_IGNORE_SDK_LAYERS +#include "d3d12sdklayers.h" +#endif +typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(const void *data,SIZE_T data_size,REFIID iid,void **deserializer); HRESULT __stdcall D3D12CreateRootSignatureDeserializer(const void *data,SIZE_T data_size,REFIID iid,void **deserializer); typedef HRESULT (__stdcall *PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(const void *data,SIZE_T data_size,REFIID iid,void **deserializer); HRESULT __stdcall D3D12CreateVersionedRootSignatureDeserializer(const void *data,SIZE_T data_size,REFIID iid,void **deserializer); +typedef HRESULT (__stdcall *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,D3D_ROOT_SIGNATURE_VERSION version,ID3DBlob **blob,ID3DBlob **error_blob); HRESULT __stdcall D3D12SerializeRootSignature(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,D3D_ROOT_SIGNATURE_VERSION version,ID3DBlob **blob,ID3DBlob **error_blob); typedef HRESULT (__stdcall *PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc,ID3DBlob **blob,ID3DBlob **error_blob); @@ -7771,6 +24302,12 @@ HRESULT __stdcall D3D12GetDebugInterface(REFIID iid,void **debug); HRESULT __stdcall D3D12EnableExperimentalFeatures(UINT feature_count,const IID *iids,void *configurations,UINT *configurations_sizes); +static const UUID D3D12ExperimentalShaderModels = { 0x76f5573e, 0xf13a, 0x40f5, { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f } }; +static const UUID D3D12TiledResourceTier4 = { 0xc9c4725f, 0xa81a, 0x4f56, { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb } }; +static const UUID D3D12MetaCommand = { 0xc734c97e, 0x8077, 0x48c8, { 0x9f, 0xdc, 0xd9, 0xd1, 0xdd, 0x31, 0xdd, 0x77 } }; +typedef HRESULT (__stdcall *PFN_D3D12_GET_INTERFACE)(REFCLSID clsid,REFIID iid,void **debug); +HRESULT __stdcall D3D12GetInterface(REFCLSID clsid,REFIID iid,void **debug); + /* Begin additional prototypes for all interfaces */ diff --git a/vendor/directx/d3d12sdklayers.h b/vendor/directx/d3d12sdklayers.h index 959c7026..8c23a4b9 100644 --- a/vendor/directx/d3d12sdklayers.h +++ b/vendor/directx/d3d12sdklayers.h @@ -1,7623 +1,1594 @@ -/*------------------------------------------------------------------------------------- - * - * Copyright (c) Microsoft Corporation - * Licensed under the MIT license - * - *-------------------------------------------------------------------------------------*/ +/*** Autogenerated by WIDL 8.17 from include/d3d12sdklayers.idl - Do not edit ***/ - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 8.01.0627 */ - - - -/* verify that the version is high enough to compile this file*/ +#ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCSAL_H_VERSION__ -#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#include +#include #endif -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif /* __RPCNDR_H_VERSION__ */ - #ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ +#include +#include +#endif #ifndef __d3d12sdklayers_h__ #define __d3d12sdklayers_h__ -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -#ifndef DECLSPEC_XFGVIRT -#if defined(_CONTROL_FLOW_GUARD_XFG) -#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) -#else -#define DECLSPEC_XFGVIRT(base, func) +#ifndef __WIDL_INLINE +#if defined(__cplusplus) || defined(_MSC_VER) +#define __WIDL_INLINE inline +#elif defined(__GNUC__) +#define __WIDL_INLINE __inline__ #endif #endif -/* Forward Declarations */ +/* Forward declarations */ #ifndef __ID3D12Debug_FWD_DEFINED__ #define __ID3D12Debug_FWD_DEFINED__ typedef interface ID3D12Debug ID3D12Debug; - -#endif /* __ID3D12Debug_FWD_DEFINED__ */ - +#ifdef __cplusplus +interface ID3D12Debug; +#endif /* __cplusplus */ +#endif #ifndef __ID3D12Debug1_FWD_DEFINED__ #define __ID3D12Debug1_FWD_DEFINED__ typedef interface ID3D12Debug1 ID3D12Debug1; - -#endif /* __ID3D12Debug1_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug2_FWD_DEFINED__ -#define __ID3D12Debug2_FWD_DEFINED__ -typedef interface ID3D12Debug2 ID3D12Debug2; - -#endif /* __ID3D12Debug2_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug3_FWD_DEFINED__ -#define __ID3D12Debug3_FWD_DEFINED__ -typedef interface ID3D12Debug3 ID3D12Debug3; - -#endif /* __ID3D12Debug3_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug4_FWD_DEFINED__ -#define __ID3D12Debug4_FWD_DEFINED__ -typedef interface ID3D12Debug4 ID3D12Debug4; - -#endif /* __ID3D12Debug4_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug5_FWD_DEFINED__ -#define __ID3D12Debug5_FWD_DEFINED__ -typedef interface ID3D12Debug5 ID3D12Debug5; - -#endif /* __ID3D12Debug5_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug6_FWD_DEFINED__ -#define __ID3D12Debug6_FWD_DEFINED__ -typedef interface ID3D12Debug6 ID3D12Debug6; - -#endif /* __ID3D12Debug6_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice1_FWD_DEFINED__ -#define __ID3D12DebugDevice1_FWD_DEFINED__ -typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1; - -#endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice_FWD_DEFINED__ -#define __ID3D12DebugDevice_FWD_DEFINED__ -typedef interface ID3D12DebugDevice ID3D12DebugDevice; - -#endif /* __ID3D12DebugDevice_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice2_FWD_DEFINED__ -#define __ID3D12DebugDevice2_FWD_DEFINED__ -typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2; - -#endif /* __ID3D12DebugDevice2_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandQueue_FWD_DEFINED__ -#define __ID3D12DebugCommandQueue_FWD_DEFINED__ -typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue; - -#endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__ -#define __ID3D12DebugCommandList1_FWD_DEFINED__ -typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1; - -#endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList_FWD_DEFINED__ -#define __ID3D12DebugCommandList_FWD_DEFINED__ -typedef interface ID3D12DebugCommandList ID3D12DebugCommandList; - -#endif /* __ID3D12DebugCommandList_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList2_FWD_DEFINED__ -#define __ID3D12DebugCommandList2_FWD_DEFINED__ -typedef interface ID3D12DebugCommandList2 ID3D12DebugCommandList2; - -#endif /* __ID3D12DebugCommandList2_FWD_DEFINED__ */ - - -#ifndef __ID3D12SharingContract_FWD_DEFINED__ -#define __ID3D12SharingContract_FWD_DEFINED__ -typedef interface ID3D12SharingContract ID3D12SharingContract; - -#endif /* __ID3D12SharingContract_FWD_DEFINED__ */ - +#ifdef __cplusplus +interface ID3D12Debug1; +#endif /* __cplusplus */ +#endif #ifndef __ID3D12InfoQueue_FWD_DEFINED__ #define __ID3D12InfoQueue_FWD_DEFINED__ typedef interface ID3D12InfoQueue ID3D12InfoQueue; +#ifdef __cplusplus +interface ID3D12InfoQueue; +#endif /* __cplusplus */ +#endif -#endif /* __ID3D12InfoQueue_FWD_DEFINED__ */ +/* Headers for imported files */ - -#ifndef __ID3D12InfoQueue1_FWD_DEFINED__ -#define __ID3D12InfoQueue1_FWD_DEFINED__ -typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1; - -#endif /* __ID3D12InfoQueue1_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "d3d12.h" +#include #ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0000 */ -/* [local] */ - -#include -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_s_ifspec; - -#ifndef __ID3D12Debug_INTERFACE_DEFINED__ -#define __ID3D12Debug_INTERFACE_DEFINED__ - -/* interface ID3D12Debug */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0") - ID3D12Debug : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug * This); - - END_INTERFACE - } ID3D12DebugVtbl; - - interface ID3D12Debug - { - CONST_VTBL struct ID3D12DebugVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0001 */ -/* [local] */ - -typedef -enum D3D12_GPU_BASED_VALIDATION_FLAGS - { - D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0, - D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1 - } D3D12_GPU_BASED_VALIDATION_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS) - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec; - -#ifndef __ID3D12Debug1_INTERFACE_DEFINED__ -#define __ID3D12Debug1_INTERFACE_DEFINED__ - -/* interface ID3D12Debug1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304") - ID3D12Debug1 : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0; - - virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( - BOOL Enable) = 0; - - virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( - BOOL Enable) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug1 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug1, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug1 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug1 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug1 * This, - BOOL Enable); - - END_INTERFACE - } ID3D12Debug1Vtbl; - - interface ID3D12Debug1 - { - CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug1_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - -#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug2_INTERFACE_DEFINED__ -#define __ID3D12Debug2_INTERFACE_DEFINED__ - -/* interface ID3D12Debug2 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374") - ID3D12Debug2 : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags( - D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug2Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug2 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug2 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug2 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug2, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug2 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - END_INTERFACE - } ID3D12Debug2Vtbl; - - interface ID3D12Debug2 - { - CONST_VTBL struct ID3D12Debug2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug2_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug3_INTERFACE_DEFINED__ -#define __ID3D12Debug3_INTERFACE_DEFINED__ - -/* interface ID3D12Debug3 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1") - ID3D12Debug3 : public ID3D12Debug - { - public: - virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( - BOOL Enable) = 0; - - virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( - BOOL Enable) = 0; - - virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags( - D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug3Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug3 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug3 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug3 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug3 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug3 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug3 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug3 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - END_INTERFACE - } ID3D12Debug3Vtbl; - - interface ID3D12Debug3 - { - CONST_VTBL struct ID3D12Debug3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug3_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug3_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug4_INTERFACE_DEFINED__ -#define __ID3D12Debug4_INTERFACE_DEFINED__ - -/* interface ID3D12Debug4 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug4; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a") - ID3D12Debug4 : public ID3D12Debug3 - { - public: - virtual void STDMETHODCALLTYPE DisableDebugLayer( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug4Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug4 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug4 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug4 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug4 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug4 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug4 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug4 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) - void ( STDMETHODCALLTYPE *DisableDebugLayer )( - ID3D12Debug4 * This); - - END_INTERFACE - } ID3D12Debug4Vtbl; - - interface ID3D12Debug4 - { - CONST_VTBL struct ID3D12Debug4Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug4_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - - -#define ID3D12Debug4_DisableDebugLayer(This) \ - ( (This)->lpVtbl -> DisableDebugLayer(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug4_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug5_INTERFACE_DEFINED__ -#define __ID3D12Debug5_INTERFACE_DEFINED__ - -/* interface ID3D12Debug5 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug5; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9") - ID3D12Debug5 : public ID3D12Debug4 - { - public: - virtual void STDMETHODCALLTYPE SetEnableAutoName( - BOOL Enable) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug5Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug5 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug5 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug5 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug5 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) - void ( STDMETHODCALLTYPE *DisableDebugLayer )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName) - void ( STDMETHODCALLTYPE *SetEnableAutoName )( - ID3D12Debug5 * This, - BOOL Enable); - - END_INTERFACE - } ID3D12Debug5Vtbl; - - interface ID3D12Debug5 - { - CONST_VTBL struct ID3D12Debug5Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug5_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - - -#define ID3D12Debug5_DisableDebugLayer(This) \ - ( (This)->lpVtbl -> DisableDebugLayer(This) ) - - -#define ID3D12Debug5_SetEnableAutoName(This,Enable) \ - ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug5_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug6_INTERFACE_DEFINED__ -#define __ID3D12Debug6_INTERFACE_DEFINED__ - -/* interface ID3D12Debug6 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("82a816d6-5d01-4157-97d0-4975463fd1ed") - ID3D12Debug6 : public ID3D12Debug5 - { - public: - virtual void STDMETHODCALLTYPE SetForceLegacyBarrierValidation( - BOOL Enable) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug6Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug6 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug6 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug6 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug6 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) - void ( STDMETHODCALLTYPE *DisableDebugLayer )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName) - void ( STDMETHODCALLTYPE *SetEnableAutoName )( - ID3D12Debug6 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug6, SetForceLegacyBarrierValidation) - void ( STDMETHODCALLTYPE *SetForceLegacyBarrierValidation )( - ID3D12Debug6 * This, - BOOL Enable); - - END_INTERFACE - } ID3D12Debug6Vtbl; - - interface ID3D12Debug6 - { - CONST_VTBL struct ID3D12Debug6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug6_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - - -#define ID3D12Debug6_DisableDebugLayer(This) \ - ( (This)->lpVtbl -> DisableDebugLayer(This) ) - - -#define ID3D12Debug6_SetEnableAutoName(This,Enable) \ - ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) ) - - -#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \ - ( (This)->lpVtbl -> SetForceLegacyBarrierValidation(This,Enable) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug6_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */ -/* [local] */ - -DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd); -typedef -enum D3D12_RLDO_FLAGS - { - D3D12_RLDO_NONE = 0, - D3D12_RLDO_SUMMARY = 0x1, - D3D12_RLDO_DETAIL = 0x2, - D3D12_RLDO_IGNORE_INTERNAL = 0x4 - } D3D12_RLDO_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS) -typedef -enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE - { - D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0, - D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) , - D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 ) - } D3D12_DEBUG_DEVICE_PARAMETER_TYPE; - -typedef -enum D3D12_DEBUG_FEATURE - { - D3D12_DEBUG_FEATURE_NONE = 0, - D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1, - D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2, - D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4, - D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8 - } D3D12_DEBUG_FEATURE; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE) -typedef -enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE - { - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0, - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) , - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) , - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) , - NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 ) - } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE; - -typedef -enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS - { - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7 - } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS) -typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS - { - UINT MaxMessagesPerCommandList; - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode; - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags; - } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS; - -typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR - { - FLOAT SlowdownFactor; - } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR; - - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec; - -#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__ -#define __ID3D12DebugDevice1_INTERFACE_DEFINED__ - -/* interface ID3D12DebugDevice1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugDevice1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88") - ID3D12DebugDevice1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( - D3D12_RLDO_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugDevice1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugDevice1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugDevice1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugDevice1 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice1, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugDevice1 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice1, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugDevice1 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice1, ReportLiveDeviceObjects) - HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( - ID3D12DebugDevice1 * This, - D3D12_RLDO_FLAGS Flags); - - END_INTERFACE - } ID3D12DebugDevice1Vtbl; - - interface ID3D12DebugDevice1 - { - CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugDevice1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugDevice1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \ - ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__ -#define __ID3D12DebugDevice_INTERFACE_DEFINED__ - -/* interface ID3D12DebugDevice */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugDevice; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e") - ID3D12DebugDevice : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( - D3D12_DEBUG_FEATURE Mask) = 0; - - virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( - D3D12_RLDO_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugDeviceVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugDevice * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugDevice * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugDevice * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugDevice * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugDevice * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects) - HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( - ID3D12DebugDevice * This, - D3D12_RLDO_FLAGS Flags); - - END_INTERFACE - } ID3D12DebugDeviceVtbl; - - interface ID3D12DebugDevice - { - CONST_VTBL struct ID3D12DebugDeviceVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugDevice_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugDevice_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugDevice_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugDevice_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - -#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \ - ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__ -#define __ID3D12DebugDevice2_INTERFACE_DEFINED__ - -/* interface ID3D12DebugDevice2 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugDevice2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd") - ID3D12DebugDevice2 : public ID3D12DebugDevice - { - public: - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugDevice2Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugDevice2 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugDevice2 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugDevice2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugDevice2 * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugDevice2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects) - HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( - ID3D12DebugDevice2 * This, - D3D12_RLDO_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice2, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugDevice2 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice2, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugDevice2 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - END_INTERFACE - } ID3D12DebugDevice2Vtbl; - - interface ID3D12DebugDevice2 - { - CONST_VTBL struct ID3D12DebugDevice2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugDevice2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugDevice2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugDevice2_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - -#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \ - ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) - - -#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0010 */ -/* [local] */ - -DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95); - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_s_ifspec; - -#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandQueue */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandQueue; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053a") - ID3D12DebugCommandQueue : public IUnknown - { - public: - virtual BOOL STDMETHODCALLTYPE AssertResourceState( - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandQueueVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandQueue * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandQueue * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandQueue * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandQueue * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - END_INTERFACE - } ID3D12DebugCommandQueueVtbl; - - interface ID3D12DebugCommandQueue - { - CONST_VTBL struct ID3D12DebugCommandQueueVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandQueue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandQueue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0011 */ -/* [local] */ - -typedef -enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE - { - D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0 - } D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE; - -typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS - { - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode; - } D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS; - - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0011_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0011_v0_0_s_ifspec; - -#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandList1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandList1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37") - ID3D12DebugCommandList1 : public IUnknown - { - public: - virtual BOOL STDMETHODCALLTYPE AssertResourceState( - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandList1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandList1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandList1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandList1 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandList1 * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugCommandList1 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugCommandList1 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - END_INTERFACE - } ID3D12DebugCommandList1Vtbl; - - interface ID3D12DebugCommandList1 - { - CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandList1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandList1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandList_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandList */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandList; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053f") - ID3D12DebugCommandList : public IUnknown - { - public: - virtual BOOL STDMETHODCALLTYPE AssertResourceState( - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( - D3D12_DEBUG_FEATURE Mask) = 0; - - virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandListVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandList * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandList * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandList * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandList * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugCommandList * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugCommandList * This); - - END_INTERFACE - } ID3D12DebugCommandListVtbl; - - interface ID3D12DebugCommandList - { - CONST_VTBL struct ID3D12DebugCommandListVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandList_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandList_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugCommandList_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList2_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandList2_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandList2 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandList2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("aeb575cf-4e06-48be-ba3b-c450fc96652e") - ID3D12DebugCommandList2 : public ID3D12DebugCommandList - { - public: - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandList2Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandList2 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandList2 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandList2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandList2 * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugCommandList2 * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugCommandList2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugCommandList2 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugCommandList2 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - END_INTERFACE - } ID3D12DebugCommandList2Vtbl; - - interface ID3D12DebugCommandList2 - { - CONST_VTBL struct ID3D12DebugCommandList2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandList2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandList2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugCommandList2_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - - -#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandList2_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12SharingContract_INTERFACE_DEFINED__ -#define __ID3D12SharingContract_INTERFACE_DEFINED__ - -/* interface ID3D12SharingContract */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12SharingContract; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef") - ID3D12SharingContract : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE Present( - _In_ ID3D12Resource *pResource, - UINT Subresource, - _In_ HWND window) = 0; - - virtual void STDMETHODCALLTYPE SharedFenceSignal( - _In_ ID3D12Fence *pFence, - UINT64 FenceValue) = 0; - - virtual void STDMETHODCALLTYPE BeginCapturableWork( - _In_ REFGUID guid) = 0; - - virtual void STDMETHODCALLTYPE EndCapturableWork( - _In_ REFGUID guid) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12SharingContractVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12SharingContract * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12SharingContract * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12SharingContract * This); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, Present) - void ( STDMETHODCALLTYPE *Present )( - ID3D12SharingContract * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - _In_ HWND window); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, SharedFenceSignal) - void ( STDMETHODCALLTYPE *SharedFenceSignal )( - ID3D12SharingContract * This, - _In_ ID3D12Fence *pFence, - UINT64 FenceValue); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, BeginCapturableWork) - void ( STDMETHODCALLTYPE *BeginCapturableWork )( - ID3D12SharingContract * This, - _In_ REFGUID guid); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, EndCapturableWork) - void ( STDMETHODCALLTYPE *EndCapturableWork )( - ID3D12SharingContract * This, - _In_ REFGUID guid); - - END_INTERFACE - } ID3D12SharingContractVtbl; - - interface ID3D12SharingContract - { - CONST_VTBL struct ID3D12SharingContractVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12SharingContract_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12SharingContract_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12SharingContract_Present(This,pResource,Subresource,window) \ - ( (This)->lpVtbl -> Present(This,pResource,Subresource,window) ) - -#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \ - ( (This)->lpVtbl -> SharedFenceSignal(This,pFence,FenceValue) ) - -#define ID3D12SharingContract_BeginCapturableWork(This,guid) \ - ( (This)->lpVtbl -> BeginCapturableWork(This,guid) ) - -#define ID3D12SharingContract_EndCapturableWork(This,guid) \ - ( (This)->lpVtbl -> EndCapturableWork(This,guid) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12SharingContract_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0015 */ -/* [local] */ - -typedef -enum D3D12_MESSAGE_CATEGORY - { - D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, - D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = ( D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1 ) , - D3D12_MESSAGE_CATEGORY_INITIALIZATION = ( D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) , - D3D12_MESSAGE_CATEGORY_CLEANUP = ( D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1 ) , - D3D12_MESSAGE_CATEGORY_COMPILATION = ( D3D12_MESSAGE_CATEGORY_CLEANUP + 1 ) , - D3D12_MESSAGE_CATEGORY_STATE_CREATION = ( D3D12_MESSAGE_CATEGORY_COMPILATION + 1 ) , - D3D12_MESSAGE_CATEGORY_STATE_SETTING = ( D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1 ) , - D3D12_MESSAGE_CATEGORY_STATE_GETTING = ( D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1 ) , - D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = ( D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1 ) , - D3D12_MESSAGE_CATEGORY_EXECUTION = ( D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) , - D3D12_MESSAGE_CATEGORY_SHADER = ( D3D12_MESSAGE_CATEGORY_EXECUTION + 1 ) - } D3D12_MESSAGE_CATEGORY; - -typedef -enum D3D12_MESSAGE_SEVERITY - { - D3D12_MESSAGE_SEVERITY_CORRUPTION = 0, - D3D12_MESSAGE_SEVERITY_ERROR = ( D3D12_MESSAGE_SEVERITY_CORRUPTION + 1 ) , - D3D12_MESSAGE_SEVERITY_WARNING = ( D3D12_MESSAGE_SEVERITY_ERROR + 1 ) , - D3D12_MESSAGE_SEVERITY_INFO = ( D3D12_MESSAGE_SEVERITY_WARNING + 1 ) , - D3D12_MESSAGE_SEVERITY_MESSAGE = ( D3D12_MESSAGE_SEVERITY_INFO + 1 ) - } D3D12_MESSAGE_SEVERITY; - -typedef -enum D3D12_MESSAGE_ID - { - D3D12_MESSAGE_ID_UNKNOWN = 0, - D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, - D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, - D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, - D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, - D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, - D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, - D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, - D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, - D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, - D3D12_MESSAGE_ID_LIVE_DEVICE = 274, - D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, - D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, - D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, - D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, - D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, - D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, - D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, - D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, - D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, - D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, - D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, - D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, - D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, - D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, - D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, - D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, - D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, - D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, - D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, - D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, - D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, - D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, - D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, - D3D12_MESSAGE_ID_CREATE_HEAP = 566, - D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, - D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, - D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, - D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, - D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, - D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, - D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, - D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, - D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, - D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, - D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, - D3D12_MESSAGE_ID_LIVE_HEAP = 579, - D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, - D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, - D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, - D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, - D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, - D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, - D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, - D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, - D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, - D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, - D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, - D3D12_MESSAGE_ID_DESTROY_HEAP = 592, - D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, - D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, - D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, - D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, - D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, - D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, - D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, - D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, - D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, - D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, - D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, - D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, - D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, - D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, - D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, - D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, - D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, - D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, - D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, - D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, - D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, - D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, - D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, - D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, - D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, - D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, - D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, - D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, - D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, - D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, - D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, - D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, - D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, - D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, - D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, - D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, - D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, - D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, - D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, - D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, - D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739, - D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740, - D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, - D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, - D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, - D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, - D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, - D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, - D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, - D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, - D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, - D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, - D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, - D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, - D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, - D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, - D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, - D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, - D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, - D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, - D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, - D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, - D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, - D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, - D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, - D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, - D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, - D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, - D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, - D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, - D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, - D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, - D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, - D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, - D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, - D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, - D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, - D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, - D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, - D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, - D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, - D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, - D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, - D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, - D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, - D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, - D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, - D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942, - D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944, - D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950, - D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951, - D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952, - D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954, - D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958, - D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959, - D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965, - D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966, - D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967, - D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968, - D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969, - D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970, - D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971, - D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972, - D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974, - D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975, - D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976, - D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978, - D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979, - D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980, - D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981, - D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982, - D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983, - D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987, - D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988, - D3D12_MESSAGE_ID_DEPRECATED_API = 989, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990, - D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994, - D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995, - D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996, - D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997, - D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998, - D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000, - D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001, - D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002, - D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006, - D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008, - D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009, - D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013, - D3D12_MESSAGE_ID_BEGIN_EVENT = 1014, - D3D12_MESSAGE_ID_END_EVENT = 1015, - D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022, - D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023, - D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024, - D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040, - D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041, - D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042, - D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044, - D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046, - D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047, - D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048, - D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050, - D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053, - D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065, - D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066, - D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067, - D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068, - D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069, - D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070, - D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071, - D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072, - D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073, - D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074, - D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075, - D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076, - D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077, - D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079, - D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080, - D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081, - D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082, - D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083, - D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093, - D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094, - D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095, - D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097, - D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098, - D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099, - D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100, - D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101, - D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105, - D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106, - D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107, - D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108, - D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109, - D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110, - D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112, - D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113, - D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114, - D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115, - D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116, - D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121, - D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122, - D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123, - D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124, - D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125, - D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126, - D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127, - D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128, - D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130, - D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131, - D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132, - D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133, - D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134, - D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135, - D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136, - D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137, - D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138, - D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152, - D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153, - D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154, - D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155, - D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156, - D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157, - D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158, - D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159, - D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160, - D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161, - D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162, - D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163, - D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164, - D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165, - D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166, - D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167, - D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168, - D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169, - D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170, - D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171, - D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172, - D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173, - D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174, - D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175, - D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182, - D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183, - D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184, - D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185, - D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186, - D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187, - D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188, - D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189, - D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190, - D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191, - D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192, - D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193, - D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194, - D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195, - D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196, - D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197, - D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198, - D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199, - D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200, - D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201, - D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202, - D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203, - D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204, - D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205, - D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206, - D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207, - D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208, - D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209, - D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210, - D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211, - D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212, - D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213, - D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214, - D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215, - D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216, - D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217, - D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218, - D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219, - D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220, - D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221, - D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222, - D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223, - D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224, - D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225, - D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226, - D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227, - D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228, - D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230, - D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231, - D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232, - D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233, - D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234, - D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235, - D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236, - D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242, - D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245, - D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246, - D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251, - D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253, - D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254, - D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264, - D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265, - D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266, - D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271, - D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272, - D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273, - D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274, - D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275, - D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277, - D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278, - D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279, - D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280, - D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281, - D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282, - D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283, - D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284, - D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289, - D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290, - D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291, - D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292, - D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293, - D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294, - D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295, - D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303, - D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304, - D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305, - D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306, - D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307, - D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312, - D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313, - D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314, - D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317, - D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318, - D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319, - D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320, - D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321, - D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322, - D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323, - D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324, - D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325, - D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327, - D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328, - D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335, - D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337, - D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338, - D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339, - D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340, - D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342, - D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343, - D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED + 1 ) - } D3D12_MESSAGE_ID; - -typedef struct D3D12_MESSAGE - { +extern "C" { +#endif + +#ifdef WINE_NO_UNICODE_MACROS +#undef GetMessage +#endif +typedef enum D3D12_MESSAGE_CATEGORY { + D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0x0, + D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = 0x1, + D3D12_MESSAGE_CATEGORY_INITIALIZATION = 0x2, + D3D12_MESSAGE_CATEGORY_CLEANUP = 0x3, + D3D12_MESSAGE_CATEGORY_COMPILATION = 0x4, + D3D12_MESSAGE_CATEGORY_STATE_CREATION = 0x5, + D3D12_MESSAGE_CATEGORY_STATE_SETTING = 0x6, + D3D12_MESSAGE_CATEGORY_STATE_GETTING = 0x7, + D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 0x8, + D3D12_MESSAGE_CATEGORY_EXECUTION = 0x9, + D3D12_MESSAGE_CATEGORY_SHADER = 0xa +} D3D12_MESSAGE_CATEGORY; +typedef enum D3D12_MESSAGE_SEVERITY { + D3D12_MESSAGE_SEVERITY_CORRUPTION = 0x0, + D3D12_MESSAGE_SEVERITY_ERROR = 0x1, + D3D12_MESSAGE_SEVERITY_WARNING = 0x2, + D3D12_MESSAGE_SEVERITY_INFO = 0x3, + D3D12_MESSAGE_SEVERITY_MESSAGE = 0x4 +} D3D12_MESSAGE_SEVERITY; +typedef enum D3D12_MESSAGE_ID { + D3D12_MESSAGE_ID_UNKNOWN = 0x0, + D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 0x1, + D3D12_MESSAGE_ID_CORRUPTED_THIS = 0x2, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 0x3, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 0x4, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 0x5, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 0x6, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 0x7, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 0x8, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 0x9, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 0xa, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 0xb, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 0xc, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 0xd, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 0xe, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 0xf, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 0x10, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 0x11, + D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 0x12, + D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 0x13, + D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 0x14, + D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 0x15, + D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 0x18, + D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 0x19, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 0x1a, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 0x1b, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 0x1c, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 0x1d, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 0x1e, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 0x1f, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 0x20, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 0x23, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 0x24, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 0x25, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 0x26, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 0x27, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 0x28, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 0x29, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 0x2a, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 0x2d, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 0x2e, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 0x2f, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 0x30, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 0x31, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 0x34, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 0x35, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 0x36, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 0x37, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 0x38, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 0x39, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 0x3a, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 0x3b, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 0x3c, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 0x3d, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 0x3e, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 0x3f, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 0x40, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 0x41, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 0x42, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 0x43, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 0x44, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 0x45, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 0x46, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 0x47, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 0x48, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 0x49, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 0x4a, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 0x4b, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 0x4c, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 0x4f, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 0x50, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 0x51, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 0x52, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 0x53, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 0x54, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 0x55, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 0x56, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 0x57, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 0x58, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 0x59, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 0x5a, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 0x5b, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 0x5c, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 0x5d, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 0x5e, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 0x5f, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 0x60, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 0x61, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 0x62, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 0x64, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 0x65, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 0x66, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 0x67, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 0x68, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 0x69, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 0x6a, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 0x6b, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 0x6c, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 0x6d, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 0x6f, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 0x70, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 0x71, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 0x72, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 0x73, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 0x74, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 0x75, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 0x87, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 0xc8, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 0xc9, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 0xca, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 0xd1, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 0xd2, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 0xd3, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 0xd4, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 0xd5, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 0xdb, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 0xdd, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 0xde, + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 0xe8, + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 0xe9, + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 0xea, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 0xef, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 0xf0, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 0xf5, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 0xfd, + D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 0xff, + D3D12_MESSAGE_ID_LIVE_DEVICE = 0x112, + D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 0x113, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 0x114, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 0x115, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 0x116, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 0x118, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 0x11b, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 0x11c, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 0x11d, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 0x11e, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 0x11f, + D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 0x121, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 0x122, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 0x123, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 0x124, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 0x126, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 0x127, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 0x128, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 0x129, + D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 0x136, + D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 0x13e, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 0x141, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 0x142, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 0x143, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14b, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14c, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14d, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x14e, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 0x14f, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x150, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 0x151, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 0x154, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 0x155, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 0x156, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 0x157, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 0x158, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 0x159, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 0x15a, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 0x162, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 0x191, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 0x193, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19a, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19c, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x19e, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a0, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a2, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a4, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 0x1a6, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 0x1a9, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 0x1aa, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 0x1ab, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 0x1ac, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 0x1ad, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 0x1ae, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 0x1af, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 0x1bf, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 0x1c0, + D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 0x1ed, + D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 0x1ee, + D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 0x1fa, + D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 0x1fb, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 0x207, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 0x208, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 0x209, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 0x20a, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 0x20b, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 0x20c, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 0x20d, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 0x20e, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 0x20f, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 0x210, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 0x211, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 0x212, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 0x213, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 0x214, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 0x215, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 0x216, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 0x217, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 0x218, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 0x219, + D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 0x21a, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 0x21c, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 0x21d, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 0x21e, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 0x21f, + D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 0x220, + D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 0x222, + D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 0x223, + D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 0x225, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 0x228, + D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 0x229, + D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 0x22a, + D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 0x22d, + D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 0x22e, + D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 0x22f, + D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 0x230, + D3D12_MESSAGE_ID_CREATE_RESOURCE = 0x232, + D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 0x233, + D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 0x234, + D3D12_MESSAGE_ID_CREATE_LIBRARY = 0x235, + D3D12_MESSAGE_ID_CREATE_HEAP = 0x236, + D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 0x237, + D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 0x238, + D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 0x239, + D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 0x23a, + D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 0x23b, + D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 0x23c, + D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 0x23d, + D3D12_MESSAGE_ID_LIVE_RESOURCE = 0x23f, + D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 0x240, + D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 0x241, + D3D12_MESSAGE_ID_LIVE_LIBRARY = 0x242, + D3D12_MESSAGE_ID_LIVE_HEAP = 0x243, + D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 0x244, + D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 0x245, + D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 0x246, + D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 0x247, + D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 0x248, + D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 0x249, + D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 0x24a, + D3D12_MESSAGE_ID_DESTROY_RESOURCE = 0x24c, + D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 0x24d, + D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 0x24e, + D3D12_MESSAGE_ID_DESTROY_LIBRARY = 0x24f, + D3D12_MESSAGE_ID_DESTROY_HEAP = 0x250, + D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 0x251, + D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 0x252, + D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 0x253, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 0x255, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 0x257, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 0x25a, + D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 0x25b, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 0x25c, + D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 0x25f, + D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 0x260, + D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 0x261, + D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 0x262, + D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 0x263, + D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 0x265, + D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 0x266, + D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 0x267, + D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 0x268, + D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 0x26e, + D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 0x26f, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 0x270, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 0x271, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 0x272, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 0x273, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 0x274, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 0x275, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 0x276, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 0x277, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 0x278, + D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 0x279, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 0x27a, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 0x27b, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 0x27c, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 0x27d, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 0x27e, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 0x27f, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 0x280, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 0x281, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 0x282, + D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 0x283, + D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 0x284, + D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 0x285, + D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 0x286, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 0x287, + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 0x289, + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 0x28a, + D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 0x28c, + D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 0x28d, + D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 0x28e, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 0x28f, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 0x290, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 0x291, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 0x292, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 0x293, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 0x294, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 0x295, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 0x296, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 0x297, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 0x298, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 0x299, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 0x29a, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 0x29b, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 0x29c, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 0x29d, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 0x29e, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 0x29f, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 0x2a0, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 0x2a1, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 0x2a2, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 0x2a3, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 0x2a4, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 0x2a5, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 0x2a6, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 0x2a7, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 0x2a8, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 0x2a9, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 0x2aa, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 0x2ab, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 0x2ac, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 0x2ad, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 0x2ae, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 0x2af, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 0x2b0, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 0x2b1, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 0x2b2, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 0x2b3, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 0x2b4, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 0x2b5, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 0x2b6, + D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 0x2b7, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 0x2b8, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 0x2b9, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 0x2ba, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 0x2bb, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 0x2bc, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 0x2bd, + D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 0x2be, + D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 0x2bf, + D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 0x2c1, + D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 0x2c4, + D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 0x2c5, + D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 0x2c6, + D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 0x2c7, + D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 0x2c8, + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 0x2c9, + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 0x2cb, + D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 0x2cd, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 0x2ce, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 0x2cf, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 0x2d0, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 0x2d1, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 0x2d2, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 0x2d3, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 0x2d4, + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 0x2d5, + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 0x2d6, + D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 0x2d7, + D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 0x2d8, + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 0x2d9, + D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 0x2db, + D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 0x2dc, + D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 0x2dd, + D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 0x2de, + D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 0x2df, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 0x2e1, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 0x2e2, + D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 0x2e3, + D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 0x2e4, + D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 0x2e3, + D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 0x2e4, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 0x2e5, + D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 0x2e6, + D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 0x2e7, + D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 0x2e8, + D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 0x2e9, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 0x32f, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 0x330, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 0x331, + D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 0x332, + D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 0x334, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 0x335, + D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 0x336, + D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 0x337, + D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 0x338, + D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 0x339, + D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 0x33a, + D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 0x33b, + D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 0x33c, + D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 0x33d, + D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 0x340, + D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 0x341, + D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 0x342, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 0x343, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 0x344, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 0x345, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 0x346, + D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 0x347, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 0x348, + D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 0x349, + D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 0x34a, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 0x34b, + D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 0x34c, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 0x34d, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 0x34e, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 0x34f, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 0x350, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 0x351, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 0x352, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 0x353, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 0x354, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 0x355, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 0x356, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 0x357, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 0x358, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 0x359, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 0x35a, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 0x35b, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 0x35c, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 0x35d, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 0x35e, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 0x35f, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 0x360, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 0x361, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 0x362, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 0x363, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 0x364, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 0x365, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 0x366, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 0x367, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 0x368, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 0x369, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 0x36a, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 0x36b, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 0x36c, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 0x36d, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 0x36e, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 0x36f, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 0x370, + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 0x371, + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 0x372, + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 0x373, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 0x374, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 0x375, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 0x376, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 0x377, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 0x378, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 0x379, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 0x37a, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 0x37b, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 0x37c, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 0x37d, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 0x37e, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 0x37f, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 0x380, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 0x381, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 0x382, + D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 0x383, + D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 0x384, + D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 0x385, + D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 0x386, + D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 0x387, + D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 0x388, + D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 0x389, + D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 0x38a, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 0x38b, + D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 0x38c, + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 0x38d, + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 0x38e, + D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 0x38f, + D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 0x390, + D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 0x391, + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 0x392, + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 0x393, + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 0x394, + D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 0x395, + D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 0x396, + D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 0x397, + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 0x398, + D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 0x399, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 0x39a, + D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 0x39b, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 0x39c, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 0x39d, + D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 0x39e, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 0x39f, + D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 0x3a1, + D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 0x3a2, + D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 0x3a3, + D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 0x3a4, + D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 0x3a5, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 0x3a6, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 0x3a7, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 0x3a8, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 0x3a9, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 0x3aa, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 0x3ab, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 0x3ac, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 0x3ad, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 0x3ae, + D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 0x3af, + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 0x3b0, + D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 0x3b1, + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 0x3b2, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 0x3b3, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 0x3b4, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 0x3b5, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 0x3b6, + D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 0x3b7, + D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 0x3b8, + D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 0x3b9, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 0x3ba, + D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 0x3bb, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 0x3bc, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 0x3bd, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 0x3be, + D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 0x3bf, + D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 0x3c0, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 0x3c1, + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 0x3c2, + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 0x3c3, + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 0x3c4, + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 0x3c5, + D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 0x3c6, + D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 0x3c7, + D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 0x3c8, + D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 0x3c9, + D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 0x3ca, + D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 0x3cb, + D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 0x3cc, + D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 0x3cd, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 0x3ce, + D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 0x3cf, + D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 0x3d0, + D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 0x3d1, + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 0x3d2, + D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 0x3d3, + D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 0x3d4, + D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 0x3d5, + D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 0x3d6, + D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 0x3d7, + D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 0x3d8, + D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 0x3d9, + D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 0x3da, + D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 0x3db, + D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 0x3dc, + D3D12_MESSAGE_ID_DEPRECATED_API = 0x3dd, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 0x3de, + D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 0x3df, + D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 0x3e0, + D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 0x3e1, + D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 0x3e2, + D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 0x3e3, + D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 0x3e4, + D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 0x3e5, + D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 0x3e6, + D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 0x3e7, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 0x3e8, + D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 0x3e9, + D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 0x3ea, + D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 0x3eb, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 0x3ec, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 0x3ed, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 0x3ee, + D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 0x3ef, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 0x3f0, + D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 0x3f1, + D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 0x3f5, + D3D12_MESSAGE_ID_BEGIN_EVENT = 0x3f6, + D3D12_MESSAGE_ID_END_EVENT = 0x3f7, + D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 0x3f8, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 0x3f9, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 0x3fa, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 0x3fb, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 0x3fc, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 0x3fd, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 0x3fe, + D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 0x3ff, + D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 0x400, + D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 0x401, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 0x402, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 0x403, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 0x404, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 0x405, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 0x406, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 0x407, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 0x408, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 0x409, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 0x40a, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 0x40b, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 0x40c, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 0x40d, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 0x40e, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 0x40f, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 0x410, + D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 0x411, + D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 0x412, + D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 0x413, + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 0x414, + D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 0x415, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 0x416, + D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 0x417, + D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 0x418, + D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 0x419, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 0x41a, + D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 0x41b, + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 0x41c, + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 0x41d, + D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 0x41e, + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 0x41f, + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 0x420, + D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 0x421, + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 0x422, + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 0x423, + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 0x424, + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 0x425, + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 0x426, + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 0x427, + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 0x428, + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 0x429, + D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 0x42a, + D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 0x42b, + D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 0x42c, + D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 0x42d, + D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 0x42e, + D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 0x42f, + D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 0x430, + D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 0x431, + D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 0x432, + D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 0x433, + D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 0x434, + D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 0x435, + D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 0x436, + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 0x437, + D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 0x438, + D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 0x439, + D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 0x43a, + D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 0x43b, + D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 0x43c, + D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 0x43d, + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 0x43e, + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 0x43f, + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 0x440, + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 0x441, + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 0x442, + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 0x443, + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 0x444, + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 0x445, + D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 0x446, + D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 0x447, + D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 0x448, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 0x449, + D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 0x44a, + D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 0x44b, + D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 0x44c, + D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 0x44d, + D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 0x44e, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 0x44f, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 0x450, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 0x451, + D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 0x452, + D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 0x453, + D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 0x454, + D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 0x455, + D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 0x456, + D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 0x457, + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 0x458, + D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 0x459, + D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 0x45a, + D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 0x45b, + D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 0x45c, + D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 0x45d, + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 0x45e, + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 0x45f, + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 0x460, + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 0x461, + D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 0x462, + D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 0x463, + D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 0x464, + D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 0x465, + D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 0x466, + D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 0x467, + D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 0x468, + D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 0x469, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 0x46a, + D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 0x46b, + D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 0x46c, + D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 0x46d, + D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 0x46e, + D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 0x46f, + D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 0x470, + D3D12_MESSAGE_ID_CREATE_META_COMMAND = 0x471, + D3D12_MESSAGE_ID_LIVE_META_COMMAND = 0x472, + D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 0x473, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 0x474, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 0x475, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 0x476, + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 0x477, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 0x478, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 0x479, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 0x47a, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 0x47b, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 0x47c, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 0x47d, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 0x47e, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 0x47f, + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 0x480, + D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 0x481, + D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 0x482, + D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 0x483, + D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 0x484, + D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 0x485, + D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 0x486, + D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 0x487, + D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 0x488, + D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 0x489, + D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 0x48a, + D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 0x48b, + D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 0x48c, + D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 0x48d, + D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 0x48e, + D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 0x48f, + D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 0x490, + D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 0x491, + D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 0x492, + D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 0x493, + D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 0x494, + D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 0x495, + D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 0x496, + D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 0x497, + D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 0x498, + D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 0x499, + D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 0x49a, + D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 0x49b, + D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 0x49c, + D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 0x49d, + D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 0x49e, + D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 0x49f, + D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 0x4a0, + D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 0x4a1, + D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 0x4a2, + D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 0x4a3, + D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 0x4a4, + D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 0x4a5, + D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 0x4a6, + D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 0x4a7, + D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 0x4a8, + D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 0x4a9, + D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 0x4aa, + D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 0x4ab, + D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 0x4ac, + D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 0x4ad, + D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 0x4ae, + D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 0x4af, + D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 0x4b0, + D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 0x4b1, + D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 0x4b2, + D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 0x4b3, + D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 0x4b4, + D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 0x4b5, + D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 0x4b6, + D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 0x4b7, + D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 0x4b8, + D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 0x4b9, + D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 0x4ba, + D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 0x4bb, + D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 0x4bc, + D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 0x4bd, + D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 0x4be, + D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 0x4bf, + D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 0x4c0, + D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 0x4c1, + D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 0x4c2, + D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 0x4c3, + D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 0x4c4, + D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 0x4c5, + D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 0x4c6, + D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 0x4c7, + D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 0x4c8, + D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 0x4c9, + D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 0x4ca, + D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 0x4cb, + D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 0x4cc, + D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 0x4cd, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 0x4ce, + D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 0x4cf, + D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4d0, + D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 0x4d1, + D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 0x4d2, + D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 0x4d3, + D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 0x4d4, + D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 0x4d5, + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 0x4d6, + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 0x4d7, + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 0x4d8, + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 0x4d9, + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 0x4da, + D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 0x4db, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 0x4dc, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 0x4dd, + D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 0x4de, + D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 0x4df, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 0x4e0, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 0x4e1, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 0x4e2, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 0x4e3, + D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 0x4e4, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 0x4e5, + D3D12_MESSAGE_ID_EMPTY_DISPATCH = 0x4e6, + D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 0x4e7, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 0x4e8, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 0x4e9, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 0x4ea, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 0x4eb, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 0x4ec, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 0x4ed, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 0x4ee, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 0x4ef, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 0x4f0, + D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 0x4f1, + D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 0x4f2, + D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 0x4f3, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 0x4f4, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 0x4f5, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 0x4f6, + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 0x4f7, + D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 0x4f8, + D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 0x4f9, + D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4fa, + D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 0x4fb, + D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 0x4fc, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 0x4fd, + D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 0x4fe, + D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 0x4ff, + D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 0x500 +} D3D12_MESSAGE_ID; +typedef enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE { + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0x0, + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 0x1, + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 0x2, + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 0x3, + NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 0x4 +} D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE; +typedef struct D3D12_MESSAGE { D3D12_MESSAGE_CATEGORY Category; D3D12_MESSAGE_SEVERITY Severity; D3D12_MESSAGE_ID ID; - _Field_size_(DescriptionByteLength) const char *pDescription; + const char *pDescription; SIZE_T DescriptionByteLength; - } D3D12_MESSAGE; - -typedef struct D3D12_INFO_QUEUE_FILTER_DESC - { +} D3D12_MESSAGE; +typedef struct D3D12_INFO_QUEUE_FILTER_DESC { UINT NumCategories; - _Field_size_(NumCategories) D3D12_MESSAGE_CATEGORY *pCategoryList; + D3D12_MESSAGE_CATEGORY *pCategoryList; UINT NumSeverities; - _Field_size_(NumSeverities) D3D12_MESSAGE_SEVERITY *pSeverityList; + D3D12_MESSAGE_SEVERITY *pSeverityList; UINT NumIDs; - _Field_size_(NumIDs) D3D12_MESSAGE_ID *pIDList; - } D3D12_INFO_QUEUE_FILTER_DESC; - -typedef struct D3D12_INFO_QUEUE_FILTER - { + D3D12_MESSAGE_ID *pIDList; +} D3D12_INFO_QUEUE_FILTER_DESC; +typedef struct D3D12_INFO_QUEUE_FILTER { D3D12_INFO_QUEUE_FILTER_DESC AllowList; D3D12_INFO_QUEUE_FILTER_DESC DenyList; - } D3D12_INFO_QUEUE_FILTER; - -#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024 - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0015_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0015_v0_0_s_ifspec; - -#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__ -#define __ID3D12InfoQueue_INTERFACE_DEFINED__ - -/* interface ID3D12InfoQueue */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12InfoQueue; +} D3D12_INFO_QUEUE_FILTER; +/***************************************************************************** + * ID3D12Debug interface + */ +#ifndef __ID3D12Debug_INTERFACE_DEFINED__ +#define __ID3D12Debug_INTERFACE_DEFINED__ +DEFINE_GUID(IID_ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9,0x89, 0xf0,0x27,0x44,0x82,0x45,0xe0); #if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458") - ID3D12InfoQueue : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit( - _In_ UINT64 MessageCountLimit) = 0; - - virtual void STDMETHODCALLTYPE ClearStoredMessages( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMessage( - _In_ UINT64 MessageIndex, - D3D12_MESSAGE *pMessage, - _Inout_ SIZE_T *pMessageByteLength) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStorageFilter( - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength) = 0; - - virtual void STDMETHODCALLTYPE ClearStorageFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushStorageFilter( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual void STDMETHODCALLTYPE PopStorageFilter( void) = 0; - - virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter( - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength) = 0; - - virtual void STDMETHODCALLTYPE ClearRetrievalFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual void STDMETHODCALLTYPE PopRetrievalFilter( void) = 0; - - virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddMessage( - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ D3D12_MESSAGE_ID ID, - _In_ LPCSTR pDescription) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage( - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ LPCSTR pDescription) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory( - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ BOOL bEnable) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity( - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ BOOL bEnable) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBreakOnID( - _In_ D3D12_MESSAGE_ID ID, - _In_ BOOL bEnable) = 0; - - virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory( - _In_ D3D12_MESSAGE_CATEGORY Category) = 0; - - virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity( - _In_ D3D12_MESSAGE_SEVERITY Severity) = 0; - - virtual BOOL STDMETHODCALLTYPE GetBreakOnID( - _In_ D3D12_MESSAGE_ID ID) = 0; - - virtual void STDMETHODCALLTYPE SetMuteDebugOutput( - _In_ BOOL bMute) = 0; - - virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12InfoQueueVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12InfoQueue * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit) - HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( - ID3D12InfoQueue * This, - _In_ UINT64 MessageCountLimit); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages) - void ( STDMETHODCALLTYPE *ClearStoredMessages )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage) - HRESULT ( STDMETHODCALLTYPE *GetMessage )( - ID3D12InfoQueue * This, - _In_ UINT64 MessageIndex, - D3D12_MESSAGE *pMessage, - _Inout_ SIZE_T *pMessageByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter) - HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( - ID3D12InfoQueue * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter) - void ( STDMETHODCALLTYPE *ClearStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter) - void ( STDMETHODCALLTYPE *PopStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( - ID3D12InfoQueue * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter) - void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter) - void ( STDMETHODCALLTYPE *PopRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage) - HRESULT ( STDMETHODCALLTYPE *AddMessage )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ D3D12_MESSAGE_ID ID, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage) - HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_ID ID, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory) - BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_CATEGORY Category); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity) - BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_SEVERITY Severity); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID) - BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_ID ID); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput) - void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( - ID3D12InfoQueue * This, - _In_ BOOL bMute); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput) - BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( - ID3D12InfoQueue * This); - - END_INTERFACE - } ID3D12InfoQueueVtbl; - - interface ID3D12InfoQueue - { - CONST_VTBL struct ID3D12InfoQueueVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12InfoQueue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12InfoQueue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \ - ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) - -#define ID3D12InfoQueue_ClearStoredMessages(This) \ - ( (This)->lpVtbl -> ClearStoredMessages(This) ) - -#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ - ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) - -#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) - -#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) - -#define ID3D12InfoQueue_GetNumStoredMessages(This) \ - ( (This)->lpVtbl -> GetNumStoredMessages(This) ) - -#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ - ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) - -#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) - -#define ID3D12InfoQueue_GetMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetMessageCountLimit(This) ) - -#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue_ClearStorageFilter(This) \ - ( (This)->lpVtbl -> ClearStorageFilter(This) ) - -#define ID3D12InfoQueue_PushEmptyStorageFilter(This) \ - ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) - -#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) - -#define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) - -#define ID3D12InfoQueue_PopStorageFilter(This) \ - ( (This)->lpVtbl -> PopStorageFilter(This) ) - -#define ID3D12InfoQueue_GetStorageFilterStackSize(This) \ - ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) - -#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue_ClearRetrievalFilter(This) \ - ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) - -#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) - -#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) - -#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) - -#define ID3D12InfoQueue_PopRetrievalFilter(This) \ - ( (This)->lpVtbl -> PopRetrievalFilter(This) ) - -#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \ - ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) - -#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \ - ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) - -#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \ - ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) - -#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) - -#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) - -#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) - -#define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \ - ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) - -#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \ - ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) - -#define ID3D12InfoQueue_GetBreakOnID(This,ID) \ - ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) - -#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \ - ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) - -#define ID3D12InfoQueue_GetMuteDebugOutput(This) \ - ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0016 */ -/* [local] */ - -typedef -enum D3D12_MESSAGE_CALLBACK_FLAGS - { - D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0, - D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1 - } D3D12_MESSAGE_CALLBACK_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS) -typedef void ( __stdcall *D3D12MessageFunc )( - D3D12_MESSAGE_CATEGORY Category, - D3D12_MESSAGE_SEVERITY Severity, - D3D12_MESSAGE_ID ID, - LPCSTR pDescription, - void *pContext); - - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0016_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0016_v0_0_s_ifspec; - -#ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__ -#define __ID3D12InfoQueue1_INTERFACE_DEFINED__ - -/* interface ID3D12InfoQueue1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12InfoQueue1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600") - ID3D12InfoQueue1 : public ID3D12InfoQueue - { - public: - virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback( - _In_ D3D12MessageFunc CallbackFunc, - _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, - _In_ void *pContext, - _Inout_ DWORD *pCallbackCookie) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback( - _In_ DWORD CallbackCookie) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12InfoQueue1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12InfoQueue1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit) - HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( - ID3D12InfoQueue1 * This, - _In_ UINT64 MessageCountLimit); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages) - void ( STDMETHODCALLTYPE *ClearStoredMessages )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage) - HRESULT ( STDMETHODCALLTYPE *GetMessage )( - ID3D12InfoQueue1 * This, - _In_ UINT64 MessageIndex, - D3D12_MESSAGE *pMessage, - _Inout_ SIZE_T *pMessageByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter) - HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( - ID3D12InfoQueue1 * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter) - void ( STDMETHODCALLTYPE *ClearStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter) - void ( STDMETHODCALLTYPE *PopStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( - ID3D12InfoQueue1 * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter) - void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter) - void ( STDMETHODCALLTYPE *PopRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage) - HRESULT ( STDMETHODCALLTYPE *AddMessage )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ D3D12_MESSAGE_ID ID, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage) - HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_ID ID, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory) - BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_CATEGORY Category); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity) - BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_SEVERITY Severity); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID) - BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_ID ID); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput) - void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( - ID3D12InfoQueue1 * This, - _In_ BOOL bMute); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput) - BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue1, RegisterMessageCallback) - HRESULT ( STDMETHODCALLTYPE *RegisterMessageCallback )( - ID3D12InfoQueue1 * This, - _In_ D3D12MessageFunc CallbackFunc, - _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, - _In_ void *pContext, - _Inout_ DWORD *pCallbackCookie); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue1, UnregisterMessageCallback) - HRESULT ( STDMETHODCALLTYPE *UnregisterMessageCallback )( - ID3D12InfoQueue1 * This, - _In_ DWORD CallbackCookie); - - END_INTERFACE - } ID3D12InfoQueue1Vtbl; - - interface ID3D12InfoQueue1 - { - CONST_VTBL struct ID3D12InfoQueue1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12InfoQueue1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12InfoQueue1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \ - ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) - -#define ID3D12InfoQueue1_ClearStoredMessages(This) \ - ( (This)->lpVtbl -> ClearStoredMessages(This) ) - -#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ - ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) - -#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) - -#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) - -#define ID3D12InfoQueue1_GetNumStoredMessages(This) \ - ( (This)->lpVtbl -> GetNumStoredMessages(This) ) - -#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ - ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) - -#define ID3D12InfoQueue1_GetMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetMessageCountLimit(This) ) - -#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue1_ClearStorageFilter(This) \ - ( (This)->lpVtbl -> ClearStorageFilter(This) ) - -#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \ - ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) - -#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) - -#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) - -#define ID3D12InfoQueue1_PopStorageFilter(This) \ - ( (This)->lpVtbl -> PopStorageFilter(This) ) - -#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \ - ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) - -#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue1_ClearRetrievalFilter(This) \ - ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) - -#define ID3D12InfoQueue1_PopRetrievalFilter(This) \ - ( (This)->lpVtbl -> PopRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \ - ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) - -#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \ - ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) - -#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \ - ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) - -#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) - -#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) - -#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) - -#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \ - ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) - -#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \ - ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) - -#define ID3D12InfoQueue1_GetBreakOnID(This,ID) \ - ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) - -#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \ - ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) - -#define ID3D12InfoQueue1_GetMuteDebugOutput(This) \ - ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) - - -#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \ - ( (This)->lpVtbl -> RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) ) - -#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \ - ( (This)->lpVtbl -> UnregisterMessageCallback(This,CallbackCookie) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0017 */ -/* [local] */ - -#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ -/*------------------------------------------------------------------------------------- - * - * Copyright (c) Microsoft Corporation - * Licensed under the MIT license - * - *-------------------------------------------------------------------------------------*/ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 8.01.0627 */ - - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 500 +MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0") +ID3D12Debug : public IUnknown +{ + virtual void STDMETHODCALLTYPE EnableDebugLayer( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9,0x89, 0xf0,0x27,0x44,0x82,0x45,0xe0) #endif - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCSAL_H_VERSION__ -#define __REQUIRED_RPCSAL_H_VERSION__ 100 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif /* __RPCNDR_H_VERSION__ */ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __d3d12sdklayers_h__ -#define __d3d12sdklayers_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -#ifndef DECLSPEC_XFGVIRT -#if defined(_CONTROL_FLOW_GUARD_XFG) -#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) #else -#define DECLSPEC_XFGVIRT(base, func) -#endif -#endif +typedef struct ID3D12DebugVtbl { + BEGIN_INTERFACE -/* Forward Declarations */ + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Debug *This, + REFIID riid, + void **ppvObject); -#ifndef __ID3D12Debug_FWD_DEFINED__ -#define __ID3D12Debug_FWD_DEFINED__ -typedef interface ID3D12Debug ID3D12Debug; + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Debug *This); -#endif /* __ID3D12Debug_FWD_DEFINED__ */ + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Debug *This); + /*** ID3D12Debug methods ***/ + void (STDMETHODCALLTYPE *EnableDebugLayer)( + ID3D12Debug *This); -#ifndef __ID3D12Debug1_FWD_DEFINED__ -#define __ID3D12Debug1_FWD_DEFINED__ -typedef interface ID3D12Debug1 ID3D12Debug1; + END_INTERFACE +} ID3D12DebugVtbl; -#endif /* __ID3D12Debug1_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug2_FWD_DEFINED__ -#define __ID3D12Debug2_FWD_DEFINED__ -typedef interface ID3D12Debug2 ID3D12Debug2; - -#endif /* __ID3D12Debug2_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug3_FWD_DEFINED__ -#define __ID3D12Debug3_FWD_DEFINED__ -typedef interface ID3D12Debug3 ID3D12Debug3; - -#endif /* __ID3D12Debug3_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug4_FWD_DEFINED__ -#define __ID3D12Debug4_FWD_DEFINED__ -typedef interface ID3D12Debug4 ID3D12Debug4; - -#endif /* __ID3D12Debug4_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug5_FWD_DEFINED__ -#define __ID3D12Debug5_FWD_DEFINED__ -typedef interface ID3D12Debug5 ID3D12Debug5; - -#endif /* __ID3D12Debug5_FWD_DEFINED__ */ - - -#ifndef __ID3D12Debug6_FWD_DEFINED__ -#define __ID3D12Debug6_FWD_DEFINED__ -typedef interface ID3D12Debug6 ID3D12Debug6; - -#endif /* __ID3D12Debug6_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice1_FWD_DEFINED__ -#define __ID3D12DebugDevice1_FWD_DEFINED__ -typedef interface ID3D12DebugDevice1 ID3D12DebugDevice1; - -#endif /* __ID3D12DebugDevice1_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice_FWD_DEFINED__ -#define __ID3D12DebugDevice_FWD_DEFINED__ -typedef interface ID3D12DebugDevice ID3D12DebugDevice; - -#endif /* __ID3D12DebugDevice_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice2_FWD_DEFINED__ -#define __ID3D12DebugDevice2_FWD_DEFINED__ -typedef interface ID3D12DebugDevice2 ID3D12DebugDevice2; - -#endif /* __ID3D12DebugDevice2_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandQueue_FWD_DEFINED__ -#define __ID3D12DebugCommandQueue_FWD_DEFINED__ -typedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue; - -#endif /* __ID3D12DebugCommandQueue_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__ -#define __ID3D12DebugCommandList1_FWD_DEFINED__ -typedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1; - -#endif /* __ID3D12DebugCommandList1_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList_FWD_DEFINED__ -#define __ID3D12DebugCommandList_FWD_DEFINED__ -typedef interface ID3D12DebugCommandList ID3D12DebugCommandList; - -#endif /* __ID3D12DebugCommandList_FWD_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList2_FWD_DEFINED__ -#define __ID3D12DebugCommandList2_FWD_DEFINED__ -typedef interface ID3D12DebugCommandList2 ID3D12DebugCommandList2; - -#endif /* __ID3D12DebugCommandList2_FWD_DEFINED__ */ - - -#ifndef __ID3D12SharingContract_FWD_DEFINED__ -#define __ID3D12SharingContract_FWD_DEFINED__ -typedef interface ID3D12SharingContract ID3D12SharingContract; - -#endif /* __ID3D12SharingContract_FWD_DEFINED__ */ - - -#ifndef __ID3D12InfoQueue_FWD_DEFINED__ -#define __ID3D12InfoQueue_FWD_DEFINED__ -typedef interface ID3D12InfoQueue ID3D12InfoQueue; - -#endif /* __ID3D12InfoQueue_FWD_DEFINED__ */ - - -#ifndef __ID3D12InfoQueue1_FWD_DEFINED__ -#define __ID3D12InfoQueue1_FWD_DEFINED__ -typedef interface ID3D12InfoQueue1 ID3D12InfoQueue1; - -#endif /* __ID3D12InfoQueue1_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "OAIdl.h" -#include "OCIdl.h" -#include "d3d12.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0000 */ -/* [local] */ - -#include -#pragma region App Family -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_s_ifspec; - -#ifndef __ID3D12Debug_INTERFACE_DEFINED__ -#define __ID3D12Debug_INTERFACE_DEFINED__ - -/* interface ID3D12Debug */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0") - ID3D12Debug : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug * This); - - END_INTERFACE - } ID3D12DebugVtbl; - - interface ID3D12Debug - { - CONST_VTBL struct ID3D12DebugVtbl *lpVtbl; - }; - - +interface ID3D12Debug { + CONST_VTBL ID3D12DebugVtbl* lpVtbl; +}; #ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Debug_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Debug_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Debug_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Debug methods ***/ +#define ID3D12Debug_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Debug_QueryInterface(ID3D12Debug* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Debug_AddRef(ID3D12Debug* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Debug_Release(ID3D12Debug* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Debug methods ***/ +static __WIDL_INLINE void ID3D12Debug_EnableDebugLayer(ID3D12Debug* This) { + This->lpVtbl->EnableDebugLayer(This); +} +#endif +#endif - -#define ID3D12Debug_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - +#endif #endif /* __ID3D12Debug_INTERFACE_DEFINED__ */ - -/* interface __MIDL_itf_d3d12sdklayers_0000_0001 */ -/* [local] */ - -typedef -enum D3D12_GPU_BASED_VALIDATION_FLAGS - { - D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0, - D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1 - } D3D12_GPU_BASED_VALIDATION_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_FLAGS) - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0001_v0_0_s_ifspec; - +/***************************************************************************** + * ID3D12Debug1 interface + */ #ifndef __ID3D12Debug1_INTERFACE_DEFINED__ #define __ID3D12Debug1_INTERFACE_DEFINED__ -/* interface ID3D12Debug1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug1; - +DEFINE_GUID(IID_ID3D12Debug1, 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8,0xad, 0x15,0x90,0x00,0xaf,0x43,0x04); #if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304") - ID3D12Debug1 : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0; - - virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( - BOOL Enable) = 0; - - virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( - BOOL Enable) = 0; - - }; - - -#else /* C style interface */ +MIDL_INTERFACE("affaa4ca-63fe-4d8e-b8ad-159000af4304") +ID3D12Debug1 : public IUnknown +{ + virtual void STDMETHODCALLTYPE EnableDebugLayer( + ) = 0; - typedef struct ID3D12Debug1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug1 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug1, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug1 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug1 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug1, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug1 * This, - BOOL Enable); - - END_INTERFACE - } ID3D12Debug1Vtbl; + virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( + WINBOOL enable) = 0; - interface ID3D12Debug1 - { - CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl; - }; + virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( + WINBOOL enable) = 0; - +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12Debug1, 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8,0xad, 0x15,0x90,0x00,0xaf,0x43,0x04) +#endif +#else +typedef struct ID3D12Debug1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12Debug1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12Debug1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12Debug1 *This); + + /*** ID3D12Debug1 methods ***/ + void (STDMETHODCALLTYPE *EnableDebugLayer)( + ID3D12Debug1 *This); + + void (STDMETHODCALLTYPE *SetEnableGPUBasedValidation)( + ID3D12Debug1 *This, + WINBOOL enable); + + void (STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation)( + ID3D12Debug1 *This, + WINBOOL enable); + + END_INTERFACE +} ID3D12Debug1Vtbl; + +interface ID3D12Debug1 { + CONST_VTBL ID3D12Debug1Vtbl* lpVtbl; +}; #ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12Debug1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12Debug1_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12Debug1 methods ***/ +#define ID3D12Debug1_EnableDebugLayer(This) (This)->lpVtbl->EnableDebugLayer(This) +#define ID3D12Debug1_SetEnableGPUBasedValidation(This,enable) (This)->lpVtbl->SetEnableGPUBasedValidation(This,enable) +#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,enable) (This)->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12Debug1_QueryInterface(ID3D12Debug1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12Debug1_AddRef(ID3D12Debug1* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12Debug1_Release(ID3D12Debug1* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12Debug1 methods ***/ +static __WIDL_INLINE void ID3D12Debug1_EnableDebugLayer(ID3D12Debug1* This) { + This->lpVtbl->EnableDebugLayer(This); +} +static __WIDL_INLINE void ID3D12Debug1_SetEnableGPUBasedValidation(ID3D12Debug1* This,WINBOOL enable) { + This->lpVtbl->SetEnableGPUBasedValidation(This,enable); +} +static __WIDL_INLINE void ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(ID3D12Debug1* This,WINBOOL enable) { + This->lpVtbl->SetEnableSynchronizedCommandQueueValidation(This,enable); +} +#endif +#endif - -#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug1_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - -#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - +#endif #endif /* __ID3D12Debug1_INTERFACE_DEFINED__ */ - -#ifndef __ID3D12Debug2_INTERFACE_DEFINED__ -#define __ID3D12Debug2_INTERFACE_DEFINED__ - -/* interface ID3D12Debug2 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("93a665c4-a3b2-4e5d-b692-a26ae14e3374") - ID3D12Debug2 : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags( - D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug2Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug2 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug2 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug2 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug2, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug2 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - END_INTERFACE - } ID3D12Debug2Vtbl; - - interface ID3D12Debug2 - { - CONST_VTBL struct ID3D12Debug2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug2_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug3_INTERFACE_DEFINED__ -#define __ID3D12Debug3_INTERFACE_DEFINED__ - -/* interface ID3D12Debug3 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("5cf4e58f-f671-4ff1-a542-3686e3d153d1") - ID3D12Debug3 : public ID3D12Debug - { - public: - virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( - BOOL Enable) = 0; - - virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( - BOOL Enable) = 0; - - virtual void STDMETHODCALLTYPE SetGPUBasedValidationFlags( - D3D12_GPU_BASED_VALIDATION_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug3Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug3 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug3 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug3 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug3 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug3 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug3 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug3 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - END_INTERFACE - } ID3D12Debug3Vtbl; - - interface ID3D12Debug3 - { - CONST_VTBL struct ID3D12Debug3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug3_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug3_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug4_INTERFACE_DEFINED__ -#define __ID3D12Debug4_INTERFACE_DEFINED__ - -/* interface ID3D12Debug4 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug4; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("014b816e-9ec5-4a2f-a845-ffbe441ce13a") - ID3D12Debug4 : public ID3D12Debug3 - { - public: - virtual void STDMETHODCALLTYPE DisableDebugLayer( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug4Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug4 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug4 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug4 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug4 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug4 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug4 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug4 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) - void ( STDMETHODCALLTYPE *DisableDebugLayer )( - ID3D12Debug4 * This); - - END_INTERFACE - } ID3D12Debug4Vtbl; - - interface ID3D12Debug4 - { - CONST_VTBL struct ID3D12Debug4Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug4_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - - -#define ID3D12Debug4_DisableDebugLayer(This) \ - ( (This)->lpVtbl -> DisableDebugLayer(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug4_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug5_INTERFACE_DEFINED__ -#define __ID3D12Debug5_INTERFACE_DEFINED__ - -/* interface ID3D12Debug5 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug5; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("548d6b12-09fa-40e0-9069-5dcd589a52c9") - ID3D12Debug5 : public ID3D12Debug4 - { - public: - virtual void STDMETHODCALLTYPE SetEnableAutoName( - BOOL Enable) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug5Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug5 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug5 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug5 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug5 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) - void ( STDMETHODCALLTYPE *DisableDebugLayer )( - ID3D12Debug5 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName) - void ( STDMETHODCALLTYPE *SetEnableAutoName )( - ID3D12Debug5 * This, - BOOL Enable); - - END_INTERFACE - } ID3D12Debug5Vtbl; - - interface ID3D12Debug5 - { - CONST_VTBL struct ID3D12Debug5Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug5_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - - -#define ID3D12Debug5_DisableDebugLayer(This) \ - ( (This)->lpVtbl -> DisableDebugLayer(This) ) - - -#define ID3D12Debug5_SetEnableAutoName(This,Enable) \ - ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug5_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12Debug6_INTERFACE_DEFINED__ -#define __ID3D12Debug6_INTERFACE_DEFINED__ - -/* interface ID3D12Debug6 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12Debug6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("82a816d6-5d01-4157-97d0-4975463fd1ed") - ID3D12Debug6 : public ID3D12Debug5 - { - public: - virtual void STDMETHODCALLTYPE SetForceLegacyBarrierValidation( - BOOL Enable) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12Debug6Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12Debug6 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug, EnableDebugLayer) - void ( STDMETHODCALLTYPE *EnableDebugLayer )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableGPUBasedValidation) - void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( - ID3D12Debug6 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetEnableSynchronizedCommandQueueValidation) - void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( - ID3D12Debug6 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug3, SetGPUBasedValidationFlags) - void ( STDMETHODCALLTYPE *SetGPUBasedValidationFlags )( - ID3D12Debug6 * This, - D3D12_GPU_BASED_VALIDATION_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12Debug4, DisableDebugLayer) - void ( STDMETHODCALLTYPE *DisableDebugLayer )( - ID3D12Debug6 * This); - - DECLSPEC_XFGVIRT(ID3D12Debug5, SetEnableAutoName) - void ( STDMETHODCALLTYPE *SetEnableAutoName )( - ID3D12Debug6 * This, - BOOL Enable); - - DECLSPEC_XFGVIRT(ID3D12Debug6, SetForceLegacyBarrierValidation) - void ( STDMETHODCALLTYPE *SetForceLegacyBarrierValidation )( - ID3D12Debug6 * This, - BOOL Enable); - - END_INTERFACE - } ID3D12Debug6Vtbl; - - interface ID3D12Debug6 - { - CONST_VTBL struct ID3D12Debug6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12Debug6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12Debug6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12Debug6_EnableDebugLayer(This) \ - ( (This)->lpVtbl -> EnableDebugLayer(This) ) - - -#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) - -#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ - ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) - -#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \ - ( (This)->lpVtbl -> SetGPUBasedValidationFlags(This,Flags) ) - - -#define ID3D12Debug6_DisableDebugLayer(This) \ - ( (This)->lpVtbl -> DisableDebugLayer(This) ) - - -#define ID3D12Debug6_SetEnableAutoName(This,Enable) \ - ( (This)->lpVtbl -> SetEnableAutoName(This,Enable) ) - - -#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \ - ( (This)->lpVtbl -> SetForceLegacyBarrierValidation(This,Enable) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12Debug6_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */ -/* [local] */ - -DEFINE_GUID(WKPDID_D3DAutoDebugObjectNameW, 0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd); -typedef -enum D3D12_RLDO_FLAGS - { - D3D12_RLDO_NONE = 0, - D3D12_RLDO_SUMMARY = 0x1, - D3D12_RLDO_DETAIL = 0x2, - D3D12_RLDO_IGNORE_INTERNAL = 0x4 - } D3D12_RLDO_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS) -typedef -enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE - { - D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0, - D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) , - D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 ) - } D3D12_DEBUG_DEVICE_PARAMETER_TYPE; - -typedef -enum D3D12_DEBUG_FEATURE - { - D3D12_DEBUG_FEATURE_NONE = 0, - D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1, - D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2, - D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4, - D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8 - } D3D12_DEBUG_FEATURE; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE) -typedef -enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE - { - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0, - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) , - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) , - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) , - NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 ) - } D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE; - -typedef -enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS - { - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7 - } D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS) -typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS - { - UINT MaxMessagesPerCommandList; - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode; - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags; - } D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS; - -typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR - { - FLOAT SlowdownFactor; - } D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR; - - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec; - -#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__ -#define __ID3D12DebugDevice1_INTERFACE_DEFINED__ - -/* interface ID3D12DebugDevice1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugDevice1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("a9b71770-d099-4a65-a698-3dee10020f88") - ID3D12DebugDevice1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( - D3D12_RLDO_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugDevice1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugDevice1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugDevice1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugDevice1 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice1, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugDevice1 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice1, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugDevice1 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice1, ReportLiveDeviceObjects) - HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( - ID3D12DebugDevice1 * This, - D3D12_RLDO_FLAGS Flags); - - END_INTERFACE - } ID3D12DebugDevice1Vtbl; - - interface ID3D12DebugDevice1 - { - CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugDevice1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugDevice1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \ - ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__ -#define __ID3D12DebugDevice_INTERFACE_DEFINED__ - -/* interface ID3D12DebugDevice */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugDevice; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3febd6dd-4973-4787-8194-e45f9e28923e") - ID3D12DebugDevice : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( - D3D12_DEBUG_FEATURE Mask) = 0; - - virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( - D3D12_RLDO_FLAGS Flags) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugDeviceVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugDevice * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugDevice * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugDevice * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugDevice * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugDevice * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects) - HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( - ID3D12DebugDevice * This, - D3D12_RLDO_FLAGS Flags); - - END_INTERFACE - } ID3D12DebugDeviceVtbl; - - interface ID3D12DebugDevice - { - CONST_VTBL struct ID3D12DebugDeviceVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugDevice_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugDevice_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugDevice_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugDevice_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - -#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \ - ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugDevice_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugDevice2_INTERFACE_DEFINED__ -#define __ID3D12DebugDevice2_INTERFACE_DEFINED__ - -/* interface ID3D12DebugDevice2 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugDevice2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd") - ID3D12DebugDevice2 : public ID3D12DebugDevice - { - public: - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugDevice2Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugDevice2 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugDevice2 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugDevice2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugDevice2 * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugDevice2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice, ReportLiveDeviceObjects) - HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( - ID3D12DebugDevice2 * This, - D3D12_RLDO_FLAGS Flags); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice2, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugDevice2 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugDevice2, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugDevice2 * This, - D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - END_INTERFACE - } ID3D12DebugDevice2Vtbl; - - interface ID3D12DebugDevice2 - { - CONST_VTBL struct ID3D12DebugDevice2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugDevice2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugDevice2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugDevice2_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - -#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \ - ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) - - -#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugDevice2_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0010 */ -/* [local] */ - -DEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95); - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0010_v0_0_s_ifspec; - -#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandQueue */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandQueue; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053a") - ID3D12DebugCommandQueue : public IUnknown - { - public: - virtual BOOL STDMETHODCALLTYPE AssertResourceState( - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandQueueVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandQueue * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandQueue * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandQueue * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandQueue, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandQueue * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - END_INTERFACE - } ID3D12DebugCommandQueueVtbl; - - interface ID3D12DebugCommandQueue - { - CONST_VTBL struct ID3D12DebugCommandQueueVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandQueue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandQueue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0011 */ -/* [local] */ - -typedef -enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE - { - D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0 - } D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE; - -typedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS - { - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode; - } D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS; - - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0011_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0011_v0_0_s_ifspec; - -#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandList1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandList1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("102ca951-311b-4b01-b11f-ecb83e061b37") - ID3D12DebugCommandList1 : public IUnknown - { - public: - virtual BOOL STDMETHODCALLTYPE AssertResourceState( - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandList1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandList1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandList1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandList1 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandList1 * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugCommandList1 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList1, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugCommandList1 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - END_INTERFACE - } ID3D12DebugCommandList1Vtbl; - - interface ID3D12DebugCommandList1 - { - CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandList1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandList1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandList_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandList */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandList; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("09e0bf36-54ac-484f-8847-4baeeab6053f") - ID3D12DebugCommandList : public IUnknown - { - public: - virtual BOOL STDMETHODCALLTYPE AssertResourceState( - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( - D3D12_DEBUG_FEATURE Mask) = 0; - - virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandListVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandList * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandList * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandList * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandList * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugCommandList * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugCommandList * This); - - END_INTERFACE - } ID3D12DebugCommandListVtbl; - - interface ID3D12DebugCommandList - { - CONST_VTBL struct ID3D12DebugCommandListVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandList_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandList_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugCommandList_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12DebugCommandList2_INTERFACE_DEFINED__ -#define __ID3D12DebugCommandList2_INTERFACE_DEFINED__ - -/* interface ID3D12DebugCommandList2 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12DebugCommandList2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("aeb575cf-4e06-48be-ba3b-c450fc96652e") - ID3D12DebugCommandList2 : public ID3D12DebugCommandList - { - public: - virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12DebugCommandList2Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12DebugCommandList2 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12DebugCommandList2 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12DebugCommandList2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, AssertResourceState) - BOOL ( STDMETHODCALLTYPE *AssertResourceState )( - ID3D12DebugCommandList2 * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - UINT State); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, SetFeatureMask) - HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( - ID3D12DebugCommandList2 * This, - D3D12_DEBUG_FEATURE Mask); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList, GetFeatureMask) - D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( - ID3D12DebugCommandList2 * This); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, SetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( - ID3D12DebugCommandList2 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _In_reads_bytes_(DataSize) const void *pData, - UINT DataSize); - - DECLSPEC_XFGVIRT(ID3D12DebugCommandList2, GetDebugParameter) - HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( - ID3D12DebugCommandList2 * This, - D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, - _Out_writes_bytes_(DataSize) void *pData, - UINT DataSize); - - END_INTERFACE - } ID3D12DebugCommandList2Vtbl; - - interface ID3D12DebugCommandList2 - { - CONST_VTBL struct ID3D12DebugCommandList2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12DebugCommandList2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12DebugCommandList2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \ - ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) - -#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \ - ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) - -#define ID3D12DebugCommandList2_GetFeatureMask(This) \ - ( (This)->lpVtbl -> GetFeatureMask(This) ) - - -#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) - -#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \ - ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12DebugCommandList2_INTERFACE_DEFINED__ */ - - -#ifndef __ID3D12SharingContract_INTERFACE_DEFINED__ -#define __ID3D12SharingContract_INTERFACE_DEFINED__ - -/* interface ID3D12SharingContract */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12SharingContract; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("0adf7d52-929c-4e61-addb-ffed30de66ef") - ID3D12SharingContract : public IUnknown - { - public: - virtual void STDMETHODCALLTYPE Present( - _In_ ID3D12Resource *pResource, - UINT Subresource, - _In_ HWND window) = 0; - - virtual void STDMETHODCALLTYPE SharedFenceSignal( - _In_ ID3D12Fence *pFence, - UINT64 FenceValue) = 0; - - virtual void STDMETHODCALLTYPE BeginCapturableWork( - _In_ REFGUID guid) = 0; - - virtual void STDMETHODCALLTYPE EndCapturableWork( - _In_ REFGUID guid) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12SharingContractVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12SharingContract * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12SharingContract * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12SharingContract * This); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, Present) - void ( STDMETHODCALLTYPE *Present )( - ID3D12SharingContract * This, - _In_ ID3D12Resource *pResource, - UINT Subresource, - _In_ HWND window); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, SharedFenceSignal) - void ( STDMETHODCALLTYPE *SharedFenceSignal )( - ID3D12SharingContract * This, - _In_ ID3D12Fence *pFence, - UINT64 FenceValue); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, BeginCapturableWork) - void ( STDMETHODCALLTYPE *BeginCapturableWork )( - ID3D12SharingContract * This, - _In_ REFGUID guid); - - DECLSPEC_XFGVIRT(ID3D12SharingContract, EndCapturableWork) - void ( STDMETHODCALLTYPE *EndCapturableWork )( - ID3D12SharingContract * This, - _In_ REFGUID guid); - - END_INTERFACE - } ID3D12SharingContractVtbl; - - interface ID3D12SharingContract - { - CONST_VTBL struct ID3D12SharingContractVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12SharingContract_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12SharingContract_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12SharingContract_Present(This,pResource,Subresource,window) \ - ( (This)->lpVtbl -> Present(This,pResource,Subresource,window) ) - -#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \ - ( (This)->lpVtbl -> SharedFenceSignal(This,pFence,FenceValue) ) - -#define ID3D12SharingContract_BeginCapturableWork(This,guid) \ - ( (This)->lpVtbl -> BeginCapturableWork(This,guid) ) - -#define ID3D12SharingContract_EndCapturableWork(This,guid) \ - ( (This)->lpVtbl -> EndCapturableWork(This,guid) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12SharingContract_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0015 */ -/* [local] */ - -typedef -enum D3D12_MESSAGE_CATEGORY - { - D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, - D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = ( D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1 ) , - D3D12_MESSAGE_CATEGORY_INITIALIZATION = ( D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) , - D3D12_MESSAGE_CATEGORY_CLEANUP = ( D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1 ) , - D3D12_MESSAGE_CATEGORY_COMPILATION = ( D3D12_MESSAGE_CATEGORY_CLEANUP + 1 ) , - D3D12_MESSAGE_CATEGORY_STATE_CREATION = ( D3D12_MESSAGE_CATEGORY_COMPILATION + 1 ) , - D3D12_MESSAGE_CATEGORY_STATE_SETTING = ( D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1 ) , - D3D12_MESSAGE_CATEGORY_STATE_GETTING = ( D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1 ) , - D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = ( D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1 ) , - D3D12_MESSAGE_CATEGORY_EXECUTION = ( D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) , - D3D12_MESSAGE_CATEGORY_SHADER = ( D3D12_MESSAGE_CATEGORY_EXECUTION + 1 ) - } D3D12_MESSAGE_CATEGORY; - -typedef -enum D3D12_MESSAGE_SEVERITY - { - D3D12_MESSAGE_SEVERITY_CORRUPTION = 0, - D3D12_MESSAGE_SEVERITY_ERROR = ( D3D12_MESSAGE_SEVERITY_CORRUPTION + 1 ) , - D3D12_MESSAGE_SEVERITY_WARNING = ( D3D12_MESSAGE_SEVERITY_ERROR + 1 ) , - D3D12_MESSAGE_SEVERITY_INFO = ( D3D12_MESSAGE_SEVERITY_WARNING + 1 ) , - D3D12_MESSAGE_SEVERITY_MESSAGE = ( D3D12_MESSAGE_SEVERITY_INFO + 1 ) - } D3D12_MESSAGE_SEVERITY; - -typedef -enum D3D12_MESSAGE_ID - { - D3D12_MESSAGE_ID_UNKNOWN = 0, - D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, - D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, - D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, - D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, - D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, - D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, - D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, - D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, - D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, - D3D12_MESSAGE_ID_LIVE_DEVICE = 274, - D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, - D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, - D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, - D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, - D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, - D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, - D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, - D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, - D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, - D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, - D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, - D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, - D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, - D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, - D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, - D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, - D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, - D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, - D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, - D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, - D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, - D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, - D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, - D3D12_MESSAGE_ID_CREATE_HEAP = 566, - D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, - D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, - D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, - D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, - D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, - D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, - D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, - D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, - D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, - D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, - D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, - D3D12_MESSAGE_ID_LIVE_HEAP = 579, - D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, - D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, - D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, - D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, - D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, - D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, - D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, - D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, - D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, - D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, - D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, - D3D12_MESSAGE_ID_DESTROY_HEAP = 592, - D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, - D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, - D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, - D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, - D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, - D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, - D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, - D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, - D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, - D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, - D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, - D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, - D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, - D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, - D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, - D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, - D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, - D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, - D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, - D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, - D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, - D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, - D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, - D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, - D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, - D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, - D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, - D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, - D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, - D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, - D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, - D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, - D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, - D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, - D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, - D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, - D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, - D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, - D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, - D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, - D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739, - D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740, - D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, - D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, - D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, - D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, - D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, - D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, - D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, - D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, - D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, - D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, - D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, - D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, - D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, - D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, - D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, - D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, - D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, - D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, - D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, - D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, - D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, - D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, - D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, - D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, - D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, - D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, - D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, - D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, - D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, - D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, - D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, - D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, - D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, - D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, - D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, - D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, - D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, - D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, - D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, - D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, - D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, - D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, - D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, - D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, - D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, - D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942, - D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944, - D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950, - D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951, - D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952, - D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954, - D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958, - D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959, - D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965, - D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966, - D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967, - D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968, - D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969, - D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970, - D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971, - D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972, - D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974, - D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975, - D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976, - D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978, - D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979, - D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980, - D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981, - D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982, - D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983, - D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987, - D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988, - D3D12_MESSAGE_ID_DEPRECATED_API = 989, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990, - D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994, - D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995, - D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996, - D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997, - D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998, - D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000, - D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001, - D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002, - D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006, - D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008, - D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009, - D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013, - D3D12_MESSAGE_ID_BEGIN_EVENT = 1014, - D3D12_MESSAGE_ID_END_EVENT = 1015, - D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022, - D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023, - D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024, - D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040, - D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041, - D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042, - D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044, - D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046, - D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047, - D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048, - D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050, - D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053, - D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065, - D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066, - D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067, - D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068, - D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069, - D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070, - D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071, - D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072, - D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073, - D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074, - D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075, - D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076, - D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077, - D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079, - D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080, - D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081, - D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082, - D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083, - D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092, - D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093, - D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094, - D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095, - D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097, - D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098, - D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099, - D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100, - D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101, - D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105, - D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106, - D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107, - D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108, - D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109, - D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110, - D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111, - D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112, - D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113, - D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114, - D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115, - D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116, - D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120, - D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121, - D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122, - D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123, - D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124, - D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125, - D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126, - D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127, - D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128, - D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130, - D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131, - D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132, - D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133, - D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134, - D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135, - D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136, - D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137, - D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138, - D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151, - D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152, - D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153, - D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154, - D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155, - D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156, - D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157, - D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158, - D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159, - D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160, - D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161, - D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162, - D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163, - D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164, - D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165, - D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166, - D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167, - D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168, - D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169, - D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170, - D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171, - D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172, - D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173, - D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174, - D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175, - D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182, - D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183, - D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184, - D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185, - D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186, - D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187, - D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188, - D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189, - D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190, - D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191, - D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192, - D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193, - D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194, - D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195, - D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196, - D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197, - D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198, - D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199, - D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200, - D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201, - D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202, - D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203, - D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204, - D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205, - D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206, - D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207, - D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208, - D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209, - D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210, - D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211, - D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212, - D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213, - D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214, - D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215, - D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216, - D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217, - D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218, - D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219, - D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220, - D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221, - D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222, - D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223, - D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224, - D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225, - D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226, - D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227, - D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228, - D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230, - D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231, - D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232, - D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233, - D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234, - D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235, - D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236, - D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241, - D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242, - D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245, - D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246, - D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251, - D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253, - D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254, - D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264, - D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265, - D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266, - D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270, - D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271, - D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272, - D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273, - D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274, - D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275, - D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277, - D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278, - D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279, - D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280, - D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281, - D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282, - D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283, - D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284, - D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289, - D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290, - D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291, - D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292, - D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293, - D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294, - D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295, - D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299, - D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300, - D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301, - D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303, - D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304, - D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305, - D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306, - D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307, - D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311, - D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312, - D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313, - D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314, - D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317, - D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318, - D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319, - D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320, - D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321, - D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322, - D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323, - D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324, - D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325, - D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326, - D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327, - D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328, - D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335, - D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336, - D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337, - D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338, - D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339, - D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340, - D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342, - D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343, - D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED + 1 ) - } D3D12_MESSAGE_ID; - -typedef struct D3D12_MESSAGE - { - D3D12_MESSAGE_CATEGORY Category; - D3D12_MESSAGE_SEVERITY Severity; - D3D12_MESSAGE_ID ID; - _Field_size_(DescriptionByteLength) const char *pDescription; - SIZE_T DescriptionByteLength; - } D3D12_MESSAGE; - -typedef struct D3D12_INFO_QUEUE_FILTER_DESC - { - UINT NumCategories; - _Field_size_(NumCategories) D3D12_MESSAGE_CATEGORY *pCategoryList; - UINT NumSeverities; - _Field_size_(NumSeverities) D3D12_MESSAGE_SEVERITY *pSeverityList; - UINT NumIDs; - _Field_size_(NumIDs) D3D12_MESSAGE_ID *pIDList; - } D3D12_INFO_QUEUE_FILTER_DESC; - -typedef struct D3D12_INFO_QUEUE_FILTER - { - D3D12_INFO_QUEUE_FILTER_DESC AllowList; - D3D12_INFO_QUEUE_FILTER_DESC DenyList; - } D3D12_INFO_QUEUE_FILTER; - -#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024 - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0015_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0015_v0_0_s_ifspec; - +/***************************************************************************** + * ID3D12InfoQueue interface + */ #ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__ #define __ID3D12InfoQueue_INTERFACE_DEFINED__ -/* interface ID3D12InfoQueue */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12InfoQueue; - +DEFINE_GUID(IID_ID3D12InfoQueue, 0x0742a90b, 0xc387, 0x483f, 0xb9,0x46, 0x30,0xa7,0xe4,0xe6,0x14,0x58); #if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458") - ID3D12InfoQueue : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit( - _In_ UINT64 MessageCountLimit) = 0; - - virtual void STDMETHODCALLTYPE ClearStoredMessages( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMessage( - _In_ UINT64 MessageIndex, - D3D12_MESSAGE *pMessage, - _Inout_ SIZE_T *pMessageByteLength) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( void) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStorageFilter( - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength) = 0; - - virtual void STDMETHODCALLTYPE ClearStorageFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushStorageFilter( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual void STDMETHODCALLTYPE PopStorageFilter( void) = 0; - - virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter( - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength) = 0; - - virtual void STDMETHODCALLTYPE ClearRetrievalFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter( - _In_ D3D12_INFO_QUEUE_FILTER *pFilter) = 0; - - virtual void STDMETHODCALLTYPE PopRetrievalFilter( void) = 0; - - virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddMessage( - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ D3D12_MESSAGE_ID ID, - _In_ LPCSTR pDescription) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage( - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ LPCSTR pDescription) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory( - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ BOOL bEnable) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity( - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ BOOL bEnable) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBreakOnID( - _In_ D3D12_MESSAGE_ID ID, - _In_ BOOL bEnable) = 0; - - virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory( - _In_ D3D12_MESSAGE_CATEGORY Category) = 0; - - virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity( - _In_ D3D12_MESSAGE_SEVERITY Severity) = 0; - - virtual BOOL STDMETHODCALLTYPE GetBreakOnID( - _In_ D3D12_MESSAGE_ID ID) = 0; - - virtual void STDMETHODCALLTYPE SetMuteDebugOutput( - _In_ BOOL bMute) = 0; - - virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput( void) = 0; - - }; - - -#else /* C style interface */ +MIDL_INTERFACE("0742a90b-c387-483f-b946-30a7e4e61458") +ID3D12InfoQueue : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit( + UINT64 limit) = 0; - typedef struct ID3D12InfoQueueVtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12InfoQueue * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit) - HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( - ID3D12InfoQueue * This, - _In_ UINT64 MessageCountLimit); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages) - void ( STDMETHODCALLTYPE *ClearStoredMessages )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage) - HRESULT ( STDMETHODCALLTYPE *GetMessage )( - ID3D12InfoQueue * This, - _In_ UINT64 MessageIndex, - D3D12_MESSAGE *pMessage, - _Inout_ SIZE_T *pMessageByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter) - HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( - ID3D12InfoQueue * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter) - void ( STDMETHODCALLTYPE *ClearStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter) - void ( STDMETHODCALLTYPE *PopStorageFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( - ID3D12InfoQueue * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter) - void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( - ID3D12InfoQueue * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter) - void ( STDMETHODCALLTYPE *PopRetrievalFilter )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( - ID3D12InfoQueue * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage) - HRESULT ( STDMETHODCALLTYPE *AddMessage )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ D3D12_MESSAGE_ID ID, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage) - HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_ID ID, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory) - BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_CATEGORY Category); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity) - BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_SEVERITY Severity); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID) - BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( - ID3D12InfoQueue * This, - _In_ D3D12_MESSAGE_ID ID); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput) - void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( - ID3D12InfoQueue * This, - _In_ BOOL bMute); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput) - BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( - ID3D12InfoQueue * This); - - END_INTERFACE - } ID3D12InfoQueueVtbl; + virtual void STDMETHODCALLTYPE ClearStoredMessages( + ) = 0; - interface ID3D12InfoQueue - { - CONST_VTBL struct ID3D12InfoQueueVtbl *lpVtbl; - }; + virtual HRESULT STDMETHODCALLTYPE GetMessage( + UINT64 index, + D3D12_MESSAGE *message, + SIZE_T *length) = 0; - + virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( + ) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( + ) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( + ) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( + ) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( + ) = 0; + + virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries( + D3D12_INFO_QUEUE_FILTER *filter) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStorageFilter( + D3D12_INFO_QUEUE_FILTER *filter, + SIZE_T *length) = 0; + + virtual void STDMETHODCALLTYPE ClearStorageFilter( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE PushStorageFilter( + D3D12_INFO_QUEUE_FILTER *filter) = 0; + + virtual void STDMETHODCALLTYPE PopStorageFilter( + ) = 0; + + virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries( + D3D12_INFO_QUEUE_FILTER *filter) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter( + D3D12_INFO_QUEUE_FILTER *filter, + SIZE_T *length) = 0; + + virtual void STDMETHODCALLTYPE ClearRetrievalFilter( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter( + D3D12_INFO_QUEUE_FILTER *filter) = 0; + + virtual void STDMETHODCALLTYPE PopRetrievalFilter( + ) = 0; + + virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddMessage( + D3D12_MESSAGE_CATEGORY category, + D3D12_MESSAGE_SEVERITY severity, + D3D12_MESSAGE_ID id, + const char *description) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage( + D3D12_MESSAGE_SEVERITY severity, + const char *description) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory( + D3D12_MESSAGE_CATEGORY category, + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity( + D3D12_MESSAGE_SEVERITY severity, + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBreakOnID( + D3D12_MESSAGE_ID id, + WINBOOL enable) = 0; + + virtual WINBOOL STDMETHODCALLTYPE GetBreakOnCategory( + D3D12_MESSAGE_CATEGORY category) = 0; + + virtual WINBOOL STDMETHODCALLTYPE GetBreakOnSeverity( + D3D12_MESSAGE_SEVERITY severity) = 0; + + virtual WINBOOL STDMETHODCALLTYPE GetBreakOnID( + D3D12_MESSAGE_ID id) = 0; + + virtual void STDMETHODCALLTYPE SetMuteDebugOutput( + WINBOOL mute) = 0; + + virtual WINBOOL STDMETHODCALLTYPE GetMuteDebugOutput( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ID3D12InfoQueue, 0x0742a90b, 0xc387, 0x483f, 0xb9,0x46, 0x30,0xa7,0xe4,0xe6,0x14,0x58) +#endif +#else +typedef struct ID3D12InfoQueueVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ID3D12InfoQueue *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ID3D12InfoQueue *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ID3D12InfoQueue *This); + + /*** ID3D12InfoQueue methods ***/ + HRESULT (STDMETHODCALLTYPE *SetMessageCountLimit)( + ID3D12InfoQueue *This, + UINT64 limit); + + void (STDMETHODCALLTYPE *ClearStoredMessages)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *GetMessage)( + ID3D12InfoQueue *This, + UINT64 index, + D3D12_MESSAGE *message, + SIZE_T *length); + + UINT64 (STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter)( + ID3D12InfoQueue *This); + + UINT64 (STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter)( + ID3D12InfoQueue *This); + + UINT64 (STDMETHODCALLTYPE *GetNumStoredMessages)( + ID3D12InfoQueue *This); + + UINT64 (STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter)( + ID3D12InfoQueue *This); + + UINT64 (STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit)( + ID3D12InfoQueue *This); + + UINT64 (STDMETHODCALLTYPE *GetMessageCountLimit)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *AddStorageFilterEntries)( + ID3D12InfoQueue *This, + D3D12_INFO_QUEUE_FILTER *filter); + + HRESULT (STDMETHODCALLTYPE *GetStorageFilter)( + ID3D12InfoQueue *This, + D3D12_INFO_QUEUE_FILTER *filter, + SIZE_T *length); + + void (STDMETHODCALLTYPE *ClearStorageFilter)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *PushEmptyStorageFilter)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *PushCopyOfStorageFilter)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *PushStorageFilter)( + ID3D12InfoQueue *This, + D3D12_INFO_QUEUE_FILTER *filter); + + void (STDMETHODCALLTYPE *PopStorageFilter)( + ID3D12InfoQueue *This); + + UINT (STDMETHODCALLTYPE *GetStorageFilterStackSize)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *AddRetrievalFilterEntries)( + ID3D12InfoQueue *This, + D3D12_INFO_QUEUE_FILTER *filter); + + HRESULT (STDMETHODCALLTYPE *GetRetrievalFilter)( + ID3D12InfoQueue *This, + D3D12_INFO_QUEUE_FILTER *filter, + SIZE_T *length); + + void (STDMETHODCALLTYPE *ClearRetrievalFilter)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *PushEmptyRetrievalFilter)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *PushCopyOfRetrievalFilter)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *PushRetrievalFilter)( + ID3D12InfoQueue *This, + D3D12_INFO_QUEUE_FILTER *filter); + + void (STDMETHODCALLTYPE *PopRetrievalFilter)( + ID3D12InfoQueue *This); + + UINT (STDMETHODCALLTYPE *GetRetrievalFilterStackSize)( + ID3D12InfoQueue *This); + + HRESULT (STDMETHODCALLTYPE *AddMessage)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_CATEGORY category, + D3D12_MESSAGE_SEVERITY severity, + D3D12_MESSAGE_ID id, + const char *description); + + HRESULT (STDMETHODCALLTYPE *AddApplicationMessage)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_SEVERITY severity, + const char *description); + + HRESULT (STDMETHODCALLTYPE *SetBreakOnCategory)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_CATEGORY category, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *SetBreakOnSeverity)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_SEVERITY severity, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *SetBreakOnID)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_ID id, + WINBOOL enable); + + WINBOOL (STDMETHODCALLTYPE *GetBreakOnCategory)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_CATEGORY category); + + WINBOOL (STDMETHODCALLTYPE *GetBreakOnSeverity)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_SEVERITY severity); + + WINBOOL (STDMETHODCALLTYPE *GetBreakOnID)( + ID3D12InfoQueue *This, + D3D12_MESSAGE_ID id); + + void (STDMETHODCALLTYPE *SetMuteDebugOutput)( + ID3D12InfoQueue *This, + WINBOOL mute); + + WINBOOL (STDMETHODCALLTYPE *GetMuteDebugOutput)( + ID3D12InfoQueue *This); + + END_INTERFACE +} ID3D12InfoQueueVtbl; + +interface ID3D12InfoQueue { + CONST_VTBL ID3D12InfoQueueVtbl* lpVtbl; +}; #ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ID3D12InfoQueue_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ID3D12InfoQueue_Release(This) (This)->lpVtbl->Release(This) +/*** ID3D12InfoQueue methods ***/ +#define ID3D12InfoQueue_SetMessageCountLimit(This,limit) (This)->lpVtbl->SetMessageCountLimit(This,limit) +#define ID3D12InfoQueue_ClearStoredMessages(This) (This)->lpVtbl->ClearStoredMessages(This) +#define ID3D12InfoQueue_GetMessage(This,index,message,length) (This)->lpVtbl->GetMessage(This,index,message,length) +#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesAllowedByStorageFilter(This) +#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) (This)->lpVtbl->GetNumMessagesDeniedByStorageFilter(This) +#define ID3D12InfoQueue_GetNumStoredMessages(This) (This)->lpVtbl->GetNumStoredMessages(This) +#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) (This)->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This) +#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) (This)->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This) +#define ID3D12InfoQueue_GetMessageCountLimit(This) (This)->lpVtbl->GetMessageCountLimit(This) +#define ID3D12InfoQueue_AddStorageFilterEntries(This,filter) (This)->lpVtbl->AddStorageFilterEntries(This,filter) +#define ID3D12InfoQueue_GetStorageFilter(This,filter,length) (This)->lpVtbl->GetStorageFilter(This,filter,length) +#define ID3D12InfoQueue_ClearStorageFilter(This) (This)->lpVtbl->ClearStorageFilter(This) +#define ID3D12InfoQueue_PushEmptyStorageFilter(This) (This)->lpVtbl->PushEmptyStorageFilter(This) +#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) (This)->lpVtbl->PushCopyOfStorageFilter(This) +#define ID3D12InfoQueue_PushStorageFilter(This,filter) (This)->lpVtbl->PushStorageFilter(This,filter) +#define ID3D12InfoQueue_PopStorageFilter(This) (This)->lpVtbl->PopStorageFilter(This) +#define ID3D12InfoQueue_GetStorageFilterStackSize(This) (This)->lpVtbl->GetStorageFilterStackSize(This) +#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,filter) (This)->lpVtbl->AddRetrievalFilterEntries(This,filter) +#define ID3D12InfoQueue_GetRetrievalFilter(This,filter,length) (This)->lpVtbl->GetRetrievalFilter(This,filter,length) +#define ID3D12InfoQueue_ClearRetrievalFilter(This) (This)->lpVtbl->ClearRetrievalFilter(This) +#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) (This)->lpVtbl->PushEmptyRetrievalFilter(This) +#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) (This)->lpVtbl->PushCopyOfRetrievalFilter(This) +#define ID3D12InfoQueue_PushRetrievalFilter(This,filter) (This)->lpVtbl->PushRetrievalFilter(This,filter) +#define ID3D12InfoQueue_PopRetrievalFilter(This) (This)->lpVtbl->PopRetrievalFilter(This) +#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) (This)->lpVtbl->GetRetrievalFilterStackSize(This) +#define ID3D12InfoQueue_AddMessage(This,category,severity,id,description) (This)->lpVtbl->AddMessage(This,category,severity,id,description) +#define ID3D12InfoQueue_AddApplicationMessage(This,severity,description) (This)->lpVtbl->AddApplicationMessage(This,severity,description) +#define ID3D12InfoQueue_SetBreakOnCategory(This,category,enable) (This)->lpVtbl->SetBreakOnCategory(This,category,enable) +#define ID3D12InfoQueue_SetBreakOnSeverity(This,severity,enable) (This)->lpVtbl->SetBreakOnSeverity(This,severity,enable) +#define ID3D12InfoQueue_SetBreakOnID(This,id,enable) (This)->lpVtbl->SetBreakOnID(This,id,enable) +#define ID3D12InfoQueue_GetBreakOnCategory(This,category) (This)->lpVtbl->GetBreakOnCategory(This,category) +#define ID3D12InfoQueue_GetBreakOnSeverity(This,severity) (This)->lpVtbl->GetBreakOnSeverity(This,severity) +#define ID3D12InfoQueue_GetBreakOnID(This,id) (This)->lpVtbl->GetBreakOnID(This,id) +#define ID3D12InfoQueue_SetMuteDebugOutput(This,mute) (This)->lpVtbl->SetMuteDebugOutput(This,mute) +#define ID3D12InfoQueue_GetMuteDebugOutput(This) (This)->lpVtbl->GetMuteDebugOutput(This) +#else +/*** IUnknown methods ***/ +static __WIDL_INLINE HRESULT ID3D12InfoQueue_QueryInterface(ID3D12InfoQueue* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static __WIDL_INLINE ULONG ID3D12InfoQueue_AddRef(ID3D12InfoQueue* This) { + return This->lpVtbl->AddRef(This); +} +static __WIDL_INLINE ULONG ID3D12InfoQueue_Release(ID3D12InfoQueue* This) { + return This->lpVtbl->Release(This); +} +/*** ID3D12InfoQueue methods ***/ +static __WIDL_INLINE HRESULT ID3D12InfoQueue_SetMessageCountLimit(ID3D12InfoQueue* This,UINT64 limit) { + return This->lpVtbl->SetMessageCountLimit(This,limit); +} +static __WIDL_INLINE void ID3D12InfoQueue_ClearStoredMessages(ID3D12InfoQueue* This) { + This->lpVtbl->ClearStoredMessages(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_GetMessage(ID3D12InfoQueue* This,UINT64 index,D3D12_MESSAGE *message,SIZE_T *length) { + return This->lpVtbl->GetMessage(This,index,message,length); +} +static __WIDL_INLINE UINT64 ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->GetNumMessagesAllowedByStorageFilter(This); +} +static __WIDL_INLINE UINT64 ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->GetNumMessagesDeniedByStorageFilter(This); +} +static __WIDL_INLINE UINT64 ID3D12InfoQueue_GetNumStoredMessages(ID3D12InfoQueue* This) { + return This->lpVtbl->GetNumStoredMessages(This); +} +static __WIDL_INLINE UINT64 ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilter(This); +} +static __WIDL_INLINE UINT64 ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(ID3D12InfoQueue* This) { + return This->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This); +} +static __WIDL_INLINE UINT64 ID3D12InfoQueue_GetMessageCountLimit(ID3D12InfoQueue* This) { + return This->lpVtbl->GetMessageCountLimit(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_AddStorageFilterEntries(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) { + return This->lpVtbl->AddStorageFilterEntries(This,filter); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_GetStorageFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) { + return This->lpVtbl->GetStorageFilter(This,filter,length); +} +static __WIDL_INLINE void ID3D12InfoQueue_ClearStorageFilter(ID3D12InfoQueue* This) { + This->lpVtbl->ClearStorageFilter(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_PushEmptyStorageFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->PushEmptyStorageFilter(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_PushCopyOfStorageFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->PushCopyOfStorageFilter(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_PushStorageFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) { + return This->lpVtbl->PushStorageFilter(This,filter); +} +static __WIDL_INLINE void ID3D12InfoQueue_PopStorageFilter(ID3D12InfoQueue* This) { + This->lpVtbl->PopStorageFilter(This); +} +static __WIDL_INLINE UINT ID3D12InfoQueue_GetStorageFilterStackSize(ID3D12InfoQueue* This) { + return This->lpVtbl->GetStorageFilterStackSize(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_AddRetrievalFilterEntries(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) { + return This->lpVtbl->AddRetrievalFilterEntries(This,filter); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_GetRetrievalFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter,SIZE_T *length) { + return This->lpVtbl->GetRetrievalFilter(This,filter,length); +} +static __WIDL_INLINE void ID3D12InfoQueue_ClearRetrievalFilter(ID3D12InfoQueue* This) { + This->lpVtbl->ClearRetrievalFilter(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_PushEmptyRetrievalFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->PushEmptyRetrievalFilter(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_PushCopyOfRetrievalFilter(ID3D12InfoQueue* This) { + return This->lpVtbl->PushCopyOfRetrievalFilter(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_PushRetrievalFilter(ID3D12InfoQueue* This,D3D12_INFO_QUEUE_FILTER *filter) { + return This->lpVtbl->PushRetrievalFilter(This,filter); +} +static __WIDL_INLINE void ID3D12InfoQueue_PopRetrievalFilter(ID3D12InfoQueue* This) { + This->lpVtbl->PopRetrievalFilter(This); +} +static __WIDL_INLINE UINT ID3D12InfoQueue_GetRetrievalFilterStackSize(ID3D12InfoQueue* This) { + return This->lpVtbl->GetRetrievalFilterStackSize(This); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_AddMessage(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category,D3D12_MESSAGE_SEVERITY severity,D3D12_MESSAGE_ID id,const char *description) { + return This->lpVtbl->AddMessage(This,category,severity,id,description); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_AddApplicationMessage(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity,const char *description) { + return This->lpVtbl->AddApplicationMessage(This,severity,description); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_SetBreakOnCategory(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category,WINBOOL enable) { + return This->lpVtbl->SetBreakOnCategory(This,category,enable); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_SetBreakOnSeverity(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity,WINBOOL enable) { + return This->lpVtbl->SetBreakOnSeverity(This,severity,enable); +} +static __WIDL_INLINE HRESULT ID3D12InfoQueue_SetBreakOnID(ID3D12InfoQueue* This,D3D12_MESSAGE_ID id,WINBOOL enable) { + return This->lpVtbl->SetBreakOnID(This,id,enable); +} +static __WIDL_INLINE WINBOOL ID3D12InfoQueue_GetBreakOnCategory(ID3D12InfoQueue* This,D3D12_MESSAGE_CATEGORY category) { + return This->lpVtbl->GetBreakOnCategory(This,category); +} +static __WIDL_INLINE WINBOOL ID3D12InfoQueue_GetBreakOnSeverity(ID3D12InfoQueue* This,D3D12_MESSAGE_SEVERITY severity) { + return This->lpVtbl->GetBreakOnSeverity(This,severity); +} +static __WIDL_INLINE WINBOOL ID3D12InfoQueue_GetBreakOnID(ID3D12InfoQueue* This,D3D12_MESSAGE_ID id) { + return This->lpVtbl->GetBreakOnID(This,id); +} +static __WIDL_INLINE void ID3D12InfoQueue_SetMuteDebugOutput(ID3D12InfoQueue* This,WINBOOL mute) { + This->lpVtbl->SetMuteDebugOutput(This,mute); +} +static __WIDL_INLINE WINBOOL ID3D12InfoQueue_GetMuteDebugOutput(ID3D12InfoQueue* This) { + return This->lpVtbl->GetMuteDebugOutput(This); +} +#endif +#endif - -#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12InfoQueue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12InfoQueue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \ - ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) - -#define ID3D12InfoQueue_ClearStoredMessages(This) \ - ( (This)->lpVtbl -> ClearStoredMessages(This) ) - -#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ - ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) - -#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) - -#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) - -#define ID3D12InfoQueue_GetNumStoredMessages(This) \ - ( (This)->lpVtbl -> GetNumStoredMessages(This) ) - -#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ - ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) - -#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) - -#define ID3D12InfoQueue_GetMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetMessageCountLimit(This) ) - -#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue_ClearStorageFilter(This) \ - ( (This)->lpVtbl -> ClearStorageFilter(This) ) - -#define ID3D12InfoQueue_PushEmptyStorageFilter(This) \ - ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) - -#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) - -#define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) - -#define ID3D12InfoQueue_PopStorageFilter(This) \ - ( (This)->lpVtbl -> PopStorageFilter(This) ) - -#define ID3D12InfoQueue_GetStorageFilterStackSize(This) \ - ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) - -#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue_ClearRetrievalFilter(This) \ - ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) - -#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) - -#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) - -#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) - -#define ID3D12InfoQueue_PopRetrievalFilter(This) \ - ( (This)->lpVtbl -> PopRetrievalFilter(This) ) - -#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \ - ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) - -#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \ - ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) - -#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \ - ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) - -#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) - -#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) - -#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) - -#define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \ - ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) - -#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \ - ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) - -#define ID3D12InfoQueue_GetBreakOnID(This,ID) \ - ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) - -#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \ - ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) - -#define ID3D12InfoQueue_GetMuteDebugOutput(This) \ - ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - +#endif #endif /* __ID3D12InfoQueue_INTERFACE_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ -/* interface __MIDL_itf_d3d12sdklayers_0000_0016 */ -/* [local] */ -typedef -enum D3D12_MESSAGE_CALLBACK_FLAGS - { - D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0, - D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1 - } D3D12_MESSAGE_CALLBACK_FLAGS; - -DEFINE_ENUM_FLAG_OPERATORS(D3D12_MESSAGE_CALLBACK_FLAGS) -typedef void ( __stdcall *D3D12MessageFunc )( - D3D12_MESSAGE_CATEGORY Category, - D3D12_MESSAGE_SEVERITY Severity, - D3D12_MESSAGE_ID ID, - LPCSTR pDescription, - void *pContext); - - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0016_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0016_v0_0_s_ifspec; - -#ifndef __ID3D12InfoQueue1_INTERFACE_DEFINED__ -#define __ID3D12InfoQueue1_INTERFACE_DEFINED__ - -/* interface ID3D12InfoQueue1 */ -/* [unique][local][object][uuid] */ - - -EXTERN_C const IID IID_ID3D12InfoQueue1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2852dd88-b484-4c0c-b6b1-67168500e600") - ID3D12InfoQueue1 : public ID3D12InfoQueue - { - public: - virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback( - _In_ D3D12MessageFunc CallbackFunc, - _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, - _In_ void *pContext, - _Inout_ DWORD *pCallbackCookie) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback( - _In_ DWORD CallbackCookie) = 0; - - }; - - -#else /* C style interface */ - - typedef struct ID3D12InfoQueue1Vtbl - { - BEGIN_INTERFACE - - DECLSPEC_XFGVIRT(IUnknown, QueryInterface) - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ID3D12InfoQueue1 * This, - REFIID riid, - _COM_Outptr_ void **ppvObject); - - DECLSPEC_XFGVIRT(IUnknown, AddRef) - ULONG ( STDMETHODCALLTYPE *AddRef )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(IUnknown, Release) - ULONG ( STDMETHODCALLTYPE *Release )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMessageCountLimit) - HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( - ID3D12InfoQueue1 * This, - _In_ UINT64 MessageCountLimit); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStoredMessages) - void ( STDMETHODCALLTYPE *ClearStoredMessages )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessage) - HRESULT ( STDMETHODCALLTYPE *GetMessage )( - ID3D12InfoQueue1 * This, - _In_ UINT64 MessageIndex, - D3D12_MESSAGE *pMessage, - _Inout_ SIZE_T *pMessageByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesAllowedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDeniedByStorageFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessages) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumStoredMessagesAllowedByRetrievalFilter) - UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetNumMessagesDiscardedByMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMessageCountLimit) - UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddStorageFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilter) - HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( - ID3D12InfoQueue1 * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearStorageFilter) - void ( STDMETHODCALLTYPE *ClearStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushStorageFilter) - HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopStorageFilter) - void ( STDMETHODCALLTYPE *PopStorageFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetStorageFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddRetrievalFilterEntries) - HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( - ID3D12InfoQueue1 * This, - D3D12_INFO_QUEUE_FILTER *pFilter, - _Inout_ SIZE_T *pFilterByteLength); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, ClearRetrievalFilter) - void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushEmptyRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushCopyOfRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PushRetrievalFilter) - HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( - ID3D12InfoQueue1 * This, - _In_ D3D12_INFO_QUEUE_FILTER *pFilter); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, PopRetrievalFilter) - void ( STDMETHODCALLTYPE *PopRetrievalFilter )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetRetrievalFilterStackSize) - UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddMessage) - HRESULT ( STDMETHODCALLTYPE *AddMessage )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ D3D12_MESSAGE_ID ID, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, AddApplicationMessage) - HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ LPCSTR pDescription); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnCategory) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_CATEGORY Category, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnSeverity) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_SEVERITY Severity, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetBreakOnID) - HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_ID ID, - _In_ BOOL bEnable); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnCategory) - BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_CATEGORY Category); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnSeverity) - BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_SEVERITY Severity); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetBreakOnID) - BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( - ID3D12InfoQueue1 * This, - _In_ D3D12_MESSAGE_ID ID); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, SetMuteDebugOutput) - void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( - ID3D12InfoQueue1 * This, - _In_ BOOL bMute); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue, GetMuteDebugOutput) - BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( - ID3D12InfoQueue1 * This); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue1, RegisterMessageCallback) - HRESULT ( STDMETHODCALLTYPE *RegisterMessageCallback )( - ID3D12InfoQueue1 * This, - _In_ D3D12MessageFunc CallbackFunc, - _In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, - _In_ void *pContext, - _Inout_ DWORD *pCallbackCookie); - - DECLSPEC_XFGVIRT(ID3D12InfoQueue1, UnregisterMessageCallback) - HRESULT ( STDMETHODCALLTYPE *UnregisterMessageCallback )( - ID3D12InfoQueue1 * This, - _In_ DWORD CallbackCookie); - - END_INTERFACE - } ID3D12InfoQueue1Vtbl; - - interface ID3D12InfoQueue1 - { - CONST_VTBL struct ID3D12InfoQueue1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define ID3D12InfoQueue1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define ID3D12InfoQueue1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \ - ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) - -#define ID3D12InfoQueue1_ClearStoredMessages(This) \ - ( (This)->lpVtbl -> ClearStoredMessages(This) ) - -#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ - ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) - -#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) - -#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \ - ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) - -#define ID3D12InfoQueue1_GetNumStoredMessages(This) \ - ( (This)->lpVtbl -> GetNumStoredMessages(This) ) - -#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ - ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) - -#define ID3D12InfoQueue1_GetMessageCountLimit(This) \ - ( (This)->lpVtbl -> GetMessageCountLimit(This) ) - -#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue1_ClearStorageFilter(This) \ - ( (This)->lpVtbl -> ClearStorageFilter(This) ) - -#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \ - ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) - -#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) - -#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) - -#define ID3D12InfoQueue1_PopStorageFilter(This) \ - ( (This)->lpVtbl -> PopStorageFilter(This) ) - -#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \ - ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) - -#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \ - ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) - -#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ - ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) - -#define ID3D12InfoQueue1_ClearRetrievalFilter(This) \ - ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \ - ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \ - ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) - -#define ID3D12InfoQueue1_PopRetrievalFilter(This) \ - ( (This)->lpVtbl -> PopRetrievalFilter(This) ) - -#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \ - ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) - -#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \ - ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) - -#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \ - ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) - -#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) - -#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) - -#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \ - ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) - -#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \ - ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) - -#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \ - ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) - -#define ID3D12InfoQueue1_GetBreakOnID(This,ID) \ - ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) - -#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \ - ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) - -#define ID3D12InfoQueue1_GetMuteDebugOutput(This) \ - ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) - - -#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \ - ( (This)->lpVtbl -> RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) ) - -#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \ - ( (This)->lpVtbl -> UnregisterMessageCallback(This,CallbackCookie) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __ID3D12InfoQueue1_INTERFACE_DEFINED__ */ - - -/* interface __MIDL_itf_d3d12sdklayers_0000_0017 */ -/* [local] */ - -#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */ - -DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0); -DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04); -DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74); -DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1); -DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a); -DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9); -DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed); -DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88); -DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e); -DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd); -DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a); -DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37); -DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f); -DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e); -DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef); -DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58); -DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00); - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0017_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0017_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ +/* End additional prototypes */ #ifdef __cplusplus } #endif -#endif - - - -DEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0); -DEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04); -DEFINE_GUID(IID_ID3D12Debug2,0x93a665c4,0xa3b2,0x4e5d,0xb6,0x92,0xa2,0x6a,0xe1,0x4e,0x33,0x74); -DEFINE_GUID(IID_ID3D12Debug3,0x5cf4e58f,0xf671,0x4ff1,0xa5,0x42,0x36,0x86,0xe3,0xd1,0x53,0xd1); -DEFINE_GUID(IID_ID3D12Debug4,0x014b816e,0x9ec5,0x4a2f,0xa8,0x45,0xff,0xbe,0x44,0x1c,0xe1,0x3a); -DEFINE_GUID(IID_ID3D12Debug5,0x548d6b12,0x09fa,0x40e0,0x90,0x69,0x5d,0xcd,0x58,0x9a,0x52,0xc9); -DEFINE_GUID(IID_ID3D12Debug6,0x82a816d6,0x5d01,0x4157,0x97,0xd0,0x49,0x75,0x46,0x3f,0xd1,0xed); -DEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88); -DEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e); -DEFINE_GUID(IID_ID3D12DebugDevice2,0x60eccbc1,0x378d,0x4df1,0x89,0x4c,0xf8,0xac,0x5c,0xe4,0xd7,0xdd); -DEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a); -DEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37); -DEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f); -DEFINE_GUID(IID_ID3D12DebugCommandList2,0xaeb575cf,0x4e06,0x48be,0xba,0x3b,0xc4,0x50,0xfc,0x96,0x65,0x2e); -DEFINE_GUID(IID_ID3D12SharingContract,0x0adf7d52,0x929c,0x4e61,0xad,0xdb,0xff,0xed,0x30,0xde,0x66,0xef); -DEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58); -DEFINE_GUID(IID_ID3D12InfoQueue1,0x2852dd88,0xb484,0x4c0c,0xb6,0xb1,0x67,0x16,0x85,0x00,0xe6,0x00); - - -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0017_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0017_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif +#endif /* __d3d12sdklayers_h__ */