|
| GpuBufferT (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String const &debugName, ashes::QueueShare sharingMode, AllocatorT allocator) |
| Constructor.
|
|
bool | hasAvailable (VkDeviceSize size) 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.