#include <GpuBuffer.hpp>
|
C3D_API | GpuBufferBase (RenderSystem const &renderSystem, VkBufferUsageFlags usage, VkMemoryPropertyFlags memoryFlags, castor::String debugName, ashes::QueueShare sharingMode, VkDeviceSize allocatedSize, bool smallData=false) |
| Constructeur.
|
|
C3D_API void | upload (ashes::CommandBuffer const &cb) |
| Met à jour tous les intervalles mémoire prêts en VRAM.
|
|
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.
|
|
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 |
|
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 () |
|
◆ 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] | 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] | allocatedSize | La taille du buffer. |
[in] | smallData | Dit si les chunks mémoire alloués via ce buffer font moins de 65536 bytes. |
◆ 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 |
◆ getData() [1/2]
template<typename DataT >
DataT & castor3d::GpuBufferBase::getData |
( |
VkDeviceSize |
offset | ) |
|
|
inline |
- Renvoie
- La n-ème instance des données.
- Paramètres
-
[in] | offset | L'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] | offset | L'offset de la zone mémoire. |
◆ getDatas() [1/2]
castor::ArrayView< uint8_t > & castor3d::GpuBufferBase::getDatas |
( |
| ) |
|
|
inline |
◆ getDatas() [2/2]
castor::ArrayView< uint8_t > const & castor3d::GpuBufferBase::getDatas |
( |
| ) |
const |
|
inline |
◆ hasBuffer()
bool castor3d::GpuBufferBase::hasBuffer |
( |
| ) |
const |
|
inline |
◆ markDirty()
C3D_API void castor3d::GpuBufferBase::markDirty |
( |
VkDeviceSize |
offset, |
|
|
VkDeviceSize |
size, |
|
|
VkAccessFlags |
dstAccessFlags, |
|
|
VkPipelineStageFlags |
dstPipelineFlags |
|
) |
| |
◆ 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] | cb | Le 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] | queue | La queue à laquelle les commandes d'upload seront soumises. |
[in] | commandPool | Le command pool depuis lequel le command buffer sera créé. |
[in] | offset,size | L'intervalle mémoire. |
[in] | dstAccessFlags | Les flags d'accès voulus après l'upload. |
[in] | dstPipelineFlags | Les flags d'étape de pipeline voulus après l'upload. |
Référencé par castor3d::ObjectBufferOffset::GpuBufferChunk::directUpload().
◆ GpuBufferPool
La documentation de cette classe a été générée à partir du fichier suivant :