|
Blender V5.0
|
#include <vk_streaming_buffer.hh>
Public Member Functions | |
| VKStreamingBuffer (VKBuffer &buffer, VkDeviceSize min_offset_alligment) | |
| ~VKStreamingBuffer () | |
| VkDeviceSize | update (VKContext &context, const void *data, size_t data_size) |
| VkBuffer | vk_buffer_dst () |
Streaming buffer to improve performance of GPU_USAGE_STREAM.
GPU_USAGE_STREAM is used for buffers that are uploaded once, and used a few times before being rewritten. This class improves the performance by buffering the data in a single host transfer buffer. This reduces barriers and more rendering can be performed between data transfers.
Definition at line 26 of file vk_streaming_buffer.hh.
| blender::gpu::VKStreamingBuffer::VKStreamingBuffer | ( | VKBuffer & | buffer, |
| VkDeviceSize | min_offset_alligment ) |
Definition at line 14 of file vk_streaming_buffer.cc.
| blender::gpu::VKStreamingBuffer::~VKStreamingBuffer | ( | ) |
Definition at line 21 of file vk_streaming_buffer.cc.
| VkDeviceSize blender::gpu::VKStreamingBuffer::update | ( | VKContext & | context, |
| const void * | data, | ||
| size_t | data_size ) |
Add 'data_size' bytes from 'data' to the streaming buffer. Returns the offset in the device buffer where the data is stored.
Definition at line 26 of file vk_streaming_buffer.cc.
References ceil_to_multiple_ul(), blender::gpu::VKBuffer::create(), data, blender::gpu::VKBuffer::mapped_memory_get(), blender::gpu::render_graph::VKCopyBufferData::region, vk_buffer_dst(), and blender::gpu::VKBuffer::vk_handle().
Referenced by blender::gpu::VKStorageBuffer::update().
|
inline |
Definition at line 54 of file vk_streaming_buffer.hh.
Referenced by update().