VPP  0.7
A high-level modern C++ API for Vulkan
Classes | Namespaces | Enumerations | Functions
vppLangConstructs.hpp File Reference

Go to the source code of this file.

Classes

struct  vpp::Function< ReturnType, Args >
 
struct  vpp::Par< ParamType >
 

Namespaces

 vpp
 The VPP namespace.
 

Enumerations

enum  EMemorySemantics {
  MSM_NONE, MSM_ACQ, MSM_REL, MSM_ACQREL,
  MSM_SEQCONS, MSM_UNIFORM, MSM_SUBGROUP, MSM_WORKGROUP,
  MSM_CROSSWG, MSM_ATOMIC, MSM_IMAGE
}
 

Functions

void vpp::If (Bool v)
 Creates the if clause of the conditional construct. More...
 
void vpp::Else ()
 Creates the else clause of the conditional construct. More...
 
void vpp::Fi ()
 Creates the ending clause of the conditional construct. More...
 
void vpp::Do ()
 Creates the do clause of the loop construct. More...
 
void vpp::While (Bool v)
 Creates the while clause of the loop construct. More...
 
void vpp::Od ()
 Creates the closing clause of the loop construct. More...
 
void vpp::For (VInt &variable, Int begin, Int end, Int step=1)
 Creates the for clause of the 'for' loop construct. More...
 
void vpp::For (VUInt &variable, UInt begin, UInt end, UInt step=1)
 
void vpp::Rof ()
 Creates the closing clause of the 'for' loop construct. More...
 
void vpp::Switch (Int expr)
 Creates the switch construct. More...
 
void vpp::Case (int value)
 Creates the case clause of the switch construct.
 
void vpp::Default ()
 Creates the default clause of the switch construct.
 
void vpp::Break ()
 Creates the break clause of the switch construct.
 
void vpp::EndSwitch ()
 Creates the closing clause of the switch construct.
 
void vpp::Begin ()
 
void vpp::End ()
 
void vpp::Return ()
 
template<typename ValueT >
void vpp::Return (const ValueT &value)
 
template<class CondT , class Arg1T , class Arg2T >
auto vpp::Select (const CondT &cond, const Arg1T &argIfTrue, const Arg2T &argIfFalse)
 A conditional expression. More...
 
void vpp::Shared ()
 Tags the next declared variable to be allocated in shared memory.
 
void vpp::Static ()
 Tags the next declared variable to be visible across functions.
 
void vpp::WorkgroupBarrier (EMemorySemantics msClass=MSM_WORKGROUP, EMemorySemantics msSem=MSM_ACQREL)
 Creates control and memory barrier affecting threads in workgroup.
 
void vpp::DeviceBarrier (EMemorySemantics msClass=MSM_CROSSWG, EMemorySemantics msSem=MSM_ACQREL)
 Creates control and memory barrier affecting threads in all workgroups.