diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-01-27 02:54:07 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-01-27 02:54:07 +0000 |
| commit | bf4307fc31ae68baa3768fbe1e14862713d32260 (patch) | |
| tree | 3342c4b49c86c65a709c3ca761702a1268a0e1cc /Graphics/GraphicsEngine | |
| parent | Added Engine factory c interface (diff) | |
| download | DiligentCore-bf4307fc31ae68baa3768fbe1e14862713d32260.tar.gz DiligentCore-bf4307fc31ae68baa3768fbe1e14862713d32260.zip | |
Fixed command list and device context C interfaces; fixed more Linux & Mac build issues
Diffstat (limited to 'Graphics/GraphicsEngine')
| -rw-r--r-- | Graphics/GraphicsEngine/interface/CommandList.h | 13 | ||||
| -rw-r--r-- | Graphics/GraphicsEngine/interface/DeviceContext.h | 190 |
2 files changed, 118 insertions, 85 deletions
diff --git a/Graphics/GraphicsEngine/interface/CommandList.h b/Graphics/GraphicsEngine/interface/CommandList.h index 7837a07d..521797a6 100644 --- a/Graphics/GraphicsEngine/interface/CommandList.h +++ b/Graphics/GraphicsEngine/interface/CommandList.h @@ -54,15 +54,20 @@ class ICommandList : public IDeviceObject struct ICommandList; // C requires that a struct or union has at least one member -//struct ICommandListVtbl +//struct ICommandListMethods //{ //}; +struct ICommandListVtbl +{ + struct IObjectMethods Object; + struct IDeviceObjectMethods DeviceObject; + //struct ICommandListMethods CommandList; +}; + struct ICommandList { - struct IObjectVtbl* pObjectVtbl; - struct IDeviceObjectVtbl* pDeviceObjectVtbl; - //struct ICommandListVtbl* pCommandListVtbl; + struct ICommandListVtbl* pVtbl; }; #endif diff --git a/Graphics/GraphicsEngine/interface/DeviceContext.h b/Graphics/GraphicsEngine/interface/DeviceContext.h index 73fc12c6..a1c44a13 100644 --- a/Graphics/GraphicsEngine/interface/DeviceContext.h +++ b/Graphics/GraphicsEngine/interface/DeviceContext.h @@ -1252,130 +1252,158 @@ public: struct IDeviceContext; -struct IDeviceContextVtbl +struct IDeviceContextMethods { - void (*SetPipelineState)(class IPipelineState* pPipelineState); - void (*TransitionShaderResources)(class IPipelineState* pPipelineState, class IShaderResourceBinding* pShaderResourceBinding); - void (*CommitShaderResources)(class IShaderResourceBinding* pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); - void (*SetStencilRef)(Uint32 StencilRef); - void (*SetBlendFactors)(const float* pBlendFactors); - void (*SetVertexBuffers)(Uint32 StartSlot, + void (*SetPipelineState)(struct IDeviceContext*, class IPipelineState* pPipelineState); + void (*TransitionShaderResources)(struct IDeviceContext*, class IPipelineState* pPipelineState, class IShaderResourceBinding* pShaderResourceBinding); + void (*CommitShaderResources)(struct IDeviceContext*, class IShaderResourceBinding* pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); + void (*SetStencilRef)(struct IDeviceContext*, Uint32 StencilRef); + void (*SetBlendFactors)(struct IDeviceContext*, const float* pBlendFactors); + void (*SetVertexBuffers)(struct IDeviceContext*, + Uint32 StartSlot, Uint32 NumBuffersSet, class IBuffer** ppBuffers, Uint32* pOffsets, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, SET_VERTEX_BUFFERS_FLAGS Flags); - void (*InvalidateState)(); - void (*SetIndexBuffer)(class IBuffer* pIndexBuffer, Uint32 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); - void (*SetViewports)(Uint32 NumViewports, const struct Viewport* pViewports, Uint32 RTWidth, Uint32 RTHeight); - void (*SetScissorRects)(Uint32 NumRects, const struct Rect* pRects, Uint32 RTWidth, Uint32 RTHeight); - void (*SetRenderTargets)(Uint32 NumRenderTargets, + void (*InvalidateState)(struct IDeviceContext*); + void (*SetIndexBuffer)(struct IDeviceContext*, + class IBuffer* pIndexBuffer, + Uint32 ByteOffset, + RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); + void (*SetViewports)(struct IDeviceContext*, + Uint32 NumViewports, + const struct Viewport* pViewports, + Uint32 RTWidth, + Uint32 RTHeight); + void (*SetScissorRects)(struct IDeviceContext*, + Uint32 NumRects, + const struct Rect* pRects, + Uint32 RTWidth, + Uint32 RTHeight); + void (*SetRenderTargets)(struct IDeviceContext*, + Uint32 NumRenderTargets, class ITextureView* ppRenderTargets[], class ITextureView* pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); - void (*Draw)(const struct DrawAttribs* Attribs); - void (*DrawIndexed)(const struct DrawIndexedAttribs* Attribs); - void (*DrawIndirect)(const struct DrawIndirectAttribs* Attribs, class IBuffer* pAttribsBuffer); - void (*DrawIndexedIndirect)(const struct DrawIndexedIndirectAttribs* Attribs, class IBuffer* pAttribsBuffer); - void (*DispatchCompute)(const struct DispatchComputeAttribs* Attribs); - void (*DispatchComputeIndirect)(const struct DispatchComputeIndirectAttribs* Attribs, class IBuffer* pAttribsBuffer); - void (*ClearDepthStencil)(class ITextureView* pView, + void (*Draw)(struct IDeviceContext*, const struct DrawAttribs* Attribs); + void (*DrawIndexed)(struct IDeviceContext*, const struct DrawIndexedAttribs* Attribs); + void (*DrawIndirect)(struct IDeviceContext*, const struct DrawIndirectAttribs* Attribs, class IBuffer* pAttribsBuffer); + void (*DrawIndexedIndirect)(struct IDeviceContext*, const struct DrawIndexedIndirectAttribs* Attribs, class IBuffer* pAttribsBuffer); + void (*DispatchCompute)(struct IDeviceContext*, const struct DispatchComputeAttribs* Attribs); + void (*DispatchComputeIndirect)(struct IDeviceContext*, const struct DispatchComputeIndirectAttribs* Attribs, class IBuffer* pAttribsBuffer); + void (*ClearDepthStencil)(struct IDeviceContext*, + class ITextureView* pView, CLEAR_DEPTH_STENCIL_FLAGS ClearFlags, float fDepth, Uint8 Stencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); - void (*ClearRenderTarget)(class ITextureView* pView, const float* RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); - void (*FinishCommandList)(class ICommandList** ppCommandList); - void (*ExecuteCommandList)(class ICommandList* pCommandList); - void (*SignalFence)(class IFence* pFence, Uint64 Value); - void (*WaitForFence)(class IFence* pFence, Uint64 Value, bool FlushContext); - void (*WaitForIdle)(); - void (*BeginQuery)(class IQuery* pQuery); - void (*EndQuery)(class IQuery* pQuery); - void (*Flush)(); - void (*UpdateBuffer)(class IBuffer* pBuffer, + void (*ClearRenderTarget)(struct IDeviceContext*, class ITextureView* pView, const float* RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); + void (*FinishCommandList)(struct IDeviceContext*, class ICommandList** ppCommandList); + void (*ExecuteCommandList)(struct IDeviceContext*, class ICommandList* pCommandList); + void (*SignalFence)(struct IDeviceContext*, class IFence* pFence, Uint64 Value); + void (*WaitForFence)(struct IDeviceContext*, class IFence* pFence, Uint64 Value, bool FlushContext); + void (*WaitForIdle)(struct IDeviceContext*); + void (*BeginQuery)(struct IDeviceContext*, class IQuery* pQuery); + void (*EndQuery)(struct IDeviceContext*, class IQuery* pQuery); + void (*Flush)(struct IDeviceContext*); + void (*UpdateBuffer)(struct IDeviceContext*, + class IBuffer* pBuffer, Uint32 Offset, Uint32 Size, const void* pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode); - void (*CopyBuffer)(class IBuffer* pSrcBuffer, + void (*CopyBuffer)(struct IDeviceContext*, + class IBuffer* pSrcBuffer, Uint32 SrcOffset, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, class IBuffer* pDstBuffer, Uint32 DstOffset, Uint32 Size, RESOURCE_STATE_TRANSITION_MODE DstBufferTransitionMode); - void (*MapBuffer)(class IBuffer* pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid* pMappedData); - void (*UnmapBuffer)(class IBuffer* pBuffer, MAP_TYPE MapType); - void (*UpdateTexture)(class ITexture* pTexture, + void (*MapBuffer)(struct IDeviceContext*, class IBuffer* pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid* pMappedData); + void (*UnmapBuffer)(struct IDeviceContext*, class IBuffer* pBuffer, MAP_TYPE MapType); + void (*UpdateTexture)(struct IDeviceContext*, + class ITexture* pTexture, Uint32 MipLevel, Uint32 Slice, const struct Box* DstBox, const struct TextureSubResData* SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, RESOURCE_STATE_TRANSITION_MODE TextureTransitionMode); - void (*CopyTexture)(const struct CopyTextureAttribs* CopyAttribs); - void (*MapTextureSubresource)(class ITexture* pTexture, + void (*CopyTexture)(struct IDeviceContext*, const struct CopyTextureAttribs* CopyAttribs); + void (*MapTextureSubresource)(struct IDeviceContext*, + class ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice, MAP_TYPE MapType, MAP_FLAGS MapFlags, const struct Box* pMapRegion, struct MappedTextureSubresource* MappedData); - void (*UnmapTextureSubresource)(class ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice); - void (*GenerateMips)(class ITextureView* pTextureView); - void (*FinishFrame)(); - void (*TransitionResourceStates)(Uint32 BarrierCount, struct StateTransitionDesc* pResourceBarriers); - void (*ResolveTextureSubresource)(class ITexture* pSrcTexture, + void (*UnmapTextureSubresource)(struct IDeviceContext*, class ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice); + void (*GenerateMips)(struct IDeviceContext*, class ITextureView* pTextureView); + void (*FinishFrame)(struct IDeviceContext*); + void (*TransitionResourceStates)(struct IDeviceContext*, Uint32 BarrierCount, struct StateTransitionDesc* pResourceBarriers); + void (*ResolveTextureSubresource)(struct IDeviceContext*, + class ITexture* pSrcTexture, class ITexture* pDstTexture, const struct ResolveTextureSubresourceAttribs* ResolveAttribs); }; +struct IDeviceContextVtbl +{ + struct IObjectMethods Object; + struct IDeviceContextMethods DeviceContext; +}; + struct IDeviceContext { - struct IObjectVtbl* pObjectVtbl; - struct IDeviceContextVtbl* pDeviceContextVtbl; + struct IDeviceContextVtbl* pVtbl; }; -# define IDeviceContext_SetPipelineState(This, ...) (This)->pDeviceContextVtbl->SetPipelineState(This, __VA_ARGS__) -# define IDeviceContext_TransitionShaderResources(This, ...) (This)->pDeviceContextVtbl->TransitionShaderResources(This, __VA_ARGS__) -# define IDeviceContext_CommitShaderResources(This, ...) (This)->pDeviceContextVtbl - CommitShaderResources(This, __VA_ARGS__) -# define IDeviceContext_SetStencilRef(This, ...) (This)->pDeviceContextVtbl->SetStencilRef(This, __VA_ARGS__) -# define IDeviceContext_SetBlendFactors(This, ...) (This)->pDeviceContextVtbl->SetBlendFactors(This, __VA_ARGS__) -# define IDeviceContext_SetVertexBuffers(This, ...) (This)->pDeviceContextVtbl->SetVertexBuffers(This, __VA_ARGS__) -# define IDeviceContext_InvalidateState(This) (This)->pDeviceContextVtbl->InvalidateState(This) -# define IDeviceContext_SetIndexBuffer(This, ...) (This)->pDeviceContextVtbl->SetIndexBuffer(This, __VA_ARGS__) -# define IDeviceContext_SetViewports(This, ...) (This)->pDeviceContextVtbl->SetViewports(This, __VA_ARGS__) -# define IDeviceContext_SetScissorRects(This, ...) (This)->pDeviceContextVtbl->SetScissorRects(This, __VA_ARGS__) -# define IDeviceContext_SetRenderTargets(This, ...) (This)->pDeviceContextVtbl->SetRenderTargets(This, __VA_ARGS__) -# define IDeviceContext_Draw(This, ...) (This)->pDeviceContextVtbl->Draw(This, __VA_ARGS__) -# define IDeviceContext_DrawIndexed(This, ...) (This)->pDeviceContextVtbl->DrawIndexed(This, __VA_ARGS__) -# define IDeviceContext_DrawIndirect(This, ...) (This)->pDeviceContextVtbl->DrawIndirect(This, __VA_ARGS__) -# define IDeviceContext_DrawIndexedIndirect(This, ...) (This)->pDeviceContextVtbl->DrawIndexedIndirect(This, __VA_ARGS__) -# define IDeviceContext_DispatchCompute(This, ...) (This)->pDeviceContextVtbl->DispatchCompute(This, __VA_ARGS__) -# define IDeviceContext_DispatchComputeIndirect(This, ...) (This)->pDeviceContextVtbl->DispatchComputeIndirect(This, __VA_ARGS__) -# define IDeviceContext_ClearDepthStencil(This, ...) (This)->pDeviceContextVtbl->ClearDepthStencil(This, __VA_ARGS__) -# define IDeviceContext_ClearRenderTarget(This, ...) (This)->pDeviceContextVtbl->ClearRenderTarget(This, __VA_ARGS__) -# define IDeviceContext_FinishCommandList(This, ...) (This)->pDeviceContextVtbl->FinishCommandList(This, __VA_ARGS__) -# define IDeviceContext_ExecuteCommandList(This, ...) (This)->pDeviceContextVtbl->ExecuteCommandList(This, __VA_ARGS__) -# define IDeviceContext_SignalFence(This, ...) (This)->pDeviceContextVtbl->SignalFence(This, __VA_ARGS__) -# define IDeviceContext_WaitForFence(This, ...) (This)->pDeviceContextVtbl->WaitForFence(This, __VA_ARGS__) -# define IDeviceContext_WaitForIdle(This, ...) (This)->pDeviceContextVtbl->WaitForIdle(This, __VA_ARGS__) -# define IDeviceContext_BeginQuery(This, ...) (This)->pDeviceContextVtbl->BeginQuery(This, __VA_ARGS__) -# define IDeviceContext_EndQuery(This, ...) (This)->pDeviceContextVtbl->EndQuery(This, __VA_ARGS__) -# define IDeviceContext_Flush(This, ...) (This)->pDeviceContextVtbl->Flush(This, __VA_ARGS__) -# define IDeviceContext_UpdateBuffer(This, ...) (This)->pDeviceContextVtbl->UpdateBuffer(This, __VA_ARGS__) -# define IDeviceContext_CopyBuffer(This, ...) (This)->pDeviceContextVtbl->CopyBuffer(This, __VA_ARGS__) -# define IDeviceContext_MapBuffer(This, ...) (This)->pDeviceContextVtbl->MapBuffer(This, __VA_ARGS__) -# define IDeviceContext_UnmapBuffer(This, ...) (This)->pDeviceContextVtbl->UnmapBuffer(This, __VA_ARGS__) -# define IDeviceContext_UpdateTexture(This, ...) (This)->pDeviceContextVtbl->UpdateTexture(This, __VA_ARGS__) -# define IDeviceContext_CopyTexture(This, ...) (This)->pDeviceContextVtbl->CopyTexture(This, __VA_ARGS__) -# define IDeviceContext_MapTextureSubresource(This, ...) (This)->pDeviceContextVtbl->MapTextureSubresource(This, __VA_ARGS__) -# define IDeviceContext_UnmapTextureSubresource(This, ...) (This)->pDeviceContextVtbl->UnmapTextureSubresource(This, __VA_ARGS__) -# define IDeviceContext_GenerateMips(This, ...) (This)->pDeviceContextVtbl->GenerateMips(This, __VA_ARGS__) -# define IDeviceContext_FinishFrame(This) (This)->pDeviceContextVtbl->FinishFrame(This) -# define IDeviceContext_TransitionResourceStates(This, ...) (This)->pDeviceContextVtbl->TransitionResourceStates(This, __VA_ARGS__) -# define IDeviceContext_ResolveTextureSubresource(This, ...) (This)->pDeviceContextVtbl->ResolveTextureSubresource(This, __VA_ARGS__) +// clang-format off + +# define IDeviceContext_SetPipelineState(This, ...) (This)->pVtbl->DeviceContext.SetPipelineState ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_TransitionShaderResources(This, ...) (This)->pVtbl->DeviceContext.TransitionShaderResources ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_CommitShaderResources(This, ...) (This)->pVtbl->DeviceContext.CommitShaderResources ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SetStencilRef(This, ...) (This)->pVtbl->DeviceContext.SetStencilRef ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SetBlendFactors(This, ...) (This)->pVtbl->DeviceContext.SetBlendFactors ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SetVertexBuffers(This, ...) (This)->pVtbl->DeviceContext.SetVertexBuffers ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_InvalidateState(This) (This)->pVtbl->DeviceContext.InvalidateState ((struct IDeviceContext*)(This)) +# define IDeviceContext_SetIndexBuffer(This, ...) (This)->pVtbl->DeviceContext.SetIndexBuffer ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SetViewports(This, ...) (This)->pVtbl->DeviceContext.SetViewports ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SetScissorRects(This, ...) (This)->pVtbl->DeviceContext.SetScissorRects ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SetRenderTargets(This, ...) (This)->pVtbl->DeviceContext.SetRenderTargets ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_Draw(This, ...) (This)->pVtbl->DeviceContext.Draw ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_DrawIndexed(This, ...) (This)->pVtbl->DeviceContext.DrawIndexed ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_DrawIndirect(This, ...) (This)->pVtbl->DeviceContext.DrawIndirect ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_DrawIndexedIndirect(This, ...) (This)->pVtbl->DeviceContext.DrawIndexedIndirect ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_DispatchCompute(This, ...) (This)->pVtbl->DeviceContext.DispatchCompute ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_DispatchComputeIndirect(This, ...) (This)->pVtbl->DeviceContext.DispatchComputeIndirect ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_ClearDepthStencil(This, ...) (This)->pVtbl->DeviceContext.ClearDepthStencil ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_ClearRenderTarget(This, ...) (This)->pVtbl->DeviceContext.ClearRenderTarget ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_FinishCommandList(This, ...) (This)->pVtbl->DeviceContext.FinishCommandList ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_ExecuteCommandList(This, ...) (This)->pVtbl->DeviceContext.ExecuteCommandList ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_SignalFence(This, ...) (This)->pVtbl->DeviceContext.SignalFence ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_WaitForFence(This, ...) (This)->pVtbl->DeviceContext.WaitForFence ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_WaitForIdle(This, ...) (This)->pVtbl->DeviceContext.WaitForIdle ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_BeginQuery(This, ...) (This)->pVtbl->DeviceContext.BeginQuery ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_EndQuery(This, ...) (This)->pVtbl->DeviceContext.EndQuery ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_Flush(This, ...) (This)->pVtbl->DeviceContext.Flush ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_UpdateBuffer(This, ...) (This)->pVtbl->DeviceContext.UpdateBuffer ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_CopyBuffer(This, ...) (This)->pVtbl->DeviceContext.CopyBuffer ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_MapBuffer(This, ...) (This)->pVtbl->DeviceContext.MapBuffer ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_UnmapBuffer(This, ...) (This)->pVtbl->DeviceContext.UnmapBuffer ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_UpdateTexture(This, ...) (This)->pVtbl->DeviceContext.UpdateTexture ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_CopyTexture(This, ...) (This)->pVtbl->DeviceContext.CopyTexture ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_MapTextureSubresource(This, ...) (This)->pVtbl->DeviceContext.MapTextureSubresource ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_UnmapTextureSubresource(This, ...) (This)->pVtbl->DeviceContext.UnmapTextureSubresource ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_GenerateMips(This, ...) (This)->pVtbl->DeviceContext.GenerateMips ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_FinishFrame(This) (This)->pVtbl->DeviceContext.FinishFrame ((struct IDeviceContext*)(This)) +# define IDeviceContext_TransitionResourceStates(This, ...) (This)->pVtbl->DeviceContext.TransitionResourceStates ((struct IDeviceContext*)(This), __VA_ARGS__) +# define IDeviceContext_ResolveTextureSubresource(This, ...) (This)->pVtbl->DeviceContext.ResolveTextureSubresource ((struct IDeviceContext*)(This), __VA_ARGS__) + +// clang-format on #endif |
