Diligent::DeviceContextGLImpl class final

Device context implementation in OpenGL backend.

Contents

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().