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

#include <vkBufferImpl.h>

+ Inheritance diagram for Divide::vkBufferImpl:

Public Member Functions

 vkBufferImpl (const BufferParams &params, size_t alignedBufferSize, size_t ringQueueLength, std::pair< bufferPtr, size_t > initialData, const char *bufferName) noexcept
 
BufferLock writeBytes (BufferRange range, VkAccessFlags2 dstAccessMask, VkPipelineStageFlags2 dstStageMask, const bufferPtr data)
 
void readBytes (BufferRange range, std::pair< bufferPtr, size_t > outData)
 
- Public Member Functions inherited from Divide::VMABuffer
 VMABuffer (BufferParams params)
 
 ~VMABuffer ()
 
- 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
 

Public Attributes

const size_t _alignedBufferSize {0u}
 
const size_t _totalBufferSize {0u}
 
VMABuffer_uptr _stagingBuffer {}
 
- Public Attributes inherited from Divide::VMABuffer
const BufferParams _params {}
 
VkBuffer _buffer { VK_NULL_HANDLE }
 
VmaAllocation _allocation { VK_NULL_HANDLE }
 
VmaAllocationInfo _allocInfo {}
 
- Public Attributes inherited from Divide::LockableBuffer
LockManager_uptr _lockManager {}
 

Private Attributes

bool _isMemoryMappable { false }
 

Additional Inherited Members

- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 
- Protected Attributes inherited from Divide::LockableBuffer
bool _isLockable {false}
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 
- Private Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 

Detailed Description

Definition at line 64 of file vkBufferImpl.h.

Constructor & Destructor Documentation

◆ vkBufferImpl()

Divide::vkBufferImpl::vkBufferImpl ( const BufferParams params,
size_t  alignedBufferSize,
size_t  ringQueueLength,
std::pair< bufferPtr, size_t >  initialData,
const char *  bufferName 
)
explicitnoexcept

Definition at line 62 of file vkBufferImpl.cpp.

Member Function Documentation

◆ readBytes()

void Divide::vkBufferImpl::readBytes ( BufferRange  range,
std::pair< bufferPtr, size_t >  outData 
)

Definition at line 269 of file vkBufferImpl.cpp.

◆ writeBytes()

BufferLock Divide::vkBufferImpl::writeBytes ( BufferRange  range,
VkAccessFlags2  dstAccessMask,
VkPipelineStageFlags2  dstStageMask,
const bufferPtr  data 
)

Definition at line 215 of file vkBufferImpl.cpp.

Member Data Documentation

◆ _alignedBufferSize

const size_t Divide::vkBufferImpl::_alignedBufferSize {0u}

Definition at line 80 of file vkBufferImpl.h.

◆ _isMemoryMappable

bool Divide::vkBufferImpl::_isMemoryMappable { false }
private

Definition at line 85 of file vkBufferImpl.h.

◆ _stagingBuffer

VMABuffer_uptr Divide::vkBufferImpl::_stagingBuffer {}

Definition at line 82 of file vkBufferImpl.h.

◆ _totalBufferSize

const size_t Divide::vkBufferImpl::_totalBufferSize {0u}

Definition at line 81 of file vkBufferImpl.h.


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