|
Blender V4.3
|
#include <DRW_gpu_wrapper.hh>
Inherits blender::draw::StorageArrayBuffer< T, len, device_only >.
Public Member Functions | |
| StorageVectorBuffer (const char *name=nullptr) | |
| ~StorageVectorBuffer () | |
| void | clear () |
| void | clear_and_trim () |
| void | append (const T &value) |
| void | append (T &&value) |
| template<typename... ForwardT> | |
| void | append_as (ForwardT &&...value) |
| void | extend (const Span< T > values) |
| int64_t | size () const |
| bool | is_empty () const |
| void | clear_to_zero ()=delete |
Public Member Functions inherited from blender::draw::StorageArrayBuffer< T, len, device_only > | |
| StorageArrayBuffer (const char *name=nullptr) | |
| ~StorageArrayBuffer () | |
| void | resize (int64_t new_size) |
| T & | get_or_resize (int64_t index) |
| void | trim_to_next_power_of_2 (int64_t required_size) |
| int64_t | size () const |
| MutableSpan< T > | as_span () const |
Public Member Functions inherited from blender::draw::detail::StorageCommon< T, len, device_only > | |
| StorageCommon (const char *name=nullptr) | |
| ~StorageCommon () | |
| void | push_update () |
| void | clear_to_zero () |
| void | async_flush_to_host () |
| void | read () |
| operator GPUStorageBuf * () const | |
| GPUStorageBuf ** | operator& () |
Public Member Functions inherited from blender::draw::detail::DataBuffer< T, len, false > | |
| const T & | operator[] (int64_t index) const |
| T & | operator[] (int64_t index) |
| const T * | data () const |
| T * | data () |
| const T * | begin () const |
| T * | begin () |
| const T * | end () const |
| T * | end () |
| operator Span< T > () const | |
Static Public Member Functions | |
| static void | swap (StorageVectorBuffer &a, StorageVectorBuffer &b) |
Static Public Member Functions inherited from blender::draw::StorageArrayBuffer< T, len, device_only > | |
| static void | swap (StorageArrayBuffer &a, StorageArrayBuffer &b) |
Additional Inherited Members | |
Protected Member Functions inherited from blender::draw::detail::DataBuffer< T, len, false > | |
| BLI_STATIC_ASSERT (((sizeof(T) *len) % 16)==0, "Buffer size need to be aligned to size of float4.") | |
Protected Attributes inherited from blender::draw::detail::StorageCommon< T, len, device_only > | |
| GPUStorageBuf * | ssbo_ |
| const char * | name_ = typeid(T).name() |
Protected Attributes inherited from blender::draw::detail::DataBuffer< T, len, false > | |
| T * | data_ |
| int64_t | len_ |
Definition at line 414 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 420 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 421 of file DRW_gpu_wrapper.hh.
|
inline |
Insert a new element at the end of the vector. This might cause a reallocation with the capacity is exceeded.
This is similar to std::vector::push_back.
Definition at line 447 of file DRW_gpu_wrapper.hh.
References blender::draw::StorageVectorBuffer< T, len >::append_as().
Referenced by blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::append(), blender::draw::overlay::VertexPrimitiveBuf::append(), blender::draw::overlay::Grid::begin_sync(), blender::eevee::ShadowModule::end_sync(), blender::eevee::ShadowPunctual::end_sync(), blender::eevee::ShadowTileMapPool::end_sync(), blender::draw::overlay::Origins::object_sync(), blender::draw::select::SelectBuf::select_append(), blender::eevee::VolumeProbeModule::set_view(), blender::eevee::ShadowModule::sync_object(), blender::draw::test_eevee_shadow_finalize(), blender::draw::test_eevee_shadow_free(), blender::draw::test_eevee_shadow_page_mask_ex(), blender::draw::test_eevee_shadow_shift(), blender::draw::test_eevee_shadow_shift_clear(), blender::draw::test_eevee_shadow_tag_update(), blender::draw::test_eevee_surfel_list(), and blender::draw::TestAlloc::TestAlloc().
|
inline |
Definition at line 451 of file DRW_gpu_wrapper.hh.
References blender::draw::StorageVectorBuffer< T, len >::append_as().
|
inline |
Definition at line 455 of file DRW_gpu_wrapper.hh.
References power_of_2_max_u(), ptr, blender::draw::StorageArrayBuffer< T, len, device_only >::resize(), and T.
Referenced by blender::draw::StorageVectorBuffer< T, len >::append(), and blender::draw::StorageVectorBuffer< T, len >::append().
|
inline |
Set item count to zero but does not free memory or resize the buffer.
Definition at line 426 of file DRW_gpu_wrapper.hh.
Referenced by blender::draw::overlay::EditText::begin_sync(), blender::draw::overlay::Grid::begin_sync(), blender::draw::overlay::Origins::begin_sync(), blender::eevee::ShadowModule::begin_sync(), blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::clear(), blender::draw::overlay::VertexPrimitiveBuf::clear(), blender::draw::StorageVectorBuffer< T, len >::clear_and_trim(), blender::eevee::ShadowModule::end_sync(), blender::eevee::ShadowTileMapPool::end_sync(), blender::draw::select::SelectBuf::select_clear(), and blender::eevee::VolumeProbeModule::set_view().
|
inline |
Set item count to zero and trim the buffer if current size is much larger than the current item count.
Definition at line 435 of file DRW_gpu_wrapper.hh.
References blender::draw::StorageVectorBuffer< T, len >::clear(), and blender::draw::StorageArrayBuffer< T, len, device_only >::trim_to_next_power_of_2().
|
delete |
|
inline |
Definition at line 465 of file DRW_gpu_wrapper.hh.
Referenced by blender::eevee::VolumeProbeModule::set_view().
|
inline |
Definition at line 478 of file DRW_gpu_wrapper.hh.
References blender::draw::StorageVectorBuffer< T, len >::size().
Referenced by blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::end_sync(), blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::end_sync(), and blender::draw::overlay::VertexPrimitiveBuf::end_sync().
|
inline |
Definition at line 473 of file DRW_gpu_wrapper.hh.
Referenced by blender::draw::overlay::Grid::begin_sync(), blender::draw::overlay::Origins::end_sync(), blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::end_sync(), blender::draw::overlay::ShapeInstanceBuf< InstanceDataT >::end_sync(), blender::draw::overlay::VertexPrimitiveBuf::end_sync(), blender::eevee::ShadowDirectional::end_sync(), blender::eevee::ShadowModule::end_sync(), blender::eevee::ShadowPunctual::end_sync(), blender::draw::StorageVectorBuffer< T, len >::is_empty(), blender::eevee::VolumeProbeModule::set_view(), blender::draw::test_eevee_shadow_finalize(), blender::draw::test_eevee_shadow_free(), blender::draw::test_eevee_shadow_page_mask_ex(), blender::draw::test_eevee_shadow_shift(), blender::draw::test_eevee_shadow_shift_clear(), blender::draw::test_eevee_shadow_tag_update(), blender::draw::test_eevee_surfel_list(), and blender::draw::TestAlloc::TestAlloc().
|
inlinestatic |
Definition at line 486 of file DRW_gpu_wrapper.hh.
References b, and blender::draw::StorageArrayBuffer< T, len, device_only >::swap().