Castor3D 0.14.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Amis | Liste de tous les membres
Référence de la classe castor3d::GpuBufferBase

#include <GpuBuffer.hpp>

Graphe d'héritage de castor3d::GpuBufferBase:
Inheritance graph
[légende]

Fonctions membres publiques

C3D_API GpuBufferBase (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String debugName, ashes::QueueShare sharingMode, VkDeviceSize allocatedSize, bool smallData=false)
 Constructeur. Plus de détails...
 
C3D_API void upload (ashes::CommandBuffer const &cb)
 Met à jour tous les intervalles mémoire prêts en VRAM. Plus de détails...
 
C3D_API void uploadDirect (ashes::Queue const &queue, ashes::CommandPool const &commandPool, VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags)
 Met à jour un intervalle mémoire en VRAM. Plus de détails...
 
C3D_API void markDirty (VkDeviceSize offset, VkDeviceSize size, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags)
 Marque un intervalle mémoire comme prêt à l'upload. Plus de détails...
 
bool hasBuffer () const
 
ashes::Buffer< uint8_t > const & getBuffer () const
 
 operator ashes::Buffer< uint8_t > const & () const
 
ashes::Buffer< uint8_t > & getBuffer ()
 
 operator ashes::Buffer< uint8_t > & ()
 
template<typename DataT >
DataT const & getData (VkDeviceSize offset) const
 
template<typename DataT >
DataT & getData (VkDeviceSize offset)
 
castor::ArrayView< uint8_t > const & getDatas () const
 
castor::ArrayView< uint8_t > & getDatas ()
 

Amis

class GpuBufferPool
 

Documentation des constructeurs et destructeur

◆ GpuBufferBase()

C3D_API castor3d::GpuBufferBase::GpuBufferBase ( RenderSystem const &  renderSystem,
VkBufferUsageFlags  usage,
VkMemoryPropertyFlags  memoryFlags,
castor::String  debugName,
ashes::QueueShare  sharingMode,
VkDeviceSize  allocatedSize,
bool  smallData = false 
)

Constructeur.

Paramètres
[in]renderSystemLe 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]allocatedSizeLa taille du buffer.
[in]smallDataDit si les chunks mémoire alloués via ce buffer font moins de 65536 bytes.

Documentation des fonctions membres

◆ getBuffer() [1/2]

ashes::Buffer< uint8_t > & castor3d::GpuBufferBase::getBuffer ( )
inline
Renvoie
Le tampon interne.

◆ getBuffer() [2/2]

ashes::Buffer< uint8_t > const & castor3d::GpuBufferBase::getBuffer ( ) const
inline
Renvoie
Le tampon interne.

Référencé par castor3d::GpuBufferOffsetT< DataT >::getBuffer(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getBuffer().

Voici le graphe des appelants de cette fonction :

◆ getData() [1/2]

template<typename DataT >
DataT & castor3d::GpuBufferBase::getData ( VkDeviceSize  offset)
inline
Renvoie
La n-ème instance des données.
Paramètres
[in]offsetL'offset de la zone mémoire.

◆ getData() [2/2]

template<typename DataT >
DataT const & castor3d::GpuBufferBase::getData ( VkDeviceSize  offset) const
inline
Renvoie
La n-ème instance des données.
Paramètres
[in]offsetL'offset de la zone mémoire.

◆ getDatas() [1/2]

castor::ArrayView< uint8_t > & castor3d::GpuBufferBase::getDatas ( )
inline
Renvoie
Les données.

◆ getDatas() [2/2]

castor::ArrayView< uint8_t > const & castor3d::GpuBufferBase::getDatas ( ) const
inline
Renvoie
Les données.

Référencé par castor3d::GpuBufferOffsetT< DataT >::getData(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getData().

Voici le graphe des appelants de cette fonction :

◆ hasBuffer()

bool castor3d::GpuBufferBase::hasBuffer ( ) const
inline
Renvoie
Le tampon interne.

Référencé par castor3d::GpuBufferOffsetT< DataT >::operator bool().

Voici le graphe des appelants de cette fonction :

◆ markDirty()

C3D_API void castor3d::GpuBufferBase::markDirty ( VkDeviceSize  offset,
VkDeviceSize  size,
VkAccessFlags  dstAccessFlags,
VkPipelineStageFlags  dstPipelineFlags 
)

Marque un intervalle mémoire comme prêt à l'upload.

Paramètres
[in]offset,sizeL'intervalle mémoire.
[in]dstAccessFlagsLes flags d'accès voulus après l'upload.
[in]dstPipelineFlagsLes flags d'étape de pipeline voulus après l'upload.

Référencé par castor3d::GpuBufferOffsetT< DataT >::markDirty(), et castor3d::ObjectBufferOffset::GpuBufferChunk::markDirty().

Voici le graphe des appelants de cette fonction :

◆ operator ashes::Buffer< uint8_t > &()

castor3d::GpuBufferBase::operator ashes::Buffer< uint8_t > & ( )
inline

◆ operator ashes::Buffer< uint8_t > const &()

castor3d::GpuBufferBase::operator ashes::Buffer< uint8_t > const & ( ) const
inline

◆ upload()

C3D_API void castor3d::GpuBufferBase::upload ( ashes::CommandBuffer const &  cb)

Met à jour tous les intervalles mémoire prêts en VRAM.

Paramètres
[in]cbLe command buffer sur lequel les commandes de transfert sont enregistrées.

◆ uploadDirect()

C3D_API void castor3d::GpuBufferBase::uploadDirect ( ashes::Queue const &  queue,
ashes::CommandPool const &  commandPool,
VkDeviceSize  offset,
VkDeviceSize  size,
VkAccessFlags  dstAccessFlags,
VkPipelineStageFlags  dstPipelineFlags 
)

Met à jour un intervalle mémoire en VRAM.

Paramètres
[in]queueLa queue à laquelle les commandes d'upload seront soumises.
[in]commandPoolLe command pool depuis lequel le command buffer sera créé.
[in]offset,sizeL'intervalle mémoire.
[in]dstAccessFlagsLes flags d'accès voulus après l'upload.
[in]dstPipelineFlagsLes flags d'étape de pipeline voulus après l'upload.

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

Voici le graphe des appelants de cette fonction :

Documentation des fonctions amies et associées

◆ GpuBufferPool

friend class GpuBufferPool
friend

La documentation de cette classe a été générée à partir du fichier suivant :