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__ */