Un pool de buffer GPU, utilisant un allocateur pour allouer des sous-tampons.
Plus de détails...
|
| GpuBufferT (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String const &debugName, ashes::QueueShare sharingMode, AllocatorT allocator) |
| Constructeur.
|
|
bool | hasAvailable (VkDeviceSize size) const noexcept |
|
MemChunk | allocate (VkDeviceSize size) |
| Alloue une zone mémoire pour un CPU buffer.
|
|
void | deallocate (MemChunk const &mem) noexcept |
| Désalloue de la mémoire.
|
|
size_t | getMinAlignment () const noexcept |
|
C3D_API | GpuBufferBase (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String const &debugName, ashes::QueueShare sharingMode, VkDeviceSize allocatedSize) |
| Constructeur.
|
|
C3D_API void | upload (UploadData &uploader) |
| Met à jour tous les intervalles mémoire prêts en VRAM.
|
|
C3D_API void | upload (UploadData &uploader, VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
| Met à jour un intervalle mémoire en VRAM.
|
|
C3D_API void | markDirty (VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
| Marque un intervalle mémoire comme prêt à l'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 >
Un pool de buffer GPU, utilisant un allocateur pour allouer des sous-tampons.