|
| | 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.