DeviceContextD3D11Impl class final
Device context implementation in Direct3D11 backend.
Contents
- Reference
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.