Diligent::DeviceContextD3D12Impl class final

Device context implementation in Direct3D12 backend.

Contents

Base classes

template<typename EngineImplTraits>
class DeviceContextNextGenBase<EngineD3D12ImplTraits>
Base implementation of the device context for next-generation backends.

Public functions

void SetPipelineState(IPipelineState* pPipelineState) final
Implementation of IDeviceContext::SetPipelineState() in Direct3D12 backend.
void TransitionShaderResources(IPipelineState* pPipelineState, IShaderResourceBinding* pShaderResourceBinding) final
Implementation of IDeviceContext::TransitionShaderResources() in Direct3D12 backend.
void CommitShaderResources(IShaderResourceBinding* pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::CommitShaderResources() in Direct3D12 backend.
void SetStencilRef(Uint32 StencilRef) final
Implementation of IDeviceContext::SetStencilRef() in Direct3D12 backend.
void SetBlendFactors(const float* pBlendFactors = nullptr) final
Implementation of IDeviceContext::SetBlendFactors() in Direct3D12 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 Direct3D12 backend.
void InvalidateState() final
Implementation of IDeviceContext::InvalidateState() in Direct3D12 backend.
void SetIndexBuffer(IBuffer* pIndexBuffer, Uint32 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::SetIndexBuffer() in Direct3D12 backend.
void SetViewports(Uint32 NumViewports, const Viewport* pViewports, Uint32 RTWidth, Uint32 RTHeight) final
Implementation of IDeviceContext::SetViewports() in Direct3D12 backend.
void SetScissorRects(Uint32 NumRects, const Rect* pRects, Uint32 RTWidth, Uint32 RTHeight) final
Implementation of IDeviceContext::SetScissorRects() in Direct3D12 backend.
void SetRenderTargets(Uint32 NumRenderTargets, ITextureView* ppRenderTargets[], ITextureView* pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::SetRenderTargets() in Direct3D12 backend.
void BeginRenderPass(const BeginRenderPassAttribs& Attribs) final
Implementation of IDeviceContext::BeginRenderPass() in Direct3D12 backend.
void NextSubpass() final
Implementation of IDeviceContext::NextSubpass() in Direct3D12 backend.
void EndRenderPass() final
Implementation of IDeviceContext::EndRenderPass() in Direct3D12 backend.
void Draw(const DrawAttribs& Attribs) final
Implementation of IDeviceContext::Draw() in Direct3D12 backend.
void DrawIndexed(const DrawIndexedAttribs& Attribs) final
Implementation of IDeviceContext::DrawIndexed() in Direct3D12 backend.
void DrawIndirect(const DrawIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DrawIndirect() in Direct3D12 backend.
void DrawIndexedIndirect(const DrawIndexedIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DrawIndexedIndirect() in Direct3D12 backend.
void DrawMesh(const DrawMeshAttribs& Attribs) final
Implementation of IDeviceContext::DrawMesh() in Direct3D12 backend.
void DrawMeshIndirect(const DrawMeshIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DrawMeshIndirect() in Direct3D12 backend.
void DrawMeshIndirectCount(const DrawMeshIndirectCountAttribs& Attribs, IBuffer* pAttribsBuffer, IBuffer* pCountBuffer) final
Implementation of IDeviceContext::DrawMeshIndirectCount() in Direct3D12 backend.
void DispatchCompute(const DispatchComputeAttribs& Attribs) final
Implementation of IDeviceContext::DispatchCompute() in Direct3D12 backend.
void DispatchComputeIndirect(const DispatchComputeIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::DispatchComputeIndirect() in Direct3D12 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 Direct3D12 backend.
void ClearRenderTarget(ITextureView* pView, const float* RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::ClearRenderTarget() in Direct3D12 backend.
void UpdateBuffer(IBuffer* pBuffer, Uint32 Offset, Uint32 Size, const void* pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) final
Implementation of IDeviceContext::UpdateBuffer() in Direct3D12 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 Direct3D12 backend.
void MapBuffer(IBuffer* pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid& pMappedData) final
Implementation of IDeviceContext::MapBuffer() in Direct3D12 backend.
void UnmapBuffer(IBuffer* pBuffer, MAP_TYPE MapType) final
Implementation of IDeviceContext::UnmapBuffer() in Direct3D12 backend.
void UpdateTexture(ITexture* pTexture, Uint32 MipLevel, Uint32 Slice, const Box& DstBox, const TextureSubResData& SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, RESOURCE_STATE_TRANSITION_MODE TextureTransitionMode) final
Implementation of IDeviceContext::UpdateTexture() in Direct3D12 backend.
void CopyTexture(const CopyTextureAttribs& CopyAttribs) final
Implementation of IDeviceContext::CopyTexture() in Direct3D12 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 Direct3D12 backend.
void UnmapTextureSubresource(ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice) final
Implementation of IDeviceContext::UnmapTextureSubresource() in Direct3D12 backend.
void FinishFrame() final
Implementation of IDeviceContext::FinishFrame() in Direct3D12 backend.
void TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc* pResourceBarriers) final
Implementation of IDeviceContext::TransitionResourceStates() in Direct3D12 backend.
void ResolveTextureSubresource(ITexture* pSrcTexture, ITexture* pDstTexture, const ResolveTextureSubresourceAttribs& ResolveAttribs) final
Implementation of IDeviceContext::ResolveTextureSubresource() in Direct3D12 backend.
void FinishCommandList(class ICommandList** ppCommandList) final
Implementation of IDeviceContext::FinishCommandList() in Direct3D12 backend.
void ExecuteCommandLists(Uint32 NumCommandLists, ICommandList*const* ppCommandLists) final
Implementation of IDeviceContext::ExecuteCommandLists() in Direct3D12 backend.
void SignalFence(IFence* pFence, Uint64 Value) final
Implementation of IDeviceContext::SignalFence() in Direct3D12 backend.
void WaitForFence(IFence* pFence, Uint64 Value, bool FlushContext) final
Implementation of IDeviceContext::WaitForFence() in Direct3D12 backend.
void WaitForIdle() final
Implementation of IDeviceContext::WaitForIdle() in Direct3D12 backend.
void BeginQuery(IQuery* pQuery) final
Implementation of IDeviceContext::BeginQuery() in Direct3D12 backend.
void EndQuery(IQuery* pQuery) final
Implementation of IDeviceContext::EndQuery() in Direct3D12 backend.
void Flush() final
Implementation of IDeviceContext::Flush() in Direct3D12 backend.
void TransitionTextureState(ITexture* pTexture, D3D12_RESOURCE_STATES State) final
Implementation of IDeviceContext::TransitionTextureState() in Direct3D12 backend.
void TransitionBufferState(IBuffer* pBuffer, D3D12_RESOURCE_STATES State) final
Implementation of IDeviceContext::TransitionBufferState() in Direct3D12 backend.
void BuildBLAS(const BuildBLASAttribs& Attribs) final
Implementation of IDeviceContext::BuildBLAS() in Direct3D12 backend.
void BuildTLAS(const BuildTLASAttribs& Attribs) final
Implementation of IDeviceContext::BuildTLAS() in Direct3D12 backend.
void CopyBLAS(const CopyBLASAttribs& Attribs) final
Implementation of IDeviceContext::CopyBLAS() in Direct3D12 backend.
void CopyTLAS(const CopyTLASAttribs& Attribs) final
Implementation of IDeviceContext::CopyTLAS() in Direct3D12 backend.
void WriteBLASCompactedSize(const WriteBLASCompactedSizeAttribs& Attribs) final
Implementation of IDeviceContext::WriteBLASCompactedSize() in Direct3D12 backend.
void WriteTLASCompactedSize(const WriteTLASCompactedSizeAttribs& Attribs) final
Implementation of IDeviceContext::WriteTLASCompactedSize() in Direct3D12 backend.
void TraceRays(const TraceRaysAttribs& Attribs) final
Implementation of IDeviceContext::TraceRays() in Direct3D12 backend.
void TraceRaysIndirect(const TraceRaysIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
Implementation of IDeviceContext::TraceRaysIndirect() in Direct3D12 backend.
void UpdateSBT(IShaderBindingTable* pSBT, const UpdateIndirectRTBufferAttribs* pUpdateIndirectBufferAttribs) final
Implementation of IDeviceContext::UpdateSBT() in Direct3D12 backend.
auto GetD3D12CommandList() -> ID3D12GraphicsCommandList* final
Implementation of IDeviceContextD3D12::ID3D12GraphicsCommandList() in Direct3D12 backend.