31 virtual void SetShaderPlatform(
const plGALShader* pShader)
override;
46 virtual plGALFenceHandle InsertFencePlatform()
override;
57 virtual void CopyBufferRegionPlatform(
const plGALBuffer* pDestination, plUInt32 uiDestOffset,
const plGALBuffer* pSource, plUInt32 uiSourceOffset, plUInt32 uiByteCount)
override;
70 virtual void ReadbackTexturePlatform(
const plGALTexture* pTexture)
override;
78 virtual void FlushPlatform()
override;
82 virtual void PushMarkerPlatform(
const char* szMarker)
override;
83 virtual void PopMarkerPlatform()
override;
84 virtual void InsertEventMarkerPlatform(
const char* szMarker)
override;
88 virtual void BeginComputePlatform()
override;
89 virtual void EndComputePlatform()
override;
91 virtual plResult DispatchPlatform(plUInt32 uiThreadGroupCountX, plUInt32 uiThreadGroupCountY, plUInt32 uiThreadGroupCountZ)
override;
92 virtual plResult DispatchIndirectPlatform(
const plGALBuffer* pIndirectArgumentBuffer, plUInt32 uiArgumentOffsetInBytes)
override;
96 virtual void EndRenderingPlatform()
override;
100 virtual void ClearPlatform(
const plColor& clearColor, plUInt32 uiRenderTargetClearMask,
bool bClearDepth,
bool bClearStencil,
float fDepthClear, plUInt8 uiStencilClear)
override;
102 virtual plResult DrawPlatform(plUInt32 uiVertexCount, plUInt32 uiStartVertex)
override;
103 virtual plResult DrawIndexedPlatform(plUInt32 uiIndexCount, plUInt32 uiStartIndex)
override;
104 virtual plResult DrawIndexedInstancedPlatform(plUInt32 uiIndexCountPerInstance, plUInt32 uiInstanceCount, plUInt32 uiStartIndex)
override;
105 virtual plResult DrawIndexedInstancedIndirectPlatform(
const plGALBuffer* pIndirectArgumentBuffer, plUInt32 uiArgumentOffsetInBytes)
override;
106 virtual plResult DrawInstancedPlatform(plUInt32 uiVertexCountPerInstance, plUInt32 uiInstanceCount, plUInt32 uiStartVertex)
override;
107 virtual plResult DrawInstancedIndirectPlatform(
const plGALBuffer* pIndirectArgumentBuffer, plUInt32 uiArgumentOffsetInBytes)
override;
111 virtual void SetIndexBufferPlatform(
const plGALBuffer* pIndexBuffer)
override;
112 virtual void SetVertexBufferPlatform(plUInt32 uiSlot,
const plGALBuffer* pVertexBuffer)
override;
114 virtual void SetPrimitiveTopologyPlatform(plGALPrimitiveTopology::Enum topology)
override;
116 virtual void SetBlendStatePlatform(
const plGALBlendState* pBlendState,
const plColor& blendFactor, plUInt32 uiSampleMask)
override;
117 virtual void SetDepthStencilStatePlatform(
const plGALDepthStencilState* pDepthStencilState, plUInt8 uiStencilRefValue)
override;
120 virtual void SetViewportPlatform(
const plRectFloat& rect,
float fMinDepth,
float fMaxDepth)
override;
121 virtual void SetScissorRectPlatform(
const plRectU32& rect)
override;
128 plResult FlushDeferredStateChanges();
133 ID3D11DeviceContext* m_pDXContext =
nullptr;
134 ID3DUserDefinedAnnotation* m_pDXAnnotation =
nullptr;
138 plUInt8 m_uiTessellationPatchControlPoints = 0;
140 ID3D11Buffer* m_pBoundConstantBuffers[PL_GAL_MAX_CONSTANT_BUFFER_COUNT] = {};
151 ID3D11SamplerState* m_pBoundSamplerStates[plGALShaderStage::ENUM_COUNT][PL_GAL_MAX_SAMPLER_COUNT] = {};
154 ID3D11DeviceChild* m_pBoundShaders[plGALShaderStage::ENUM_COUNT] = {};
157 ID3D11RenderTargetView* m_pBoundRenderTargets[PL_GAL_MAX_RENDERTARGET_COUNT] = {};
158 plUInt32 m_uiBoundRenderTargetCount = 0;
159 ID3D11DepthStencilView* m_pBoundDepthStencilTarget =
nullptr;
161 ID3D11Buffer* m_pBoundVertexBuffers[PL_GAL_MAX_VERTEX_BUFFER_COUNT] = {};
164 plUInt32 m_VertexBufferStrides[PL_GAL_MAX_VERTEX_BUFFER_COUNT] = {};
165 plUInt32 m_VertexBufferOffsets[PL_GAL_MAX_VERTEX_BUFFER_COUNT] = {};
Definition ResourceView.h:11
Definition UnorderedAccesView.h:11
Definition RendererFoundationDLL.h:359