|
Blender V4.3
|
#include <vk_index_buffer.hh>
Inherits blender::gpu::IndexBuf.
Public Member Functions | |
| void | upload_data () override |
| void | bind_as_ssbo (uint binding) override |
| void | read (uint32_t *data) const override |
| void | update_sub (uint start, uint len, const void *data) override |
| VkBuffer | vk_handle () const |
| VkIndexType | vk_index_type () const |
| void | ensure_updated () |
Public Member Functions inherited from blender::gpu::IndexBuf | |
| IndexBuf () | |
| virtual | ~IndexBuf () |
| void | init (uint indices_len, uint32_t *indices, uint min_index, uint max_index, GPUPrimType prim_type, bool uses_restart_indices) |
| void | init_subrange (IndexBuf *elem_src, uint start, uint length) |
| void | init_build_on_device (uint index_len) |
| uint32_t | index_len_get () const |
| uint32_t | index_start_get () const |
| uint32_t | index_base_get () const |
| bool | is_32bit () const |
| size_t | size_get () const |
| bool | is_init () const |
Additional Inherited Members | ||
Protected Attributes inherited from blender::gpu::IndexBuf | ||
| GPUIndexBufType | index_type_ = GPU_INDEX_U32 | |
| uint32_t | index_start_ = 0 | |
| uint32_t | index_len_ = 0 | |
| uint32_t | index_base_ = 0 | |
| bool | is_init_ = false | |
| bool | is_subrange_ = false | |
| bool | is_empty_ = false | |
| union { | ||
| void * data_ = nullptr | ||
| IndexBuf * src_ | ||
| }; | ||
Definition at line 17 of file vk_index_buffer.hh.
|
overridevirtual |
Implements blender::gpu::IndexBuf.
Definition at line 44 of file vk_index_buffer.cc.
References blender::gpu::VKContext::get(), blender::gpu::BindSpaceStorageBuffers::IndexBuffer, blender::gpu::VKContext::state_manager_get(), and blender::gpu::VKStateManager::storage_buffer_bind().
| void blender::gpu::VKIndexBuffer::ensure_updated | ( | ) |
Definition at line 17 of file vk_index_buffer.cc.
References blender::gpu::VKStagingBuffer::copy_to_device(), blender::gpu::IndexBuf::data_, blender::gpu::VKContext::get(), blender::gpu::VKStagingBuffer::host_buffer_get(), blender::gpu::VKStagingBuffer::HostToDevice, blender::gpu::VKBuffer::is_allocated(), blender::gpu::IndexBuf::is_subrange_, MEM_SAFE_FREE, blender::gpu::IndexBuf::src_, blender::gpu::VKBuffer::update_immediately(), and blender::gpu::IndexBuf::upload_data().
Referenced by upload_data().
|
overridevirtual |
Implements blender::gpu::IndexBuf.
Definition at line 50 of file vk_index_buffer.cc.
References blender::gpu::VKStagingBuffer::copy_from_device(), blender::gpu::VKStagingBuffer::DeviceToHost, blender::gpu::VKContext::get(), blender::gpu::VKStagingBuffer::host_buffer_get(), and blender::gpu::VKBuffer::read().
|
overridevirtual |
Implements blender::gpu::IndexBuf.
Definition at line 58 of file vk_index_buffer.cc.
References NOT_YET_IMPLEMENTED.
|
overridevirtual |
Implements blender::gpu::IndexBuf.
Definition at line 39 of file vk_index_buffer.cc.
References ensure_updated().
Referenced by blender::gpu::VKBatch::draw(), and blender::gpu::VKBatch::multi_draw_indirect().
|
inline |
Definition at line 29 of file vk_index_buffer.hh.
References blender::gpu::VKBuffer::vk_handle().
Referenced by blender::gpu::VKBatch::draw(), and blender::gpu::VKBatch::multi_draw_indirect().
|
inline |
Definition at line 33 of file vk_index_buffer.hh.
References blender::gpu::IndexBuf::index_type_, and blender::gpu::to_vk_index_type().
Referenced by blender::gpu::VKBatch::draw(), and blender::gpu::VKBatch::multi_draw_indirect().