Castor3D 0.17.0
Multiplatform 3D engine
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
castor3d::shader::BitonicSortT< ValueSizeT > Struct Template Reference

#include <GlslBitonicSort.hpp>

Public Member Functions

 BitonicSortT (sdw::ComputeWriter &writer, uint32_t batchesPerPass)
 
template<typename ValueT >
void sortT (sdw::ShaderWriter &writer, sdw::UInt elementOffset, sdw::UInt elementCount, sdw::UInt groupIndex, sdw::UInt threadIndex, sdw::Array< sdw::UInt > const &inputKeys, sdw::Array< sdw::UInt > const &outputKeys, sdw::Array< ValueT > const &inputValues, sdw::Array< ValueT > const &outputValues, ValueT const &invalidValue)
 
template<typename ValueT >
void sortT (sdw::ComputeWriter &writer, sdw::UInt elementOffset, sdw::UInt elementCount, sdw::UInt groupIndex, sdw::UInt threadIndex, sdw::Array< sdw::UInt > const &inputKeys, sdw::Array< sdw::UInt > const &outputKeys, ValueT const &invalidValue)
 

Public Attributes

uint32_t threadsCount
 

Static Public Attributes

static uint32_t constexpr bucketSize { 4096u / ValueSizeT }
 

Detailed Description

template<uint32_t ValueSizeT>
struct castor3d::shader::BitonicSortT< ValueSizeT >

Constructor & Destructor Documentation

◆ BitonicSortT()

template<uint32_t ValueSizeT>
castor3d::shader::BitonicSortT< ValueSizeT >::BitonicSortT ( sdw::ComputeWriter & writer,
uint32_t batchesPerPass )
inline

Member Function Documentation

◆ sortT() [1/2]

template<uint32_t ValueSizeT>
template<typename ValueT >
void castor3d::shader::BitonicSortT< ValueSizeT >::sortT ( sdw::ComputeWriter & writer,
sdw::UInt elementOffset,
sdw::UInt elementCount,
sdw::UInt groupIndex,
sdw::UInt threadIndex,
sdw::Array< sdw::UInt > const & inputKeys,
sdw::Array< sdw::UInt > const & outputKeys,
ValueT const & invalidValue )
inline
  • ValueT The value type.

References castor3d::shader::BitonicSortT< ValueSizeT >::sortT().

Here is the call graph for this function:

◆ sortT() [2/2]

template<uint32_t ValueSizeT>
template<typename ValueT >
void castor3d::shader::BitonicSortT< ValueSizeT >::sortT ( sdw::ShaderWriter & writer,
sdw::UInt elementOffset,
sdw::UInt elementCount,
sdw::UInt groupIndex,
sdw::UInt threadIndex,
sdw::Array< sdw::UInt > const & inputKeys,
sdw::Array< sdw::UInt > const & outputKeys,
sdw::Array< ValueT > const & inputValues,
sdw::Array< ValueT > const & outputValues,
ValueT const & invalidValue )
inline
  • ValueT The value type.

References castor3d::shader::BitonicSortT< ValueSizeT >::bucketSize, and castor3d::shader::groupMemoryBarrierWithGroupSync().

Referenced by castor3d::shader::BitonicSortT< ValueSizeT >::sortT().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bucketSize

template<uint32_t ValueSizeT>
uint32_t constexpr castor3d::shader::BitonicSortT< ValueSizeT >::bucketSize { 4096u / ValueSizeT }
staticconstexpr

◆ threadsCount

template<uint32_t ValueSizeT>
uint32_t castor3d::shader::BitonicSortT< ValueSizeT >::threadsCount

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