32#ifndef DVD_LOCK_MANAGER_H_
33#define DVD_LOCK_MANAGER_H_
84 SyncObject_uptr
_ptr{
nullptr };
111 eastl::fixed_vector<BufferLockInstance, 64, true>
_swapLocks;
Utility class that adds basic GUID management to objects.
static void CleanExpiredSyncObjects(RenderAPI api, U64 frameNumber)
static constexpr U8 DEFAULT_SYNC_FLAG_GVD
static constexpr U8 DEFAULT_SYNC_FLAG_SSBO
static constexpr U8 DEFAULT_SYNC_FLAG_INTERNAL
static SyncObjectHandle CreateSyncObject(RenderAPI api, U8 flag=DEFAULT_SYNC_FLAG_INTERNAL)
static Mutex s_bufferLockLock
virtual bool waitForLockedRangeLocked(const SyncObject_uptr &sync, const BufferRange &testRange, const BufferLockInstance &lock)
bool waitForLockedRange(size_t lockBeginBytes, size_t lockLength)
Returns false if we encountered an error.
virtual ~LockManager() override=default
eastl::fixed_vector< BufferLockPoolEntry, 1024, true > BufferLockPool
eastl::fixed_vector< BufferLockInstance, 64, true > _bufferLocks
static BufferLockPool s_bufferLockPool
bool lockRange(size_t lockBeginBytes, size_t lockLength, SyncObjectHandle syncObj)
Returns false if we encountered an error.
static bool InitLockPoolEntry(RenderAPI api, BufferLockPoolEntry &entry, U8 flag, U64 frameIdx)
static constexpr U8 DEFAULT_SYNC_FLAG_TEXTURE
eastl::fixed_vector< BufferLockInstance, 64, true > _swapLocks
Handle console commands that start with a forward slash.
constexpr U8 g_MaxLockWaitRetries
Project const SceneEntry & entry
SyncObjectHandle _syncObjHandle
static constexpr size_t INVALID_SYNC_ID
static constexpr U64 INVALID_FRAME_NUMBER