Diligent::DeviceContextD3D11Impl class final

Device context implementation in Direct3D11 backend.

Contents

Base classes

template<typename EngineImplTraits>
class DeviceContextBase<EngineD3D11ImplTraits>
Base implementation of the device context.

Public functions

void SetPipelineState(IPipelineState* pPipelineState) final
Implementation of IDeviceContext::SetPipelineState() in Direct3D11 backend.
void TransitionShaderResources(IPipelineState* pPipelineState, IShaderResourceBinding* pShaderResourceBinding) final
Implementation of IDeviceContext::TransitionShaderResources() in Direct3D11 backend.
void CommitShaderResources(IShaderResourceBinding* pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::CommitShaderResources() in Direct3D11 backend.
void SetStencilRef(Uint32 StencilRef) final
Implementation of IDeviceContext::SetStencilRef() in Direct3D11 backend.
void SetBlendFactors(const float* pBlendFactors = nullptr) final
Implementation of IDeviceContext::SetBlendFactors() in Direct3D11 backend.
void SetVertexBuffers(Uint32 StartSlot, Uint32 NumBuffersSet, IBuffer** ppBuffers, Uint32* pOffsets, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, SET_VERTEX_BUFFERS_FLAGS Flags) final
Implementation of IDeviceContext::SetVertexBuffers() in Direct3D11 backend.
void InvalidateState() final
Implementation of IDeviceContext::InvalidateState() in Direct3D11 backend.
void SetIndexBuffer(IBuffer* pIndexBuffer, Uint32 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::SetIndexBuffer() in Direct3D11 backend.
void SetViewports(Uint32 NumViewports, const Viewport* pViewports, Uint32 RTWidth, Uint32 RTHeight) final
Implementation of IDeviceContext::SetViewports() in Direct3D11 backend.
void SetScissorRects(Uint32 NumRects, const Rect* pRects, Uint32 RTWidth, Uint32 RTHeight) final
Implementation of IDeviceContext::SetScissorRects() in Direct3D11 backend.
void SetRenderTargets(Uint32 NumRenderTargets, ITextureView* ppRenderTargets[], ITextureView* pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::SetRenderTargets() in Direct3D11 backend.
void BeginRenderPass(const BeginRenderPassAttribs& Attribs) final
Implementation of IDeviceContext::BeginRenderPass() in Direct3D11 backend.
void NextSubpass() final
Implementation of IDeviceContext::NextSubpass() in Direct3D11 backend.
void EndRenderPass() final
Implementation of IDeviceContext::EndRenderPass() in Direct3D11 backend.
void Draw(const DrawAttribs& Attribs) final
Implementation of IDeviceContext::Draw() in Direct3D11 backend.
void DrawIndexed(const DrawIndexedAttribs& Attribs) final
Implementation of IDeviceContext::DrawIndexed() in Direct3D11 backend.
void DrawIndirect(const DrawIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DrawIndirect() in Direct3D11 backend.
void DrawIndexedIndirect(const DrawIndexedIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DrawIndexedIndirect() in Direct3D11 backend.
void DrawMesh(const DrawMeshAttribs& Attribs) final
Implementation of IDeviceContext::DrawMesh() in Direct3D11 backend.
void DrawMeshIndirect(const DrawMeshIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DrawMeshIndirect() in Direct3D11 backend.
void DrawMeshIndirectCount(const DrawMeshIndirectCountAttribs& Attribs, IBuffer* pAttribsBuffer, IBuffer* pCountBuffer) final
Implementation of IDeviceContext::DrawMeshIndirectCount() in Direct3D11 backend.
void DispatchCompute(const DispatchComputeAttribs& Attribs) final
Implementation of IDeviceContext::DispatchCompute() in Direct3D11 backend.
void DispatchComputeIndirect(const DispatchComputeIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DispatchComputeIndirect() in Direct3D11 backend.
void ClearDepthStencil(ITextureView* pView, CLEAR_DEPTH_STENCIL_FLAGS ClearFlags, float fDepth, Uint8 Stencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::ClearDepthStencil() in Direct3D11 backend.
void ClearRenderTarget(ITextureView* pView, const float* RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::ClearRenderTarget() in Direct3D11 backend.
void UpdateBuffer(IBuffer* pBuffer, Uint32 Offset, Uint32 Size, const void* pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::UpdateBuffer() in Direct3D11 backend.
void CopyBuffer(IBuffer* pSrcBuffer, Uint32 SrcOffset, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, IBuffer* pDstBuffer, Uint32 DstOffset, Uint32 Size, RESOURCE_STATE_TRANSITION_MODE DstBufferTransitionMode) final
Implementation of IDeviceContext::CopyBuffer() in Direct3D11 backend.
void MapBuffer(IBuffer* pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid& pMappedData) final
Implementation of IDeviceContext::MapBuffer() in Direct3D11 backend.
void UnmapBuffer(IBuffer* pBuffer, MAP_TYPE MapType) final
Implementation of IDeviceContext::UnmapBuffer() in Direct3D11 backend.
void UpdateTexture(ITexture* pTexture, Uint32 MipLevel, Uint32 Slice, const Box& DstBox, const TextureSubResData& SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::UpdateTexture() in Direct3D11 backend.
void CopyTexture(const CopyTextureAttribs& CopyAttribs) final
Implementation of IDeviceContext::CopyTexture() in Direct3D11 backend.
void MapTextureSubresource(ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice, MAP_TYPE MapType, MAP_FLAGS MapFlags, const Box* pMapRegion, MappedTextureSubresource& MappedData) final
Implementation of IDeviceContext::MapTextureSubresource() in Direct3D11 backend.
void UnmapTextureSubresource(ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice) final
Implementation of IDeviceContext::UnmapTextureSubresource() in Direct3D11 backend.
void GenerateMips(ITextureView* pTextureView) final
Implementation of IDeviceContext::GenerateMips() in Direct3D11 backend.
void FinishFrame() final
Implementation of IDeviceContext::FinishFrame() in Direct3D11 backend.
void TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc* pResourceBarriers) final
Implementation of IDeviceContext::TransitionResourceStates() in Direct3D11 backend.
void ResolveTextureSubresource(ITexture* pSrcTexture, ITexture* pDstTexture, const ResolveTextureSubresourceAttribs& ResolveAttribs) final
Implementation of IDeviceContext::ResolveTextureSubresource() in Direct3D11 backend.
void FinishCommandList(class ICommandList** ppCommandList) final
Implementation of IDeviceContext::FinishCommandList() in Direct3D11 backend.
void ExecuteCommandLists(Uint32 NumCommandLists, ICommandList*const* ppCommandLists) final
Implementation of IDeviceContext::ExecuteCommandLists() in Direct3D11 backend.
void SignalFence(IFence* pFence, Uint64 Value) final
Implementation of IDeviceContext::SignalFence() in Direct3D11 backend.
void WaitForFence(IFence* pFence, Uint64 Value, bool FlushContext) final
Implementation of IDeviceContext::WaitForFence() in Direct3D11 backend.
void WaitForIdle() final
Implementation of IDeviceContext::WaitForIdle() in Direct3D11 backend.
void BeginQuery(IQuery* pQuery) final
Implementation of IDeviceContext::BeginQuery() in Direct3D11 backend.
void EndQuery(IQuery* pQuery) final
Implementation of IDeviceContext::EndQuery() in Direct3D11 backend.
void Flush() final
Implementation of IDeviceContext::Flush() in Direct3D11 backend.
void BuildBLAS(const BuildBLASAttribs& Attribs) final
Implementation of IDeviceContext::BuildBLAS().
void BuildTLAS(const BuildTLASAttribs& Attribs) final
Implementation of IDeviceContext::BuildTLAS().
void CopyBLAS(const CopyBLASAttribs& Attribs) final
Implementation of IDeviceContext::CopyBLAS().
void CopyTLAS(const CopyTLASAttribs& Attribs) final
Implementation of IDeviceContext::CopyTLAS().
void WriteBLASCompactedSize(const WriteBLASCompactedSizeAttribs& Attribs) final
Implementation of IDeviceContext::WriteBLASCompactedSize().
void WriteTLASCompactedSize(const WriteTLASCompactedSizeAttribs& Attribs) final
Implementation of IDeviceContext::WriteTLASCompactedSize().
void TraceRays(const TraceRaysAttribs& Attribs) final
Implementation of IDeviceContext::TraceRays().
void TraceRaysIndirect(const TraceRaysIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::TraceRaysIndirect().
void UpdateSBT(IShaderBindingTable* pSBT, const UpdateIndirectRTBufferAttribs* pUpdateIndirectBufferAttribs) final
Implementation of IDeviceContext::UpdateSBT().
auto GetD3D11DeviceContext() -> ID3D11DeviceContext* final
Implementation of IDeviceContextD3D11::GetD3D11DeviceContext().
void ReleaseCommittedShaderResources()
Clears committed shader resource cache. This function is called once per frame (before present) to release all outstanding objects that are only kept alive by references in the cache. The function does not release cached vertex and index buffers, input layout, depth-stencil, rasterizer, and blend states.
void ResetRenderTargets() final
Unbinds all render targets. Used when resizing the swap chain.