|
| UniformBufferT (RenderSystem const &renderSystem, VkDeviceSize count, VkBufferUsageFlags usage, VkMemoryPropertyFlags flags, castor::String debugName, ashes::QueueShare sharingMode={}) |
| Constructor.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, uint32_t offset, VkPipelineStageFlags flags) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::CommandBuffer const &commandBuffer, uint32_t offset, VkPipelineStageFlags flags) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer const &timer, uint32_t index) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::CommandBuffer const &commandBuffer, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer const &timer, uint32_t index) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (VkDeviceSize offset=0u, VkDeviceSize range=1u) const |
| Uploads the buffer data to VRAM.
|
|
void | download (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer const &timer, uint32_t index) |
| Transfers data from the GPU buffer to RAM.
|
|
DataT const & | getData (VkDeviceSize index=0) const |
|
DataT & | getData (VkDeviceSize index=0) |
|
castor::Vector< DataT > const & | getDatas () const |
|
castor::Vector< DataT > & | getDatas () |
|
C3D_API | UniformBufferBase (RenderSystem const &renderSystem, VkDeviceSize elemCount, VkDeviceSize elemSize, VkBufferUsageFlags usage, VkMemoryPropertyFlags flags, castor::String debugName, ashes::QueueShare sharingMode={}) |
| Constructor.
|
|
virtual C3D_API | ~UniformBufferBase () noexcept=default |
| Destructor.
|
|
C3D_API uint32_t | initialise (RenderDevice const &device) |
| Initialises the GPU buffer.
|
|
C3D_API uint32_t | initialise (RenderDevice const &device, ashes::QueueShare sharingMode) |
| Initialises the GPU buffer.
|
|
C3D_API void | cleanup () noexcept |
| Cleans up the GPU buffer.
|
|
C3D_API bool | hasAvailable () const noexcept |
|
C3D_API uint32_t | allocate () noexcept |
| Allocates a memory chunk for a CPU buffer.
|
|
C3D_API void | deallocate (uint32_t offset) |
| Deallocates memory.
|
|
C3D_API void | upload (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, const void *data, size_t size, uint32_t offset, VkPipelineStageFlags flags) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, ashes::ByteArray const &data, uint32_t offset, VkPipelineStageFlags flags) const |
| Transfers data to the GPU buffer from RAM.
|
|
C3D_API void | upload (ashes::BufferBase const &stagingBuffer, ashes::CommandBuffer const &commandBuffer, const void *data, size_t size, uint32_t offset, VkPipelineStageFlags flags) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::CommandBuffer const &commandBuffer, ashes::ByteArray const &data, uint32_t offset, VkPipelineStageFlags flags) const |
| Transfers data to the GPU buffer from RAM.
|
|
C3D_API void | upload (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, const void *data, size_t size, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer &timer) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, ashes::ByteArray const &data, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer &timer) const |
| Transfers data to the GPU buffer from RAM.
|
|
C3D_API void | upload (ashes::BufferBase const &stagingBuffer, ashes::CommandBuffer const &commandBuffer, const void *data, size_t size, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer &timer) const |
| Transfers data to the GPU buffer from RAM.
|
|
void | upload (ashes::BufferBase const &stagingBuffer, ashes::CommandBuffer const &commandBuffer, ashes::ByteArray const &data, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer &timer) const |
| Transfers data to the GPU buffer from RAM.
|
|
C3D_API void | download (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, void *data, size_t size, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer &timer) const |
| Transfers data from the GPU buffer to RAM.
|
|
void | download (ashes::BufferBase const &stagingBuffer, ashes::Queue const &queue, ashes::CommandPool const &commandPool, ashes::ByteArray &data, uint32_t offset, VkPipelineStageFlags flags, FramePassTimer &timer) const |
| Transfers data from the GPU buffer to RAM.
|
|
bool | hasBuffer () const |
|
ashes::UniformBuffer const & | getBuffer () const |
|
ashes::UniformBuffer & | getBuffer () |
|
uint32_t | getElementSize () const |
|
uint32_t | getAlignedSize (uint32_t size) const |
| Retrieves the aligned size for an element.
|
|
uint32_t | getAlignedSize () const |
|
template<typename DataT>
class castor3d::UniformBufferT< DataT >
A uniform typed buffer, than can contain multiple sub-buffers.