170 void While ( Bool v );
234 void For ( VInt& variable, Int begin, Int end, Int step = 1 );
237 void For ( VUInt& variable, UInt begin, UInt end, UInt step = 1 );
266 void Case (
int value );
469 template<
class ReturnType,
typename... Args >
478 Function (
const char* pName =
"unnamedFunction" );
484 ReturnType
operator()(
typename Args::rvalue_type ... args );
491 template<
class ParamType >
524 template<
typename ValueT >
525 void Return (
const ValueT& value );
552 template<
class CondT,
class Arg1T,
class Arg2T >
553 auto Select (
const CondT& cond,
const Arg1T& argIfTrue,
const Arg2T& argIfFalse );
557 enum EMemorySemantics
576 EMemorySemantics msClass = MSM_WORKGROUP,
577 EMemorySemantics msSem = MSM_ACQREL );
584 EMemorySemantics msClass = MSM_SUBGROUP,
585 EMemorySemantics msSem = MSM_ACQREL );
void SubgroupBarrier(EMemorySemantics msClass=MSM_SUBGROUP, EMemorySemantics msSem=MSM_ACQREL)
Creates control and memory barrier affecting threads in a subgroup.
Function(const char *pName="unnamedFunction")
Starts the definition of shader-level function.
void Fi()
Creates the ending clause of the conditional construct.
void Do()
Creates the do clause of the loop construct.
The VPP namespace.
Definition: main.hpp:1
Creates shader-level function.
Definition: vppLangConstructs.hpp:470
void Rof()
Creates the closing clause of the 'for' loop construct.
void WorkgroupBarrier(EMemorySemantics msClass=MSM_WORKGROUP, EMemorySemantics msSem=MSM_ACQREL)
Creates control and memory barrier affecting threads in a workgroup.
void Else()
Creates the else clause of the conditional construct.
void Switch(Int expr)
Creates the switch construct.
void EndSwitch()
Creates the closing clause of the switch construct.
void Default()
Creates the default clause of the switch construct.
Defines a function parameter.
Definition: vppLangConstructs.hpp:492
void While(Bool v)
Creates the while clause of the loop construct.
void Case(int value)
Creates the case clause of the switch construct.
void Break()
Creates the break clause of the switch construct.
void End()
Marks the end of function body.
auto Select(const CondT &cond, const Arg1T &argIfTrue, const Arg2T &argIfFalse)
A conditional expression.
void Od()
Creates the closing clause of the loop construct.
void If(Bool v)
Creates the if clause of the conditional construct.
void Return()
Immediately returns from the function.
void For(VInt &variable, Int begin, Int end, Int step=1)
Creates the for clause of the 'for' loop construct.
void Begin()
Marks the start of function body.
ReturnType operator()(typename Args::rvalue_type ... args)
Calls the defined function from inside shader code on the GPU.