Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::glLockManager Class Referencefinal

#include <glLockManager.h>

+ Inheritance diagram for Divide::glLockManager:

Public Member Functions

 ~glLockManager () override
 
- Public Member Functions inherited from Divide::LockManager
virtual ~LockManager () override=default
 
bool waitForLockedRange (size_t lockBeginBytes, size_t lockLength)
 Returns false if we encountered an error.
 
bool lockRange (size_t lockBeginBytes, size_t lockLength, SyncObjectHandle syncObj)
 Returns false if we encountered an error.
 
- Public Member Functions inherited from Divide::GUIDWrapper
 GUIDWrapper () noexcept
 
 GUIDWrapper (const GUIDWrapper &old) noexcept
 
 GUIDWrapper (GUIDWrapper &&old) noexcept
 
virtual ~GUIDWrapper ()=default
 
FORCE_INLINE I64 getGUID () const noexcept
 
GUIDWrapperoperator= (const GUIDWrapper &old)=delete
 
GUIDWrapperoperator= (GUIDWrapper &&other)=delete
 

Static Public Member Functions

static bool InitLockPoolEntry (BufferLockPoolEntry &entry, U8 flag, U64 frameIdx)
 
- Static Public Member Functions inherited from Divide::LockManager
static void CleanExpiredSyncObjects (RenderAPI api, U64 frameNumber)
 
static void Clear ()
 
static SyncObjectHandle CreateSyncObject (RenderAPI api, U8 flag=DEFAULT_SYNC_FLAG_INTERNAL)
 
- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 

Protected Member Functions

bool waitForLockedRangeLocked (const SyncObject_uptr &sync, const BufferRange &testRange, const BufferLockInstance &lock) override
 
virtual bool waitForLockedRangeLocked (const SyncObject_uptr &sync, const BufferRange &testRange, const BufferLockInstance &lock)
 

Additional Inherited Members

- Public Types inherited from Divide::LockManager
using BufferLockPool = eastl::fixed_vector< BufferLockPoolEntry, 1024, true >
 
- Static Public Attributes inherited from Divide::LockManager
static constexpr U8 DEFAULT_SYNC_FLAG_INTERNAL = 254u
 
static constexpr U8 DEFAULT_SYNC_FLAG_GVD = 255u
 
static constexpr U8 DEFAULT_SYNC_FLAG_SSBO = 252u
 
static constexpr U8 DEFAULT_SYNC_FLAG_TEXTURE = 253u
 
- Static Protected Member Functions inherited from Divide::LockManager
static bool InitLockPoolEntry (RenderAPI api, BufferLockPoolEntry &entry, U8 flag, U64 frameIdx)
 
- Protected Attributes inherited from Divide::LockManager
Mutex _bufferLockslock
 
eastl::fixed_vector< BufferLockInstance, 64, true > _bufferLocks
 
eastl::fixed_vector< BufferLockInstance, 64, true > _swapLocks
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 
- Static Protected Attributes inherited from Divide::LockManager
static Mutex s_bufferLockLock
 
static BufferLockPool s_bufferLockPool
 

Detailed Description

Definition at line 51 of file glLockManager.h.

Constructor & Destructor Documentation

◆ ~glLockManager()

Divide::glLockManager::~glLockManager ( )
override

Definition at line 32 of file glLockManager.cpp.

Member Function Documentation

◆ InitLockPoolEntry()

bool Divide::glLockManager::InitLockPoolEntry ( BufferLockPoolEntry entry,
U8  flag,
U64  frameIdx 
)
static

Definition at line 38 of file glLockManager.cpp.

◆ waitForLockedRangeLocked()

bool Divide::glLockManager::waitForLockedRangeLocked ( const SyncObject_uptr &  sync,
const BufferRange testRange,
const BufferLockInstance lock 
)
overrideprotectedvirtual

Reimplemented from Divide::LockManager.

Definition at line 107 of file glLockManager.cpp.


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