Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la classe castor3d::GpuBaseBufferT< AllocatorT >

Un pool de buffer GPU, utilisant un allocateur pour allouer des sous-tampons. Plus de détails...

#include <GpuBuffer.hpp>

Fonctions membres publiques

 GpuBaseBufferT (RenderDevice const &device, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String const &debugName, ashes::QueueShare sharingMode, AllocatorT allocator)
 Constructeur.
 
bool hasAvailable (VkDeviceSize size) const noexcept
 
MemChunk allocate (VkDeviceSize size) noexcept
 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
 
ashes::BufferBase const & getBuffer () const noexcept
 
ashes::BufferBase & getBuffer () noexcept
 

Description détaillée

template<typename AllocatorT>
class castor3d::GpuBaseBufferT< AllocatorT >

Un pool de buffer GPU, utilisant un allocateur pour allouer des sous-tampons.

Remarques

Documentation des constructeurs et destructeur

◆ GpuBaseBufferT()

template<typename AllocatorT >
castor3d::GpuBaseBufferT< AllocatorT >::GpuBaseBufferT ( RenderDevice const & device,
VkBufferUsageFlags usage,
VkMemoryPropertyFlags memoryFlags,
castor::String const & debugName,
ashes::QueueShare sharingMode,
AllocatorT allocator )

Constructeur.

Paramètres
[in]deviceLe device sur lequel le stockage est alloué.
[in]usageLes cibles du tampon.
[in]memoryFlagsLes propriétés mémoire du tampon.
[in]debugNameLe nom debug.
[in]sharingModeLe mode de partage.
[in]allocatorL'allocateur.

Documentation des fonctions membres

◆ allocate()

template<typename AllocatorT >
MemChunk castor3d::GpuBaseBufferT< AllocatorT >::allocate ( VkDeviceSize size)
noexcept

Alloue une zone mémoire pour un CPU buffer.

Paramètres
[in]sizeLa taille requise pour la mémoire.
Renvoie
L'offset de la zone mémoire.

◆ deallocate()

template<typename AllocatorT >
void castor3d::GpuBaseBufferT< AllocatorT >::deallocate ( MemChunk const & mem)
noexcept

Désalloue de la mémoire.

Paramètres
[in]memLa zone mémoire.

◆ getBuffer() [1/2]

template<typename AllocatorT >
ashes::BufferBase const & castor3d::GpuBaseBufferT< AllocatorT >::getBuffer ( ) const
inlinenoexcept
Renvoie
Le tampon interne.

Référencé par castor3d::ObjectBufferOffset::GpuBufferChunk::getBuffer().

Voici le graphe des appelants de cette fonction :

◆ getBuffer() [2/2]

template<typename AllocatorT >
ashes::BufferBase & castor3d::GpuBaseBufferT< AllocatorT >::getBuffer ( )
inlinenoexcept
Renvoie
Le tampon interne.

◆ getMinAlignment()

template<typename AllocatorT >
size_t castor3d::GpuBaseBufferT< AllocatorT >::getMinAlignment ( ) const
noexcept
Renvoie
La taille alignée d'un élément.

◆ hasAvailable()

template<typename AllocatorT >
bool castor3d::GpuBaseBufferT< AllocatorT >::hasAvailable ( VkDeviceSize size) const
noexcept
Paramètres
[in]sizeLa taille requise pour la mémoire.
Renvoie
true s'il y a assez de mémoire restante pour la taille donnée.

La documentation de cette classe a été générée à partir des fichiers suivants :