Castor3D 0.16.0
Multiplatform 3D engine
|
#include <UploadData.hpp>
Classes | |
struct | BufferDataRange |
struct | ImageDataRange |
struct | SemaphoreUsed |
Public Member Functions | |
UploadData (UploadData const &)=delete | |
UploadData (UploadData &&) noexcept=delete | |
UploadData & | operator= (UploadData const &)=delete |
UploadData & | operator= (UploadData &&) noexcept=delete |
virtual C3D_API | ~UploadData () noexcept=default |
C3D_API void | begin () |
C3D_API void | pushUpload (void const *srcData, VkDeviceSize srcSize, ashes::BufferBase const &dstBuffer, VkDeviceSize dstOffset, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
C3D_API void | pushUpload (void const *srcData, VkDeviceSize srcSize, ashes::Image const &dstImage, castor::ImageLayout dstLayout, VkImageSubresourceRange dstRange, VkImageLayout dstImageLayout, VkPipelineStageFlags dstPipelineFlags) |
C3D_API void | process () |
C3D_API SemaphoreUsed | end (ashes::Queue const &queue, ashes::Fence const *fence=nullptr, castor::Milliseconds timeout=castor::Milliseconds{ ashes::MaxTimeout }) |
void | pushUpload (castor::ByteArray const &srcData, ashes::BufferBase const &dstBuffer, VkDeviceSize dstOffset, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
void | pushUpload (castor::ByteArray const &srcData, ashes::Image const &dstImage, castor::ImageLayout dstLayout, VkImageSubresourceRange dstRange, VkImageLayout dstImageLayout, VkPipelineStageFlags dstPipelineFlags) |
void | pushUpload (castor::ByteArrayView const &srcData, ashes::BufferBase const &dstBuffer, VkDeviceSize dstOffset, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags) |
void | pushUpload (castor::ByteArrayView const &srcData, ashes::Image const &dstImage, castor::ImageLayout dstLayout, VkImageSubresourceRange dstRange, VkImageLayout dstImageLayout, VkPipelineStageFlags dstPipelineFlags) |
ashes::CommandBuffer const & | getCommandBuffer () const noexcept |
RenderDevice const & | getDevice () const noexcept |
castor::String const & | getName () const noexcept |
Protected Member Functions | |
C3D_API | UploadData (RenderDevice const &device, castor::String debugName, ashes::CommandBuffer const *commandBuffer) |
C3D_API bool | doCopyData (void const *srcData, VkDeviceSize size, ashes::BufferBase const &dstBuffer, VkDeviceSize dstOffset) const |
C3D_API void | doUploadBuffer (BufferDataRange const &data, ashes::BufferBase const *srcBuffer, VkDeviceSize srcOffset) const |
C3D_API void | doUploadImage (ImageDataRange &data, ashes::BufferBase const &srcBuffer, VkDeviceSize srcOffset) const |
Protected Attributes | |
RenderDevice const & | m_device |
castor::String | m_debugName |
ashes::CommandBuffer const * | m_commandBuffer |
castor::Vector< BufferDataRange > | m_pendingBuffers |
castor::Vector< ImageDataRange > | m_pendingImages |
|
delete |
|
deletenoexcept |
|
virtualdefaultnoexcept |
|
protected |
C3D_API void castor3d::UploadData::begin | ( | ) |
|
protected |
|
protected |
|
protected |
C3D_API SemaphoreUsed castor3d::UploadData::end | ( | ashes::Queue const & | queue, |
ashes::Fence const * | fence = nullptr, | ||
castor::Milliseconds | timeout = castor::Milliseconds{ ashes::MaxTimeout } ) |
Referenced by castor3d::InstantUploadDataT< UploaderT >::~InstantUploadDataT().
|
inlinenoexcept |
References m_commandBuffer.
|
inlinenoexcept |
References m_device.
Referenced by castor3d::InstantUploadDataT< UploaderT >::~InstantUploadDataT().
|
inlinenoexcept |
References m_debugName.
Referenced by castor3d::InstantUploadDataT< UploaderT >::~InstantUploadDataT().
|
deletenoexcept |
|
delete |
C3D_API void castor3d::UploadData::process | ( | ) |
Referenced by castor3d::InstantUploadDataT< UploaderT >::~InstantUploadDataT().
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::UploadData::pushUpload | ( | void const * | srcData, |
VkDeviceSize | srcSize, | ||
ashes::BufferBase const & | dstBuffer, | ||
VkDeviceSize | dstOffset, | ||
VkAccessFlags | dstAccessFlags, | ||
VkPipelineStageFlags | dstPipelineFlags ) |
Referenced by pushUpload(), pushUpload(), pushUpload(), and pushUpload().
C3D_API void castor3d::UploadData::pushUpload | ( | void const * | srcData, |
VkDeviceSize | srcSize, | ||
ashes::Image const & | dstImage, | ||
castor::ImageLayout | dstLayout, | ||
VkImageSubresourceRange | dstRange, | ||
VkImageLayout | dstImageLayout, | ||
VkPipelineStageFlags | dstPipelineFlags ) |
|
protected |
Referenced by getCommandBuffer().
|
protected |
Referenced by getName().
|
protected |
Referenced by getDevice().
|
protected |
|
protected |