|
Blender V5.0
|
#include <vk_storage_buffer.hh>
Inherits blender::gpu::StorageBuf.
Public Member Functions | |
| VKStorageBuffer (size_t size, GPUUsageType usage, const char *name) | |
| ~VKStorageBuffer () | |
| 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 |
| VkDeviceAddress | device_address_get () const |
| int64_t | size_in_bytes () const |
| VkDeviceSize | offset_get () const |
| void | ensure_allocated () |
| Public Member Functions inherited from blender::gpu::StorageBuf | |
| StorageBuf (size_t size, const char *name) | |
| virtual | ~StorageBuf () |
| void | usage_size_set (size_t size) |
| size_t | usage_size_get () const |
Additional Inherited Members | |
| Protected Attributes inherited from blender::gpu::StorageBuf | |
| size_t | size_in_bytes_ = -1 |
| size_t | usage_size_in_bytes_ = -1 |
| void * | data_ = nullptr |
| char | name_ [DEBUG_NAME_LEN] = {} |
Definition at line 22 of file vk_storage_buffer.hh.
| blender::gpu::VKStorageBuffer::VKStorageBuffer | ( | size_t | size, |
| GPUUsageType | usage, | ||
| const char * | name ) |
Definition at line 22 of file vk_storage_buffer.cc.
References name, size(), blender::gpu::StorageBuf::StorageBuf(), and UNUSED_VARS.
| blender::gpu::VKStorageBuffer::~VKStorageBuffer | ( | ) |
Definition at line 27 of file vk_storage_buffer.cc.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 134 of file vk_storage_buffer.cc.
References blender::gpu::VKStagingBuffer::DeviceToHost, ensure_allocated(), and blender::gpu::VKContext::get().
Referenced by read().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 94 of file vk_storage_buffer.cc.
References blender::gpu::VKContext::get(), and blender::gpu::BindSpaceStorageBuffers::StorageBuffer.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 109 of file vk_storage_buffer.cc.
References ensure_allocated(), and blender::gpu::VKContext::get().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 116 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().
|
inline |
Definition at line 47 of file vk_storage_buffer.hh.
| void blender::gpu::VKStorageBuffer::ensure_allocated | ( | ) |
Definition at line 71 of file vk_storage_buffer.cc.
Referenced by async_flush_to_host(), clear(), copy_sub(), and update().
|
inline |
Definition at line 56 of file vk_storage_buffer.hh.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 148 of file vk_storage_buffer.cc.
References async_flush_to_host(), data, and blender::gpu::VKContext::get().
|
inline |
Definition at line 52 of file vk_storage_buffer.hh.
|
inlineoverridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 41 of file vk_storage_buffer.hh.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 101 of file vk_storage_buffer.cc.
References blender::gpu::VKContext::get().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 35 of file vk_storage_buffer.cc.
References CLOG_ERROR, CLOG_WARN, blender::gpu::VKStagingBuffer::copy_to_device(), data, blender::gpu::VKBackend::device, ensure_allocated(), blender::gpu::VKBackend::get(), blender::gpu::VKContext::get(), GPU_USAGE_STREAM, blender::gpu::VKStagingBuffer::host_buffer_get(), blender::gpu::VKStagingBuffer::HostToDevice, blender::gpu::VKBuffer::is_allocated(), blender::gpu::LOG, blender::gpu::VKDevice::physical_device_properties_get(), blender::gpu::VKStreamingBuffer::update(), blender::gpu::VKBuffer::update_immediately(), and blender::gpu::StorageBuf::usage_size_in_bytes_.
|
inline |
Definition at line 43 of file vk_storage_buffer.hh.
Referenced by blender::gpu::VKBackend::compute_dispatch_indirect(), copy_sub(), and blender::gpu::VKBatch::multi_draw_indirect().