From 15bfef57cd4293494a6207871706f3aa2176fd7c Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Sun, 4 Aug 2024 15:15:18 -0400 Subject: [PATCH] d3d12: Generate Xbox C macros, adjust SDL_Render files accordingly --- src/render/direct3d12/SDL_render_d3d12.c | 194 +- .../direct3d12/SDL_shaders_d3d12_xboxone.cpp | 2 +- .../SDL_shaders_d3d12_xboxseries.cpp | 2 +- src/video/directx/SDL_d3d12.h | 13 +- src/video/directx/SDL_d3d12_xbox_cmacros.h | 4761 +++++++++++++++++ src/video/directx/gen_xbox_cmacros.cs | 91 + 6 files changed, 4962 insertions(+), 101 deletions(-) create mode 100644 src/video/directx/SDL_d3d12_xbox_cmacros.h create mode 100644 src/video/directx/gen_xbox_cmacros.cs diff --git a/src/render/direct3d12/SDL_render_d3d12.c b/src/render/direct3d12/SDL_render_d3d12.c index 7c54149f7..f4bdc8993 100644 --- a/src/render/direct3d12/SDL_render_d3d12.c +++ b/src/render/direct3d12/SDL_render_d3d12.c @@ -435,7 +435,7 @@ static void D3D12_ReleaseAll(SDL_Renderer *renderer) /* Check for any leaks if in debug mode */ if (data->dxgiDebug) { DXGI_DEBUG_RLO_FLAGS rloFlags = (DXGI_DEBUG_RLO_FLAGS)(DXGI_DEBUG_RLO_DETAIL | DXGI_DEBUG_RLO_IGNORE_INTERNAL); - D3D_CALL(data->dxgiDebug, ReportLiveObjects, SDL_DXGI_DEBUG_ALL, rloFlags); + IDXGIDebug_ReportLiveObjects(data->dxgiDebug, SDL_DXGI_DEBUG_ALL, rloFlags); D3D_SAFE_RELEASE(data->dxgiDebug); } #endif @@ -473,9 +473,9 @@ static D3D12_GPU_DESCRIPTOR_HANDLE D3D12_CPUtoGPUHandle(ID3D12DescriptorHeap *he static void D3D12_WaitForGPU(D3D12_RenderData *data) { if (data->commandQueue && data->fence && data->fenceEvent) { - D3D_CALL(data->commandQueue, Signal, data->fence, data->fenceValue); - if (D3D_CALL(data->fence, GetCompletedValue) < data->fenceValue) { - D3D_CALL(data->fence, SetEventOnCompletion, + ID3D12CommandQueue_Signal(data->commandQueue, data->fence, data->fenceValue); + if (ID3D12Fence_GetCompletedValue(data->fence) < data->fenceValue) { + ID3D12Fence_SetEventOnCompletion(data->fence, data->fenceValue, data->fenceEvent); WaitForSingleObjectEx(data->fenceEvent, INFINITE, FALSE); @@ -515,7 +515,7 @@ static void D3D12_TransitionResource(D3D12_RenderData *data, barrier.Transition.StateAfter = afterState; barrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES; - D3D_CALL(data->commandList, ResourceBarrier, 1, &barrier); + ID3D12GraphicsCommandList2_ResourceBarrier(data->commandList, 1, &barrier); } } @@ -525,8 +525,8 @@ static void D3D12_ResetCommandList(D3D12_RenderData *data) ID3D12DescriptorHeap *rootDescriptorHeaps[] = { data->srvDescriptorHeap, data->samplerDescriptorHeap }; ID3D12CommandAllocator *commandAllocator = data->commandAllocators[data->currentBackBufferIndex]; - D3D_CALL(commandAllocator, Reset); - D3D_CALL(data->commandList, Reset, commandAllocator, NULL); + ID3D12CommandAllocator_Reset(commandAllocator); + ID3D12GraphicsCommandList2_Reset(data->commandList, commandAllocator, NULL); data->currentPipelineState = NULL; data->currentVertexBuffer = 0; data->issueBatch = SDL_FALSE; @@ -541,7 +541,7 @@ static void D3D12_ResetCommandList(D3D12_RenderData *data) } data->currentUploadBuffer = 0; - D3D_CALL(data->commandList, SetDescriptorHeaps, 2, rootDescriptorHeaps); + ID3D12GraphicsCommandList2_SetDescriptorHeaps(data->commandList, 2, rootDescriptorHeaps); } static int D3D12_IssueBatch(D3D12_RenderData *data) @@ -549,12 +549,12 @@ static int D3D12_IssueBatch(D3D12_RenderData *data) HRESULT result = S_OK; /* Issue the command list */ - result = D3D_CALL(data->commandList, Close); + result = ID3D12GraphicsCommandList2_Close(data->commandList); if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("D3D12_IssueBatch"), result); return result; } - D3D_CALL(data->commandQueue, ExecuteCommandLists, 1, (ID3D12CommandList *const *)&data->commandList); + ID3D12CommandQueue_ExecuteCommandLists(data->commandQueue, 1, (ID3D12CommandList *const *)&data->commandList); D3D12_WaitForGPU(data); @@ -685,7 +685,7 @@ static D3D12_PipelineState *D3D12_CreatePipelineState(SDL_Renderer *renderer, pipelineDesc.SampleDesc.Count = 1; pipelineDesc.SampleDesc.Quality = 0; - result = D3D_CALL(data->d3dDevice, CreateGraphicsPipelineState, + result = ID3D12Device1_CreateGraphicsPipelineState(data->d3dDevice, &pipelineDesc, D3D_GUID(SDL_IID_ID3D12PipelineState), (void **)&pipelineState); @@ -737,7 +737,7 @@ static HRESULT D3D12_CreateVertexBuffer(D3D12_RenderData *data, size_t vbidx, si vbufferDesc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR; vbufferDesc.Flags = D3D12_RESOURCE_FLAG_NONE; - result = D3D_CALL(data->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(data->d3dDevice, &vbufferHeapProps, D3D12_HEAP_FLAG_NONE, &vbufferDesc, @@ -751,7 +751,7 @@ static HRESULT D3D12_CreateVertexBuffer(D3D12_RenderData *data, size_t vbidx, si return result; } - data->vertexBuffers[vbidx].view.BufferLocation = D3D_CALL(data->vertexBuffers[vbidx].resource, GetGPUVirtualAddress); + data->vertexBuffers[vbidx].view.BufferLocation = ID3D12Resource_GetGPUVirtualAddress(data->vertexBuffers[vbidx].resource); data->vertexBuffers[vbidx].view.StrideInBytes = sizeof(VertexPositionColor); data->vertexBuffers[vbidx].size = size; @@ -835,7 +835,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) goto done; } if (SUCCEEDED(D3D12GetDebugInterfaceFunc(D3D_GUID(SDL_IID_ID3D12Debug), (void **)&data->debugInterface))) { - D3D_CALL(data->debugInterface, EnableDebugLayer); + ID3D12Debug_EnableDebugLayer(data->debugInterface); } } #endif /*!defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES)*/ @@ -871,8 +871,8 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) goto done; } - D3D_CALL(dxgiInfoQueue, SetBreakOnSeverity, SDL_DXGI_DEBUG_ALL, DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR, TRUE); - D3D_CALL(dxgiInfoQueue, SetBreakOnSeverity, SDL_DXGI_DEBUG_ALL, DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION, TRUE); + IDXGIInfoQueue_SetBreakOnSeverity(dxgiInfoQueue, SDL_DXGI_DEBUG_ALL, DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR, TRUE); + IDXGIInfoQueue_SetBreakOnSeverity(dxgiInfoQueue, SDL_DXGI_DEBUG_ALL, DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION, TRUE); D3D_SAFE_RELEASE(dxgiInfoQueue); #endif /* __IDXGIInfoQueue_INTERFACE_DEFINED__ */ creationFlags = DXGI_CREATE_FACTORY_DEBUG; @@ -885,7 +885,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) } /* Prefer a high performance adapter if there are multiple choices */ - result = D3D_CALL(data->dxgiFactory, EnumAdapterByGpuPreference, + result = IDXGIFactory6_EnumAdapterByGpuPreference(data->dxgiFactory, 0, DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE, D3D_GUID(SDL_IID_IDXGIAdapter4), @@ -910,7 +910,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) D3D12_MESSAGE_SEVERITY severities[] = { D3D12_MESSAGE_SEVERITY_INFO }; D3D12_INFO_QUEUE_FILTER filter; - result = D3D_CALL(d3dDevice, QueryInterface, D3D_GUID(SDL_IID_ID3D12InfoQueue), (void **)&infoQueue); + result = ID3D12Device1_QueryInterface(d3dDevice, D3D_GUID(SDL_IID_ID3D12InfoQueue), (void **)&infoQueue); if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D12Device to ID3D12InfoQueue"), result); goto done; @@ -919,16 +919,16 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) SDL_zero(filter); filter.DenyList.NumSeverities = 1; filter.DenyList.pSeverityList = severities; - D3D_CALL(infoQueue, PushStorageFilter, &filter); + ID3D12InfoQueue_PushStorageFilter(infoQueue, &filter); - D3D_CALL(infoQueue, SetBreakOnSeverity, D3D12_MESSAGE_SEVERITY_ERROR, TRUE); - D3D_CALL(infoQueue, SetBreakOnSeverity, D3D12_MESSAGE_SEVERITY_CORRUPTION, TRUE); + ID3D12InfoQueue_SetBreakOnSeverity(infoQueue, D3D12_MESSAGE_SEVERITY_ERROR, TRUE); + ID3D12InfoQueue_SetBreakOnSeverity(infoQueue, D3D12_MESSAGE_SEVERITY_CORRUPTION, TRUE); D3D_SAFE_RELEASE(infoQueue); } #endif /*!defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES)*/ - result = D3D_CALL(d3dDevice, QueryInterface, D3D_GUID(SDL_IID_ID3D12Device1), (void **)&data->d3dDevice); + result = ID3D12Device_QueryInterface(d3dDevice, D3D_GUID(SDL_IID_ID3D12Device1), (void **)&data->d3dDevice); if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D12Device to ID3D12Device1"), result); goto done; @@ -939,7 +939,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) queueDesc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE; queueDesc.Type = D3D12_COMMAND_LIST_TYPE_DIRECT; - result = D3D_CALL(data->d3dDevice, CreateCommandQueue, + result = ID3D12Device1_CreateCommandQueue(data->d3dDevice, &queueDesc, D3D_GUID(SDL_IID_ID3D12CommandQueue), (void **)&data->commandQueue); @@ -952,7 +952,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) SDL_zero(descriptorHeapDesc); descriptorHeapDesc.NumDescriptors = SDL_D3D12_NUM_BUFFERS; descriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV; - result = D3D_CALL(data->d3dDevice, CreateDescriptorHeap, + result = ID3D12Device1_CreateDescriptorHeap(data->d3dDevice, &descriptorHeapDesc, D3D_GUID(SDL_IID_ID3D12DescriptorHeap), (void **)&data->rtvDescriptorHeap); @@ -960,10 +960,10 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D12Device::CreateDescriptorHeap [rtv]"), result); goto done; } - data->rtvDescriptorSize = D3D_CALL(d3dDevice, GetDescriptorHandleIncrementSize, D3D12_DESCRIPTOR_HEAP_TYPE_RTV); + data->rtvDescriptorSize = ID3D12Device1_GetDescriptorHandleIncrementSize(d3dDevice, D3D12_DESCRIPTOR_HEAP_TYPE_RTV); descriptorHeapDesc.NumDescriptors = SDL_D3D12_MAX_NUM_TEXTURES; - result = D3D_CALL(data->d3dDevice, CreateDescriptorHeap, + result = ID3D12Device1_CreateDescriptorHeap(data->d3dDevice, &descriptorHeapDesc, D3D_GUID(SDL_IID_ID3D12DescriptorHeap), (void **)&data->textureRTVDescriptorHeap); @@ -976,7 +976,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) descriptorHeapDesc.NumDescriptors = SDL_D3D12_MAX_NUM_TEXTURES; descriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV; descriptorHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE; - result = D3D_CALL(data->d3dDevice, CreateDescriptorHeap, + result = ID3D12Device1_CreateDescriptorHeap(data->d3dDevice, &descriptorHeapDesc, D3D_GUID(SDL_IID_ID3D12DescriptorHeap), (void **)&data->srvDescriptorHeap); @@ -985,13 +985,13 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) goto done; } rootDescriptorHeaps[0] = data->srvDescriptorHeap; - data->srvDescriptorSize = D3D_CALL(d3dDevice, GetDescriptorHandleIncrementSize, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); + data->srvDescriptorSize = ID3D12Device1_GetDescriptorHandleIncrementSize(d3dDevice, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); SDL_zero(descriptorHeapDesc); descriptorHeapDesc.NumDescriptors = 4; descriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER; descriptorHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE; - result = D3D_CALL(data->d3dDevice, CreateDescriptorHeap, + result = ID3D12Device1_CreateDescriptorHeap(data->d3dDevice, &descriptorHeapDesc, D3D_GUID(SDL_IID_ID3D12DescriptorHeap), (void **)&data->samplerDescriptorHeap); @@ -1000,11 +1000,11 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) goto done; } rootDescriptorHeaps[1] = data->samplerDescriptorHeap; - data->samplerDescriptorSize = D3D_CALL(d3dDevice, GetDescriptorHandleIncrementSize, D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER); + data->samplerDescriptorSize = ID3D12Device1_GetDescriptorHandleIncrementSize(d3dDevice, D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER); /* Create a command allocator for each back buffer */ for (i = 0; i < SDL_D3D12_NUM_BUFFERS; ++i) { - result = D3D_CALL(data->d3dDevice, CreateCommandAllocator, + result = ID3D12Device1_CreateCommandAllocator(data->d3dDevice, D3D12_COMMAND_LIST_TYPE_DIRECT, D3D_GUID(SDL_IID_ID3D12CommandAllocator), (void **)&data->commandAllocators[i]); @@ -1015,7 +1015,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) } /* Create the command list */ - result = D3D_CALL(data->d3dDevice, CreateCommandList, + result = ID3D12Device1_CreateCommandList(data->d3dDevice, 0, D3D12_COMMAND_LIST_TYPE_DIRECT, data->commandAllocators[0], @@ -1028,10 +1028,10 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) } /* Set the descriptor heaps to the correct initial value */ - D3D_CALL(data->commandList, SetDescriptorHeaps, 2, rootDescriptorHeaps); + ID3D12GraphicsCommandList2_SetDescriptorHeaps(data->commandList, 2, rootDescriptorHeaps); /* Create the fence and fence event */ - result = D3D_CALL(data->d3dDevice, CreateFence, + result = ID3D12Device_CreateFence(data->d3dDevice, data->fenceValue, D3D12_FENCE_FLAG_NONE, D3D_GUID(SDL_IID_ID3D12Fence), @@ -1053,7 +1053,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) for (i = 0; i < NUM_ROOTSIGS; ++i) { D3D12_SHADER_BYTECODE rootSigData; D3D12_GetRootSignatureData((D3D12_RootSignature)i, &rootSigData); - result = D3D_CALL(data->d3dDevice, CreateRootSignature, + result = ID3D12Device1_CreateRootSignature(data->d3dDevice, 0, rootSigData.pShaderBytecode, rootSigData.BytecodeLength, @@ -1120,7 +1120,7 @@ static HRESULT D3D12_CreateDeviceResources(SDL_Renderer *renderer) samplerDesc.AddressU = samplerParams[i].address; samplerDesc.AddressV = samplerParams[i].address; data->samplers[i].ptr = data->samplers[0].ptr + i * data->samplerDescriptorSize; - D3D_CALL(data->d3dDevice, CreateSampler, &samplerDesc, data->samplers[i]); + ID3D12Device1_CreateSampler(data->d3dDevice, &samplerDesc, data->samplers[i]); } /* Initialize the pool allocator for SRVs */ @@ -1258,7 +1258,7 @@ static HRESULT D3D12_CreateSwapChain(SDL_Renderer *renderer, int w, int h) goto done; } - result = D3D_CALL(data->dxgiFactory, CreateSwapChainForHwnd, + result = IDXGIFactory2_CreateSwapChainForHwnd(data->dxgiFactory, (IUnknown *)data->commandQueue, hwnd, &swapChainDesc, @@ -1270,9 +1270,9 @@ static HRESULT D3D12_CreateSwapChain(SDL_Renderer *renderer, int w, int h) goto done; } - D3D_CALL(data->dxgiFactory, MakeWindowAssociation, hwnd, DXGI_MWA_NO_WINDOW_CHANGES); + IDXGIFactory6_MakeWindowAssociation(data->dxgiFactory, hwnd, DXGI_MWA_NO_WINDOW_CHANGES); - result = D3D_CALL(swapChain, QueryInterface, D3D_GUID(SDL_IID_IDXGISwapChain4), (void **)&data->swapChain); + result = IDXGISwapChain1_QueryInterface(swapChain, D3D_GUID(SDL_IID_IDXGISwapChain4), (void **)&data->swapChain); if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("IDXGISwapChain1::QueryInterface"), result); goto done; @@ -1281,7 +1281,7 @@ static HRESULT D3D12_CreateSwapChain(SDL_Renderer *renderer, int w, int h) /* Ensure that the swapchain does not queue more than one frame at a time. This both reduces latency * and ensures that the application will only render after each VSync, minimizing power consumption. */ - result = D3D_CALL(data->swapChain, SetMaximumFrameLatency, 1); + result = IDXGISwapChain4_SetMaximumFrameLatency(data->swapChain, 1); if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("IDXGISwapChain4::SetMaximumFrameLatency"), result); goto done; @@ -1304,9 +1304,9 @@ static HRESULT D3D12_CreateSwapChain(SDL_Renderer *renderer, int w, int h) colorspace = DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709; break; } - if (SUCCEEDED(D3D_CALL(data->swapChain, CheckColorSpaceSupport, colorspace, &colorspace_support)) && + if (SUCCEEDED(IDXGISwapChain3_CheckColorSpaceSupport(data->swapChain, colorspace, &colorspace_support)) && (colorspace_support & DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT)) { - result = D3D_CALL(data->swapChain, SetColorSpace1, colorspace); + result = IDXGISwapChain3_SetColorSpace1(data->swapChain, colorspace); if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("IDXGISwapChain3::SetColorSpace1"), result); goto done; @@ -1369,7 +1369,7 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer) /* Release resources in the current command list */ D3D12_IssueBatch(data); - D3D_CALL(data->commandList, OMSetRenderTargets, 0, NULL, FALSE, NULL); + ID3D12GraphicsCommandList2_OMSetRenderTargets(data->commandList, 0, NULL, FALSE, NULL); /* Release render targets */ for (i = 0; i < SDL_D3D12_NUM_BUFFERS; ++i) { @@ -1390,7 +1390,7 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer) #if !defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES) if (data->swapChain) { /* If the swap chain already exists, resize it. */ - result = D3D_CALL(data->swapChain, ResizeBuffers, + result = IDXGISwapChain_ResizeBuffers(data->swapChain, 0, w, h, DXGI_FORMAT_UNKNOWN, @@ -1417,7 +1417,7 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer) /* Set the proper rotation for the swap chain. */ if (WIN_IsWindows8OrGreater()) { if (data->swapEffect == DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL) { - result = D3D_CALL(data->swapChain, SetRotation, data->rotation); /* NOLINT(clang-analyzer-core.NullDereference) */ + result = IDXGISwapChain4_SetRotation(data->swapChain, data->rotation); /* NOLINT(clang-analyzer-core.NullDereference) */ if (FAILED(result)) { WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("IDXGISwapChain4::SetRotation"), result); goto done; @@ -1435,7 +1435,7 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer) goto done; } #else - result = D3D_CALL(data->swapChain, GetBuffer, /* NOLINT(clang-analyzer-core.NullDereference) */ + result = IDXGISwapChain4_GetBuffer(data->swapChain, /* NOLINT(clang-analyzer-core.NullDereference) */ i, D3D_GUID(SDL_IID_ID3D12Resource), (void **)&data->renderTargets[i]); @@ -1452,14 +1452,14 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer) SDL_zero(rtvDescriptor); D3D_CALL_RET(data->rtvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &rtvDescriptor); rtvDescriptor.ptr += i * data->rtvDescriptorSize; - D3D_CALL(data->d3dDevice, CreateRenderTargetView, data->renderTargets[i], &rtvDesc, rtvDescriptor); + ID3D12Device1_CreateRenderTargetView(data->d3dDevice, data->renderTargets[i], &rtvDesc, rtvDescriptor); } /* Set back buffer index to current buffer */ #if defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES) data->currentBackBufferIndex = 0; #else - data->currentBackBufferIndex = D3D_CALL(data->swapChain, GetCurrentBackBufferIndex); + data->currentBackBufferIndex = IDXGISwapChain4_GetCurrentBackBufferIndex(data->swapChain); #endif /* Set the swap chain target immediately, so that a target is always set @@ -1467,7 +1467,7 @@ static HRESULT D3D12_CreateWindowSizeDependentResources(SDL_Renderer *renderer) * null references in places like ReadPixels! */ data->currentRenderTargetView = D3D12_GetCurrentRenderTargetView(renderer); - D3D_CALL(data->commandList, OMSetRenderTargets, 1, &data->currentRenderTargetView, FALSE, NULL); + ID3D12GraphicsCommandList2_OMSetRenderTargets(data->commandList, 1, &data->currentRenderTargetView, FALSE, NULL); D3D12_TransitionResource(data, data->renderTargets[data->currentBackBufferIndex], D3D12_RESOURCE_STATE_PRESENT, @@ -1543,7 +1543,11 @@ static int GetTextureProperty(SDL_PropertiesID props, const char *name, ID3D12Re { IUnknown *unknown = (IUnknown*)SDL_GetPointerProperty(props, name, NULL); if (unknown) { - HRESULT result = D3D_CALL(unknown, QueryInterface, D3D_GUID(SDL_IID_ID3D12Resource), (void **)texture); +#if defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES) + HRESULT result = unknown->QueryInterface(D3D_GUID(SDL_IID_ID3D12Resource), (void **)texture); +#else + HRESULT result = IUnknown_QueryInterface(unknown, D3D_GUID(SDL_IID_ID3D12Resource), (void **)texture); +#endif if (FAILED(result)) { return WIN_SetErrorFromHRESULT(name, result); } @@ -1613,7 +1617,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL return -1; } if (!textureData->mainTexture) { - result = D3D_CALL(rendererData->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(rendererData->d3dDevice, &heapProps, D3D12_HEAP_FLAG_NONE, &textureDesc, @@ -1639,7 +1643,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL return -1; } if (!textureData->mainTextureU) { - result = D3D_CALL(rendererData->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(rendererData->d3dDevice, &heapProps, D3D12_HEAP_FLAG_NONE, &textureDesc, @@ -1658,7 +1662,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL return -1; } if (!textureData->mainTextureV) { - result = D3D_CALL(rendererData->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(rendererData->d3dDevice, &heapProps, D3D12_HEAP_FLAG_NONE, &textureDesc, @@ -1710,7 +1714,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceView); textureData->mainTextureResourceView.ptr += textureData->mainSRVIndex * rendererData->srvDescriptorSize; - D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView, + ID3D12Device1_CreateShaderResourceView(rendererData->d3dDevice, textureData->mainTexture, &resourceViewDesc, textureData->mainTextureResourceView); @@ -1719,7 +1723,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceViewU); textureData->mainSRVIndexU = D3D12_GetAvailableSRVIndex(renderer); textureData->mainTextureResourceViewU.ptr += textureData->mainSRVIndexU * rendererData->srvDescriptorSize; - D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView, + ID3D12Device1_CreateShaderResourceView(rendererData->d3dDevice, textureData->mainTextureU, &resourceViewDesc, textureData->mainTextureResourceViewU); @@ -1727,7 +1731,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceViewV); textureData->mainSRVIndexV = D3D12_GetAvailableSRVIndex(renderer); textureData->mainTextureResourceViewV.ptr += textureData->mainSRVIndexV * rendererData->srvDescriptorSize; - D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView, + ID3D12Device1_CreateShaderResourceView(rendererData->d3dDevice, textureData->mainTextureV, &resourceViewDesc, textureData->mainTextureResourceViewV); @@ -1746,7 +1750,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL D3D_CALL_RET(rendererData->srvDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureResourceViewNV); textureData->mainSRVIndexNV = D3D12_GetAvailableSRVIndex(renderer); textureData->mainTextureResourceViewNV.ptr += textureData->mainSRVIndexNV * rendererData->srvDescriptorSize; - D3D_CALL(rendererData->d3dDevice, CreateShaderResourceView, + ID3D12Device1_CreateShaderResourceView(rendererData->d3dDevice, textureData->mainTexture, &nvResourceViewDesc, textureData->mainTextureResourceViewNV); @@ -1763,7 +1767,7 @@ static int D3D12_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL D3D_CALL_RET(rendererData->textureRTVDescriptorHeap, GetCPUDescriptorHandleForHeapStart, &textureData->mainTextureRenderTargetView); textureData->mainTextureRenderTargetView.ptr += textureData->mainSRVIndex * rendererData->rtvDescriptorSize; - D3D_CALL(rendererData->d3dDevice, CreateRenderTargetView, + ID3D12Device1_CreateRenderTargetView(rendererData->d3dDevice, (ID3D12Resource *)textureData->mainTexture, &renderTargetViewDesc, textureData->mainTextureRenderTargetView); @@ -1846,7 +1850,7 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res uploadDesc.Flags = D3D12_RESOURCE_FLAG_NONE; /* Figure out how much we need to allocate for the upload buffer */ - D3D_CALL(rendererData->d3dDevice, GetCopyableFootprints, + ID3D12Device1_GetCopyableFootprints(rendererData->d3dDevice, &textureDesc, plane, 1, @@ -1863,7 +1867,7 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res heapProps.VisibleNodeMask = 1; /* Create the upload buffer */ - result = D3D_CALL(rendererData->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(rendererData->d3dDevice, &heapProps, D3D12_HEAP_FLAG_NONE, &uploadDesc, @@ -1877,7 +1881,7 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res /* Get a write-only pointer to data in the upload buffer: */ uploadBuffer = rendererData->uploadBuffers[rendererData->currentUploadBuffer]; - result = D3D_CALL(uploadBuffer, Map, + result = ID3D12Resource_Map(uploadBuffer, 0, NULL, (void **)&textureMemory); @@ -1906,7 +1910,7 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res } /* Commit the changes back to the upload buffer: */ - D3D_CALL(uploadBuffer, Unmap, 0, NULL); + ID3D12Resource_Unmap(uploadBuffer, 0, NULL); /* Make sure the destination is in the correct resource state */ D3D12_TransitionResource(rendererData, texture, *resourceState, D3D12_RESOURCE_STATE_COPY_DEST); @@ -1922,7 +1926,7 @@ static int D3D12_UpdateTextureInternal(D3D12_RenderData *rendererData, ID3D12Res srcLocation.Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT; srcLocation.PlacedFootprint = placedTextureDesc; - D3D_CALL(rendererData->commandList, CopyTextureRegion, + ID3D12GraphicsCommandList2_CopyTextureRegion(rendererData->commandList, &dstLocation, x, y, @@ -2097,7 +2101,7 @@ static int D3D12_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture, uploadDesc.Flags = D3D12_RESOURCE_FLAG_NONE; /* Figure out how much we need to allocate for the upload buffer */ - D3D_CALL(rendererData->d3dDevice, GetCopyableFootprints, + ID3D12Device1_GetCopyableFootprints(rendererData->d3dDevice, &textureDesc, 0, 1, @@ -2113,7 +2117,7 @@ static int D3D12_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture, heapProps.VisibleNodeMask = 1; /* Create the upload buffer */ - result = D3D_CALL(rendererData->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(rendererData->d3dDevice, &heapProps, D3D12_HEAP_FLAG_NONE, &uploadDesc, @@ -2126,7 +2130,7 @@ static int D3D12_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture, } /* Get a write-only pointer to data in the upload buffer: */ - result = D3D_CALL(textureData->stagingBuffer, Map, + result = ID3D12Resource_Map(textureData->stagingBuffer, 0, NULL, (void **)&textureMemory); @@ -2186,7 +2190,7 @@ static void D3D12_UnlockTexture(SDL_Renderer *renderer, SDL_Texture *texture) } #endif /* Commit the pixel buffer's changes back to the staging texture: */ - D3D_CALL(textureData->stagingBuffer, Unmap, 0, NULL); + ID3D12Resource_Unmap(textureData->stagingBuffer, 0, NULL); SDL_zero(textureDesc); D3D_CALL_RET(textureData->mainTexture, GetDesc, &textureDesc); @@ -2222,7 +2226,7 @@ static void D3D12_UnlockTexture(SDL_Renderer *renderer, SDL_Texture *texture) srcLocation.Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT; srcLocation.PlacedFootprint = placedTextureDesc; - D3D_CALL(rendererData->commandList, CopyTextureRegion, + ID3D12GraphicsCommandList2_CopyTextureRegion(rendererData->commandList, &dstLocation, textureData->lockedRect.x, textureData->lockedRect.y, @@ -2403,16 +2407,16 @@ static int D3D12_UpdateVertexBuffer(SDL_Renderer *renderer, } vertexBuffer = rendererData->vertexBuffers[vbidx].resource; - result = D3D_CALL(vertexBuffer, Map, 0, &range, (void **)&vertexBufferData); + result = ID3D12Resource_Map(vertexBuffer, 0, &range, (void **)&vertexBufferData); if (FAILED(result)) { return WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D12Resource::Map [vertex buffer]"), result); } SDL_memcpy(vertexBufferData, vertexData, dataSizeInBytes); - D3D_CALL(vertexBuffer, Unmap, 0, NULL); + ID3D12Resource_Unmap(vertexBuffer, 0, NULL); rendererData->vertexBuffers[vbidx].view.SizeInBytes = (UINT)dataSizeInBytes; - D3D_CALL(rendererData->commandList, IASetVertexBuffers, 0, 1, &rendererData->vertexBuffers[vbidx].view); + ID3D12GraphicsCommandList2_IASetVertexBuffers(rendererData->commandList, 0, 1, &rendererData->vertexBuffers[vbidx].view); rendererData->currentVertexBuffer++; if (rendererData->currentVertexBuffer >= SDL_D3D12_NUM_VERTEX_BUFFERS) { @@ -2507,7 +2511,7 @@ static int D3D12_UpdateViewport(SDL_Renderer *renderer) d3dviewport.MinDepth = 0.0f; d3dviewport.MaxDepth = 1.0f; /* SDL_Log("%s: D3D viewport = {%f,%f,%f,%f}\n", __FUNCTION__, d3dviewport.TopLeftX, d3dviewport.TopLeftY, d3dviewport.Width, d3dviewport.Height); */ - D3D_CALL(data->commandList, RSSetViewports, 1, &d3dviewport); + ID3D12GraphicsCommandList_RSSetViewports(data->commandList, 1, &d3dviewport); data->viewportDirty = SDL_FALSE; @@ -2632,8 +2636,8 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c return -1; } - D3D_CALL(rendererData->commandList, SetPipelineState, currentPipelineState->pipelineState); - D3D_CALL(rendererData->commandList, SetGraphicsRootSignature, + ID3D12GraphicsCommandList2_SetPipelineState(rendererData->commandList, currentPipelineState->pipelineState); + ID3D12GraphicsCommandList2_SetGraphicsRootSignature(rendererData->commandList, rendererData->rootSignatures[D3D12_GetRootSignatureType(currentPipelineState->shader)]); /* When we change these we will need to re-upload the constant buffer and reset any descriptors */ updateSubresource = SDL_TRUE; @@ -2643,7 +2647,7 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c } if (renderTargetView.ptr != rendererData->currentRenderTargetView.ptr) { - D3D_CALL(rendererData->commandList, OMSetRenderTargets, 1, &renderTargetView, FALSE, NULL); + ID3D12GraphicsCommandList2_OMSetRenderTargets(rendererData->commandList, 1, &renderTargetView, FALSE, NULL); rendererData->currentRenderTargetView = renderTargetView; } @@ -2660,7 +2664,7 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c /* D3D12_GetViewportAlignedD3DRect will have set the SDL error */ return -1; } - D3D_CALL(rendererData->commandList, RSSetScissorRects, 1, &scissorRect); + ID3D12GraphicsCommandList2_RSSetScissorRects(rendererData->commandList, 1, &scissorRect); rendererData->cliprectDirty = SDL_FALSE; } @@ -2672,7 +2676,7 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c if (firstShaderResource.ptr != rendererData->currentShaderResource.ptr) { for (i = 0; i < numShaderResources; ++i) { D3D12_GPU_DESCRIPTOR_HANDLE GPUHandle = D3D12_CPUtoGPUHandle(rendererData->srvDescriptorHeap, shaderResources[i]); - D3D_CALL(rendererData->commandList, SetGraphicsRootDescriptorTable, i + 2, GPUHandle); + ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(rendererData->commandList, i + 2, GPUHandle); } rendererData->currentShaderResource.ptr = firstShaderResource.ptr; } @@ -2694,13 +2698,13 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c break; } - D3D_CALL(rendererData->commandList, SetGraphicsRootDescriptorTable, tableIndex, GPUHandle); + ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(rendererData->commandList, tableIndex, GPUHandle); rendererData->currentSampler = *sampler; } if (updateSubresource == SDL_TRUE || SDL_memcmp(&rendererData->vertexShaderConstantsData.model, newmatrix, sizeof(*newmatrix)) != 0) { SDL_memcpy(&rendererData->vertexShaderConstantsData.model, newmatrix, sizeof(*newmatrix)); - D3D_CALL(rendererData->commandList, SetGraphicsRoot32BitConstants, + ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(rendererData->commandList, 0, 32, &rendererData->vertexShaderConstantsData, @@ -2714,7 +2718,7 @@ static int D3D12_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c if (updateSubresource == SDL_TRUE || SDL_memcmp(shader_constants, ¤tPipelineState->shader_constants, sizeof(*shader_constants)) != 0) { - D3D_CALL(rendererData->commandList, SetGraphicsRoot32BitConstants, + ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(rendererData->commandList, 1, sizeof(*shader_constants) / sizeof(float), shader_constants, @@ -2802,8 +2806,8 @@ static int D3D12_SetCopyState(SDL_Renderer *renderer, const SDL_RenderCommand *c static void D3D12_DrawPrimitives(SDL_Renderer *renderer, D3D12_PRIMITIVE_TOPOLOGY primitiveTopology, const size_t vertexStart, const size_t vertexCount) { D3D12_RenderData *rendererData = (D3D12_RenderData *)renderer->internal; - D3D_CALL(rendererData->commandList, IASetPrimitiveTopology, primitiveTopology); - D3D_CALL(rendererData->commandList, DrawInstanced, (UINT)vertexCount, 1, (UINT)vertexStart, 0); + ID3D12GraphicsCommandList2_IASetPrimitiveTopology(rendererData->commandList, primitiveTopology); + ID3D12GraphicsCommandList2_DrawInstanced(rendererData->commandList, (UINT)vertexCount, 1, (UINT)vertexStart, 0); } static void D3D12_InvalidateCachedState(SDL_Renderer *renderer) @@ -2888,7 +2892,7 @@ static int D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, color.r *= cmd->data.color.color_scale; color.g *= cmd->data.color.color_scale; color.b *= cmd->data.color.color_scale; - D3D_CALL(rendererData->commandList, ClearRenderTargetView, rtvDescriptor, &color.r, 0, NULL); + ID3D12GraphicsCommandList2_ClearRenderTargetView(rendererData->commandList, rtvDescriptor, &color.r, 0, NULL); break; } @@ -2996,7 +3000,7 @@ static SDL_Surface *D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec readbackDesc.Flags = D3D12_RESOURCE_FLAG_NONE; /* Figure out how much we need to allocate for the upload buffer */ - D3D_CALL(data->d3dDevice, GetCopyableFootprints, + ID3D12Device1_GetCopyableFootprints(data->d3dDevice, &textureDesc, 0, 1, @@ -3011,7 +3015,7 @@ static SDL_Surface *D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec heapProps.CreationNodeMask = 1; heapProps.VisibleNodeMask = 1; - result = D3D_CALL(data->d3dDevice, CreateCommittedResource, + result = ID3D12Device1_CreateCommittedResource(data->d3dDevice, &heapProps, D3D12_HEAP_FLAG_NONE, &readbackDesc, @@ -3062,7 +3066,7 @@ static SDL_Surface *D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec srcLocation.Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX; srcLocation.SubresourceIndex = 0; - D3D_CALL(data->commandList, CopyTextureRegion, + ID3D12GraphicsCommandList2_CopyTextureRegion(data->commandList, &dstLocation, 0, 0, 0, &srcLocation, @@ -3075,7 +3079,7 @@ static SDL_Surface *D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec D3D12_TransitionResource(data, backBuffer, D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_RENDER_TARGET); /* Map the staging texture's data to CPU-accessible memory: */ - result = D3D_CALL(readbackBuffer, Map, + result = ID3D12Resource_Map(readbackBuffer, 0, NULL, (void **)&textureMemory); @@ -3092,7 +3096,7 @@ static SDL_Surface *D3D12_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rec pitchedDesc.RowPitch); /* Unmap the texture: */ - D3D_CALL(readbackBuffer, Unmap, 0, NULL); + ID3D12Resource_Unmap(readbackBuffer, 0, NULL); done: D3D_SAFE_RELEASE(readbackBuffer); @@ -3111,8 +3115,8 @@ static int D3D12_RenderPresent(SDL_Renderer *renderer) D3D12_RESOURCE_STATE_PRESENT); /* Issue the command list */ - result = D3D_CALL(data->commandList, Close); - D3D_CALL(data->commandQueue, ExecuteCommandLists, 1, (ID3D12CommandList *const *)&data->commandList); + result = ID3D12GraphicsCommandList2_Close(data->commandList); + ID3D12CommandQueue_ExecuteCommandLists(data->commandQueue, 1, (ID3D12CommandList *const *)&data->commandList); #if defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES) result = D3D12_XBOX_PresentFrame(data->commandQueue, data->frameToken, data->renderTargets[data->currentBackBufferIndex]); @@ -3120,7 +3124,7 @@ static int D3D12_RenderPresent(SDL_Renderer *renderer) /* The application may optionally specify "dirty" or "scroll" * rects to improve efficiency in certain scenarios. */ - result = D3D_CALL(data->swapChain, Present, data->syncInterval, data->presentFlags); + result = IDXGISwapChain_Present(data->swapChain, data->syncInterval, data->presentFlags); #endif if (FAILED(result) && result != DXGI_ERROR_WAS_STILL_DRAWING) { @@ -3138,10 +3142,10 @@ static int D3D12_RenderPresent(SDL_Renderer *renderer) return -1; } else { /* Wait for the GPU and move to the next frame */ - result = D3D_CALL(data->commandQueue, Signal, data->fence, data->fenceValue); + result = ID3D12CommandQueue_Signal(data->commandQueue, data->fence, data->fenceValue); - if (D3D_CALL(data->fence, GetCompletedValue) < data->fenceValue) { - result = D3D_CALL(data->fence, SetEventOnCompletion, + if (ID3D12Fence_GetCompletedValue(data->fence) < data->fenceValue) { + result = ID3D12Fence_SetEventOnCompletion(data->fence, data->fenceValue, data->fenceEvent); WaitForSingleObjectEx(data->fenceEvent, INFINITE, FALSE); @@ -3152,7 +3156,7 @@ static int D3D12_RenderPresent(SDL_Renderer *renderer) data->currentBackBufferIndex++; data->currentBackBufferIndex %= SDL_D3D12_NUM_BUFFERS; #else - data->currentBackBufferIndex = D3D_CALL(data->swapChain, GetCurrentBackBufferIndex); + data->currentBackBufferIndex = IDXGISwapChain4_GetCurrentBackBufferIndex(data->swapChain); #endif /* Reset the command allocator and command list, and transition back to render target */ diff --git a/src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp b/src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp index 829e07556..d43b1b690 100644 --- a/src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp +++ b/src/render/direct3d12/SDL_shaders_d3d12_xboxone.cpp @@ -25,7 +25,7 @@ #include #include "../../core/windows/SDL_windows.h" -#include +#include "../../video/directx/SDL_d3d12.h" #include "SDL_shaders_d3d12.h" diff --git a/src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp b/src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp index 90322edd2..40ccd6e50 100644 --- a/src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp +++ b/src/render/direct3d12/SDL_shaders_d3d12_xboxseries.cpp @@ -25,7 +25,7 @@ #include #include "../../core/windows/SDL_windows.h" -#include +#include "../../video/directx/SDL_d3d12.h" #include "SDL_shaders_d3d12.h" diff --git a/src/video/directx/SDL_d3d12.h b/src/video/directx/SDL_d3d12.h index db3429aa1..03e3d96df 100644 --- a/src/video/directx/SDL_d3d12.h +++ b/src/video/directx/SDL_d3d12.h @@ -50,8 +50,9 @@ X = NULL; \ } -/* FIXME: Remove this in favor of the COBJMACROS defines */ -#define D3D_CALL(THIS, FUNC, ...) (THIS)->lpVtbl->FUNC((THIS), ##__VA_ARGS__) +/* Some D3D12 calls are mismatched between Windows/Xbox, so we need to wrap the + * C function ourselves :( + */ #define D3D_CALL_RET(THIS, FUNC, ...) (THIS)->lpVtbl->FUNC((THIS), ##__VA_ARGS__) #else /* !(defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)) */ @@ -78,8 +79,12 @@ /* DXGI_PRESENT flags are removed on Xbox */ #define DXGI_PRESENT_ALLOW_TEARING 0 -/* FIXME: Xbox D3D12 does not define the COBJMACROS, so we need to define them ourselves */ -#define D3D_CALL(THIS, FUNC, ...) (THIS)->FUNC(__VA_ARGS__) +/* Xbox D3D12 does not define the COBJMACROS, so we need to define them ourselves */ +#include "SDL_d3d12_xbox_cmacros.h" + +/* Xbox's D3D12 ABI actually varies from Windows, if a function does not exist + * in the above header then you need to use this instead :( + */ #define D3D_CALL_RET(THIS, FUNC, RETVAL, ...) *(RETVAL) = (THIS)->FUNC(__VA_ARGS__) #endif /* !(defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)) */ diff --git a/src/video/directx/SDL_d3d12_xbox_cmacros.h b/src/video/directx/SDL_d3d12_xbox_cmacros.h new file mode 100644 index 000000000..aa9e4ce2b --- /dev/null +++ b/src/video/directx/SDL_d3d12_xbox_cmacros.h @@ -0,0 +1,4761 @@ +/* This file is autogenerated, DO NOT MODIFY */ +#define ID3D12Object_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Object_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Object_Release(This) \ + ( (This)->Release() ) +#define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Object_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceChild_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceChild_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12DeviceChild_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12RootSignature_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12RootSignature_Release(This) \ + ( (This)->Release() ) +#define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12RootSignature_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12RootSignatureDeserializer_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12RootSignatureDeserializer_Release(This) \ + ( (This)->Release() ) +#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) \ + ( (This)->GetRootSignatureDesc() ) +#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12VersionedRootSignatureDeserializer_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12VersionedRootSignatureDeserializer_Release(This) \ + ( (This)->Release() ) +#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) \ + ( (This)->GetRootSignatureDescAtVersion(convertToVersion,ppDesc) ) +#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) \ + ( (This)->GetUnconvertedRootSignatureDesc() ) +#define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Pageable_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Pageable_Release(This) \ + ( (This)->Release() ) +#define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Pageable_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Heap_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Heap_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Heap_Release(This) \ + ( (This)->Release() ) +#define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Heap_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Heap_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Resource_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Resource_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Resource_Release(This) \ + ( (This)->Release() ) +#define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Resource_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Resource_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \ + ( (This)->Map(Subresource,pReadRange,ppData) ) +#define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \ + ( (This)->Unmap(Subresource,pWrittenRange) ) +#define ID3D12Resource_GetGPUVirtualAddress(This) \ + ( (This)->GetGPUVirtualAddress() ) +#define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \ + ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) +#define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \ + ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) +#define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \ + ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) ) +#define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12CommandAllocator_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12CommandAllocator_Release(This) \ + ( (This)->Release() ) +#define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12CommandAllocator_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12CommandAllocator_Reset(This) \ + ( (This)->Reset() ) +#define ID3D12Fence_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Fence_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Fence_Release(This) \ + ( (This)->Release() ) +#define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Fence_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Fence_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Fence_GetCompletedValue(This) \ + ( (This)->GetCompletedValue() ) +#define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \ + ( (This)->SetEventOnCompletion(Value,hEvent) ) +#define ID3D12Fence_Signal(This,Value) \ + ( (This)->Signal(Value) ) +#define ID3D12Fence1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Fence1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Fence1_Release(This) \ + ( (This)->Release() ) +#define ID3D12Fence1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Fence1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Fence1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Fence1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Fence1_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Fence1_GetCompletedValue(This) \ + ( (This)->GetCompletedValue() ) +#define ID3D12Fence1_SetEventOnCompletion(This,Value,hEvent) \ + ( (This)->SetEventOnCompletion(Value,hEvent) ) +#define ID3D12Fence1_Signal(This,Value) \ + ( (This)->Signal(Value) ) +#define ID3D12Fence1_GetCreationFlags(This) \ + ( (This)->GetCreationFlags() ) +#define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12PipelineState_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12PipelineState_Release(This) \ + ( (This)->Release() ) +#define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12PipelineState_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \ + ( (This)->GetCachedBlob(ppBlob) ) +#define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DescriptorHeap_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DescriptorHeap_Release(This) \ + ( (This)->Release() ) +#define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12DescriptorHeap_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12QueryHeap_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12QueryHeap_Release(This) \ + ( (This)->Release() ) +#define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12QueryHeap_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12CommandSignature_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12CommandSignature_Release(This) \ + ( (This)->Release() ) +#define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12CommandSignature_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12CommandList_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12CommandList_Release(This) \ + ( (This)->Release() ) +#define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12CommandList_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12CommandList_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList1_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList1_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList1_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList1_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList1_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList1_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList1_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList1_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList1_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList1_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList1_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList1_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList1_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList1_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList1_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList1_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList1_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList1_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList1_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList1_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList1_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList1_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList1_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList1_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList1_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList1_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList1_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList1_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList1_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList1_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList2_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList2_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList2_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList2_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList2_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList2_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList2_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList2_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList2_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList2_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList2_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList2_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList2_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList2_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList2_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList2_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList2_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList2_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList2_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList2_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList2_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList2_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList2_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList2_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList2_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList2_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList2_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList2_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList2_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList2_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList2_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12CommandQueue_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12CommandQueue_Release(This) \ + ( (This)->Release() ) +#define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12CommandQueue_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \ + ( (This)->UpdateTileMappings(pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) ) +#define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \ + ( (This)->CopyTileMappings(pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) ) +#define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists) \ + ( (This)->ExecuteCommandLists(NumCommandLists,ppCommandLists) ) +#define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12CommandQueue_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12CommandQueue_Signal(This,pFence,Value) \ + ( (This)->Signal(pFence,Value) ) +#define ID3D12CommandQueue_Wait(This,pFence,Value) \ + ( (This)->Wait(pFence,Value) ) +#define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \ + ( (This)->GetTimestampFrequency(pFrequency) ) +#define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \ + ( (This)->GetClockCalibration(pGpuTimestamp,pCpuTimestamp) ) +#define ID3D12Device_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12PipelineLibrary_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12PipelineLibrary_Release(This) \ + ( (This)->Release() ) +#define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12PipelineLibrary_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline) \ + ( (This)->StorePipeline(pName,pPipeline) ) +#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \ + ( (This)->LoadGraphicsPipeline(pName,pDesc,riid,ppPipelineState) ) +#define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \ + ( (This)->LoadComputePipeline(pName,pDesc,riid,ppPipelineState) ) +#define ID3D12PipelineLibrary_GetSerializedSize(This) \ + ( (This)->GetSerializedSize() ) +#define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes) \ + ( (This)->Serialize(pData,DataSizeInBytes) ) +#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12PipelineLibrary1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12PipelineLibrary1_Release(This) \ + ( (This)->Release() ) +#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12PipelineLibrary1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12PipelineLibrary1_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12PipelineLibrary1_StorePipeline(This,pName,pPipeline) \ + ( (This)->StorePipeline(pName,pPipeline) ) +#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) \ + ( (This)->LoadGraphicsPipeline(pName,pDesc,riid,ppPipelineState) ) +#define ID3D12PipelineLibrary1_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) \ + ( (This)->LoadComputePipeline(pName,pDesc,riid,ppPipelineState) ) +#define ID3D12PipelineLibrary1_GetSerializedSize(This) \ + ( (This)->GetSerializedSize() ) +#define ID3D12PipelineLibrary1_Serialize(This,pData,DataSizeInBytes) \ + ( (This)->Serialize(pData,DataSizeInBytes) ) +#define ID3D12PipelineLibrary1_LoadPipeline(This,pName,pDesc,riid,ppPipelineState) \ + ( (This)->LoadPipeline(pName,pDesc,riid,ppPipelineState) ) +#define ID3D12Device1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device1_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device1_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device1_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device1_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device1_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device1_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device2_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device2_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device2_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device2_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device2_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device2_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device2_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device2_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device2_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device2_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device2_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device2_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device2_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device2_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device2_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device2_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device2_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device2_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device2_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device2_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device2_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device2_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device2_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device2_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device2_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device2_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device2_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device2_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device2_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device2_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device2_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device2_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device2_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device2_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device2_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device2_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device2_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device2_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device2_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device2_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device2_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device3_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device3_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device3_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device3_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device3_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device3_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device3_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device3_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device3_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device3_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device3_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device3_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device3_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device3_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device3_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device3_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device3_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device3_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device3_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device3_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device3_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device3_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device3_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device3_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device3_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device3_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device3_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device3_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device3_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device3_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device3_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device3_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device3_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device3_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device3_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device3_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device3_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device3_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device3_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device3_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device3_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device3_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device3_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device3_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device3_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12ProtectedSession_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12ProtectedSession_Release(This) \ + ( (This)->Release() ) +#define ID3D12ProtectedSession_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12ProtectedSession_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12ProtectedSession_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12ProtectedSession_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12ProtectedSession_GetStatusFence(This,riid,ppFence) \ + ( (This)->GetStatusFence(riid,ppFence) ) +#define ID3D12ProtectedSession_GetSessionStatus(This) \ + ( (This)->GetSessionStatus() ) +#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12ProtectedResourceSession_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12ProtectedResourceSession_Release(This) \ + ( (This)->Release() ) +#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12ProtectedResourceSession_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12ProtectedResourceSession_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,ppFence) \ + ( (This)->GetStatusFence(riid,ppFence) ) +#define ID3D12ProtectedResourceSession_GetSessionStatus(This) \ + ( (This)->GetSessionStatus() ) +#define ID3D12Device4_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device4_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device4_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device4_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device4_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device4_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device4_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device4_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device4_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device4_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device4_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device4_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device4_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device4_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device4_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device4_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device4_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device4_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device4_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device4_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device4_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device4_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device4_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device4_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device4_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device4_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device4_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device4_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device4_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device4_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device4_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device4_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device4_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device4_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device4_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device4_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device4_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device4_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device4_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device4_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device4_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device4_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device4_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device4_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device4_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device4_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device4_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device4_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device4_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device4_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12LifetimeOwner_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12LifetimeOwner_Release(This) \ + ( (This)->Release() ) +#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) \ + ( (This)->LifetimeStateUpdated(NewState) ) +#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12SwapChainAssistant_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12SwapChainAssistant_Release(This) \ + ( (This)->Release() ) +#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) \ + ( (This)->GetSwapChainObject(riid,ppv) ) +#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riidResource,ppvResource,riidQueue,ppvQueue) \ + ( (This)->GetCurrentResourceAndCommandQueue(riidResource,ppvResource,riidQueue,ppvQueue) ) +#define ID3D12SwapChainAssistant_InsertImplicitSync(This) \ + ( (This)->InsertImplicitSync() ) +#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12LifetimeTracker_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12LifetimeTracker_Release(This) \ + ( (This)->Release() ) +#define ID3D12LifetimeTracker_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12LifetimeTracker_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12LifetimeTracker_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12LifetimeTracker_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12LifetimeTracker_DestroyOwnedObject(This,pObject) \ + ( (This)->DestroyOwnedObject(pObject) ) +#define ID3D12StateObject_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12StateObject_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12StateObject_Release(This) \ + ( (This)->Release() ) +#define ID3D12StateObject_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12StateObject_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12StateObject_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12StateObject_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12StateObject_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12StateObjectProperties_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12StateObjectProperties_Release(This) \ + ( (This)->Release() ) +#define ID3D12StateObjectProperties_GetShaderIdentifier(This,pExportName) \ + ( (This)->GetShaderIdentifier(pExportName) ) +#define ID3D12StateObjectProperties_GetShaderStackSize(This,pExportName) \ + ( (This)->GetShaderStackSize(pExportName) ) +#define ID3D12StateObjectProperties_GetPipelineStackSize(This) \ + ( (This)->GetPipelineStackSize() ) +#define ID3D12StateObjectProperties_SetPipelineStackSize(This,PipelineStackSizeInBytes) \ + ( (This)->SetPipelineStackSize(PipelineStackSizeInBytes) ) +#define ID3D12StateObjectProperties1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12StateObjectProperties1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12StateObjectProperties1_Release(This) \ + ( (This)->Release() ) +#define ID3D12StateObjectProperties1_GetShaderIdentifier(This,pExportName) \ + ( (This)->GetShaderIdentifier(pExportName) ) +#define ID3D12StateObjectProperties1_GetShaderStackSize(This,pExportName) \ + ( (This)->GetShaderStackSize(pExportName) ) +#define ID3D12StateObjectProperties1_GetPipelineStackSize(This) \ + ( (This)->GetPipelineStackSize() ) +#define ID3D12StateObjectProperties1_SetPipelineStackSize(This,PipelineStackSizeInBytes) \ + ( (This)->SetPipelineStackSize(PipelineStackSizeInBytes) ) +#define ID3D12WorkGraphProperties_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12WorkGraphProperties_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12WorkGraphProperties_Release(This) \ + ( (This)->Release() ) +#define ID3D12WorkGraphProperties_GetNumWorkGraphs(This) \ + ( (This)->GetNumWorkGraphs() ) +#define ID3D12WorkGraphProperties_GetProgramName(This,WorkGraphIndex) \ + ( (This)->GetProgramName(WorkGraphIndex) ) +#define ID3D12WorkGraphProperties_GetWorkGraphIndex(This,pProgramName) \ + ( (This)->GetWorkGraphIndex(pProgramName) ) +#define ID3D12WorkGraphProperties_GetNumNodes(This,WorkGraphIndex) \ + ( (This)->GetNumNodes(WorkGraphIndex) ) +#define ID3D12WorkGraphProperties_GetNodeIndex(This,WorkGraphIndex,NodeID) \ + ( (This)->GetNodeIndex(WorkGraphIndex,NodeID) ) +#define ID3D12WorkGraphProperties_GetNodeLocalRootArgumentsTableIndex(This,WorkGraphIndex,NodeIndex) \ + ( (This)->GetNodeLocalRootArgumentsTableIndex(WorkGraphIndex,NodeIndex) ) +#define ID3D12WorkGraphProperties_GetNumEntrypoints(This,WorkGraphIndex) \ + ( (This)->GetNumEntrypoints(WorkGraphIndex) ) +#define ID3D12WorkGraphProperties_GetEntrypointIndex(This,WorkGraphIndex,NodeID) \ + ( (This)->GetEntrypointIndex(WorkGraphIndex,NodeID) ) +#define ID3D12WorkGraphProperties_GetEntrypointRecordSizeInBytes(This,WorkGraphIndex,EntrypointIndex) \ + ( (This)->GetEntrypointRecordSizeInBytes(WorkGraphIndex,EntrypointIndex) ) +#define ID3D12WorkGraphProperties_GetWorkGraphMemoryRequirements(This,WorkGraphIndex,pWorkGraphMemoryRequirements) \ + ( (This)->GetWorkGraphMemoryRequirements(WorkGraphIndex,pWorkGraphMemoryRequirements) ) +#define ID3D12WorkGraphProperties_GetEntrypointRecordAlignmentInBytes(This,WorkGraphIndex,EntrypointIndex) \ + ( (This)->GetEntrypointRecordAlignmentInBytes(WorkGraphIndex,EntrypointIndex) ) +#define ID3D12Device5_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device5_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device5_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device5_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device5_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device5_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device5_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device5_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device5_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device5_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device5_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device5_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device5_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device5_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device5_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device5_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device5_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device5_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device5_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device5_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device5_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device5_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device5_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device5_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device5_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device5_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device5_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device5_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device5_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device5_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device5_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device5_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device5_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device5_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device5_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device5_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device5_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device5_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device5_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device5_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device5_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device5_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device5_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device5_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device5_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device5_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device5_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device5_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device5_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device5_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device5_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device5_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device5_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device5_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device5_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device5_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device5_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceRemovedExtendedDataSettings_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,Enablement) \ + ( (This)->SetAutoBreadcrumbsEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,Enablement) \ + ( (This)->SetPageFaultEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,Enablement) \ + ( (This)->SetWatsonDumpEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,Enablement) \ + ( (This)->SetAutoBreadcrumbsEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,Enablement) \ + ( (This)->SetPageFaultEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,Enablement) \ + ( (This)->SetWatsonDumpEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,Enablement) \ + ( (This)->SetBreadcrumbContextEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceRemovedExtendedDataSettings2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceRemovedExtendedDataSettings2_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceRemovedExtendedDataSettings2_SetAutoBreadcrumbsEnablement(This,Enablement) \ + ( (This)->SetAutoBreadcrumbsEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings2_SetPageFaultEnablement(This,Enablement) \ + ( (This)->SetPageFaultEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings2_SetWatsonDumpEnablement(This,Enablement) \ + ( (This)->SetWatsonDumpEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings2_SetBreadcrumbContextEnablement(This,Enablement) \ + ( (This)->SetBreadcrumbContextEnablement(Enablement) ) +#define ID3D12DeviceRemovedExtendedDataSettings2_UseMarkersOnlyAutoBreadcrumbs(This,MarkersOnly) \ + ( (This)->UseMarkersOnlyAutoBreadcrumbs(MarkersOnly) ) +#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceRemovedExtendedData_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceRemovedExtendedData_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,pOutput) \ + ( (This)->GetAutoBreadcrumbsOutput(pOutput) ) +#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,pOutput) \ + ( (This)->GetPageFaultAllocationOutput(pOutput) ) +#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceRemovedExtendedData1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceRemovedExtendedData1_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,pOutput) \ + ( (This)->GetAutoBreadcrumbsOutput(pOutput) ) +#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,pOutput) \ + ( (This)->GetPageFaultAllocationOutput(pOutput) ) +#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,pOutput) \ + ( (This)->GetAutoBreadcrumbsOutput1(pOutput) ) +#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,pOutput) \ + ( (This)->GetPageFaultAllocationOutput1(pOutput) ) +#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceRemovedExtendedData2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceRemovedExtendedData2_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,pOutput) \ + ( (This)->GetAutoBreadcrumbsOutput(pOutput) ) +#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,pOutput) \ + ( (This)->GetPageFaultAllocationOutput(pOutput) ) +#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,pOutput) \ + ( (This)->GetAutoBreadcrumbsOutput1(pOutput) ) +#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,pOutput) \ + ( (This)->GetPageFaultAllocationOutput1(pOutput) ) +#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,pOutput) \ + ( (This)->GetPageFaultAllocationOutput2(pOutput) ) +#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) \ + ( (This)->GetDeviceState() ) +#define ID3D12Device6_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device6_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device6_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device6_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device6_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device6_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device6_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device6_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device6_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device6_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device6_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device6_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device6_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device6_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device6_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device6_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device6_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device6_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device6_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device6_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device6_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device6_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device6_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device6_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device6_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device6_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device6_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device6_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device6_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device6_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device6_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device6_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device6_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device6_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device6_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device6_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device6_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device6_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device6_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device6_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device6_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device6_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device6_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device6_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device6_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device6_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device6_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device6_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device6_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device6_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device6_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device6_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device6_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device6_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device6_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device6_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device6_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device6_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12ProtectedResourceSession1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12ProtectedResourceSession1_Release(This) \ + ( (This)->Release() ) +#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12ProtectedResourceSession1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,ppFence) \ + ( (This)->GetStatusFence(riid,ppFence) ) +#define ID3D12ProtectedResourceSession1_GetSessionStatus(This) \ + ( (This)->GetSessionStatus() ) +#define ID3D12Device7_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device7_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device7_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device7_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device7_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device7_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device7_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device7_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device7_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device7_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device7_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device7_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device7_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device7_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device7_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device7_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device7_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device7_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device7_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device7_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device7_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device7_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device7_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device7_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device7_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device7_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device7_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device7_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device7_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device7_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device7_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device7_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device7_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device7_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device7_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device7_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device7_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device7_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device7_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device7_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device7_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device7_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device7_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device7_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device7_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device7_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device7_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device7_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device7_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device7_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device7_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device7_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device7_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device7_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device7_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device7_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device7_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device7_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device7_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device7_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device8_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device8_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device8_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device8_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device8_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device8_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device8_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device8_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device8_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device8_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device8_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device8_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device8_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device8_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device8_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device8_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device8_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device8_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device8_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device8_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device8_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device8_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device8_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device8_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device8_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device8_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device8_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device8_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device8_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device8_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device8_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device8_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device8_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device8_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device8_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device8_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device8_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device8_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device8_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device8_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device8_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device8_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device8_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device8_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device8_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device8_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device8_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device8_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device8_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device8_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device8_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device8_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device8_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device8_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device8_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device8_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device8_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device8_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device8_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device8_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device8_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device8_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device8_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Resource1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Resource1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Resource1_Release(This) \ + ( (This)->Release() ) +#define ID3D12Resource1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Resource1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Resource1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Resource1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Resource1_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Resource1_Map(This,Subresource,pReadRange,ppData) \ + ( (This)->Map(Subresource,pReadRange,ppData) ) +#define ID3D12Resource1_Unmap(This,Subresource,pWrittenRange) \ + ( (This)->Unmap(Subresource,pWrittenRange) ) +#define ID3D12Resource1_GetGPUVirtualAddress(This) \ + ( (This)->GetGPUVirtualAddress() ) +#define ID3D12Resource1_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \ + ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) +#define ID3D12Resource1_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \ + ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) +#define ID3D12Resource1_GetHeapProperties(This,pHeapProperties,pHeapFlags) \ + ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) ) +#define ID3D12Resource1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ + ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) ) +#define ID3D12Resource2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Resource2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Resource2_Release(This) \ + ( (This)->Release() ) +#define ID3D12Resource2_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Resource2_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Resource2_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Resource2_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Resource2_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Resource2_Map(This,Subresource,pReadRange,ppData) \ + ( (This)->Map(Subresource,pReadRange,ppData) ) +#define ID3D12Resource2_Unmap(This,Subresource,pWrittenRange) \ + ( (This)->Unmap(Subresource,pWrittenRange) ) +#define ID3D12Resource2_GetGPUVirtualAddress(This) \ + ( (This)->GetGPUVirtualAddress() ) +#define ID3D12Resource2_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \ + ( (This)->WriteToSubresource(DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) +#define ID3D12Resource2_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \ + ( (This)->ReadFromSubresource(pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) +#define ID3D12Resource2_GetHeapProperties(This,pHeapProperties,pHeapFlags) \ + ( (This)->GetHeapProperties(pHeapProperties,pHeapFlags) ) +#define ID3D12Resource2_GetProtectedResourceSession(This,riid,ppProtectedSession) \ + ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) ) +#define ID3D12Heap1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Heap1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Heap1_Release(This) \ + ( (This)->Release() ) +#define ID3D12Heap1_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Heap1_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Heap1_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Heap1_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Heap1_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12Heap1_GetProtectedResourceSession(This,riid,ppProtectedSession) \ + ( (This)->GetProtectedResourceSession(riid,ppProtectedSession) ) +#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList3_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList3_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList3_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList3_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList3_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList3_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList3_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList3_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList3_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList3_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList3_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList3_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList3_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList3_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList3_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList3_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList3_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList3_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList3_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList3_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList3_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList3_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList3_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList3_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList3_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList3_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList3_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12MetaCommand_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12MetaCommand_Release(This) \ + ( (This)->Release() ) +#define ID3D12MetaCommand_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12MetaCommand_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12MetaCommand_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12MetaCommand_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,Stage,ParameterIndex) \ + ( (This)->GetRequiredParameterResourceSize(Stage,ParameterIndex) ) +#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList4_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList4_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList4_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList4_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList4_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList4_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList4_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList4_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList4_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList4_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList4_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList4_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList4_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList4_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList4_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList4_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList4_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList4_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList4_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList4_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList4_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList4_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList4_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList4_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList4_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList4_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList4_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList4_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList4_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList4_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList4_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12ShaderCacheSession_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12ShaderCacheSession_Release(This) \ + ( (This)->Release() ) +#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12ShaderCacheSession_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12ShaderCacheSession_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12ShaderCacheSession_FindValue(This,pKey,KeySize,pValue,pValueSize) \ + ( (This)->FindValue(pKey,KeySize,pValue,pValueSize) ) +#define ID3D12ShaderCacheSession_StoreValue(This,pKey,KeySize,pValue,ValueSize) \ + ( (This)->StoreValue(pKey,KeySize,pValue,ValueSize) ) +#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) \ + ( (This)->SetDeleteOnDestroy() ) +#define ID3D12Device9_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device9_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device9_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device9_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device9_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device9_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device9_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device9_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device9_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device9_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device9_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device9_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device9_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device9_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device9_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device9_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device9_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device9_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device9_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device9_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device9_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device9_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device9_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device9_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device9_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device9_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device9_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device9_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device9_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device9_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device9_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device9_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device9_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device9_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device9_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device9_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device9_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device9_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device9_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device9_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device9_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device9_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device9_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device9_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device9_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device9_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device9_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device9_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device9_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device9_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device9_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device9_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device9_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device9_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device9_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device9_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device9_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device9_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device9_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device9_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device9_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device9_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device9_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device9_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ + ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) +#define ID3D12Device9_ShaderCacheControl(This,Kinds,Control) \ + ( (This)->ShaderCacheControl(Kinds,Control) ) +#define ID3D12Device9_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) +#define ID3D12Device10_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device10_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device10_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device10_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device10_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device10_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device10_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device10_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device10_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device10_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device10_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device10_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device10_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device10_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device10_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device10_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device10_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device10_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device10_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device10_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device10_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device10_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device10_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device10_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device10_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device10_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device10_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device10_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device10_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device10_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device10_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device10_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device10_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device10_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device10_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device10_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device10_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device10_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device10_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device10_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device10_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device10_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device10_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device10_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device10_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device10_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device10_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device10_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device10_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device10_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device10_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device10_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device10_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device10_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device10_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device10_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device10_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device10_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device10_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device10_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device10_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device10_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device10_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device10_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ + ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) +#define ID3D12Device10_ShaderCacheControl(This,Kinds,Control) \ + ( (This)->ShaderCacheControl(Kinds,Control) ) +#define ID3D12Device10_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) +#define ID3D12Device10_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) +#define ID3D12Device10_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device10_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device11_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device11_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device11_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device11_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device11_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device11_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device11_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device11_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device11_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device11_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device11_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device11_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device11_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device11_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device11_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device11_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device11_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device11_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device11_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device11_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device11_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device11_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device11_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device11_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device11_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device11_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device11_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device11_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device11_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device11_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device11_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device11_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device11_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device11_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device11_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device11_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device11_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device11_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device11_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device11_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device11_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device11_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device11_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device11_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device11_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device11_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device11_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device11_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device11_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device11_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device11_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device11_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device11_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device11_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device11_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device11_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device11_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device11_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device11_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device11_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device11_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device11_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device11_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device11_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device11_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device11_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device11_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device11_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device11_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ + ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) +#define ID3D12Device11_ShaderCacheControl(This,Kinds,Control) \ + ( (This)->ShaderCacheControl(Kinds,Control) ) +#define ID3D12Device11_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) +#define ID3D12Device11_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) +#define ID3D12Device11_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device11_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device11_CreateSampler2(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler2(pDesc,DestDescriptor) ) +#define ID3D12Device12_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device12_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device12_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device12_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device12_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device12_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device12_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device12_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device12_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device12_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device12_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device12_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device12_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device12_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device12_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device12_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device12_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device12_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device12_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device12_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device12_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device12_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device12_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device12_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device12_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device12_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device12_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device12_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device12_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device12_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device12_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device12_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device12_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device12_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device12_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device12_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device12_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device12_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device12_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device12_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device12_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device12_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device12_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device12_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device12_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device12_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device12_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device12_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device12_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device12_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device12_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device12_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device12_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device12_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device12_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device12_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device12_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device12_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device12_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device12_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device12_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device12_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device12_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device12_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device12_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device12_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device12_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device12_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device12_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ + ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) +#define ID3D12Device12_ShaderCacheControl(This,Kinds,Control) \ + ( (This)->ShaderCacheControl(Kinds,Control) ) +#define ID3D12Device12_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) +#define ID3D12Device12_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) +#define ID3D12Device12_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device12_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device12_CreateSampler2(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler2(pDesc,DestDescriptor) ) +#define ID3D12Device13_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device13_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device13_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device13_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device13_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device13_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device13_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device13_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device13_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device13_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device13_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device13_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device13_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device13_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device13_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device13_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device13_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device13_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device13_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device13_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device13_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device13_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device13_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device13_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device13_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device13_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device13_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device13_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device13_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device13_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device13_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device13_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device13_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device13_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device13_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device13_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device13_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device13_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device13_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device13_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device13_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device13_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device13_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device13_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device13_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device13_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device13_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device13_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device13_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device13_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device13_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device13_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device13_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device13_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device13_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device13_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device13_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device13_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device13_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device13_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device13_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device13_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device13_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device13_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device13_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device13_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device13_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device13_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device13_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ + ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) +#define ID3D12Device13_ShaderCacheControl(This,Kinds,Control) \ + ( (This)->ShaderCacheControl(Kinds,Control) ) +#define ID3D12Device13_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) +#define ID3D12Device13_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) +#define ID3D12Device13_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device13_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device13_CreateSampler2(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler2(pDesc,DestDescriptor) ) +#define ID3D12Device13_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress1(pAddress,size,riid,ppvHeap) ) +#define ID3D12Device14_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Device14_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Device14_Release(This) \ + ( (This)->Release() ) +#define ID3D12Device14_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12Device14_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12Device14_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12Device14_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12Device14_GetNodeCount(This) \ + ( (This)->GetNodeCount() ) +#define ID3D12Device14_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue(pDesc,riid,ppCommandQueue) ) +#define ID3D12Device14_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \ + ( (This)->CreateCommandAllocator(type,riid,ppCommandAllocator) ) +#define ID3D12Device14_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateGraphicsPipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device14_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreateComputePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device14_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \ + ( (This)->CreateCommandList(nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) +#define ID3D12Device14_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \ + ( (This)->CheckFeatureSupport(Feature,pFeatureSupportData,FeatureSupportDataSize) ) +#define ID3D12Device14_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \ + ( (This)->CreateDescriptorHeap(pDescriptorHeapDesc,riid,ppvHeap) ) +#define ID3D12Device14_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \ + ( (This)->GetDescriptorHandleIncrementSize(DescriptorHeapType) ) +#define ID3D12Device14_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \ + ( (This)->CreateRootSignature(nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) +#define ID3D12Device14_CreateConstantBufferView(This,pDesc,DestDescriptor) \ + ( (This)->CreateConstantBufferView(pDesc,DestDescriptor) ) +#define ID3D12Device14_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateShaderResourceView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device14_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \ + ( (This)->CreateUnorderedAccessView(pResource,pCounterResource,pDesc,DestDescriptor) ) +#define ID3D12Device14_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateRenderTargetView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device14_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \ + ( (This)->CreateDepthStencilView(pResource,pDesc,DestDescriptor) ) +#define ID3D12Device14_CreateSampler(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler(pDesc,DestDescriptor) ) +#define ID3D12Device14_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) \ + ( (This)->CopyDescriptors(NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) +#define ID3D12Device14_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) \ + ( (This)->CopyDescriptorsSimple(NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) +#define ID3D12Device14_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) +#define ID3D12Device14_CreateHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device14_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device14_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreateReservedResource(pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device14_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \ + ( (This)->CreateSharedHandle(pObject,pAttributes,Access,Name,pHandle) ) +#define ID3D12Device14_OpenSharedHandle(This,NTHandle,riid,ppvObj) \ + ( (This)->OpenSharedHandle(NTHandle,riid,ppvObj) ) +#define ID3D12Device14_OpenSharedHandleByName(This,Name,Access,pNTHandle) \ + ( (This)->OpenSharedHandleByName(Name,Access,pNTHandle) ) +#define ID3D12Device14_MakeResident(This,NumObjects,ppObjects) \ + ( (This)->MakeResident(NumObjects,ppObjects) ) +#define ID3D12Device14_Evict(This,NumObjects,ppObjects) \ + ( (This)->Evict(NumObjects,ppObjects) ) +#define ID3D12Device14_CreateFence(This,InitialValue,Flags,riid,ppFence) \ + ( (This)->CreateFence(InitialValue,Flags,riid,ppFence) ) +#define ID3D12Device14_GetDeviceRemovedReason(This) \ + ( (This)->GetDeviceRemovedReason() ) +#define ID3D12Device14_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device14_CreateQueryHeap(This,pDesc,riid,ppvHeap) \ + ( (This)->CreateQueryHeap(pDesc,riid,ppvHeap) ) +#define ID3D12Device14_SetStablePowerState(This,Enable) \ + ( (This)->SetStablePowerState(Enable) ) +#define ID3D12Device14_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \ + ( (This)->CreateCommandSignature(pDesc,pRootSignature,riid,ppvCommandSignature) ) +#define ID3D12Device14_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \ + ( (This)->GetResourceTiling(pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) +#define ID3D12Device14_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) \ + ( (This)->CreatePipelineLibrary(pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) +#define ID3D12Device14_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) \ + ( (This)->SetEventOnMultipleFenceCompletion(ppFences,pFenceValues,NumFences,Flags,hEvent) ) +#define ID3D12Device14_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) \ + ( (This)->SetResidencyPriority(NumObjects,ppObjects,pPriorities) ) +#define ID3D12Device14_CreatePipelineState(This,pDesc,riid,ppPipelineState) \ + ( (This)->CreatePipelineState(pDesc,riid,ppPipelineState) ) +#define ID3D12Device14_OpenExistingHeapFromAddress(This,pAddress,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress(pAddress,riid,ppvHeap) ) +#define ID3D12Device14_OpenExistingHeapFromFileMapping(This,hFileMapping,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromFileMapping(hFileMapping,riid,ppvHeap) ) +#define ID3D12Device14_EnqueueMakeResident(This,Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) \ + ( (This)->EnqueueMakeResident(Flags,NumObjects,ppObjects,pFenceToSignal,FenceValueToSignal) ) +#define ID3D12Device14_CreateCommandList1(This,nodeMask,type,flags,riid,ppCommandList) \ + ( (This)->CreateCommandList1(nodeMask,type,flags,riid,ppCommandList) ) +#define ID3D12Device14_CreateProtectedResourceSession(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession(pDesc,riid,ppSession) ) +#define ID3D12Device14_CreateCommittedResource1(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource1(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device14_CreateHeap1(This,pDesc,pProtectedSession,riid,ppvHeap) \ + ( (This)->CreateHeap1(pDesc,pProtectedSession,riid,ppvHeap) ) +#define ID3D12Device14_CreateReservedResource1(This,pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) \ + ( (This)->CreateReservedResource1(pDesc,InitialState,pOptimizedClearValue,pProtectedSession,riid,ppvResource) ) +#define ID3D12Device14_CreateLifetimeTracker(This,pOwner,riid,ppvTracker) \ + ( (This)->CreateLifetimeTracker(pOwner,riid,ppvTracker) ) +#define ID3D12Device14_RemoveDevice(This) \ + ( (This)->RemoveDevice() ) +#define ID3D12Device14_EnumerateMetaCommands(This,pNumMetaCommands,pDescs) \ + ( (This)->EnumerateMetaCommands(pNumMetaCommands,pDescs) ) +#define ID3D12Device14_EnumerateMetaCommandParameters(This,CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) \ + ( (This)->EnumerateMetaCommandParameters(CommandId,Stage,pTotalStructureSizeInBytes,pParameterCount,pParameterDescs) ) +#define ID3D12Device14_CreateMetaCommand(This,CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) \ + ( (This)->CreateMetaCommand(CommandId,NodeMask,pCreationParametersData,CreationParametersDataSizeInBytes,riid,ppMetaCommand) ) +#define ID3D12Device14_CreateStateObject(This,pDesc,riid,ppStateObject) \ + ( (This)->CreateStateObject(pDesc,riid,ppStateObject) ) +#define ID3D12Device14_GetRaytracingAccelerationStructurePrebuildInfo(This,pDesc,pInfo) \ + ( (This)->GetRaytracingAccelerationStructurePrebuildInfo(pDesc,pInfo) ) +#define ID3D12Device14_CheckDriverMatchingIdentifier(This,SerializedDataType,pIdentifierToCheck) \ + ( (This)->CheckDriverMatchingIdentifier(SerializedDataType,pIdentifierToCheck) ) +#define ID3D12Device14_SetBackgroundProcessingMode(This,Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) \ + ( (This)->SetBackgroundProcessingMode(Mode,MeasurementsAction,hEventToSignalUponCompletion,pbFurtherMeasurementsDesired) ) +#define ID3D12Device14_AddToStateObject(This,pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) \ + ( (This)->AddToStateObject(pAddition,pStateObjectToGrowFrom,riid,ppNewStateObject) ) +#define ID3D12Device14_CreateProtectedResourceSession1(This,pDesc,riid,ppSession) \ + ( (This)->CreateProtectedResourceSession1(pDesc,riid,ppSession) ) +#define ID3D12Device14_CreateCommittedResource2(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource2(pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,pProtectedSession,riidResource,ppvResource) ) +#define ID3D12Device14_CreatePlacedResource1(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \ + ( (This)->CreatePlacedResource1(pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) +#define ID3D12Device14_CreateSamplerFeedbackUnorderedAccessView(This,pTargetedResource,pFeedbackResource,DestDescriptor) \ + ( (This)->CreateSamplerFeedbackUnorderedAccessView(pTargetedResource,pFeedbackResource,DestDescriptor) ) +#define ID3D12Device14_GetCopyableFootprints1(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \ + ( (This)->GetCopyableFootprints1(pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) +#define ID3D12Device14_CreateShaderCacheSession(This,pDesc,riid,ppvSession) \ + ( (This)->CreateShaderCacheSession(pDesc,riid,ppvSession) ) +#define ID3D12Device14_ShaderCacheControl(This,Kinds,Control) \ + ( (This)->ShaderCacheControl(Kinds,Control) ) +#define ID3D12Device14_CreateCommandQueue1(This,pDesc,CreatorID,riid,ppCommandQueue) \ + ( (This)->CreateCommandQueue1(pDesc,CreatorID,riid,ppCommandQueue) ) +#define ID3D12Device14_CreateCommittedResource3(This,pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) \ + ( (This)->CreateCommittedResource3(pHeapProperties,HeapFlags,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riidResource,ppvResource) ) +#define ID3D12Device14_CreatePlacedResource2(This,pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreatePlacedResource2(pHeap,HeapOffset,pDesc,InitialLayout,pOptimizedClearValue,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device14_CreateReservedResource2(This,pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) \ + ( (This)->CreateReservedResource2(pDesc,InitialLayout,pOptimizedClearValue,pProtectedSession,NumCastableFormats,pCastableFormats,riid,ppvResource) ) +#define ID3D12Device14_CreateSampler2(This,pDesc,DestDescriptor) \ + ( (This)->CreateSampler2(pDesc,DestDescriptor) ) +#define ID3D12Device14_OpenExistingHeapFromAddress1(This,pAddress,size,riid,ppvHeap) \ + ( (This)->OpenExistingHeapFromAddress1(pAddress,size,riid,ppvHeap) ) +#define ID3D12Device14_CreateRootSignatureFromSubobjectInLibrary(This,nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) \ + ( (This)->CreateRootSignatureFromSubobjectInLibrary(nodeMask,pLibraryBlob,blobLengthInBytes,subobjectName,riid,ppvRootSignature) ) +#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12VirtualizationGuestDevice_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12VirtualizationGuestDevice_Release(This) \ + ( (This)->Release() ) +#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,pObject,pHandle) \ + ( (This)->ShareWithHost(pObject,pHandle) ) +#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,pFence,FenceValue,pFenceFd) \ + ( (This)->CreateFenceFd(pFence,FenceValue,pFenceFd) ) +#define ID3D12Tools_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Tools_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Tools_Release(This) \ + ( (This)->Release() ) +#define ID3D12Tools_EnableShaderInstrumentation(This,bEnable) \ + ( (This)->EnableShaderInstrumentation(bEnable) ) +#define ID3D12Tools_ShaderInstrumentationEnabled(This) \ + ( (This)->ShaderInstrumentationEnabled() ) +#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12SDKConfiguration_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12SDKConfiguration_Release(This) \ + ( (This)->Release() ) +#define ID3D12SDKConfiguration_SetSDKVersion(This,SDKVersion,SDKPath) \ + ( (This)->SetSDKVersion(SDKVersion,SDKPath) ) +#define ID3D12SDKConfiguration1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12SDKConfiguration1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12SDKConfiguration1_Release(This) \ + ( (This)->Release() ) +#define ID3D12SDKConfiguration1_SetSDKVersion(This,SDKVersion,SDKPath) \ + ( (This)->SetSDKVersion(SDKVersion,SDKPath) ) +#define ID3D12SDKConfiguration1_CreateDeviceFactory(This,SDKVersion,SDKPath,riid,ppvFactory) \ + ( (This)->CreateDeviceFactory(SDKVersion,SDKPath,riid,ppvFactory) ) +#define ID3D12SDKConfiguration1_FreeUnusedSDKs(This) \ + ( (This)->FreeUnusedSDKs() ) +#define ID3D12DeviceFactory_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceFactory_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceFactory_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceFactory_InitializeFromGlobalState(This) \ + ( (This)->InitializeFromGlobalState() ) +#define ID3D12DeviceFactory_ApplyToGlobalState(This) \ + ( (This)->ApplyToGlobalState() ) +#define ID3D12DeviceFactory_SetFlags(This,flags) \ + ( (This)->SetFlags(flags) ) +#define ID3D12DeviceFactory_GetFlags(This) \ + ( (This)->GetFlags() ) +#define ID3D12DeviceFactory_GetConfigurationInterface(This,clsid,iid,ppv) \ + ( (This)->GetConfigurationInterface(clsid,iid,ppv) ) +#define ID3D12DeviceFactory_EnableExperimentalFeatures(This,NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) \ + ( (This)->EnableExperimentalFeatures(NumFeatures,pIIDs,pConfigurationStructs,pConfigurationStructSizes) ) +#define ID3D12DeviceFactory_CreateDevice(This,adapter,FeatureLevel,riid,ppvDevice) \ + ( (This)->CreateDevice(adapter,FeatureLevel,riid,ppvDevice) ) +#define ID3D12DeviceConfiguration_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceConfiguration_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceConfiguration_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceConfiguration_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \ + ( (This)->GetEnabledExperimentalFeatures(pGuids,NumGuids) ) +#define ID3D12DeviceConfiguration_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \ + ( (This)->SerializeVersionedRootSignature(pDesc,ppResult,ppError) ) +#define ID3D12DeviceConfiguration_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \ + ( (This)->CreateVersionedRootSignatureDeserializer(pBlob,Size,riid,ppvDeserializer) ) +#define ID3D12DeviceConfiguration1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DeviceConfiguration1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DeviceConfiguration1_Release(This) \ + ( (This)->Release() ) +#define ID3D12DeviceConfiguration1_GetEnabledExperimentalFeatures(This,pGuids,NumGuids) \ + ( (This)->GetEnabledExperimentalFeatures(pGuids,NumGuids) ) +#define ID3D12DeviceConfiguration1_SerializeVersionedRootSignature(This,pDesc,ppResult,ppError) \ + ( (This)->SerializeVersionedRootSignature(pDesc,ppResult,ppError) ) +#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializer(This,pBlob,Size,riid,ppvDeserializer) \ + ( (This)->CreateVersionedRootSignatureDeserializer(pBlob,Size,riid,ppvDeserializer) ) +#define ID3D12DeviceConfiguration1_CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(This,pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) \ + ( (This)->CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(pLibraryBlob,Size,RootSignatureSubobjectName,riid,ppvDeserializer) ) +#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList5_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList5_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList5_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList5_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList5_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList5_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList5_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList5_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList5_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList5_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList5_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList5_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList5_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList5_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList5_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList5_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList5_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList5_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList5_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList5_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList5_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList5_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList5_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList5_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList5_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList5_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList5_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList5_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList5_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList5_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList5_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,baseShadingRate,combiners) \ + ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) +#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shadingRateImage) \ + ( (This)->RSSetShadingRateImage(shadingRateImage) ) +#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList6_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList6_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList6_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList6_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList6_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList6_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList6_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList6_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList6_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList6_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList6_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList6_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList6_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList6_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList6_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList6_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList6_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList6_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList6_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList6_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList6_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList6_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList6_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList6_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList6_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList6_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList6_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList6_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList6_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList6_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList6_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,baseShadingRate,combiners) \ + ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) +#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shadingRateImage) \ + ( (This)->RSSetShadingRateImage(shadingRateImage) ) +#define ID3D12GraphicsCommandList6_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList7_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList7_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList7_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList7_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList7_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList7_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList7_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList7_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList7_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList7_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList7_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList7_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList7_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList7_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList7_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList7_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList7_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList7_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList7_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList7_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList7_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList7_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList7_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList7_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList7_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList7_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList7_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList7_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList7_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList7_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList7_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,baseShadingRate,combiners) \ + ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) +#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shadingRateImage) \ + ( (This)->RSSetShadingRateImage(shadingRateImage) ) +#define ID3D12GraphicsCommandList7_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList7_Barrier(This,NumBarrierGroups,pBarrierGroups) \ + ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) +#define ID3D12GraphicsCommandList8_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList8_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList8_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList8_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList8_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList8_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList8_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList8_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList8_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList8_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList8_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList8_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList8_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList8_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList8_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList8_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList8_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList8_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList8_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList8_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList8_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList8_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList8_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList8_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList8_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList8_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList8_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList8_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList8_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList8_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList8_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList8_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList8_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList8_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList8_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList8_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList8_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList8_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList8_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList8_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList8_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList8_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList8_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList8_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList8_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList8_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList8_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList8_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList8_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList8_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList8_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList8_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList8_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList8_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList8_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList8_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList8_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList8_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList8_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList8_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList8_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList8_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList8_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList8_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList8_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList8_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList8_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList8_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12GraphicsCommandList8_RSSetShadingRate(This,baseShadingRate,combiners) \ + ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) +#define ID3D12GraphicsCommandList8_RSSetShadingRateImage(This,shadingRateImage) \ + ( (This)->RSSetShadingRateImage(shadingRateImage) ) +#define ID3D12GraphicsCommandList8_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList8_Barrier(This,NumBarrierGroups,pBarrierGroups) \ + ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) +#define ID3D12GraphicsCommandList8_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \ + ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) ) +#define ID3D12GraphicsCommandList9_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList9_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList9_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList9_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList9_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList9_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList9_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList9_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList9_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList9_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList9_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList9_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList9_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList9_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList9_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList9_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList9_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList9_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList9_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList9_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList9_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList9_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList9_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList9_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList9_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList9_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList9_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList9_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList9_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList9_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList9_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList9_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList9_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList9_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList9_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList9_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList9_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList9_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList9_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList9_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList9_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList9_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList9_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList9_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList9_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList9_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList9_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList9_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList9_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList9_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList9_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList9_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList9_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList9_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList9_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList9_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList9_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList9_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList9_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList9_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList9_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList9_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList9_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList9_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList9_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList9_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList9_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList9_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12GraphicsCommandList9_RSSetShadingRate(This,baseShadingRate,combiners) \ + ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) +#define ID3D12GraphicsCommandList9_RSSetShadingRateImage(This,shadingRateImage) \ + ( (This)->RSSetShadingRateImage(shadingRateImage) ) +#define ID3D12GraphicsCommandList9_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList9_Barrier(This,NumBarrierGroups,pBarrierGroups) \ + ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) +#define ID3D12GraphicsCommandList9_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \ + ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) ) +#define ID3D12GraphicsCommandList9_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \ + ( (This)->RSSetDepthBias(DepthBias,DepthBiasClamp,SlopeScaledDepthBias) ) +#define ID3D12GraphicsCommandList9_IASetIndexBufferStripCutValue(This,IBStripCutValue) \ + ( (This)->IASetIndexBufferStripCutValue(IBStripCutValue) ) +#define ID3D12GraphicsCommandList10_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GraphicsCommandList10_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GraphicsCommandList10_Release(This) \ + ( (This)->Release() ) +#define ID3D12GraphicsCommandList10_GetPrivateData(This,guid,pDataSize,pData) \ + ( (This)->GetPrivateData(guid,pDataSize,pData) ) +#define ID3D12GraphicsCommandList10_SetPrivateData(This,guid,DataSize,pData) \ + ( (This)->SetPrivateData(guid,DataSize,pData) ) +#define ID3D12GraphicsCommandList10_SetPrivateDataInterface(This,guid,pData) \ + ( (This)->SetPrivateDataInterface(guid,pData) ) +#define ID3D12GraphicsCommandList10_SetName(This,Name) \ + ( (This)->SetName(Name) ) +#define ID3D12GraphicsCommandList10_GetDevice(This,riid,ppvDevice) \ + ( (This)->GetDevice(riid,ppvDevice) ) +#define ID3D12GraphicsCommandList10_GetType(This) \ + ( (This)->GetType() ) +#define ID3D12GraphicsCommandList10_Close(This) \ + ( (This)->Close() ) +#define ID3D12GraphicsCommandList10_Reset(This,pAllocator,pInitialState) \ + ( (This)->Reset(pAllocator,pInitialState) ) +#define ID3D12GraphicsCommandList10_ClearState(This,pPipelineState) \ + ( (This)->ClearState(pPipelineState) ) +#define ID3D12GraphicsCommandList10_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \ + ( (This)->DrawInstanced(VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList10_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \ + ( (This)->DrawIndexedInstanced(IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) +#define ID3D12GraphicsCommandList10_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->Dispatch(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList10_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) \ + ( (This)->CopyBufferRegion(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) +#define ID3D12GraphicsCommandList10_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) \ + ( (This)->CopyTextureRegion(pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) +#define ID3D12GraphicsCommandList10_CopyResource(This,pDstResource,pSrcResource) \ + ( (This)->CopyResource(pDstResource,pSrcResource) ) +#define ID3D12GraphicsCommandList10_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \ + ( (This)->CopyTiles(pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) +#define ID3D12GraphicsCommandList10_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \ + ( (This)->ResolveSubresource(pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) +#define ID3D12GraphicsCommandList10_IASetPrimitiveTopology(This,PrimitiveTopology) \ + ( (This)->IASetPrimitiveTopology(PrimitiveTopology) ) +#define ID3D12GraphicsCommandList10_RSSetViewports(This,NumViewports,pViewports) \ + ( (This)->RSSetViewports(NumViewports,pViewports) ) +#define ID3D12GraphicsCommandList10_RSSetScissorRects(This,NumRects,pRects) \ + ( (This)->RSSetScissorRects(NumRects,pRects) ) +#define ID3D12GraphicsCommandList10_OMSetBlendFactor(This,BlendFactor) \ + ( (This)->OMSetBlendFactor(BlendFactor) ) +#define ID3D12GraphicsCommandList10_OMSetStencilRef(This,StencilRef) \ + ( (This)->OMSetStencilRef(StencilRef) ) +#define ID3D12GraphicsCommandList10_SetPipelineState(This,pPipelineState) \ + ( (This)->SetPipelineState(pPipelineState) ) +#define ID3D12GraphicsCommandList10_ResourceBarrier(This,NumBarriers,pBarriers) \ + ( (This)->ResourceBarrier(NumBarriers,pBarriers) ) +#define ID3D12GraphicsCommandList10_ExecuteBundle(This,pCommandList) \ + ( (This)->ExecuteBundle(pCommandList) ) +#define ID3D12GraphicsCommandList10_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) \ + ( (This)->SetDescriptorHeaps(NumDescriptorHeaps,ppDescriptorHeaps) ) +#define ID3D12GraphicsCommandList10_SetComputeRootSignature(This,pRootSignature) \ + ( (This)->SetComputeRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRootSignature(This,pRootSignature) \ + ( (This)->SetGraphicsRootSignature(pRootSignature) ) +#define ID3D12GraphicsCommandList10_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetComputeRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \ + ( (This)->SetGraphicsRootDescriptorTable(RootParameterIndex,BaseDescriptor) ) +#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstant(RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList10_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetComputeRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) \ + ( (This)->SetGraphicsRoot32BitConstants(RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) +#define ID3D12GraphicsCommandList10_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootConstantBufferView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList10_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootShaderResourceView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList10_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetComputeRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList10_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \ + ( (This)->SetGraphicsRootUnorderedAccessView(RootParameterIndex,BufferLocation) ) +#define ID3D12GraphicsCommandList10_IASetIndexBuffer(This,pView) \ + ( (This)->IASetIndexBuffer(pView) ) +#define ID3D12GraphicsCommandList10_IASetVertexBuffers(This,StartSlot,NumViews,pViews) \ + ( (This)->IASetVertexBuffers(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList10_SOSetTargets(This,StartSlot,NumViews,pViews) \ + ( (This)->SOSetTargets(StartSlot,NumViews,pViews) ) +#define ID3D12GraphicsCommandList10_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) \ + ( (This)->OMSetRenderTargets(NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) +#define ID3D12GraphicsCommandList10_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) \ + ( (This)->ClearDepthStencilView(DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) +#define ID3D12GraphicsCommandList10_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) \ + ( (This)->ClearRenderTargetView(RenderTargetView,ColorRGBA,NumRects,pRects) ) +#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewUint(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList10_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) \ + ( (This)->ClearUnorderedAccessViewFloat(ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) +#define ID3D12GraphicsCommandList10_DiscardResource(This,pResource,pRegion) \ + ( (This)->DiscardResource(pResource,pRegion) ) +#define ID3D12GraphicsCommandList10_BeginQuery(This,pQueryHeap,Type,Index) \ + ( (This)->BeginQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList10_EndQuery(This,pQueryHeap,Type,Index) \ + ( (This)->EndQuery(pQueryHeap,Type,Index) ) +#define ID3D12GraphicsCommandList10_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) \ + ( (This)->ResolveQueryData(pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) +#define ID3D12GraphicsCommandList10_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \ + ( (This)->SetPredication(pBuffer,AlignedBufferOffset,Operation) ) +#define ID3D12GraphicsCommandList10_SetMarker(This,Metadata,pData,Size) \ + ( (This)->SetMarker(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList10_BeginEvent(This,Metadata,pData,Size) \ + ( (This)->BeginEvent(Metadata,pData,Size) ) +#define ID3D12GraphicsCommandList10_EndEvent(This) \ + ( (This)->EndEvent() ) +#define ID3D12GraphicsCommandList10_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \ + ( (This)->ExecuteIndirect(pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) +#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList10_AtomicCopyBufferUINT64(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) \ + ( (This)->AtomicCopyBufferUINT64(pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,Dependencies,ppDependentResources,pDependentSubresourceRanges) ) +#define ID3D12GraphicsCommandList10_OMSetDepthBounds(This,Min,Max) \ + ( (This)->OMSetDepthBounds(Min,Max) ) +#define ID3D12GraphicsCommandList10_SetSamplePositions(This,NumSamplesPerPixel,NumPixels,pSamplePositions) \ + ( (This)->SetSamplePositions(NumSamplesPerPixel,NumPixels,pSamplePositions) ) +#define ID3D12GraphicsCommandList10_ResolveSubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) \ + ( (This)->ResolveSubresourceRegion(pDstResource,DstSubresource,DstX,DstY,pSrcResource,SrcSubresource,pSrcRect,Format,ResolveMode) ) +#define ID3D12GraphicsCommandList10_SetViewInstanceMask(This,Mask) \ + ( (This)->SetViewInstanceMask(Mask) ) +#define ID3D12GraphicsCommandList10_WriteBufferImmediate(This,Count,pParams,pModes) \ + ( (This)->WriteBufferImmediate(Count,pParams,pModes) ) +#define ID3D12GraphicsCommandList10_SetProtectedResourceSession(This,pProtectedResourceSession) \ + ( (This)->SetProtectedResourceSession(pProtectedResourceSession) ) +#define ID3D12GraphicsCommandList10_BeginRenderPass(This,NumRenderTargets,pRenderTargets,pDepthStencil,Flags) \ + ( (This)->BeginRenderPass(NumRenderTargets,pRenderTargets,pDepthStencil,Flags) ) +#define ID3D12GraphicsCommandList10_EndRenderPass(This) \ + ( (This)->EndRenderPass() ) +#define ID3D12GraphicsCommandList10_InitializeMetaCommand(This,pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) \ + ( (This)->InitializeMetaCommand(pMetaCommand,pInitializationParametersData,InitializationParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList10_ExecuteMetaCommand(This,pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) \ + ( (This)->ExecuteMetaCommand(pMetaCommand,pExecutionParametersData,ExecutionParametersDataSizeInBytes) ) +#define ID3D12GraphicsCommandList10_BuildRaytracingAccelerationStructure(This,pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) \ + ( (This)->BuildRaytracingAccelerationStructure(pDesc,NumPostbuildInfoDescs,pPostbuildInfoDescs) ) +#define ID3D12GraphicsCommandList10_EmitRaytracingAccelerationStructurePostbuildInfo(This,pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) \ + ( (This)->EmitRaytracingAccelerationStructurePostbuildInfo(pDesc,NumSourceAccelerationStructures,pSourceAccelerationStructureData) ) +#define ID3D12GraphicsCommandList10_CopyRaytracingAccelerationStructure(This,DestAccelerationStructureData,SourceAccelerationStructureData,Mode) \ + ( (This)->CopyRaytracingAccelerationStructure(DestAccelerationStructureData,SourceAccelerationStructureData,Mode) ) +#define ID3D12GraphicsCommandList10_SetPipelineState1(This,pStateObject) \ + ( (This)->SetPipelineState1(pStateObject) ) +#define ID3D12GraphicsCommandList10_DispatchRays(This,pDesc) \ + ( (This)->DispatchRays(pDesc) ) +#define ID3D12GraphicsCommandList10_RSSetShadingRate(This,baseShadingRate,combiners) \ + ( (This)->RSSetShadingRate(baseShadingRate,combiners) ) +#define ID3D12GraphicsCommandList10_RSSetShadingRateImage(This,shadingRateImage) \ + ( (This)->RSSetShadingRateImage(shadingRateImage) ) +#define ID3D12GraphicsCommandList10_DispatchMesh(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \ + ( (This)->DispatchMesh(ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) +#define ID3D12GraphicsCommandList10_Barrier(This,NumBarrierGroups,pBarrierGroups) \ + ( (This)->Barrier(NumBarrierGroups,pBarrierGroups) ) +#define ID3D12GraphicsCommandList10_OMSetFrontAndBackStencilRef(This,FrontStencilRef,BackStencilRef) \ + ( (This)->OMSetFrontAndBackStencilRef(FrontStencilRef,BackStencilRef) ) +#define ID3D12GraphicsCommandList10_RSSetDepthBias(This,DepthBias,DepthBiasClamp,SlopeScaledDepthBias) \ + ( (This)->RSSetDepthBias(DepthBias,DepthBiasClamp,SlopeScaledDepthBias) ) +#define ID3D12GraphicsCommandList10_IASetIndexBufferStripCutValue(This,IBStripCutValue) \ + ( (This)->IASetIndexBufferStripCutValue(IBStripCutValue) ) +#define ID3D12GraphicsCommandList10_SetProgram(This,pDesc) \ + ( (This)->SetProgram(pDesc) ) +#define ID3D12GraphicsCommandList10_DispatchGraph(This,pDesc) \ + ( (This)->DispatchGraph(pDesc) ) +#define ID3D12GBVDiagnostics_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12GBVDiagnostics_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12GBVDiagnostics_Release(This) \ + ( (This)->Release() ) +#define ID3D12GBVDiagnostics_GetGBVEntireSubresourceStatesData(This,pResource,pData,DataSize) \ + ( (This)->GetGBVEntireSubresourceStatesData(pResource,pData,DataSize) ) +#define ID3D12GBVDiagnostics_GetGBVSubresourceState(This,pResource,Subresource,pData) \ + ( (This)->GetGBVSubresourceState(pResource,Subresource,pData) ) +#define ID3D12GBVDiagnostics_GetGBVResourceUniformState(This,pResource,pData) \ + ( (This)->GetGBVResourceUniformState(pResource,pData) ) +#define ID3D12GBVDiagnostics_GetGBVResourceInfo(This,pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) \ + ( (This)->GetGBVResourceInfo(pResource,pResourceDesc,pResourceHash,pSubresourceStatesByteOffset) ) +#define ID3D12GBVDiagnostics_GBVReserved0(This) \ + ( (This)->GBVReserved0() ) +#define ID3D12GBVDiagnostics_GBVReserved1(This) \ + ( (This)->GBVReserved1() ) +#define ID3D12Debug_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug_EnableDebugLayer(This) \ + ( (This)->EnableDebugLayer() ) +#define ID3D12Debug1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug1_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug1_EnableDebugLayer(This) \ + ( (This)->EnableDebugLayer() ) +#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable) \ + ( (This)->SetEnableGPUBasedValidation(Enable) ) +#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ + ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) +#define ID3D12Debug2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug2_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug2_SetGPUBasedValidationFlags(This,Flags) \ + ( (This)->SetGPUBasedValidationFlags(Flags) ) +#define ID3D12Debug3_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug3_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug3_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug3_EnableDebugLayer(This) \ + ( (This)->EnableDebugLayer() ) +#define ID3D12Debug3_SetEnableGPUBasedValidation(This,Enable) \ + ( (This)->SetEnableGPUBasedValidation(Enable) ) +#define ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ + ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) +#define ID3D12Debug3_SetGPUBasedValidationFlags(This,Flags) \ + ( (This)->SetGPUBasedValidationFlags(Flags) ) +#define ID3D12Debug4_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug4_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug4_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug4_EnableDebugLayer(This) \ + ( (This)->EnableDebugLayer() ) +#define ID3D12Debug4_SetEnableGPUBasedValidation(This,Enable) \ + ( (This)->SetEnableGPUBasedValidation(Enable) ) +#define ID3D12Debug4_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ + ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) +#define ID3D12Debug4_SetGPUBasedValidationFlags(This,Flags) \ + ( (This)->SetGPUBasedValidationFlags(Flags) ) +#define ID3D12Debug4_DisableDebugLayer(This) \ + ( (This)->DisableDebugLayer() ) +#define ID3D12Debug5_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug5_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug5_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug5_EnableDebugLayer(This) \ + ( (This)->EnableDebugLayer() ) +#define ID3D12Debug5_SetEnableGPUBasedValidation(This,Enable) \ + ( (This)->SetEnableGPUBasedValidation(Enable) ) +#define ID3D12Debug5_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ + ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) +#define ID3D12Debug5_SetGPUBasedValidationFlags(This,Flags) \ + ( (This)->SetGPUBasedValidationFlags(Flags) ) +#define ID3D12Debug5_DisableDebugLayer(This) \ + ( (This)->DisableDebugLayer() ) +#define ID3D12Debug5_SetEnableAutoName(This,Enable) \ + ( (This)->SetEnableAutoName(Enable) ) +#define ID3D12Debug6_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12Debug6_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12Debug6_Release(This) \ + ( (This)->Release() ) +#define ID3D12Debug6_EnableDebugLayer(This) \ + ( (This)->EnableDebugLayer() ) +#define ID3D12Debug6_SetEnableGPUBasedValidation(This,Enable) \ + ( (This)->SetEnableGPUBasedValidation(Enable) ) +#define ID3D12Debug6_SetEnableSynchronizedCommandQueueValidation(This,Enable) \ + ( (This)->SetEnableSynchronizedCommandQueueValidation(Enable) ) +#define ID3D12Debug6_SetGPUBasedValidationFlags(This,Flags) \ + ( (This)->SetGPUBasedValidationFlags(Flags) ) +#define ID3D12Debug6_DisableDebugLayer(This) \ + ( (This)->DisableDebugLayer() ) +#define ID3D12Debug6_SetEnableAutoName(This,Enable) \ + ( (This)->SetEnableAutoName(Enable) ) +#define ID3D12Debug6_SetForceLegacyBarrierValidation(This,Enable) \ + ( (This)->SetForceLegacyBarrierValidation(Enable) ) +#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugDevice1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugDevice1_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->SetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->GetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags) \ + ( (This)->ReportLiveDeviceObjects(Flags) ) +#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugDevice_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugDevice_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugDevice_SetFeatureMask(This,Mask) \ + ( (This)->SetFeatureMask(Mask) ) +#define ID3D12DebugDevice_GetFeatureMask(This) \ + ( (This)->GetFeatureMask() ) +#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags) \ + ( (This)->ReportLiveDeviceObjects(Flags) ) +#define ID3D12DebugDevice2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugDevice2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugDevice2_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugDevice2_SetFeatureMask(This,Mask) \ + ( (This)->SetFeatureMask(Mask) ) +#define ID3D12DebugDevice2_GetFeatureMask(This) \ + ( (This)->GetFeatureMask() ) +#define ID3D12DebugDevice2_ReportLiveDeviceObjects(This,Flags) \ + ( (This)->ReportLiveDeviceObjects(Flags) ) +#define ID3D12DebugDevice2_SetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->SetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugDevice2_GetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->GetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugCommandQueue_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugCommandQueue_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State) \ + ( (This)->AssertResourceState(pResource,Subresource,State) ) +#define ID3D12DebugCommandQueue1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugCommandQueue1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugCommandQueue1_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugCommandQueue1_AssertResourceState(This,pResource,Subresource,State) \ + ( (This)->AssertResourceState(pResource,Subresource,State) ) +#define ID3D12DebugCommandQueue1_AssertResourceAccess(This,pResource,Subresource,Access) \ + ( (This)->AssertResourceAccess(pResource,Subresource,Access) ) +#define ID3D12DebugCommandQueue1_AssertTextureLayout(This,pResource,Subresource,Layout) \ + ( (This)->AssertTextureLayout(pResource,Subresource,Layout) ) +#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugCommandList1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugCommandList1_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State) \ + ( (This)->AssertResourceState(pResource,Subresource,State) ) +#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->SetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->GetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugCommandList_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugCommandList_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State) \ + ( (This)->AssertResourceState(pResource,Subresource,State) ) +#define ID3D12DebugCommandList_SetFeatureMask(This,Mask) \ + ( (This)->SetFeatureMask(Mask) ) +#define ID3D12DebugCommandList_GetFeatureMask(This) \ + ( (This)->GetFeatureMask() ) +#define ID3D12DebugCommandList2_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugCommandList2_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugCommandList2_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugCommandList2_AssertResourceState(This,pResource,Subresource,State) \ + ( (This)->AssertResourceState(pResource,Subresource,State) ) +#define ID3D12DebugCommandList2_SetFeatureMask(This,Mask) \ + ( (This)->SetFeatureMask(Mask) ) +#define ID3D12DebugCommandList2_GetFeatureMask(This) \ + ( (This)->GetFeatureMask() ) +#define ID3D12DebugCommandList2_SetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->SetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandList2_GetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->GetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandList3_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12DebugCommandList3_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12DebugCommandList3_Release(This) \ + ( (This)->Release() ) +#define ID3D12DebugCommandList3_AssertResourceState(This,pResource,Subresource,State) \ + ( (This)->AssertResourceState(pResource,Subresource,State) ) +#define ID3D12DebugCommandList3_SetFeatureMask(This,Mask) \ + ( (This)->SetFeatureMask(Mask) ) +#define ID3D12DebugCommandList3_GetFeatureMask(This) \ + ( (This)->GetFeatureMask() ) +#define ID3D12DebugCommandList3_SetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->SetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandList3_GetDebugParameter(This,Type,pData,DataSize) \ + ( (This)->GetDebugParameter(Type,pData,DataSize) ) +#define ID3D12DebugCommandList3_AssertResourceAccess(This,pResource,Subresource,Access) \ + ( (This)->AssertResourceAccess(pResource,Subresource,Access) ) +#define ID3D12DebugCommandList3_AssertTextureLayout(This,pResource,Subresource,Layout) \ + ( (This)->AssertTextureLayout(pResource,Subresource,Layout) ) +#define ID3D12SharingContract_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12SharingContract_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12SharingContract_Release(This) \ + ( (This)->Release() ) +#define ID3D12SharingContract_Present(This,pResource,Subresource,window) \ + ( (This)->Present(pResource,Subresource,window) ) +#define ID3D12SharingContract_SharedFenceSignal(This,pFence,FenceValue) \ + ( (This)->SharedFenceSignal(pFence,FenceValue) ) +#define ID3D12SharingContract_BeginCapturableWork(This,guid) \ + ( (This)->BeginCapturableWork(guid) ) +#define ID3D12SharingContract_EndCapturableWork(This,guid) \ + ( (This)->EndCapturableWork(guid) ) +#define ID3D12ManualWriteTrackingResource_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12ManualWriteTrackingResource_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12ManualWriteTrackingResource_Release(This) \ + ( (This)->Release() ) +#define ID3D12ManualWriteTrackingResource_TrackWrite(This,Subresource,pWrittenRange) \ + ( (This)->TrackWrite(Subresource,pWrittenRange) ) +#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12InfoQueue_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12InfoQueue_Release(This) \ + ( (This)->Release() ) +#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit) \ + ( (This)->SetMessageCountLimit(MessageCountLimit) ) +#define ID3D12InfoQueue_ClearStoredMessages(This) \ + ( (This)->ClearStoredMessages() ) +#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ + ( (This)->GetMessage(MessageIndex,pMessage,pMessageByteLength) ) +#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This) \ + ( (This)->GetNumMessagesAllowedByStorageFilter() ) +#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This) \ + ( (This)->GetNumMessagesDeniedByStorageFilter() ) +#define ID3D12InfoQueue_GetNumStoredMessages(This) \ + ( (This)->GetNumStoredMessages() ) +#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ + ( (This)->GetNumStoredMessagesAllowedByRetrievalFilter() ) +#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This) \ + ( (This)->GetNumMessagesDiscardedByMessageCountLimit() ) +#define ID3D12InfoQueue_GetMessageCountLimit(This) \ + ( (This)->GetMessageCountLimit() ) +#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter) \ + ( (This)->AddStorageFilterEntries(pFilter) ) +#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength) \ + ( (This)->GetStorageFilter(pFilter,pFilterByteLength) ) +#define ID3D12InfoQueue_ClearStorageFilter(This) \ + ( (This)->ClearStorageFilter() ) +#define ID3D12InfoQueue_PushEmptyStorageFilter(This) \ + ( (This)->PushEmptyStorageFilter() ) +#define ID3D12InfoQueue_PushCopyOfStorageFilter(This) \ + ( (This)->PushCopyOfStorageFilter() ) +#define ID3D12InfoQueue_PushStorageFilter(This,pFilter) \ + ( (This)->PushStorageFilter(pFilter) ) +#define ID3D12InfoQueue_PopStorageFilter(This) \ + ( (This)->PopStorageFilter() ) +#define ID3D12InfoQueue_GetStorageFilterStackSize(This) \ + ( (This)->GetStorageFilterStackSize() ) +#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter) \ + ( (This)->AddRetrievalFilterEntries(pFilter) ) +#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ + ( (This)->GetRetrievalFilter(pFilter,pFilterByteLength) ) +#define ID3D12InfoQueue_ClearRetrievalFilter(This) \ + ( (This)->ClearRetrievalFilter() ) +#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This) \ + ( (This)->PushEmptyRetrievalFilter() ) +#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This) \ + ( (This)->PushCopyOfRetrievalFilter() ) +#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter) \ + ( (This)->PushRetrievalFilter(pFilter) ) +#define ID3D12InfoQueue_PopRetrievalFilter(This) \ + ( (This)->PopRetrievalFilter() ) +#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This) \ + ( (This)->GetRetrievalFilterStackSize() ) +#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription) \ + ( (This)->AddMessage(Category,Severity,ID,pDescription) ) +#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription) \ + ( (This)->AddApplicationMessage(Severity,pDescription) ) +#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable) \ + ( (This)->SetBreakOnCategory(Category,bEnable) ) +#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable) \ + ( (This)->SetBreakOnSeverity(Severity,bEnable) ) +#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable) \ + ( (This)->SetBreakOnID(ID,bEnable) ) +#define ID3D12InfoQueue_GetBreakOnCategory(This,Category) \ + ( (This)->GetBreakOnCategory(Category) ) +#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity) \ + ( (This)->GetBreakOnSeverity(Severity) ) +#define ID3D12InfoQueue_GetBreakOnID(This,ID) \ + ( (This)->GetBreakOnID(ID) ) +#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute) \ + ( (This)->SetMuteDebugOutput(bMute) ) +#define ID3D12InfoQueue_GetMuteDebugOutput(This) \ + ( (This)->GetMuteDebugOutput() ) +#define ID3D12InfoQueue1_QueryInterface(This,riid,ppvObject) \ + ( (This)->QueryInterface(riid,ppvObject) ) +#define ID3D12InfoQueue1_AddRef(This) \ + ( (This)->AddRef() ) +#define ID3D12InfoQueue1_Release(This) \ + ( (This)->Release() ) +#define ID3D12InfoQueue1_SetMessageCountLimit(This,MessageCountLimit) \ + ( (This)->SetMessageCountLimit(MessageCountLimit) ) +#define ID3D12InfoQueue1_ClearStoredMessages(This) \ + ( (This)->ClearStoredMessages() ) +#define ID3D12InfoQueue1_GetMessage(This,MessageIndex,pMessage,pMessageByteLength) \ + ( (This)->GetMessage(MessageIndex,pMessage,pMessageByteLength) ) +#define ID3D12InfoQueue1_GetNumMessagesAllowedByStorageFilter(This) \ + ( (This)->GetNumMessagesAllowedByStorageFilter() ) +#define ID3D12InfoQueue1_GetNumMessagesDeniedByStorageFilter(This) \ + ( (This)->GetNumMessagesDeniedByStorageFilter() ) +#define ID3D12InfoQueue1_GetNumStoredMessages(This) \ + ( (This)->GetNumStoredMessages() ) +#define ID3D12InfoQueue1_GetNumStoredMessagesAllowedByRetrievalFilter(This) \ + ( (This)->GetNumStoredMessagesAllowedByRetrievalFilter() ) +#define ID3D12InfoQueue1_GetNumMessagesDiscardedByMessageCountLimit(This) \ + ( (This)->GetNumMessagesDiscardedByMessageCountLimit() ) +#define ID3D12InfoQueue1_GetMessageCountLimit(This) \ + ( (This)->GetMessageCountLimit() ) +#define ID3D12InfoQueue1_AddStorageFilterEntries(This,pFilter) \ + ( (This)->AddStorageFilterEntries(pFilter) ) +#define ID3D12InfoQueue1_GetStorageFilter(This,pFilter,pFilterByteLength) \ + ( (This)->GetStorageFilter(pFilter,pFilterByteLength) ) +#define ID3D12InfoQueue1_ClearStorageFilter(This) \ + ( (This)->ClearStorageFilter() ) +#define ID3D12InfoQueue1_PushEmptyStorageFilter(This) \ + ( (This)->PushEmptyStorageFilter() ) +#define ID3D12InfoQueue1_PushCopyOfStorageFilter(This) \ + ( (This)->PushCopyOfStorageFilter() ) +#define ID3D12InfoQueue1_PushStorageFilter(This,pFilter) \ + ( (This)->PushStorageFilter(pFilter) ) +#define ID3D12InfoQueue1_PopStorageFilter(This) \ + ( (This)->PopStorageFilter() ) +#define ID3D12InfoQueue1_GetStorageFilterStackSize(This) \ + ( (This)->GetStorageFilterStackSize() ) +#define ID3D12InfoQueue1_AddRetrievalFilterEntries(This,pFilter) \ + ( (This)->AddRetrievalFilterEntries(pFilter) ) +#define ID3D12InfoQueue1_GetRetrievalFilter(This,pFilter,pFilterByteLength) \ + ( (This)->GetRetrievalFilter(pFilter,pFilterByteLength) ) +#define ID3D12InfoQueue1_ClearRetrievalFilter(This) \ + ( (This)->ClearRetrievalFilter() ) +#define ID3D12InfoQueue1_PushEmptyRetrievalFilter(This) \ + ( (This)->PushEmptyRetrievalFilter() ) +#define ID3D12InfoQueue1_PushCopyOfRetrievalFilter(This) \ + ( (This)->PushCopyOfRetrievalFilter() ) +#define ID3D12InfoQueue1_PushRetrievalFilter(This,pFilter) \ + ( (This)->PushRetrievalFilter(pFilter) ) +#define ID3D12InfoQueue1_PopRetrievalFilter(This) \ + ( (This)->PopRetrievalFilter() ) +#define ID3D12InfoQueue1_GetRetrievalFilterStackSize(This) \ + ( (This)->GetRetrievalFilterStackSize() ) +#define ID3D12InfoQueue1_AddMessage(This,Category,Severity,ID,pDescription) \ + ( (This)->AddMessage(Category,Severity,ID,pDescription) ) +#define ID3D12InfoQueue1_AddApplicationMessage(This,Severity,pDescription) \ + ( (This)->AddApplicationMessage(Severity,pDescription) ) +#define ID3D12InfoQueue1_SetBreakOnCategory(This,Category,bEnable) \ + ( (This)->SetBreakOnCategory(Category,bEnable) ) +#define ID3D12InfoQueue1_SetBreakOnSeverity(This,Severity,bEnable) \ + ( (This)->SetBreakOnSeverity(Severity,bEnable) ) +#define ID3D12InfoQueue1_SetBreakOnID(This,ID,bEnable) \ + ( (This)->SetBreakOnID(ID,bEnable) ) +#define ID3D12InfoQueue1_GetBreakOnCategory(This,Category) \ + ( (This)->GetBreakOnCategory(Category) ) +#define ID3D12InfoQueue1_GetBreakOnSeverity(This,Severity) \ + ( (This)->GetBreakOnSeverity(Severity) ) +#define ID3D12InfoQueue1_GetBreakOnID(This,ID) \ + ( (This)->GetBreakOnID(ID) ) +#define ID3D12InfoQueue1_SetMuteDebugOutput(This,bMute) \ + ( (This)->SetMuteDebugOutput(bMute) ) +#define ID3D12InfoQueue1_GetMuteDebugOutput(This) \ + ( (This)->GetMuteDebugOutput() ) +#define ID3D12InfoQueue1_RegisterMessageCallback(This,CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) \ + ( (This)->RegisterMessageCallback(CallbackFunc,CallbackFilterFlags,pContext,pCallbackCookie) ) +#define ID3D12InfoQueue1_UnregisterMessageCallback(This,CallbackCookie) \ + ( (This)->UnregisterMessageCallback(CallbackCookie) ) diff --git a/src/video/directx/gen_xbox_cmacros.cs b/src/video/directx/gen_xbox_cmacros.cs new file mode 100644 index 000000000..519f64eeb --- /dev/null +++ b/src/video/directx/gen_xbox_cmacros.cs @@ -0,0 +1,91 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +/* Build and run this any time you update d3d12.h/d3d12sdklayers.h! */ + +using System.IO; + +class Program +{ + static void GenMacros(string[] input, StreamWriter output) + { + for (int i = 0; i < input.Length; i += 1) + { + if (input[i].StartsWith("#define I")) + { + // Strip out the bad ABI calls, use D3D_CALL_RET instead! + if (input[i].Contains("_GetDesc(") || + input[i].Contains("_GetDesc1(") || + input[i].Contains("_GetCPUDescriptorHandleForHeapStart(") || + input[i].Contains("_GetGPUDescriptorHandleForHeapStart(") || + input[i].Contains("_GetResourceAllocationInfo(") || + input[i].Contains("_GetResourceAllocationInfo1(") || + input[i].Contains("_GetResourceAllocationInfo2(") || + input[i].Contains("_GetResourceAllocationInfo3(") || + input[i].Contains("_GetCustomHeapProperties(") || + input[i].Contains("_GetAdapterLuid(") || + input[i].Contains("_GetLUID(") || + input[i].Contains("_GetProgramIdentifier(") || + input[i].Contains("_GetNodeID(") || + input[i].Contains("_GetEntrypointID(")) + { + // May as well skip the next line... + i += 1; + continue; + } + + // The first line is fine as-is. + output.WriteLine(input[i]); + + // The second line, however... + i += 1; + + string notThis; + if (input[i].LastIndexOf("This,") > -1) + { + // Function with arguments + notThis = "This,"; + } + else + { + // Function with no arguments + notThis = "This"; + } + + int lastNotThis = input[i].LastIndexOf(notThis); + string alias = input[i].Substring(0, lastNotThis).Replace("lpVtbl -> ", ""); + string definition = input[i].Substring(lastNotThis).Replace(notThis, ""); + output.WriteLine(alias + definition); + } + } + } + + static void Main(string[] args) + { + using (FileStream SDL_d3d12_xbox_cmacros_h = File.OpenWrite("SDL_d3d12_xbox_cmacros.h")) + using (StreamWriter output = new StreamWriter(SDL_d3d12_xbox_cmacros_h)) + { + output.WriteLine("/* This file is autogenerated, DO NOT MODIFY */"); + GenMacros(File.ReadAllLines("d3d12.h"), output); + GenMacros(File.ReadAllLines("d3d12sdklayers.h"), output); + } + } +}