All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HgiGLGarbageCollector Class Referencefinal

#include <garbageCollector.h>

Public Member Functions

HGIGL_API HgiGLGarbageCollector (HgiGL *hgi)
HGIGL_API ~HgiGLGarbageCollector ()
HGIGL_API void PerformGarbageCollection ()
HgiBufferHandleVectorGetBufferList ()
HgiTextureHandleVectorGetTextureList ()
HgiSamplerHandleVectorGetSamplerList ()
HgiShaderFunctionHandleVectorGetShaderFunctionList ()
HgiShaderProgramHandleVectorGetShaderProgramList ()
HgiResourceBindingsHandleVectorGetResourceBindingsList ()
HgiGraphicsPipelineHandleVectorGetGraphicsPipelineList ()
HgiComputePipelineHandleVectorGetComputePipelineList ()

Detailed Description

Handles garbage collection of opengl objects by delaying their destruction until those objects are no longer used.

Definition at line 45 of file garbageCollector.h.

Constructor & Destructor Documentation

HGIGL_API HgiGLGarbageCollector::HgiGLGarbageCollector ( HgiGL hgi)
HGIGL_API HgiGLGarbageCollector::~HgiGLGarbageCollector ( )

Member Function Documentation

HgiBufferHandleVector* HgiGLGarbageCollector::GetBufferList ( )

Returns a garbage collection vector for a type of handle. Thread safety: The returned vector is a thread_local vector so this call is thread safe as long as the vector is only used by the calling thread.

HgiComputePipelineHandleVector* HgiGLGarbageCollector::GetComputePipelineList ( )
HgiGraphicsPipelineHandleVector* HgiGLGarbageCollector::GetGraphicsPipelineList ( )
HgiResourceBindingsHandleVector* HgiGLGarbageCollector::GetResourceBindingsList ( )
HgiSamplerHandleVector* HgiGLGarbageCollector::GetSamplerList ( )
HgiShaderFunctionHandleVector* HgiGLGarbageCollector::GetShaderFunctionList ( )
HgiShaderProgramHandleVector* HgiGLGarbageCollector::GetShaderProgramList ( )
HgiTextureHandleVector* HgiGLGarbageCollector::GetTextureList ( )
HGIGL_API void HgiGLGarbageCollector::PerformGarbageCollection ( )

Destroys the objects inside the garbage collector. Thread safety: This call is not thread safe and must be called from the thread that has the opengl context bound while no other threads are destroying objects (e.g. during EndFrame).

The documentation for this class was generated from the following file: