Blender V4.3
blender::draw::detail::StorageCommon< T, len, device_only > Class Template Reference

#include <DRW_gpu_wrapper.hh>

Inherits blender::draw::detail::DataBuffer< T, len, false >, blender::NonMovable, and blender::NonCopyable.

Inherited by blender::draw::StorageArrayBuffer< T,(512u+(sizeof(T) - 1))/sizeof(T), false >, blender::draw::StorageArrayBuffer< uint >, blender::draw::StorageArrayBuffer< PlanarProbeDisplayData >, blender::draw::StorageArrayBuffer< SphereProbeDisplayData >, blender::draw::StorageArrayBuffer< blender::eevee::Surfel >, and blender::draw::StorageArrayBuffer< T, len, device_only >.

Public Member Functions

 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 Toperator[] (int64_t index) const
 
Toperator[] (int64_t index)
 
const Tdata () const
 
Tdata ()
 
const Tbegin () const
 
Tbegin ()
 
const Tend () const
 
Tend ()
 
 operator Span< T > () const
 

Protected Attributes

GPUStorageBuf * ssbo_
 
const char * name_ = typeid(T).name()
 
- Protected Attributes inherited from blender::draw::detail::DataBuffer< T, len, false >
Tdata_
 
int64_t len_
 

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.")
 

Detailed Description

template<typename T, int64_t len, bool device_only>
class blender::draw::detail::StorageCommon< T, len, device_only >

Definition at line 214 of file DRW_gpu_wrapper.hh.

Constructor & Destructor Documentation

◆ StorageCommon()

◆ ~StorageCommon()

template<typename T , int64_t len, bool device_only>
blender::draw::detail::StorageCommon< T, len, device_only >::~StorageCommon ( )
inline

Member Function Documentation

◆ async_flush_to_host()

template<typename T , int64_t len, bool device_only>
void blender::draw::detail::StorageCommon< T, len, device_only >::async_flush_to_host ( )
inline

◆ clear_to_zero()

◆ operator GPUStorageBuf *()

template<typename T , int64_t len, bool device_only>
blender::draw::detail::StorageCommon< T, len, device_only >::operator GPUStorageBuf * ( ) const
inline

◆ operator&()

template<typename T , int64_t len, bool device_only>
GPUStorageBuf ** blender::draw::detail::StorageCommon< T, len, device_only >::operator& ( )
inline

◆ push_update()

template<typename T , int64_t len, bool device_only>
void blender::draw::detail::StorageCommon< T, len, device_only >::push_update ( )
inline

Definition at line 240 of file DRW_gpu_wrapper.hh.

References BLI_assert, GPU_storagebuf_update(), and blender::draw::detail::StorageCommon< T, len, device_only >::ssbo_.

Referenced by blender::draw::overlay::Grid::begin_sync(), blender::draw::command::DrawCommandBuf::bind(), blender::draw::command::DrawMultiBuf::bind(), blender::draw::Manager::end_sync(), blender::draw::overlay::EditText::end_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::draw::select::SelectMap::end_sync(), blender::eevee::Cryptomatte::end_sync(), blender::eevee::Film::end_sync(), blender::eevee::LightModule::end_sync(), blender::eevee::ShadowModule::end_sync(), blender::eevee::ShadowTileMapPool::end_sync(), blender::eevee::VelocityModule::end_sync(), blender::draw::DebugDraw::gpu_draw_buf_get(), blender::draw::DebugDraw::gpu_print_buf_get(), blender::draw::select::SelectBuf::select_bind(), blender::eevee::LightModule::set_view(), blender::eevee::PlanarProbeModule::set_view(), blender::eevee::VolumeProbeModule::set_view(), blender::eevee::Sampling::step(), blender::draw::test_draw_pass_all_commands(), 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_shadow_tilemap_amend(), blender::draw::test_eevee_surfel_list(), blender::draw::TestAlloc::TestAlloc(), and blender::draw::TestDefrag::TestDefrag().

◆ read()

Member Data Documentation

◆ name_

◆ ssbo_


The documentation for this class was generated from the following file: