Device context implementation in Direct3D12 backend. More...
#include <DeviceContextD3D12Impl.hpp>
Public Member Functions | |
virtual void DILIGENT_CALL_TYPE | Begin (Uint32 ImmediateContextId) override final |
Implementation of IDeviceContext::Begin() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetPipelineState (IPipelineState *pPipelineState) override final |
Implementation of IDeviceContext::SetPipelineState() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | TransitionShaderResources (IShaderResourceBinding *pShaderResourceBinding) override final |
Implementation of IDeviceContext::TransitionShaderResources() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final |
Implementation of IDeviceContext::CommitShaderResources() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetStencilRef (Uint32 StencilRef) override final |
Implementation of IDeviceContext::SetStencilRef() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetBlendFactors (const float *pBlendFactors=nullptr) override final |
Implementation of IDeviceContext::SetBlendFactors() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetVertexBuffers (Uint32 StartSlot, Uint32 NumBuffersSet, IBuffer *const *ppBuffers, const Uint64 *pOffsets, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, SET_VERTEX_BUFFERS_FLAGS Flags) override final |
Implementation of IDeviceContext::SetVertexBuffers() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | InvalidateState () override final |
Implementation of IDeviceContext::InvalidateState() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetIndexBuffer (IBuffer *pIndexBuffer, Uint64 ByteOffset, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final |
Implementation of IDeviceContext::SetIndexBuffer() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 RTWidth, Uint32 RTHeight) override final |
Implementation of IDeviceContext::SetViewports() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 RTWidth, Uint32 RTHeight) override final |
Implementation of IDeviceContext::SetScissorRects() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetRenderTargetsExt (const SetRenderTargetsAttribs &Attribs) override final |
Implementation of IDeviceContext::SetRenderTargetsExt() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | BeginRenderPass (const BeginRenderPassAttribs &Attribs) override final |
Implementation of IDeviceContext::BeginRenderPass() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | NextSubpass () override final |
Implementation of IDeviceContext::NextSubpass() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | EndRenderPass () override final |
Implementation of IDeviceContext::EndRenderPass() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | Draw (const DrawAttribs &Attribs) override final |
Implementation of IDeviceContext::Draw() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DrawIndexed (const DrawIndexedAttribs &Attribs) override final |
Implementation of IDeviceContext::DrawIndexed() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DrawIndirect (const DrawIndirectAttribs &Attribs) override final |
Implementation of IDeviceContext::DrawIndirect() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DrawIndexedIndirect (const DrawIndexedIndirectAttribs &Attribs) override final |
Implementation of IDeviceContext::DrawIndexedIndirect() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DrawMesh (const DrawMeshAttribs &Attribs) override final |
Implementation of IDeviceContext::DrawMesh() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DrawMeshIndirect (const DrawMeshIndirectAttribs &Attribs) override final |
Implementation of IDeviceContext::DrawMeshIndirect() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | MultiDraw (const MultiDrawAttribs &Attribs) override final |
Implementation of IDeviceContext::MultiDraw() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | MultiDrawIndexed (const MultiDrawIndexedAttribs &Attribs) override final |
Implementation of IDeviceContext::MultiDrawIndexed() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DispatchCompute (const DispatchComputeAttribs &Attribs) override final |
Implementation of IDeviceContext::DispatchCompute() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DispatchComputeIndirect (const DispatchComputeIndirectAttribs &Attribs) override final |
Implementation of IDeviceContext::DispatchComputeIndirect() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | ClearDepthStencil (ITextureView *pView, CLEAR_DEPTH_STENCIL_FLAGS ClearFlags, float fDepth, Uint8 Stencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final |
Implementation of IDeviceContext::ClearDepthStencil() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | ClearRenderTarget (ITextureView *pView, const void *RGBA, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final |
Implementation of IDeviceContext::ClearRenderTarget() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | UpdateBuffer (IBuffer *pBuffer, Uint64 Offset, Uint64 Size, const void *pData, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final |
Implementation of IDeviceContext::UpdateBuffer() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | CopyBuffer (IBuffer *pSrcBuffer, Uint64 SrcOffset, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, IBuffer *pDstBuffer, Uint64 DstOffset, Uint64 Size, RESOURCE_STATE_TRANSITION_MODE DstBufferTransitionMode) override final |
Implementation of IDeviceContext::CopyBuffer() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | MapBuffer (IBuffer *pBuffer, MAP_TYPE MapType, MAP_FLAGS MapFlags, PVoid &pMappedData) override final |
Implementation of IDeviceContext::MapBuffer() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | UnmapBuffer (IBuffer *pBuffer, MAP_TYPE MapType) override final |
Implementation of IDeviceContext::UnmapBuffer() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | UpdateTexture (ITexture *pTexture, Uint32 MipLevel, Uint32 Slice, const Box &DstBox, const TextureSubResData &SubresData, RESOURCE_STATE_TRANSITION_MODE SrcBufferTransitionMode, RESOURCE_STATE_TRANSITION_MODE TextureTransitionMode) override final |
Implementation of IDeviceContext::UpdateTexture() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | CopyTexture (const CopyTextureAttribs &CopyAttribs) override final |
Implementation of IDeviceContext::CopyTexture() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | MapTextureSubresource (ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice, MAP_TYPE MapType, MAP_FLAGS MapFlags, const Box *pMapRegion, MappedTextureSubresource &MappedData) override final |
Implementation of IDeviceContext::MapTextureSubresource() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | UnmapTextureSubresource (ITexture *pTexture, Uint32 MipLevel, Uint32 ArraySlice) override final |
Implementation of IDeviceContext::UnmapTextureSubresource() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | FinishFrame () override final |
Implementation of IDeviceContext::FinishFrame() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | TransitionResourceStates (Uint32 BarrierCount, const StateTransitionDesc *pResourceBarriers) override final |
Implementation of IDeviceContext::TransitionResourceStates() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | ResolveTextureSubresource (ITexture *pSrcTexture, ITexture *pDstTexture, const ResolveTextureSubresourceAttribs &ResolveAttribs) override final |
Implementation of IDeviceContext::ResolveTextureSubresource() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | FinishCommandList (ICommandList **ppCommandList) override final |
Implementation of IDeviceContext::FinishCommandList() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | ExecuteCommandLists (Uint32 NumCommandLists, ICommandList *const *ppCommandLists) override final |
Implementation of IDeviceContext::ExecuteCommandLists() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | EnqueueSignal (IFence *pFence, Uint64 Value) override final |
Implementation of IDeviceContext::EnqueueSignal() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | DeviceWaitForFence (IFence *pFence, Uint64 Value) override final |
Implementation of IDeviceContext::DeviceWaitForFence() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | WaitForIdle () override final |
Implementation of IDeviceContext::WaitForIdle() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | BeginQuery (IQuery *pQuery) override final |
Implementation of IDeviceContext::BeginQuery() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | EndQuery (IQuery *pQuery) override final |
Implementation of IDeviceContext::EndQuery() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | Flush () override final |
Implementation of IDeviceContext::Flush() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | TransitionTextureState (ITexture *pTexture, D3D12_RESOURCE_STATES State) override final |
Implementation of IDeviceContext::TransitionTextureState() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | TransitionBufferState (IBuffer *pBuffer, D3D12_RESOURCE_STATES State) override final |
Implementation of IDeviceContext::TransitionBufferState() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | BuildBLAS (const BuildBLASAttribs &Attribs) override final |
Implementation of IDeviceContext::BuildBLAS() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | BuildTLAS (const BuildTLASAttribs &Attribs) override final |
Implementation of IDeviceContext::BuildTLAS() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | CopyBLAS (const CopyBLASAttribs &Attribs) override final |
Implementation of IDeviceContext::CopyBLAS() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | CopyTLAS (const CopyTLASAttribs &Attribs) override final |
Implementation of IDeviceContext::CopyTLAS() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | WriteBLASCompactedSize (const WriteBLASCompactedSizeAttribs &Attribs) override final |
Implementation of IDeviceContext::WriteBLASCompactedSize() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | WriteTLASCompactedSize (const WriteTLASCompactedSizeAttribs &Attribs) override final |
Implementation of IDeviceContext::WriteTLASCompactedSize() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | TraceRays (const TraceRaysAttribs &Attribs) override final |
Implementation of IDeviceContext::TraceRays() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | TraceRaysIndirect (const TraceRaysIndirectAttribs &Attribs) override final |
Implementation of IDeviceContext::TraceRaysIndirect() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | UpdateSBT (IShaderBindingTable *pSBT, const UpdateIndirectRTBufferAttribs *pUpdateIndirectBufferAttribs) override final |
Implementation of IDeviceContext::UpdateSBT() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | BeginDebugGroup (const Char *Name, const float *pColor) override final |
Implementation of IDeviceContext::BeginDebugGroup() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | EndDebugGroup () override final |
Implementation of IDeviceContext::EndDebugGroup() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | InsertDebugLabel (const Char *Label, const float *pColor) override final |
Implementation of IDeviceContext::InsertDebugLabel() in Direct3D12 backend. | |
virtual ID3D12GraphicsCommandList *DILIGENT_CALL_TYPE | GetD3D12CommandList () override final |
Implementation of IDeviceContextD3D12::ID3D12GraphicsCommandList() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | SetShadingRate (SHADING_RATE BaseRate, SHADING_RATE_COMBINER PrimitiveCombiner, SHADING_RATE_COMBINER TextureCombiner) override final |
Implementation of IDeviceContext::SetShadingRate() in Direct3D12 backend. | |
virtual void DILIGENT_CALL_TYPE | BindSparseResourceMemory (const BindSparseResourceMemoryAttribs &Attribs) override final |
Implementation of IDeviceContext::BindSparseResourceMemory() in Direct3D12 backend. | |
![]() | |
DeviceContextBase (IReferenceCounters *pRefCounters, DeviceImplType *pRenderDevice, const DeviceContextDesc &Desc) | |
virtual const DeviceContextDesc &DILIGENT_CALL_TYPE | GetDesc () const override final |
Implementation of IDeviceContext::GetDesc(). | |
virtual void DILIGENT_CALL_TYPE | SetRenderTargets (Uint32 NumRenderTargets, ITextureView *ppRenderTargets[], ITextureView *pDepthStencil, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode) override final |
Implementation of IDeviceContext::SetRenderTargets(). | |
void | CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, RESOURCE_STATE_TRANSITION_MODE StateTransitionMode, int) |
Base implementation of IDeviceContext::CommitShaderResources(); validates parameters. | |
void | SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 &RTWidth, Uint32 &RTHeight) |
Caches the viewports. | |
void | SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 &RTWidth, Uint32 &RTHeight) |
Caches the scissor rects. | |
virtual void DILIGENT_CALL_TYPE | SetUserData (IObject *pUserData) override final |
Implementation of IDeviceContext::SetUserData. | |
virtual IObject *DILIGENT_CALL_TYPE | GetUserData () const override final |
Implementation of IDeviceContext::GetUserData. | |
virtual void DILIGENT_CALL_TYPE | DispatchTile (const DispatchTileAttribs &Attribs) override |
Base implementation of IDeviceContext::DispatchTile. | |
virtual void DILIGENT_CALL_TYPE | GetTileSize (Uint32 &TileSizeX, Uint32 &TileSizeY) override |
Base implementation of IDeviceContext::GetTileSize. | |
void | GetPipelineState (IPipelineState **ppPSO, float *BlendFactors, Uint32 &StencilRef) |
Returns currently bound pipeline state and blend factors. | |
void | GetRenderTargets (Uint32 &NumRenderTargets, ITextureView **ppRTVs, ITextureView **ppDSV) |
Returns currently bound render targets. | |
void | GetViewports (Uint32 &NumViewports, Viewport *pViewports) |
Returns currently set viewports. | |
IRenderDevice * | GetDevice () |
Returns the render device. | |
bool | UnbindTextureFromFramebuffer (TextureImplType *pTexture, bool bShowMessage) |
Additional Inherited Members | |
![]() | |
bool | SetRenderTargets (const SetRenderTargetsAttribs &Attribs) |
bool | SetSubpassRenderTargets () |
Initializes render targets for the current subpass. | |
void | ClearStateCache () |
Clears all cached resources. | |
bool | CheckIfBoundAsRenderTarget (TextureImplType *pTexture) |
Checks if the texture is currently bound as a render target. | |
bool | CheckIfBoundAsDepthStencil (TextureImplType *pTexture) |
Checks if the texture is currently bound as depth-stencil buffer. | |
void | UpdateAttachmentStates (Uint32 SubpassIndex) |
Updates the states of render pass attachments to match states within the given subpass. | |
![]() | |
RefCntAutoPtr< DeviceImplType > | m_pDevice |
Strong reference to the device. | |
VertexStreamInfo< BufferImplType > | m_VertexStreams [MAX_BUFFER_SLOTS] |
Vertex streams. Every stream holds strong reference to the buffer. | |
Uint32 | m_NumVertexStreams = 0 |
Number of bound vertex streams. | |
RefCntAutoPtr< PipelineStateImplType > | m_pPipelineState |
RefCntAutoPtr< BufferImplType > | m_pIndexBuffer |
Uint64 | m_IndexDataStartOffset = 0 |
Offset from the beginning of the index buffer to the start of the index data, in bytes. | |
Uint32 | m_StencilRef = 0 |
Current stencil reference value. | |
Float32 | m_BlendFactors [4] = {-1, -1, -1, -1} |
Current blend factors. | |
Viewport | m_Viewports [MAX_VIEWPORTS] |
Current viewports. | |
Uint32 | m_NumViewports = 0 |
Number of current viewports. | |
Rect | m_ScissorRects [MAX_VIEWPORTS] |
Current scissor rects. | |
Uint32 | m_NumScissorRects = 0 |
Number of current scissor rects. | |
RefCntAutoPtr< TextureViewImplType > | m_pBoundRenderTargets [MAX_RENDER_TARGETS] |
Uint32 | m_NumBoundRenderTargets = 0 |
Number of bound render targets. | |
Uint32 | m_FramebufferWidth = 0 |
Width of the currently bound framebuffer. | |
Uint32 | m_FramebufferHeight = 0 |
Height of the currently bound framebuffer. | |
Uint32 | m_FramebufferSlices = 0 |
Number of array slices in the currently bound framebuffer. | |
Uint32 | m_FramebufferSamples = 0 |
Number of samples in the currently bound framebuffer. | |
RefCntAutoPtr< TextureViewImplType > | m_pBoundDepthStencil |
RefCntAutoPtr< FramebufferImplType > | m_pBoundFramebuffer |
Strong reference to the bound framebuffer. | |
RefCntAutoPtr< RenderPassImplType > | m_pActiveRenderPass |
Strong reference to the render pass. | |
RefCntAutoPtr< ITextureView > | m_pBoundShadingRateMap |
Uint32 | m_SubpassIndex = 0 |
Current subpass index. | |
RESOURCE_STATE_TRANSITION_MODE | m_RenderPassAttachmentsTransitionMode = RESOURCE_STATE_TRANSITION_MODE_NONE |
Render pass attachments transition mode. | |
Device context implementation in Direct3D12 backend.