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

#include <glBufferImpl.h>

+ Inheritance diagram for Divide::glBufferImpl:

Public Member Functions

 glBufferImpl (GFXDevice &context, const BufferImplParams &params, const std::pair< const bufferPtr, size_t > &initialData, const char *name)
 
virtual ~glBufferImpl () override
 
BufferLock writeOrClearBytes (size_t offsetInBytes, size_t rangeInBytes, const bufferPtr data, bool firstWrite=false)
 
void readBytes (size_t offsetInBytes, size_t rangeInBytes, std::pair< bufferPtr, size_t > outData)
 
 PROPERTY_R (BufferImplParams, params)
 
 PROPERTY_R (GLUtil::GLMemory::Block, memoryBlock)
 
- Public Member Functions inherited from Divide::LockableBuffer
bool lockRange (BufferRange range, SyncObjectHandle &sync) const
 
bool waitForLockedRange (BufferRange range) const
 
- 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
 

Protected Attributes

GFXDevice_context
 
gl46core::GLuint _copyBufferTarget { GL_NULL_HANDLE }
 
size_t _copyBufferSize { 0u }
 
Mutex _mapLock
 
- Protected Attributes inherited from Divide::LockableBuffer
bool _isLockable {false}
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 

Additional Inherited Members

- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 
- Public Attributes inherited from Divide::LockableBuffer
LockManager_uptr _lockManager {}
 

Detailed Description

Definition at line 54 of file glBufferImpl.h.

Constructor & Destructor Documentation

◆ glBufferImpl()

Divide::glBufferImpl::glBufferImpl ( GFXDevice context,
const BufferImplParams params,
const std::pair< const bufferPtr, size_t > &  initialData,
const char *  name 
)
explicit

Definition at line 16 of file glBufferImpl.cpp.

◆ ~glBufferImpl()

Divide::glBufferImpl::~glBufferImpl ( )
overridevirtual

Definition at line 109 of file glBufferImpl.cpp.

Member Function Documentation

◆ PROPERTY_R() [1/2]

Divide::glBufferImpl::PROPERTY_R ( BufferImplParams  ,
params   
)

◆ PROPERTY_R() [2/2]

Divide::glBufferImpl::PROPERTY_R ( GLUtil::GLMemory::Block  ,
memoryBlock   
)

◆ readBytes()

void Divide::glBufferImpl::readBytes ( size_t  offsetInBytes,
size_t  rangeInBytes,
std::pair< bufferPtr, size_t >  outData 
)

Definition at line 187 of file glBufferImpl.cpp.

◆ writeOrClearBytes()

BufferLock Divide::glBufferImpl::writeOrClearBytes ( size_t  offsetInBytes,
size_t  rangeInBytes,
const bufferPtr  data,
bool  firstWrite = false 
)

Definition at line 134 of file glBufferImpl.cpp.

Member Data Documentation

◆ _context

GFXDevice& Divide::glBufferImpl::_context
protected

Definition at line 68 of file glBufferImpl.h.

◆ _copyBufferSize

size_t Divide::glBufferImpl::_copyBufferSize { 0u }
protected

Definition at line 71 of file glBufferImpl.h.

◆ _copyBufferTarget

gl46core::GLuint Divide::glBufferImpl::_copyBufferTarget { GL_NULL_HANDLE }
protected

Definition at line 70 of file glBufferImpl.h.

◆ _mapLock

Mutex Divide::glBufferImpl::_mapLock
mutableprotected

Definition at line 72 of file glBufferImpl.h.


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