|
| | 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.