|
| | GpuBufferT (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String const &debugName, ashes::QueueShare sharingMode, AllocatorT allocator) |
| | Constructor.
|
| |
| bool | hasAvailable (VkDeviceSize size) const noexcept |
| |
| VkDeviceSize | getAvailable () const noexcept |
| |
| MemChunk | allocate (VkDeviceSize size) |
| | Allocates a memory chunk for a CPU buffer.
|
| |
| void | deallocate (MemChunk const &mem) noexcept |
| | Deallocates memory.
|
| |
| size_t | getMinAlignment () const noexcept |
| |
| C3D_API | GpuBufferBase (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String const &debugName, ashes::QueueShare sharingMode, VkDeviceSize allocatedSize) |
| | Constructor.
|
| |
| C3D_API void | upload (UploadData &uploader) |
| | Uploads all ready memory ranges to VRAM.
|
| |
| C3D_API void | upload (UploadData &uploader, VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
| | Uploads a memory range.
|
| |
| C3D_API void | markDirty (VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
| | Marks a memory range to be ready for upload.
|
| |
| bool | hasBuffer () const noexcept |
| |
| ashes::Buffer< uint8_t > const & | getBuffer () const noexcept |
| |
| ashes::Buffer< uint8_t > & | getBuffer () noexcept |
| |
| template<typename DataT > |
| DataT const & | getData (VkDeviceSize offset) const noexcept |
| |
| template<typename DataT > |
| DataT & | getData (VkDeviceSize offset) noexcept |
| |
| castor::ByteArrayView const & | getDatas () const noexcept |
| |
| castor::ByteArrayView & | getDatas () noexcept |
| |
template<typename AllocatorT>
class castor3d::GpuBufferT< AllocatorT >
A GPU buffer pool, that uses an allocator to allocate sub-buffers.