|
| | RenderDeviceGLESImpl (IReferenceCounters *pRefCounters, IMemoryAllocator &RawMemAllocator, IEngineFactory *pEngineFactory, const EngineGLCreateInfo &InitAttribs, const SwapChainDesc *pSCDesc=nullptr) |
| |
| virtual void | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface) |
| |
| virtual bool | Invalidate () |
| |
| virtual void | Suspend () |
| |
| virtual EGLint | Resume (ANativeWindow *window) |
| |
| | RenderDeviceGLImpl (IReferenceCounters *pRefCounters, IMemoryAllocator &RawMemAllocator, IEngineFactory *pEngineFactory, const EngineGLCreateInfo &InitAttribs, const SwapChainDesc *pSCDesc=nullptr) noexcept(false) |
| |
| | ~RenderDeviceGLImpl () |
| |
| void | CreateBuffer (const BufferDesc &BuffDesc, const BufferData *pBuffData, IBuffer **ppBuffer, bool bIsDeviceInternal) |
| | Implementation of IRenderDevice::CreateBuffer() in OpenGL backend. More...
|
| |
| virtual void | CreateBuffer (const BufferDesc &BuffDesc, const BufferData *BuffData, IBuffer **ppBuffer) override final |
| |
| void | CreateShader (const ShaderCreateInfo &ShaderCreateInfo, IShader **ppShader, bool bIsDeviceInternal) |
| | Implementation of IRenderDevice::CreateShader() in OpenGL backend. More...
|
| |
| virtual void | CreateShader (const ShaderCreateInfo &ShaderCreateInfo, IShader **ppShader) override final |
| |
| void | CreateTexture (const TextureDesc &TexDesc, const TextureData *pData, ITexture **ppTexture, bool bIsDeviceInternal) |
| | Implementation of IRenderDevice::CreateTexture() in OpenGL backend. More...
|
| |
| virtual void | CreateTexture (const TextureDesc &TexDesc, const TextureData *Data, ITexture **ppTexture) override final |
| |
| void | CreateSampler (const SamplerDesc &SamplerDesc, ISampler **ppSampler, bool bIsDeviceInternal) |
| | Implementation of IRenderDevice::CreateSampler() in OpenGL backend. More...
|
| |
| virtual void | CreateSampler (const SamplerDesc &SamplerDesc, ISampler **ppSampler) override final |
| |
| virtual void | CreateGraphicsPipelineState (const GraphicsPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override final |
| | Implementation of IRenderDevice::CreateGraphicsPipelineState() in OpenGL backend. More...
|
| |
| virtual void | CreateComputePipelineState (const ComputePipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override final |
| | Implementation of IRenderDevice::CreateComputePipelineState() in OpenGL backend. More...
|
| |
| virtual void | CreateRayTracingPipelineState (const RayTracingPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override final |
| | Implementation of IRenderDevice::CreateRayTracingPipelineState() in OpenGL backend. More...
|
| |
| void | CreateGraphicsPipelineState (const GraphicsPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState, bool bIsDeviceInternal) |
| |
| void | CreateComputePipelineState (const ComputePipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState, bool bIsDeviceInternal) |
| |
| virtual void | CreateFence (const FenceDesc &Desc, IFence **ppFence) override final |
| | Implementation of IRenderDevice::CreateFence() in OpenGL backend. More...
|
| |
| virtual void | CreateQuery (const QueryDesc &Desc, IQuery **ppQuery) override final |
| | Implementation of IRenderDevice::CreateQuery() in OpenGL backend. More...
|
| |
| virtual void | CreateRenderPass (const RenderPassDesc &Desc, IRenderPass **ppRenderPass) override final |
| | Implementation of IRenderDevice::CreateRenderPass() in OpenGL backend. More...
|
| |
| virtual void | CreateFramebuffer (const FramebufferDesc &Desc, IFramebuffer **ppFramebuffer) override final |
| | Implementation of IRenderDevice::CreateFramebuffer() in OpenGL backend. More...
|
| |
| virtual void | CreateBLAS (const BottomLevelASDesc &Desc, IBottomLevelAS **ppBLAS) override final |
| | Implementation of IRenderDevice::CreateBLAS() in OpenGL backend. More...
|
| |
| virtual void | CreateTLAS (const TopLevelASDesc &Desc, ITopLevelAS **ppTLAS) override final |
| | Implementation of IRenderDevice::CreateTLAS() in OpenGL backend. More...
|
| |
| virtual void | CreateSBT (const ShaderBindingTableDesc &Desc, IShaderBindingTable **ppSBT) override final |
| | Implementation of IRenderDevice::CreateSBT() in OpenGL backend. More...
|
| |
| virtual void | CreatePipelineResourceSignature (const PipelineResourceSignatureDesc &Desc, IPipelineResourceSignature **ppSignature) override final |
| | Implementation of IRenderDevice::CreatePipelineResourceSignature() in OpenGL backend. More...
|
| |
| void | CreatePipelineResourceSignature (const PipelineResourceSignatureDesc &Desc, IPipelineResourceSignature **ppSignature, bool IsDeviceInternal) |
| |
| virtual void | CreateTextureFromGLHandle (Uint32 GLHandle, Uint32 GLBindTarget, const TextureDesc &TexDesc, RESOURCE_STATE InitialState, ITexture **ppTexture) override final |
| | Implementation of IRenderDeviceGL::CreateTextureFromGLHandle(). More...
|
| |
| virtual void | CreateBufferFromGLHandle (Uint32 GLHandle, const BufferDesc &BuffDesc, RESOURCE_STATE InitialState, IBuffer **ppBuffer) override final |
| | Implementation of IRenderDeviceGL::CreateBufferFromGLHandle(). More...
|
| |
| virtual void | CreateDummyTexture (const TextureDesc &TexDesc, RESOURCE_STATE InitialState, ITexture **ppTexture) override final |
| | Implementation of IRenderDeviceGL::CreateDummyTexture(). More...
|
| |
| virtual void | ReleaseStaleResources (bool ForceRelease=false) override final |
| | Implementation of IRenderDevice::ReleaseStaleResources() in OpenGL backend. More...
|
| |
| virtual void | IdleGPU () override final |
| | Implementation of IRenderDevice::IdleGPU() in OpenGL backend. More...
|
| |
| FBOCache & | GetFBOCache (GLContext::NativeGLContextType Context) |
| |
| void | OnReleaseTexture (ITexture *pTexture) |
| |
| VAOCache & | GetVAOCache (GLContext::NativeGLContextType Context) |
| |
| void | OnDestroyPSO (PipelineStateGLImpl &PSO) |
| |
| void | OnDestroyBuffer (BufferGLImpl &Buffer) |
| |
| size_t | GetCommandQueueCount () const |
| |
| Uint64 | GetCommandQueueMask () const |
| |
| void | InitTexRegionRender () |
| |
| const DeviceLimits & | GetDeviceLimits () const |
| |
| | RenderDeviceBase (IReferenceCounters *pRefCounters, IMemoryAllocator &RawMemAllocator, IEngineFactory *pEngineFactory, Uint32 NumDeferredContexts) |
| |
| | ~RenderDeviceBase () |
| |
| virtual ReferenceCounterValueType | Release () override final |
| |
| virtual void | CreateResourceMapping (const ResourceMappingDesc &MappingDesc, IResourceMapping **ppMapping) override final |
| | Implementation of IRenderDevice::CreateResourceMapping(). More...
|
| |
| virtual const DeviceCaps & | GetDeviceCaps () const override final |
| | Implementation of IRenderDevice::GetDeviceCaps(). More...
|
| |
| virtual const DeviceProperties & | GetDeviceProperties () const override final |
| | Implementation of IRenderDevice::GetDeviceProperties(). More...
|
| |
| virtual const TextureFormatInfo & | GetTextureFormatInfo (TEXTURE_FORMAT TexFormat) override final |
| | Implementation of IRenderDevice::GetTextureFormatInfo(). More...
|
| |
| virtual const TextureFormatInfoExt & | GetTextureFormatInfoExt (TEXTURE_FORMAT TexFormat) override final |
| | Implementation of IRenderDevice::GetTextureFormatInfoExt(). More...
|
| |
| virtual IEngineFactory * | GetEngineFactory () const override final |
| |
| StateObjectsRegistry< SamplerDesc > & | GetSamplerRegistry () |
| |
| void | SetImmediateContext (IDeviceContext *pImmediateContext) |
| | Set weak reference to the immediate context. More...
|
| |
| void | SetDeferredContext (size_t Ctx, IDeviceContext *pDeferredCtx) |
| | Set weak reference to the deferred context. More...
|
| |
| size_t | GetNumDeferredContexts () const |
| | Returns number of deferred contexts. More...
|
| |
| RefCntAutoPtr< IDeviceContext > | GetImmediateContext () |
| |
| RefCntAutoPtr< IDeviceContext > | GetDeferredContext (size_t Ctx) |
| |
| FixedBlockMemoryAllocator & | GetTexViewObjAllocator () |
| |
| FixedBlockMemoryAllocator & | GetBuffViewObjAllocator () |
| |
| FixedBlockMemoryAllocator & | GetSRBAllocator () |
| |
| | ObjectBase (IReferenceCounters *pRefCounters) |
| |
| | RefCountedObject (IReferenceCounters *pRefCounters, BaseCtorArgTypes &&... BaseCtorArgs) noexcept |
| |
| virtual | ~RefCountedObject () |
| |
| virtual IReferenceCounters * | GetReferenceCounters () const override final |
| |
| virtual ReferenceCounterValueType | AddRef () override final |
| |
| ReferenceCounterValueType | Release (TPreObjectDestroy PreObjectDestroy) |
| |
|
| using | TRenderDeviceBase = RenderDeviceBase< EngineGLImplTraits > |
| |
| using | BaseInterface = typename EngineGLImplTraits ::RenderDeviceInterface |
| |
| using | TObjectBase = ObjectBase< BaseInterface > |
| |
| using | RenderDeviceImplType = typename EngineGLImplTraits ::RenderDeviceImplType |
| |
| using | PipelineStateImplType = typename EngineGLImplTraits ::PipelineStateImplType |
| |
| using | ShaderResourceBindingImplType = typename EngineGLImplTraits ::ShaderResourceBindingImplType |
| |
| using | BufferImplType = typename EngineGLImplTraits ::BufferImplType |
| |
| using | BufferViewImplType = typename EngineGLImplTraits ::BufferViewImplType |
| |
| using | TextureImplType = typename EngineGLImplTraits ::TextureImplType |
| |
| using | TextureViewImplType = typename EngineGLImplTraits ::TextureViewImplType |
| |
| using | ShaderImplType = typename EngineGLImplTraits ::ShaderImplType |
| |
| using | SamplerImplType = typename EngineGLImplTraits ::SamplerImplType |
| |
| using | FenceImplType = typename EngineGLImplTraits ::FenceImplType |
| |
| using | QueryImplType = typename EngineGLImplTraits ::QueryImplType |
| |
| using | RenderPassImplType = typename EngineGLImplTraits ::RenderPassImplType |
| |
| using | FramebufferImplType = typename EngineGLImplTraits ::FramebufferImplType |
| |
| using | BottomLevelASImplType = typename EngineGLImplTraits ::BottomLevelASImplType |
| |
| using | TopLevelASImplType = typename EngineGLImplTraits ::TopLevelASImplType |
| |
| using | ShaderBindingTableImplType = typename EngineGLImplTraits ::ShaderBindingTableImplType |
| |
| using | PipelineResourceSignatureImplType = typename EngineGLImplTraits ::PipelineResourceSignatureImplType |
| |
| void | CreateDeviceObject (const Char *ObjectTypeName, const ObjectDescType &Desc, ObjectType **ppObject, ObjectConstructorType ConstructObject) |
| | Helper template function to facilitate device object creation. More...
|
| |
| void | CreatePipelineStateImpl (IPipelineState **ppPipelineState, const PSOCreateInfoType &PSOCreateInfo, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateBufferImpl (IBuffer **ppBuffer, const BufferDesc &BuffDesc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateTextureImpl (ITexture **ppTexture, const TextureDesc &TexDesc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateShaderImpl (IShader **ppShader, const ShaderCreateInfo &ShaderCI, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateSamplerImpl (ISampler **ppSampler, const SamplerDesc &SamplerDesc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateFenceImpl (IFence **ppFence, const FenceDesc &Desc) |
| |
| void | CreateQueryImpl (IQuery **ppQuery, const QueryDesc &Desc) |
| |
| void | CreateRenderPassImpl (IRenderPass **ppRenderPass, const RenderPassDesc &Desc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateFramebufferImpl (IFramebuffer **ppFramebuffer, const FramebufferDesc &Desc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateBLASImpl (IBottomLevelAS **ppBLAS, const BottomLevelASDesc &Desc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateTLASImpl (ITopLevelAS **ppTLAS, const TopLevelASDesc &Desc, const ExtraArgsType &... ExtraArgs) |
| |
| void | CreateSBTImpl (IShaderBindingTable **ppSBT, const ShaderBindingTableDesc &Desc) |
| |
| void | CreatePipelineResourceSignatureImpl (IPipelineResourceSignature **ppSignature, const PipelineResourceSignatureDesc &Desc, const ExtraArgsType &... ExtraArgs) |
| |
| void | operator delete (void *ptr) |
| |
| void | operator delete (void *ptr, ObjectAllocatorType &Allocator, const Char *dbgDescription, const char *dbgFileName, const Int32 dbgLineNumber) |
| |
| GLContext | m_GLContext |
| |
| std::unordered_set< String > | m_ExtensionStrings |
| |
| ThreadingTools::LockFlag | m_VAOCacheLockFlag |
| |
| std::unordered_map< GLContext::NativeGLContextType, VAOCache > | m_VAOCache |
| |
| ThreadingTools::LockFlag | m_FBOCacheLockFlag |
| |
| std::unordered_map< GLContext::NativeGLContextType, FBOCache > | m_FBOCache |
| |
| std::unique_ptr< TexRegionRender > | m_pTexRegionRender |
| |
| RefCntAutoPtr< IEngineFactory > | m_pEngineFactory |
| |
| DeviceCaps | m_DeviceCaps |
| |
| DeviceProperties | m_DeviceProperties |
| |
| StateObjectsRegistry< SamplerDesc > | m_SamplersRegistry |
| | Sampler state registry. More...
|
| |
| std::vector< TextureFormatInfoExt, STDAllocatorRawMem< TextureFormatInfoExt > > | m_TextureFormatsInfo |
| |
| std::vector< bool, STDAllocatorRawMem< bool > > | m_TexFmtInfoInitFlags |
| |
| RefCntWeakPtr< IDeviceContext > | m_wpImmediateContext |
| | Weak reference to the immediate context. Immediate context holds strong reference to the device, so we must use weak reference to avoid circular dependencies. More...
|
| |
| std::vector< RefCntWeakPtr< IDeviceContext >, STDAllocatorRawMem< RefCntWeakPtr< IDeviceContext > > > | m_wpDeferredContexts |
| | Weak references to deferred contexts. More...
|
| |
| IMemoryAllocator & | m_RawMemAllocator |
| | Raw memory allocator. More...
|
| |
| FixedBlockMemoryAllocator | m_TexObjAllocator |
| | Allocator for texture objects. More...
|
| |
| FixedBlockMemoryAllocator | m_TexViewObjAllocator |
| | Allocator for texture view objects. More...
|
| |
| FixedBlockMemoryAllocator | m_BufObjAllocator |
| | Allocator for buffer objects. More...
|
| |
| FixedBlockMemoryAllocator | m_BuffViewObjAllocator |
| | Allocator for buffer view objects. More...
|
| |
| FixedBlockMemoryAllocator | m_ShaderObjAllocator |
| | Allocator for shader objects. More...
|
| |
| FixedBlockMemoryAllocator | m_SamplerObjAllocator |
| | Allocator for sampler objects. More...
|
| |
| FixedBlockMemoryAllocator | m_PSOAllocator |
| | Allocator for pipeline state objects. More...
|
| |
| FixedBlockMemoryAllocator | m_SRBAllocator |
| | Allocator for shader resource binding objects. More...
|
| |
| FixedBlockMemoryAllocator | m_ResMappingAllocator |
| | Allocator for resource mapping objects. More...
|
| |
| FixedBlockMemoryAllocator | m_FenceAllocator |
| | Allocator for fence objects. More...
|
| |
| FixedBlockMemoryAllocator | m_QueryAllocator |
| | Allocator for query objects. More...
|
| |
| FixedBlockMemoryAllocator | m_RenderPassAllocator |
| | Allocator for render pass objects. More...
|
| |
| FixedBlockMemoryAllocator | m_FramebufferAllocator |
| | Allocator for framebuffer objects. More...
|
| |
| FixedBlockMemoryAllocator | m_BLASAllocator |
| | Allocator for bottom-level acceleration structure objects. More...
|
| |
| FixedBlockMemoryAllocator | m_TLASAllocator |
| | Allocator for top-level acceleration structure objects. More...
|
| |
| FixedBlockMemoryAllocator | m_SBTAllocator |
| | Allocator for shader binding table objects. More...
|
| |
| FixedBlockMemoryAllocator | m_PipeResSignAllocator |
| | Allocator for pipeline resource signature objects. More...
|
| |