|
Blender V4.3
|
#include <vk_storage_buffer.hh>
Inherits blender::gpu::StorageBuf.
Public Member Functions | |
| VKStorageBuffer (size_t size, GPUUsageType usage, const char *name) | |
| void | update (const void *data) override |
| void | bind (int slot) override |
| void | unbind () override |
| void | clear (uint32_t clear_value) override |
| void | copy_sub (VertBuf *src, uint dst_offset, uint src_offset, uint copy_size) override |
| void | read (void *data) override |
| void | async_flush_to_host () override |
| void | sync_as_indirect_buffer () override |
| VkBuffer | vk_handle () const |
| int64_t | size_in_bytes () const |
| void | ensure_allocated () |
Public Member Functions inherited from blender::gpu::StorageBuf | |
| StorageBuf (size_t size, const char *name) | |
| virtual | ~StorageBuf () |
Additional Inherited Members | |
Protected Attributes inherited from blender::gpu::StorageBuf | |
| size_t | size_in_bytes_ |
| void * | data_ = nullptr |
| char | name_ [DEBUG_NAME_LEN] |
Definition at line 21 of file vk_storage_buffer.hh.
| blender::gpu::VKStorageBuffer::VKStorageBuffer | ( | size_t | size, |
| GPUUsageType | usage, | ||
| const char * | name ) |
Definition at line 18 of file vk_storage_buffer.cc.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 90 of file vk_storage_buffer.cc.
References GPU_BARRIER_BUFFER_UPDATE, and GPU_memory_barrier().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 50 of file vk_storage_buffer.cc.
References blender::gpu::VKContext::get(), and blender::gpu::BindSpaceStorageBuffers::StorageBuffer.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 65 of file vk_storage_buffer.cc.
References blender::gpu::VKBuffer::clear(), ensure_allocated(), and blender::gpu::VKContext::get().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 72 of file vk_storage_buffer.cc.
References blender::gpu::render_graph::VKCopyBufferData::dst_buffer, ensure_allocated(), blender::gpu::VKContext::get(), blender::gpu::render_graph::VKCopyBufferData::region, blender::gpu::render_graph::VKCopyBufferData::src_buffer, blender::gpu::unwrap(), blender::gpu::VertBuf::upload(), vk_handle(), and blender::gpu::VKVertexBuffer::vk_handle().
| void blender::gpu::VKStorageBuffer::ensure_allocated | ( | ) |
Definition at line 32 of file vk_storage_buffer.cc.
References blender::gpu::VKBuffer::is_allocated().
Referenced by clear(), copy_sub(), read(), and update().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 95 of file vk_storage_buffer.cc.
References blender::gpu::VKStagingBuffer::copy_from_device(), blender::gpu::VKStagingBuffer::DeviceToHost, ensure_allocated(), blender::gpu::VKContext::get(), blender::gpu::VKStagingBuffer::host_buffer_get(), and blender::gpu::VKBuffer::read().
|
inline |
Definition at line 42 of file vk_storage_buffer.hh.
References blender::gpu::VKBuffer::size_in_bytes().
|
inlineoverridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 35 of file vk_storage_buffer.hh.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 57 of file vk_storage_buffer.cc.
References blender::gpu::VKContext::get().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 23 of file vk_storage_buffer.cc.
References blender::gpu::VKStagingBuffer::copy_to_device(), ensure_allocated(), blender::gpu::VKContext::get(), blender::gpu::VKStagingBuffer::host_buffer_get(), blender::gpu::VKStagingBuffer::HostToDevice, and blender::gpu::VKBuffer::update_immediately().
|
inline |
Definition at line 37 of file vk_storage_buffer.hh.
References blender::gpu::VKBuffer::vk_handle().
Referenced by blender::gpu::VKBackend::compute_dispatch_indirect(), copy_sub(), and blender::gpu::VKBatch::multi_draw_indirect().