![]() |
Castor3D 0.16.0
Multiplatform 3D engine
|
Un pool de buffer GPU, utilisant un allocateur pour allouer des sous-tampons. Plus de détails...
#include <GpuBuffer.hpp>
Fonctions membres publiques | |
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 |
Amis | |
class | GpuBufferPool |
Un pool de buffer GPU, utilisant un allocateur pour allouer des sous-tampons.
castor3d::GpuBufferT< AllocatorT >::GpuBufferT | ( | RenderSystem const & | renderSystem, |
VkBufferUsageFlags | usage, | ||
VkMemoryPropertyFlags | memoryFlags, | ||
castor::String const & | debugName, | ||
ashes::QueueShare | sharingMode, | ||
AllocatorT | allocator ) |
Constructeur.
[in] | renderSystem | Le device sur lequel le stockage est alloué. |
[in] | usage | Les cibles du tampon. |
[in] | memoryFlags | Les propriétés mémoire du tampon. |
[in] | debugName | Le nom debug. |
[in] | sharingMode | Le mode de partage. |
[in] | allocator | L'allocateur. |
MemChunk castor3d::GpuBufferT< AllocatorT >::allocate | ( | VkDeviceSize | size | ) |
Alloue une zone mémoire pour un CPU buffer.
[in] | size | La taille requise pour la mémoire. |
|
noexcept |
Désalloue de la mémoire.
[in] | mem | La zone mémoire. |
|
noexcept |
|
noexcept |
[in] | size | La taille requise pour la mémoire. |
true
s'il y a assez de mémoire restante pour la taille donnée.
|
friend |