MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
ShaderSpec.hpp File Reference
+ Include dependency graph for ShaderSpec.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MayaFlux::Portal::Graphics::ShaderSpec::Assemble
 Fluent assembler producing a ShaderSpec. More...
 
struct  MayaFlux::Portal::Graphics::BindingSlot
 Declaration of one SSBO or image binding in a generated shader. More...
 
struct  MayaFlux::Portal::Graphics::KernelSource
 Parsed representation of a user-supplied kernel lambda. More...
 
struct  MayaFlux::Portal::Graphics::PushConstantField
 One field in the generated push constant block. More...
 
struct  MayaFlux::Portal::Graphics::ShaderSpec
 Complete declarative description of a generated compute shader. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Portal
 
namespace  MayaFlux::Portal::Graphics
 

Macros

#define MF_KERNEL(lambda)    MayaFlux::Portal::Graphics::KernelSource::parse(#lambda)
 Stringifies a kernel lambda for use with ShaderSpec::Assemble::kernel().
 

Enumerations

enum class  MayaFlux::Portal::Graphics::BindingDirection : uint8_t { MayaFlux::Portal::Graphics::Input , MayaFlux::Portal::Graphics::Output , MayaFlux::Portal::Graphics::InOut }
 Data flow direction for a shader binding slot. More...
 
enum class  MayaFlux::Portal::Graphics::KernelOp : uint8_t {
  MayaFlux::Portal::Graphics::Scale , MayaFlux::Portal::Graphics::ScaleOffset , MayaFlux::Portal::Graphics::Fma , MayaFlux::Portal::Graphics::Offset ,
  MayaFlux::Portal::Graphics::Clip , MayaFlux::Portal::Graphics::Abs , MayaFlux::Portal::Graphics::Negate , MayaFlux::Portal::Graphics::Floor ,
  MayaFlux::Portal::Graphics::Ceil , MayaFlux::Portal::Graphics::Round , MayaFlux::Portal::Graphics::Trunc , MayaFlux::Portal::Graphics::Fract ,
  MayaFlux::Portal::Graphics::Sqrt , MayaFlux::Portal::Graphics::InverseSqrt , MayaFlux::Portal::Graphics::Sin , MayaFlux::Portal::Graphics::Cos ,
  MayaFlux::Portal::Graphics::Tan , MayaFlux::Portal::Graphics::Asin , MayaFlux::Portal::Graphics::Acos , MayaFlux::Portal::Graphics::Atan ,
  MayaFlux::Portal::Graphics::Sinh , MayaFlux::Portal::Graphics::Cosh , MayaFlux::Portal::Graphics::Tanh , MayaFlux::Portal::Graphics::Exp ,
  MayaFlux::Portal::Graphics::Exp2 , MayaFlux::Portal::Graphics::Log , MayaFlux::Portal::Graphics::Log2 , MayaFlux::Portal::Graphics::Add ,
  MayaFlux::Portal::Graphics::Multiply , MayaFlux::Portal::Graphics::Mix , MayaFlux::Portal::Graphics::Sub , MayaFlux::Portal::Graphics::Pow ,
  MayaFlux::Portal::Graphics::Atan2 , MayaFlux::Portal::Graphics::Min , MayaFlux::Portal::Graphics::MaxTwo , MayaFlux::Portal::Graphics::Step ,
  MayaFlux::Portal::Graphics::SmoothStep , MayaFlux::Portal::Graphics::Sum , MayaFlux::Portal::Graphics::Max , MayaFlux::Portal::Graphics::ScanSum ,
  MayaFlux::Portal::Graphics::MaxIndex , MayaFlux::Portal::Graphics::IndexScale , MayaFlux::Portal::Graphics::CompareGE , MayaFlux::Portal::Graphics::CompareGEPreserve ,
  MayaFlux::Portal::Graphics::ChannelDot , MayaFlux::Portal::Graphics::ChannelReplicate
}
 Named operation the SPIR-V emitter knows how to lower to opcodes. More...
 
enum class  MayaFlux::Portal::Graphics::KernelTemplate : uint8_t {
  MayaFlux::Portal::Graphics::Elementwise , MayaFlux::Portal::Graphics::Reduction , MayaFlux::Portal::Graphics::Stencil , MayaFlux::Portal::Graphics::GeometryEmit ,
  MayaFlux::Portal::Graphics::BitonicSort , MayaFlux::Portal::Graphics::Convolve2D , MayaFlux::Portal::Graphics::Scan
}
 Structural shape of the generated compute kernel. More...