DeviceContextGLImpl class final
Device context implementation in OpenGL backend.
Contents
- Reference
Base classes
-
template<typename EngineImplTraits>class DeviceContextBase<EngineGLImplTraits>
- Base implementation of the device context.
Public functions
-
void QueryInterface(const INTERFACE_
ID& IID, IObject** ppInterface) final - Queries the specific interface, see IObject::
QueryInterface() for details. - void SetPipelineState(IPipelineState* pPipelineState) final
- Implementation of IDeviceContext::
SetPipelineState() in OpenGL backend. - void TransitionShaderResources(IPipelineState* pPipelineState, IShaderResourceBinding* pShaderResourceBinding) final
- Implementation of IDeviceContext::
TransitionShaderResources() in OpenGL backend. -
void CommitShaderResources(IShaderResourceBinding* pShaderResourceBinding,
RESOURCE_
STATE_ TRANSITION_ MODE StateTransitionMode) final - Implementation of IDeviceContext::
CommitShaderResources() in OpenGL backend. - void SetStencilRef(Uint32 StencilRef) final
- Implementation of IDeviceContext::
SetStencilRef() in OpenGL backend. - void SetBlendFactors(const float* pBlendFactors = nullptr) final
- Implementation of IDeviceContext::
SetBlendFactors() in OpenGL 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 OpenGL backend. - void InvalidateState() final
- Implementation of IDeviceContext::
InvalidateState() in OpenGL backend. -
void SetIndexBuffer(IBuffer* pIndexBuffer,
Uint32 ByteOffset,
RESOURCE_
STATE_ TRANSITION_ MODE StateTransitionMode) final - Implementation of IDeviceContext::
SetIndexBuffer() in OpenGL backend. - void SetViewports(Uint32 NumViewports, const Viewport* pViewports, Uint32 RTWidth, Uint32 RTHeight) final
- Implementation of IDeviceContext::
SetViewports() in OpenGL backend. - void SetScissorRects(Uint32 NumRects, const Rect* pRects, Uint32 RTWidth, Uint32 RTHeight) final
- Implementation of IDeviceContext::
SetScissorRects() in OpenGL backend. -
void SetRenderTargets(Uint32 NumRenderTargets,
ITextureView* ppRenderTargets[],
ITextureView* pDepthStencil,
RESOURCE_
STATE_ TRANSITION_ MODE StateTransitionMode) final - Implementation of IDeviceContext::
SetRenderTargets() in OpenGL 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 OpenGL backend. - void DrawIndexed(const DrawIndexedAttribs& Attribs) final
- Implementation of IDeviceContext::
DrawIndexed() in OpenGL backend. - void DrawIndirect(const DrawIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
- Implementation of IDeviceContext::
DrawIndirect() in OpenGL backend. - void DrawIndexedIndirect(const DrawIndexedIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
- Implementation of IDeviceContext::
DrawIndexedIndirect() in OpenGL backend. - void DrawMesh(const DrawMeshAttribs& Attribs) final
- Implementation of IDeviceContext::
DrawMesh() in OpenGL backend. - void DrawMeshIndirect(const DrawMeshIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
- Implementation of IDeviceContext::
DrawMeshIndirect() in OpenGL backend. - void DrawMeshIndirectCount(const DrawMeshIndirectCountAttribs& Attribs, IBuffer* pAttribsBuffer, IBuffer* pCountBuffer) final
- Implementation of IDeviceContext::
DrawMeshIndirectCount() in OpenGL backend. - void DispatchCompute(const DispatchComputeAttribs& Attribs) final
- Implementation of IDeviceContext::
DispatchCompute() in OpenGL backend. - void DispatchComputeIndirect(const DispatchComputeIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
- Implementation of IDeviceContext::
DispatchComputeIndirect() in OpenGL 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 OpenGL backend. -
void ClearRenderTarget(ITextureView* pView,
const float* RGBA,
RESOURCE_
STATE_ TRANSITION_ MODE StateTransitionMode) final - Implementation of IDeviceContext::
ClearRenderTarget() in OpenGL backend. -
void UpdateBuffer(IBuffer* pBuffer,
Uint32 Offset,
Uint32 Size,
const void* pData,
RESOURCE_
STATE_ TRANSITION_ MODE StateTransitionMode) final - Implementation of IDeviceContext::
UpdateBuffer() in OpenGL 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 OpenGL backend. -
void MapBuffer(IBuffer* pBuffer,
MAP_
TYPE MapType, MAP_ FLAGS MapFlags, PVoid& pMappedData) final - Implementation of IDeviceContext::
MapBuffer() in OpenGL backend. -
void UnmapBuffer(IBuffer* pBuffer,
MAP_
TYPE MapType) final - Implementation of IDeviceContext::
UnmapBuffer() in OpenGL backend. -
void UpdateTexture(ITexture* pTexture,
Uint32 MipLevel,
Uint32 Slice,
const Box& DstBox,
const TextureSubResData& SubresData,
RESOURCE_
STATE_ TRANSITION_ MODE SrcBufferStateTransitionMode, RESOURCE_ STATE_ TRANSITION_ MODE TextureStateTransitionMode) final - Implementation of IDeviceContext::
UpdateTexture() in OpenGL backend. - void CopyTexture(const CopyTextureAttribs& CopyAttribs) final
- Implementation of IDeviceContext::
CopyTexture() in OpenGL 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 OpenGL backend. - void UnmapTextureSubresource(ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice) final
- Implementation of IDeviceContext::
UnmapTextureSubresource() in OpenGL backend. - void GenerateMips(ITextureView* pTexView) override
- Implementation of IDeviceContext::
GenerateMips() in OpenGL backend. - void FinishFrame() final
- Implementation of IDeviceContext::
FinishFrame() in OpenGL backend. - void TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc* pResourceBarriers) final
- Implementation of IDeviceContext::
TransitionResourceStates() in OpenGL backend. - void ResolveTextureSubresource(ITexture* pSrcTexture, ITexture* pDstTexture, const ResolveTextureSubresourceAttribs& ResolveAttribs) final
- Implementation of IDeviceContext::
ResolveTextureSubresource() in OpenGL backend. - void FinishCommandList(class ICommandList** ppCommandList) final
- Implementation of IDeviceContext::
FinishCommandList() in OpenGL backend. - void ExecuteCommandLists(Uint32 NumCommandLists, ICommandList*const* ppCommandLists) final
- Implementation of IDeviceContext::
ExecuteCommandLists() in OpenGL backend. - void SignalFence(IFence* pFence, Uint64 Value) final
- Implementation of IDeviceContext::
SignalFence() in OpenGL backend. - void WaitForFence(IFence* pFence, Uint64 Value, bool FlushContext) final
- Implementation of IDeviceContext::
WaitForFence() in OpenGL backend. - void WaitForIdle() final
- Implementation of IDeviceContext::
WaitForIdle() in OpenGL backend. - void BeginQuery(IQuery* pQuery) final
- Implementation of IDeviceContext::
BeginQuery() in OpenGL backend. - void EndQuery(IQuery* pQuery) final
- Implementation of IDeviceContext::
EndQuery() in OpenGL backend. - void Flush() final
- Implementation of IDeviceContext::
Flush() in OpenGL backend. - void BuildBLAS(const BuildBLASAttribs& Attribs) final
- Implementation of IDeviceContext::
BuildBLAS() in OpenGL backend. - void BuildTLAS(const BuildTLASAttribs& Attribs) final
- Implementation of IDeviceContext::
BuildTLAS() in OpenGL backend. - void CopyBLAS(const CopyBLASAttribs& Attribs) final
- Implementation of IDeviceContext::
CopyBLAS() in OpenGL backend. - void CopyTLAS(const CopyTLASAttribs& Attribs) final
- Implementation of IDeviceContext::
CopyTLAS() in OpenGL backend. - void WriteBLASCompactedSize(const WriteBLASCompactedSizeAttribs& Attribs) final
- Implementation of IDeviceContext::
WriteBLASCompactedSize() in OpenGL backend. - void WriteTLASCompactedSize(const WriteTLASCompactedSizeAttribs& Attribs) final
- Implementation of IDeviceContext::
WriteTLASCompactedSize() in OpenGL backend. - void TraceRays(const TraceRaysAttribs& Attribs) final
- Implementation of IDeviceContext::
TraceRays() in OpenGL backend. - void TraceRaysIndirect(const TraceRaysIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) final
- Implementation of IDeviceContext::
TraceRaysIndirect() in OpenGL backend. - void UpdateSBT(IShaderBindingTable* pSBT, const UpdateIndirectRTBufferAttribs* pUpdateIndirectBufferAttribs) final
- Implementation of IDeviceContext::
UpdateSBT() in OpenGL backend. - auto UpdateCurrentGLContext() -> bool final
- Implementation of IDeviceContextGL::
UpdateCurrentGLContext().