VPP  0.8
A high-level modern C++ API for Vulkan
vpp::WArray3< ItemT > Class Template Reference

Public Member Functions

 WArray3 (int nl, int nr, int nc)
 Constructs a shared 3-dimensional array with specified number of layers, rows and columns. More...
 
template<typename IndexT >
WArray2< ItemT > operator[] (const IndexT &index) const
 Allows read/write access to individual 2-dimensional layers of the array. More...
 
template<typename IndexT >
auto operator() (const IndexT &iLayer, const IndexT &iRow, const IndexT &iCol) const
 Allows read/write access to elements of the array.
 
Int Size () const
 Returns GPU-level value equal to number of layers in the array.
 
int size () const
 Returns CPU-level value equal to number of layers in the array.
 
Int Layers () const
 Returns GPU-level value equal to number of layers in the array.
 
int layers () const
 Returns CPU-level value equal to number of layers in the array.
 
Int Rows () const
 Returns GPU-level value equal to number of rows in the array.
 
int rows () const
 Returns CPU-level value equal to number of rows in the array.
 
Int Cols () const
 Returns GPU-level value equal to number of columns in the array.
 
int cols () const
 Returns CPU-level value equal to number of columns in the array.
 

Constructor & Destructor Documentation

◆ WArray3()

template<class ItemT >
vpp::WArray3< ItemT >::WArray3 ( int  nl,
int  nr,
int  nc 
)

Constructs a shared 3-dimensional array with specified number of layers, rows and columns.

The sizes may come from CPU-level variable. They can not be changed after constructing the array.

The lifetime of constructed array is until the end of the shader. Consider reusing the array if possible in order to avoid overflow of the shared memory block.

Member Function Documentation

◆ operator[]()

template<class ItemT >
template<typename IndexT >
WArray2< ItemT > vpp::WArray3< ItemT >::operator[] ( const IndexT &  index) const

Allows read/write access to individual 2-dimensional layers of the array.

The rows are presented as WArray2 objects, allowing to use group algorithms on them.


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