Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::IDeviceContextD3D12 Class Referenceabstract

Interface to the device context object implemented in D3D12. More...

Inheritance diagram for Diligent::IDeviceContextD3D12:
Diligent::IDeviceContext Diligent::RefCountedObject< IDeviceContextD3D12 > Diligent::ObjectBase< IDeviceContextD3D12 > Diligent::DeviceContextBase< IDeviceContextD3D12 > Diligent::DeviceContextD3D12Impl

Public Member Functions

virtual void TransitionTextureState (ITexture *pTexture, D3D12_RESOURCE_STATES State)=0
 Transitions internal D3D12 texture object to a specified state. More...
 
virtual void TransitionBufferState (IBuffer *pBuffer, D3D12_RESOURCE_STATES State)=0
 Transitions internal D3D12 buffer object to a specified state. More...
 
- Public Member Functions inherited from Diligent::IDeviceContext
virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual void SetPipelineState (IPipelineState *pPipelineState)=0
 Sets the pipeline state. More...
 
virtual void TransitionShaderResources (IPipelineState *pPipelineState, IShaderResourceBinding *pShaderResourceBinding)=0
 Transitions shader resources to the require states. More...
 
virtual void CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, Uint32 Flags)=0
 Commits shader resources to the device context. More...
 
virtual void SetStencilRef (Uint32 StencilRef)=0
 Sets the stencil reference value. More...
 
virtual void SetBlendFactors (const float *pBlendFactors=nullptr)=0
 
virtual void SetVertexBuffers (Uint32 StartSlot, Uint32 NumBuffersSet, IBuffer **ppBuffers, Uint32 *pStrides, Uint32 *pOffsets, Uint32 Flags)=0
 Binds vertex buffers to the pipeline. More...
 
virtual void InvalidateState ()=0
 Invalidates the cached context state. More...
 
virtual void SetIndexBuffer (IBuffer *pIndexBuffer, Uint32 ByteOffset)=0
 Binds an index buffer to the pipeline. More...
 
virtual void SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 RTWidth, Uint32 RTHeight)=0
 Sets an array of viewports. More...
 
virtual void SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 RTWidth, Uint32 RTHeight)=0
 Sets active scissor rects. More...
 
virtual void SetRenderTargets (Uint32 NumRenderTargets, ITextureView *ppRenderTargets[], ITextureView *pDepthStencil)=0
 Binds one or more render targets and the depth-stencil buffer to the pipeline. It also sets the viewport to match the first non-null render target or depth-stencil buffer. More...
 
virtual void Draw (DrawAttribs &DrawAttribs)=0
 Executes a draw command. More...
 
virtual void DispatchCompute (const DispatchComputeAttribs &DispatchAttrs)=0
 Executes a dispatch compute command. More...
 
virtual void ClearDepthStencil (ITextureView *pView, Uint32 ClearFlags=CLEAR_DEPTH_FLAG, float fDepth=1.f, Uint8 Stencil=0)=0
 Clears a depth-stencil view. More...
 
virtual void ClearRenderTarget (ITextureView *pView, const float *RGBA=nullptr)=0
 Clears a render target view. More...
 
virtual void FinishCommandList (ICommandList **ppCommandList)=0
 Finishes recording commands and generates a command list. More...
 
virtual void ExecuteCommandList (ICommandList *pCommandList)=0
 Executes recorded commands in a command list. More...
 
virtual void Flush ()=0
 Flushes the command buffer.
 
virtual void SetSwapChain (ISwapChain *pSwapChain)=0
 Sets the swap chain in the device context. More...
 

Detailed Description

Interface to the device context object implemented in D3D12.

Member Function Documentation

◆ TransitionBufferState()

virtual void Diligent::IDeviceContextD3D12::TransitionBufferState ( IBuffer pBuffer,
D3D12_RESOURCE_STATES  State 
)
pure virtual

Transitions internal D3D12 buffer object to a specified state.

Parameters
[in]pBuffer- Buffer to transition
[in]State- D3D12 resource state this buffer to transition to

Implemented in Diligent::DeviceContextD3D12Impl.

◆ TransitionTextureState()

virtual void Diligent::IDeviceContextD3D12::TransitionTextureState ( ITexture pTexture,
D3D12_RESOURCE_STATES  State 
)
pure virtual

Transitions internal D3D12 texture object to a specified state.

Parameters
[in]pTexture- texture to transition
[in]State- D3D12 resource state this texture to transition to

Implemented in Diligent::DeviceContextD3D12Impl.