|
Blender V5.0
|
#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 T & | operator[] (int64_t index) const |
| const T * | data () const |
| const T * | begin () const |
| const T * | end () const |
| operator Span< T > () const | |
Protected Attributes | |
| gpu::StorageBuf * | ssbo_ |
| const char * | name_ = typeid(T).name() |
| Protected Attributes inherited from blender::draw::detail::DataBuffer< T, len, false > | |
| T * | data_ |
| 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.") | |
Definition at line 211 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 222 of file DRW_gpu_wrapper.hh.
References GPU_storagebuf_create_ex(), GPU_USAGE_DEVICE_ONLY, GPU_USAGE_DYNAMIC, len, name, name_, ssbo_, and T.
Referenced by blender::draw::StorageArrayBuffer< float2, 16 >::StorageArrayBuffer(), and blender::draw::StorageBuffer< LightCullingData >::StorageBuffer().
|
inline |
Definition at line 232 of file DRW_gpu_wrapper.hh.
References GPU_storagebuf_free(), and ssbo_.
|
inline |
Definition at line 248 of file DRW_gpu_wrapper.hh.
References GPU_storagebuf_sync_to_host(), and ssbo_.
|
inline |
Definition at line 243 of file DRW_gpu_wrapper.hh.
References GPU_storagebuf_clear_to_zero(), and ssbo_.
Referenced by blender::draw::test_draw_curves_interpolate_attributes(), blender::draw::test_draw_curves_interpolate_position(), blender::draw::test_draw_curves_lib(), blender::draw::test_draw_curves_topology(), blender::draw::test_eevee_shadow_finalize(), blender::draw::test_eevee_shadow_free(), and blender::draw::test_eevee_shadow_tag_update().
|
inline |
Definition at line 258 of file DRW_gpu_wrapper.hh.
References ssbo_.
|
inline |
Definition at line 263 of file DRW_gpu_wrapper.hh.
References ssbo_.
|
inline |
Definition at line 237 of file DRW_gpu_wrapper.hh.
References BLI_assert, GPU_storagebuf_update(), and ssbo_.
Referenced by 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(), and blender::draw::test_eevee_surfel_list().
|
inline |
Definition at line 253 of file DRW_gpu_wrapper.hh.
References GPU_storagebuf_read(), and ssbo_.
Referenced by blender::draw::test_draw_curves_interpolate_attributes(), blender::draw::test_draw_curves_interpolate_position(), blender::draw::test_draw_curves_lib(), blender::draw::test_draw_curves_topology(), 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(), and blender::draw::test_eevee_surfel_list().
|
protected |
Definition at line 216 of file DRW_gpu_wrapper.hh.
Referenced by StorageCommon(), and blender::draw::StorageArrayBuffer< float2, 16 >::swap().
|
protected |
Definition at line 213 of file DRW_gpu_wrapper.hh.
Referenced by async_flush_to_host(), clear_to_zero(), operator gpu::StorageBuf *(), operator&(), push_update(), read(), blender::draw::StorageArrayBuffer< float2, 16 >::resize(), StorageCommon(), blender::draw::StorageArrayBuffer< float2, 16 >::swap(), blender::draw::StorageBuffer< LightCullingData >::swap(), and ~StorageCommon().