|
| GpuBufferT (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String debugName, ashes::QueueShare sharingMode, AllocatorT allocator, bool smallData=false) |
| Constructor. More...
|
|
bool | hasAvailable (VkDeviceSize size) const |
|
MemChunk | allocate (VkDeviceSize size) |
| Allocates a memory chunk for a CPU buffer. More...
|
|
void | deallocate (MemChunk const &mem) |
| Deallocates memory. More...
|
|
size_t | getMinAlignment () const |
|
C3D_API | GpuBufferBase (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String debugName, ashes::QueueShare sharingMode, VkDeviceSize allocatedSize, bool smallData=false) |
| Constructor. More...
|
|
C3D_API void | upload (ashes::CommandBuffer const &cb) |
| Uploads all ready memory ranges to VRAM. More...
|
|
C3D_API void | uploadDirect (ashes::Queue const &queue, ashes::CommandPool const &commandPool, VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
| Uploads a memory range. More...
|
|
C3D_API void | markDirty (VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
| Marks a memory range to be ready for upload. More...
|
|
bool | hasBuffer () const |
|
ashes::Buffer< uint8_t > const & | getBuffer () const |
|
| operator ashes::Buffer< uint8_t > const & () const |
|
ashes::Buffer< uint8_t > & | getBuffer () |
|
| operator ashes::Buffer< uint8_t > & () |
|
template<typename DataT > |
DataT const & | getData (VkDeviceSize offset) const |
|
template<typename DataT > |
DataT & | getData (VkDeviceSize offset) |
|
castor::ArrayView< uint8_t > const & | getDatas () const |
|
castor::ArrayView< uint8_t > & | getDatas () |
|
template<typename AllocatorT>
class castor3d::GpuBufferT< AllocatorT >
A GPU buffer, that uses a buddy allocator to allocate sub-buffers.