|
Blender V4.3
|
#include <DRW_gpu_wrapper.hh>
Inherits blender::draw::detail::StorageCommon< T, len, device_only >.
Inherited by blender::draw::StorageVectorBuffer< BoneInstanceData >, blender::draw::StorageVectorBuffer< BoneEnvelopeData >, blender::draw::StorageVectorBuffer< BoneStickData >, blender::draw::StorageVectorBuffer< ExtraInstanceData >, blender::draw::StorageVectorBuffer< ObjectMatrices >, blender::draw::StorageVectorBuffer< blender::VecBase >, blender::draw::StorageVectorBuffer< float4 >, blender::draw::StorageVectorBuffer< VertexData >, blender::draw::StorageVectorBuffer< InstanceDataT >, blender::draw::StorageVectorBuffer< uint32_t >, blender::draw::StorageVectorBuffer< blender::eevee::Material >, and blender::draw::StorageVectorBuffer< T, len >.
Public Member Functions | |
| 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 (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 335 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 337 of file DRW_gpu_wrapper.hh.
References len, MEM_mallocN_aligned(), and blender::draw::detail::StorageCommon< T, len, device_only >::name_.
|
inline |
Definition at line 342 of file DRW_gpu_wrapper.hh.
References MEM_freeN().
|
inline |
Definition at line 395 of file DRW_gpu_wrapper.hh.
References blender::draw::detail::DataBuffer< T, len, false >::data_.
|
inline |
Definition at line 366 of file DRW_gpu_wrapper.hh.
References BLI_assert, power_of_2_max_u(), and blender::draw::StorageArrayBuffer< T, len, device_only >::resize().
Referenced by blender::draw::command::DrawMultiBuf::append_draw(), blender::draw::command::DrawMultiBuf::bind(), blender::draw::Manager::extract_object_attributes(), blender::draw::Manager::extract_object_attributes(), blender::eevee::PlanarProbeModule::set_view(), and blender::eevee::Cryptomatte::sync_object().
|
inline |
Definition at line 348 of file DRW_gpu_wrapper.hh.
References BLI_assert, GPU_storagebuf_create_ex(), GPU_storagebuf_free(), GPU_USAGE_DEVICE_ONLY, GPU_USAGE_DYNAMIC, MEM_freeN(), MEM_mallocN_aligned(), min_uu(), blender::draw::detail::StorageCommon< T, len, device_only >::name_, and blender::draw::detail::StorageCommon< T, len, device_only >::ssbo_.
Referenced by blender::draw::StorageVectorBuffer< T, len >::append_as(), blender::eevee::Cryptomatte::begin_sync(), blender::draw::View::compute_visibility(), blender::draw::select::SelectMap::end_sync(), blender::eevee::LightModule::end_sync(), blender::eevee::ShadowTileMapPool::end_sync(), blender::eevee::VelocityModule::end_sync(), blender::draw::StorageArrayBuffer< T, len, device_only >::get_or_resize(), blender::eevee::RayTraceModule::render(), blender::eevee::SubsurfaceModule::render(), blender::eevee::PlanarProbeModule::set_view(), blender::eevee::DepthOfField::sync(), blender::draw::test_eevee_surfel_list(), and blender::draw::StorageArrayBuffer< T, len, device_only >::trim_to_next_power_of_2().
|
inline |
Definition at line 390 of file DRW_gpu_wrapper.hh.
References blender::draw::detail::DataBuffer< T, len, false >::len_.
Referenced by blender::eevee::ShadowModule::end_sync(), blender::eevee::ShadowTileMapPool::end_sync(), blender::draw::test_eevee_shadow_free(), blender::draw::TestDefrag::TestDefrag(), and blender::eevee::PlanarProbeModule::viewport_draw().
|
inlinestatic |
Definition at line 400 of file DRW_gpu_wrapper.hh.
References b.
Referenced by blender::draw::StorageVectorBuffer< T, len >::swap().
|
inline |
Definition at line 380 of file DRW_gpu_wrapper.hh.
References len, power_of_2_max_u(), and blender::draw::StorageArrayBuffer< T, len, device_only >::resize().
Referenced by blender::draw::Manager::begin_sync(), blender::draw::command::DrawCommandBuf::clear(), blender::draw::command::DrawMultiBuf::clear(), and blender::draw::StorageVectorBuffer< T, len >::clear_and_trim().