Blender V5.0
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< float2, 16 >, blender::draw::StorageArrayBuffer< ScatterRect, 16, true >, blender::draw::StorageArrayBuffer< LightData, LIGHT_CHUNK >, blender::draw::StorageArrayBuffer< PlanarProbeDisplayData >, blender::draw::StorageArrayBuffer< SphereProbeDisplayData >, blender::draw::StorageArrayBuffer< Surfel, 64 >, blender::draw::StorageArrayBuffer< uint2, SHADOW_MAX_PAGE, true >, blender::draw::StorageArrayBuffer< ShadowTileMapClip, SHADOW_MAX_TILEMAP, true >, blender::draw::StorageArrayBuffer< ShadowTileDataPacked, SHADOW_MAX_TILE, true >, blender::draw::StorageArrayBuffer< ShadowRenderView, SHADOW_VIEW_MAX, true >, blender::draw::StorageArrayBuffer< float4, 16, true >, blender::draw::StorageArrayBuffer< VelocityIndex, 16 >, blender::draw::StorageArrayBuffer< float4x4, 16 >, blender::draw::StorageArrayBuffer< DrawGroup, 16 >, blender::draw::StorageArrayBuffer< DrawPrototype, 16 >, blender::draw::StorageArrayBuffer< DrawCommand, 16, true >, blender::draw::StorageArrayBuffer< ObjectMatrices, 128 >, blender::draw::StorageArrayBuffer< ObjectBounds, 128 >, blender::draw::StorageArrayBuffer< ObjectInfos, 128 >, blender::draw::StorageArrayBuffer< ObjectAttribute, 128 >, blender::draw::StorageArrayBuffer< uint2, SHADOW_MAX_PAGE, false >, blender::draw::StorageArrayBuffer< ShadowTileDataPacked, SHADOW_MAX_TILE, false >, blender::draw::StorageArrayBuffer< T,(512u+(sizeof(T) - 1))/sizeof(T), false >, blender::draw::StorageArrayBuffer< uint >, blender::draw::StorageArrayBuffer< blender::eevee::Surfel >, blender::draw::StorageBuffer< LightCullingData >, blender::draw::StorageBuffer< CaptureInfoData >, blender::draw::StorageBuffer< SurfelListInfoData >, blender::draw::StorageBuffer< MotionBlurTileIndirection, true >, blender::draw::StorageBuffer< SamplingData >, blender::draw::StorageBuffer< ShadowStatistics >, blender::draw::StorageBuffer< ShadowPagesInfoData >, blender::draw::StorageBuffer< DRWDebugDrawBuffer >, blender::draw::StorageBuffer< DispatchCommand >, blender::draw::StorageBuffer< DrawCommand, true >, 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 gpu::StorageBuf * () const
gpu::StorageBuf ** operator& ()
Public Member Functions inherited from blender::draw::detail::DataBuffer< T, len, false >
const Toperator[] (int64_t index) const
const Tdata () const
const Tbegin () const
const Tend () const
 operator Span< T > () const

Protected Attributes

gpu::StorageBufssbo_
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 211 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

Definition at line 232 of file DRW_gpu_wrapper.hh.

References GPU_storagebuf_free(), and ssbo_.

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

Definition at line 248 of file DRW_gpu_wrapper.hh.

References GPU_storagebuf_sync_to_host(), and ssbo_.

◆ clear_to_zero()

◆ operator gpu::StorageBuf *()

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

Definition at line 258 of file DRW_gpu_wrapper.hh.

References ssbo_.

◆ operator&()

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

Definition at line 263 of file DRW_gpu_wrapper.hh.

References ssbo_.

◆ push_update()

◆ read()

Member Data Documentation

◆ name_

template<typename T, int64_t len, bool device_only>
const char* blender::draw::detail::StorageCommon< T, len, device_only >::name_ = typeid(T).name()
protected

◆ ssbo_


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