lambdacube-core-0.1.0: LambdaCube 3D is a domain specific language and library that makes it possible to program GPUs in a purely functional style.

Safe HaskellNone

LC_T_DSLType

Synopsis

Documentation

data Red Source

Constructors

Red 

Instances

Eq Red 
Ord Red 
IsColorArity Red 
IsTextureProjLod Sampler2DShadow V4F Float 
IsTextureProjLod Sampler1DShadow V4F Float 
IsTextureLod Sampler1DArrayShadow V3F Float 
IsTextureLod Sampler2DShadow V3F Float 
IsTextureLod Sampler1DShadow V3F Float 
IsTextureProj Sampler2DRectShadow V4F () 
IsTextureProj Sampler2DShadow V4F Float 
IsTextureProj Sampler1DShadow V4F Float 
IsTexture Sampler2DRectShadow V3F () 
IsTexture Sampler2DArrayShadow V4F () 
IsTexture Sampler1DArrayShadow V3F Float 
IsTexture SamplerCubeShadow V4F Float 
IsTexture Sampler2DShadow V3F Float 
IsTexture Sampler1DShadow V3F Float 
IsTextureSize Sampler2DRectShadow () V2I 
IsTextureSize Sampler2DArrayShadow Int32 V3I 
IsTextureSize Sampler1DArrayShadow Int32 V2I 
IsTextureSize SamplerCubeShadow Int32 V2I 
IsTextureSize Sampler2DShadow Int32 V2I 
IsTextureSize Sampler1DShadow Int32 Int32 
IsTextureProjGrad Sampler2DRectShadow V4F V2F V2F 
IsTextureProjGrad Sampler2DShadow V4F V2F V2F 
IsTextureProjGrad Sampler1DShadow V4F Float Float 
IsTextureGrad Sampler2DRectShadow V3F V2F V2F 
IsTextureGrad Sampler2DArrayShadow V4F V2F V2F 
IsTextureGrad Sampler1DArrayShadow V3F Float Float 
IsTextureGrad SamplerCubeShadow V4F V3F V3F 
IsTextureGrad Sampler2DShadow V3F V2F V2F 
IsTextureGrad Sampler1DShadow V3F Float Float 
IsTextureProjLodOffset Sampler2DShadow V4F Float V2F 
IsTextureProjLodOffset Sampler1DShadow V4F Float Int32 
IsTextureLodOffset Sampler1DArrayShadow V3F Float Int32 
IsTextureLodOffset Sampler2DShadow V3F Float V2I 
IsTextureLodOffset Sampler1DShadow V3F Float Int32 
IsTextureProjOffset Sampler2DRectShadow V4F V2I Float 
IsTextureProjOffset Sampler2DShadow V4F V2I Float 
IsTextureProjOffset Sampler1DShadow V4F Int32 Float 
IsTextureOffset Sampler2DRectShadow V3F V2I () 
IsTextureOffset Sampler1DArrayShadow V3F Int32 Float 
IsTextureOffset Sampler2DShadow V3F V2I Float 
IsTextureOffset Sampler1DShadow V3F Int32 Float 
IsTextureProjGradOffset Sampler2DRectShadow V4F V2F V2F V2I 
IsTextureProjGradOffset Sampler2DShadow V4F V2F V2F V2I 
IsTextureProjGradOffset Sampler1DShadow V4F Float Float Int32 
IsTextureGradOffset Sampler2DRectShadow V3F V2F V2F V2I 
IsTextureGradOffset Sampler2DArrayShadow V4F V2F V2F V2I 
IsTextureGradOffset Sampler1DArrayShadow V3F Float Float Int32 
IsTextureGradOffset Sampler2DShadow V3F V2F V2F V2I 
IsTextureGradOffset Sampler1DShadow V3F Float Float Int32 

data RG Source

Constructors

RG 

Instances

data RGB Source

Constructors

RGB 

Instances

data RGBA Source

Constructors

RGBA 

data TextureSemantics a Source

Constructors

Regular a 
Shadow a 
MultiSample a 
Buffer a 

data Sampler Source

Instances

IsTextureProjLod Sampler2DShadow V4F Float 
IsTextureProjLod Sampler1DShadow V4F Float 
IsTextureLod Sampler1DArrayShadow V3F Float 
IsTextureLod Sampler2DShadow V3F Float 
IsTextureLod Sampler1DShadow V3F Float 
IsTextureProj Sampler2DRectShadow V4F () 
IsTextureProj Sampler2DShadow V4F Float 
IsTextureProj Sampler1DShadow V4F Float 
IsTexture Sampler2DRectShadow V3F () 
IsTexture Sampler2DArrayShadow V4F () 
IsTexture Sampler1DArrayShadow V3F Float 
IsTexture SamplerCubeShadow V4F Float 
IsTexture Sampler2DShadow V3F Float 
IsTexture Sampler1DShadow V3F Float 
IsTextureSize Sampler2DRectShadow () V2I 
IsTextureSize Sampler2DArrayShadow Int32 V3I 
IsTextureSize Sampler1DArrayShadow Int32 V2I 
IsTextureSize SamplerCubeShadow Int32 V2I 
IsTextureSize Sampler2DShadow Int32 V2I 
IsTextureSize Sampler1DShadow Int32 Int32 
IsTextureProjGrad Sampler2DRectShadow V4F V2F V2F 
IsTextureProjGrad Sampler2DShadow V4F V2F V2F 
IsTextureProjGrad Sampler1DShadow V4F Float Float 
IsTextureGrad Sampler2DRectShadow V3F V2F V2F 
IsTextureGrad Sampler2DArrayShadow V4F V2F V2F 
IsTextureGrad Sampler1DArrayShadow V3F Float Float 
IsTextureGrad SamplerCubeShadow V4F V3F V3F 
IsTextureGrad Sampler2DShadow V3F V2F V2F 
IsTextureGrad Sampler1DShadow V3F Float Float 
IsTextureProjLodOffset Sampler2DShadow V4F Float V2F 
IsTextureProjLodOffset Sampler1DShadow V4F Float Int32 
IsTextureLodOffset Sampler1DArrayShadow V3F Float Int32 
IsTextureLodOffset Sampler2DShadow V3F Float V2I 
IsTextureLodOffset Sampler1DShadow V3F Float Int32 
IsTextureProjOffset Sampler2DRectShadow V4F V2I Float 
IsTextureProjOffset Sampler2DShadow V4F V2I Float 
IsTextureProjOffset Sampler1DShadow V4F Int32 Float 
IsTextureOffset Sampler2DRectShadow V3F V2I () 
IsTextureOffset Sampler1DArrayShadow V3F Int32 Float 
IsTextureOffset Sampler2DShadow V3F V2I Float 
IsTextureOffset Sampler1DShadow V3F Int32 Float 
IsTextureProjGradOffset Sampler2DRectShadow V4F V2F V2F V2I 
IsTextureProjGradOffset Sampler2DShadow V4F V2F V2F V2I 
IsTextureProjGradOffset Sampler1DShadow V4F Float Float Int32 
IsTextureGradOffset Sampler2DRectShadow V3F V2F V2F V2I 
IsTextureGradOffset Sampler2DArrayShadow V4F V2F V2F V2I 
IsTextureGradOffset Sampler1DArrayShadow V3F Float Float Int32 
IsTextureGradOffset Sampler2DShadow V3F V2F V2F V2I 
IsTextureGradOffset Sampler1DShadow V3F Float Float Int32 
IsTextureProjLod (Sampler3D t ar) V4F Float 
IsTextureProjLod (Sampler2D t ar) V4F Float 
IsTextureProjLod (Sampler2D t ar) V3F Float 
IsTextureProjLod (Sampler1D t ar) V4F Float 
IsTextureProjLod (Sampler1D t ar) V2F Float 
IsTexelFetch (SamplerBuffer t ar) Int32 () 
IsTexelFetch (Sampler2DMSArray t ar) V3I Int32 
IsTexelFetch (Sampler2DMS t ar) V2I Int32 
IsTexelFetch (Sampler2DRect t ar) V2I () 
IsTexelFetch (Sampler2DArray t ar) V3I Int32 
IsTexelFetch (Sampler1DArray t ar) V2I Int32 
IsTexelFetch (Sampler3D t ar) V3I Int32 
IsTexelFetch (Sampler2D t ar) V2I Int32 
IsTexelFetch (Sampler1D t ar) Int32 Int32 
IsTextureLod (Sampler2DArray t ar) V3F Float 
IsTextureLod (Sampler1DArray t ar) V2F Float 
IsTextureLod (SamplerCube t ar) V3F Float 
IsTextureLod (Sampler3D t ar) V3F Float 
IsTextureLod (Sampler2D t ar) V2F Float 
IsTextureLod (Sampler1D t ar) Float Float 
IsTextureProj (Sampler2DRect t ar) V4F () 
IsTextureProj (Sampler2DRect t ar) V3F () 
IsTextureProj (Sampler3D t ar) V4F Float 
IsTextureProj (Sampler2D t ar) V4F Float 
IsTextureProj (Sampler2D t ar) V3F Float 
IsTextureProj (Sampler1D t ar) V4F Float 
IsTextureProj (Sampler1D t ar) V2F Float 
IsTexture (Sampler2DRect t ar) V2F () 
IsTexture (Sampler2DArray t ar) V3F Float 
IsTexture (Sampler1DArray t ar) V2F Float 
IsTexture (SamplerCube t ar) V3F Float 
IsTexture (Sampler3D t ar) V3F Float 
IsTexture (Sampler2D t ar) V2F Float 
IsTexture (Sampler1D t ar) Float Float 
IsTextureSize (SamplerBuffer t ar) () Int32 
IsTextureSize (Sampler2DMSArray t ar) () V3I 
IsTextureSize (Sampler2DMS t ar) () V2I 
IsTextureSize (Sampler2DRect t ar) () V2I 
IsTextureSize (Sampler2DArray t ar) Int32 V3I 
IsTextureSize (Sampler1DArray t ar) Int32 V2I 
IsTextureSize (SamplerCube t ar) Int32 V2I 
IsTextureSize (Sampler3D t ar) Int32 V3I 
IsTextureSize (Sampler2D t ar) Int32 V2I 
IsTextureSize (Sampler1D t ar) Int32 Int32 
IsTextureProjGrad (Sampler2DRect t ar) V4F V2F V2F 
IsTextureProjGrad (Sampler2DRect t ar) V3F V2F V2F 
IsTextureProjGrad (Sampler3D t ar) V4F V3F V3F 
IsTextureProjGrad (Sampler2D t ar) V4F V2F V2F 
IsTextureProjGrad (Sampler2D t ar) V3F V2F V2F 
IsTextureProjGrad (Sampler1D t ar) V4F Float Float 
IsTextureProjGrad (Sampler1D t ar) V2F Float Float 
IsTextureGrad (Sampler2DRect t ar) V2F V2F V2F 
IsTextureGrad (Sampler2DArray t ar) V3F V2F V2F 
IsTextureGrad (Sampler1DArray t ar) V2F Float Float 
IsTextureGrad (SamplerCube t ar) V3F V3F V3F 
IsTextureGrad (Sampler3D t ar) V3F V3F V3F 
IsTextureGrad (Sampler2D t ar) V2F V2F V2F 
IsTextureGrad (Sampler1D t ar) Float Float Float 
IsTextureProjLodOffset (Sampler3D t ar) V4F Float V3I 
IsTextureProjLodOffset (Sampler2D t ar) V4F Float V2I 
IsTextureProjLodOffset (Sampler2D t ar) V3F Float V2I 
IsTextureProjLodOffset (Sampler1D t ar) V4F Float Int32 
IsTextureProjLodOffset (Sampler1D t ar) V2F Float Int32 
IsTextureLodOffset (Sampler2DArray t ar) V3F Float V2I 
IsTextureLodOffset (Sampler1DArray t ar) V2F Float Int32 
IsTextureLodOffset (Sampler3D t ar) V3F Float V3I 
IsTextureLodOffset (Sampler2D t ar) V2F Float V2I 
IsTextureLodOffset (Sampler1D t ar) Float Float Int32 
IsTextureProjOffset (Sampler2DRect t ar) V4F V2I () 
IsTextureProjOffset (Sampler2DRect t ar) V3F V2I () 
IsTextureProjOffset (Sampler3D t ar) V4F V3I Float 
IsTextureProjOffset (Sampler2D t ar) V4F V2I Float 
IsTextureProjOffset (Sampler2D t ar) V3F V2I Float 
IsTextureProjOffset (Sampler1D t ar) V4F Int32 Float 
IsTextureProjOffset (Sampler1D t ar) V2F Int32 Float 
IsTexelFetchOffset (Sampler2DRect t ar) V2I () V2I 
IsTexelFetchOffset (Sampler2DArray t ar) V3I Int32 V2I 
IsTexelFetchOffset (Sampler1DArray t ar) V2I Int32 Int32 
IsTexelFetchOffset (Sampler3D t ar) V3I Int32 V3I 
IsTexelFetchOffset (Sampler2D t ar) V2I Int32 V2I 
IsTexelFetchOffset (Sampler1D t ar) Int32 Int32 Int32 
IsTextureOffset (Sampler2DRect t ar) V2F V2I () 
IsTextureOffset (Sampler2DArray t ar) V3F V2I Float 
IsTextureOffset (Sampler1DArray t ar) V2F Int32 Float 
IsTextureOffset (Sampler3D t ar) V3F V3I Float 
IsTextureOffset (Sampler2D t ar) V2F V2I Float 
IsTextureOffset (Sampler1D t ar) Float Int32 Float 
IsTextureProjGradOffset (Sampler2DRect t ar) V4F V2F V2F V2I 
IsTextureProjGradOffset (Sampler2DRect t ar) V3F V2F V2F V2I 
IsTextureProjGradOffset (Sampler3D t ar) V4F V3F V3F V3I 
IsTextureProjGradOffset (Sampler2D t ar) V4F V2F V2F V2I 
IsTextureProjGradOffset (Sampler2D t ar) V3F V2F V2F V2I 
IsTextureProjGradOffset (Sampler1D t ar) V4F Float Float Int32 
IsTextureProjGradOffset (Sampler1D t ar) V2F Float Float Int32 
IsTextureGradOffset (Sampler2DRect t ar) V2F V2F V2F V2I 
IsTextureGradOffset (Sampler2DArray t ar) V3F V2F V2F V2I 
IsTextureGradOffset (Sampler1DArray t ar) V2F Float Float Int32 
IsTextureGradOffset (Sampler3D t ar) V3F V3F V3F V3I 
IsTextureGradOffset (Sampler2D t ar) V2F V2F V2F V2I 
IsTextureGradOffset (Sampler1D t ar) Float Float Float Int32 
Show (Sampler dim layerCount t ar) 
GPU (Sampler TexRect SingleTex (Shadow * Float) a) 
GPU (Sampler TexRect SingleTex (Regular * Float) a) 
GPU (Sampler TexRect SingleTex (Regular * Int) a) 
GPU (Sampler TexRect SingleTex (Regular * Word) a) 
GPU (Sampler Tex3D SingleTex (Regular * Float) a) 
GPU (Sampler Tex3D SingleTex (Regular * Int) a) 
GPU (Sampler Tex3D SingleTex (Regular * Word) a) 
GPU (Sampler Tex2D CubeTex (Shadow * Float) a) 
GPU (Sampler Tex2D CubeTex (Regular * Float) a) 
GPU (Sampler Tex2D CubeTex (Regular * Int) a) 
GPU (Sampler Tex2D CubeTex (Regular * Word) a) 
GPU (Sampler Tex2D ArrayTex (MultiSample * Float) a) 
GPU (Sampler Tex2D ArrayTex (MultiSample * Int) a) 
GPU (Sampler Tex2D ArrayTex (MultiSample * Word) a) 
GPU (Sampler Tex2D ArrayTex (Shadow * Float) a) 
GPU (Sampler Tex2D ArrayTex (Regular * Float) a) 
GPU (Sampler Tex2D ArrayTex (Regular * Int) a) 
GPU (Sampler Tex2D ArrayTex (Regular * Word) a) 
GPU (Sampler Tex2D SingleTex (MultiSample * Float) a) 
GPU (Sampler Tex2D SingleTex (MultiSample * Int) a) 
GPU (Sampler Tex2D SingleTex (MultiSample * Word) a) 
GPU (Sampler Tex2D SingleTex (Shadow * Float) a) 
GPU (Sampler Tex2D SingleTex (Regular * Float) a) 
GPU (Sampler Tex2D SingleTex (Regular * Int) a) 
GPU (Sampler Tex2D SingleTex (Regular * Word) a) 
GPU (Sampler Tex1D ArrayTex (Shadow * Float) a) 
GPU (Sampler Tex1D ArrayTex (Regular * Float) a) 
GPU (Sampler Tex1D ArrayTex (Regular * Int) a) 
GPU (Sampler Tex1D ArrayTex (Regular * Word) a) 
GPU (Sampler Tex1D SingleTex (Buffer * Float) a) 
GPU (Sampler Tex1D SingleTex (Buffer * Int) a) 
GPU (Sampler Tex1D SingleTex (Buffer * Word) a) 
GPU (Sampler Tex1D SingleTex (Shadow * Float) a) 
GPU (Sampler Tex1D SingleTex (Regular * Float) a) 
GPU (Sampler Tex1D SingleTex (Regular * Int) a) 
GPU (Sampler Tex1D SingleTex (Regular * Word) a) 
IsScalar (Sampler TexRect SingleTex (Shadow * Float) a) 
IsScalar (Sampler TexRect SingleTex (Regular * Float) a) 
IsScalar (Sampler TexRect SingleTex (Regular * Int) a) 
IsScalar (Sampler TexRect SingleTex (Regular * Word) a) 
IsScalar (Sampler Tex3D SingleTex (Regular * Float) a) 
IsScalar (Sampler Tex3D SingleTex (Regular * Int) a) 
IsScalar (Sampler Tex3D SingleTex (Regular * Word) a) 
IsScalar (Sampler Tex2D CubeTex (Shadow * Float) a) 
IsScalar (Sampler Tex2D CubeTex (Regular * Float) a) 
IsScalar (Sampler Tex2D CubeTex (Regular * Int) a) 
IsScalar (Sampler Tex2D CubeTex (Regular * Word) a) 
IsScalar (Sampler Tex2D ArrayTex (MultiSample * Float) a) 
IsScalar (Sampler Tex2D ArrayTex (MultiSample * Int) a) 
IsScalar (Sampler Tex2D ArrayTex (MultiSample * Word) a) 
IsScalar (Sampler Tex2D ArrayTex (Shadow * Float) a) 
IsScalar (Sampler Tex2D ArrayTex (Regular * Float) a) 
IsScalar (Sampler Tex2D ArrayTex (Regular * Int) a) 
IsScalar (Sampler Tex2D ArrayTex (Regular * Word) a) 
IsScalar (Sampler Tex2D SingleTex (MultiSample * Float) a) 
IsScalar (Sampler Tex2D SingleTex (MultiSample * Int) a) 
IsScalar (Sampler Tex2D SingleTex (MultiSample * Word) a) 
IsScalar (Sampler Tex2D SingleTex (Shadow * Float) a) 
IsScalar (Sampler Tex2D SingleTex (Regular * Float) a) 
IsScalar (Sampler Tex2D SingleTex (Regular * Int) a) 
IsScalar (Sampler Tex2D SingleTex (Regular * Word) a) 
IsScalar (Sampler Tex1D ArrayTex (Shadow * Float) a) 
IsScalar (Sampler Tex1D ArrayTex (Regular * Float) a) 
IsScalar (Sampler Tex1D ArrayTex (Regular * Int) a) 
IsScalar (Sampler Tex1D ArrayTex (Regular * Word) a) 
IsScalar (Sampler Tex1D SingleTex (Buffer * Float) a) 
IsScalar (Sampler Tex1D SingleTex (Buffer * Int) a) 
IsScalar (Sampler Tex1D SingleTex (Buffer * Word) a) 
IsScalar (Sampler Tex1D SingleTex (Shadow * Float) a) 
IsScalar (Sampler Tex1D SingleTex (Regular * Float) a) 
IsScalar (Sampler Tex1D SingleTex (Regular * Int) a) 
IsScalar (Sampler Tex1D SingleTex (Regular * Word) a) 

class GPU a => IsScalar a whereSource

Instances

IsScalar Bool 
IsScalar Float 
IsScalar Int32 
IsScalar Word32 
IsScalar V4B 
IsScalar V3B 
IsScalar V2B 
IsScalar V4U 
IsScalar V3U 
IsScalar V2U 
IsScalar V4I 
IsScalar V3I 
IsScalar V2I 
IsScalar V4F 
IsScalar V3F 
IsScalar V2F 
IsScalar M44F 
IsScalar M43F 
IsScalar M42F 
IsScalar M34F 
IsScalar M33F 
IsScalar M32F 
IsScalar M24F 
IsScalar M23F 
IsScalar M22F 
IsScalar (Sampler TexRect SingleTex (Shadow * Float) a) 
IsScalar (Sampler TexRect SingleTex (Regular * Float) a) 
IsScalar (Sampler TexRect SingleTex (Regular * Int) a) 
IsScalar (Sampler TexRect SingleTex (Regular * Word) a) 
IsScalar (Sampler Tex3D SingleTex (Regular * Float) a) 
IsScalar (Sampler Tex3D SingleTex (Regular * Int) a) 
IsScalar (Sampler Tex3D SingleTex (Regular * Word) a) 
IsScalar (Sampler Tex2D CubeTex (Shadow * Float) a) 
IsScalar (Sampler Tex2D CubeTex (Regular * Float) a) 
IsScalar (Sampler Tex2D CubeTex (Regular * Int) a) 
IsScalar (Sampler Tex2D CubeTex (Regular * Word) a) 
IsScalar (Sampler Tex2D ArrayTex (MultiSample * Float) a) 
IsScalar (Sampler Tex2D ArrayTex (MultiSample * Int) a) 
IsScalar (Sampler Tex2D ArrayTex (MultiSample * Word) a) 
IsScalar (Sampler Tex2D ArrayTex (Shadow * Float) a) 
IsScalar (Sampler Tex2D ArrayTex (Regular * Float) a) 
IsScalar (Sampler Tex2D ArrayTex (Regular * Int) a) 
IsScalar (Sampler Tex2D ArrayTex (Regular * Word) a) 
IsScalar (Sampler Tex2D SingleTex (MultiSample * Float) a) 
IsScalar (Sampler Tex2D SingleTex (MultiSample * Int) a) 
IsScalar (Sampler Tex2D SingleTex (MultiSample * Word) a) 
IsScalar (Sampler Tex2D SingleTex (Shadow * Float) a) 
IsScalar (Sampler Tex2D SingleTex (Regular * Float) a) 
IsScalar (Sampler Tex2D SingleTex (Regular * Int) a) 
IsScalar (Sampler Tex2D SingleTex (Regular * Word) a) 
IsScalar (Sampler Tex1D ArrayTex (Shadow * Float) a) 
IsScalar (Sampler Tex1D ArrayTex (Regular * Float) a) 
IsScalar (Sampler Tex1D ArrayTex (Regular * Int) a) 
IsScalar (Sampler Tex1D ArrayTex (Regular * Word) a) 
IsScalar (Sampler Tex1D SingleTex (Buffer * Float) a) 
IsScalar (Sampler Tex1D SingleTex (Buffer * Int) a) 
IsScalar (Sampler Tex1D SingleTex (Buffer * Word) a) 
IsScalar (Sampler Tex1D SingleTex (Shadow * Float) a) 
IsScalar (Sampler Tex1D SingleTex (Regular * Float) a) 
IsScalar (Sampler Tex1D SingleTex (Regular * Int) a) 
IsScalar (Sampler Tex1D SingleTex (Regular * Word) a) 

class Show a => GPU a whereSource

Methods

tupleType :: a -> TySource

Instances

GPU Bool 
GPU Float 
GPU Int32 
GPU Word32 
GPU () 
GPU V4B 
GPU V3B 
GPU V2B 
GPU V4U 
GPU V3U 
GPU V2U 
GPU V4I 
GPU V3I 
GPU V2I 
GPU V4F 
GPU V3F 
GPU V2F 
GPU M44F 
GPU M43F 
GPU M42F 
GPU M34F 
GPU M33F 
GPU M32F 
GPU M24F 
GPU M23F 
GPU M22F 
(GPU a, GPU b) => GPU (a, b) 
(GPU a, GPU b, GPU c) => GPU (a, b, c) 
(GPU a, GPU b, GPU c, GPU d) => GPU (a, b, c, d) 
GPU (Sampler TexRect SingleTex (Shadow * Float) a) 
GPU (Sampler TexRect SingleTex (Regular * Float) a) 
GPU (Sampler TexRect SingleTex (Regular * Int) a) 
GPU (Sampler TexRect SingleTex (Regular * Word) a) 
GPU (Sampler Tex3D SingleTex (Regular * Float) a) 
GPU (Sampler Tex3D SingleTex (Regular * Int) a) 
GPU (Sampler Tex3D SingleTex (Regular * Word) a) 
GPU (Sampler Tex2D CubeTex (Shadow * Float) a) 
GPU (Sampler Tex2D CubeTex (Regular * Float) a) 
GPU (Sampler Tex2D CubeTex (Regular * Int) a) 
GPU (Sampler Tex2D CubeTex (Regular * Word) a) 
GPU (Sampler Tex2D ArrayTex (MultiSample * Float) a) 
GPU (Sampler Tex2D ArrayTex (MultiSample * Int) a) 
GPU (Sampler Tex2D ArrayTex (MultiSample * Word) a) 
GPU (Sampler Tex2D ArrayTex (Shadow * Float) a) 
GPU (Sampler Tex2D ArrayTex (Regular * Float) a) 
GPU (Sampler Tex2D ArrayTex (Regular * Int) a) 
GPU (Sampler Tex2D ArrayTex (Regular * Word) a) 
GPU (Sampler Tex2D SingleTex (MultiSample * Float) a) 
GPU (Sampler Tex2D SingleTex (MultiSample * Int) a) 
GPU (Sampler Tex2D SingleTex (MultiSample * Word) a) 
GPU (Sampler Tex2D SingleTex (Shadow * Float) a) 
GPU (Sampler Tex2D SingleTex (Regular * Float) a) 
GPU (Sampler Tex2D SingleTex (Regular * Int) a) 
GPU (Sampler Tex2D SingleTex (Regular * Word) a) 
GPU (Sampler Tex1D ArrayTex (Shadow * Float) a) 
GPU (Sampler Tex1D ArrayTex (Regular * Float) a) 
GPU (Sampler Tex1D ArrayTex (Regular * Int) a) 
GPU (Sampler Tex1D ArrayTex (Regular * Word) a) 
GPU (Sampler Tex1D SingleTex (Buffer * Float) a) 
GPU (Sampler Tex1D SingleTex (Buffer * Int) a) 
GPU (Sampler Tex1D SingleTex (Buffer * Word) a) 
GPU (Sampler Tex1D SingleTex (Shadow * Float) a) 
GPU (Sampler Tex1D SingleTex (Regular * Float) a) 
GPU (Sampler Tex1D SingleTex (Regular * Int) a) 
GPU (Sampler Tex1D SingleTex (Regular * Word) a) 
(GPU a, GPU b, GPU c, GPU d, GPU e) => GPU (a, b, c, d, e) 
(GPU a, GPU b, GPU c, GPU d, GPU e, GPU f) => GPU (a, b, c, d, e, f) 
(GPU a, GPU b, GPU c, GPU d, GPU e, GPU f, GPU g) => GPU (a, b, c, d, e, f, g) 
(GPU a, GPU b, GPU c, GPU d, GPU e, GPU f, GPU g, GPU h) => GPU (a, b, c, d, e, f, g, h) 
(GPU a, GPU b, GPU c, GPU d, GPU e, GPU f, GPU g, GPU h, GPU i) => GPU (a, b, c, d, e, f, g, h, i) 

class GPU a => SGPU a Source

Instances

SGPU Float 
SGPU Int32 
SGPU Word32 
SGPU V4U 
SGPU V3U 
SGPU V2U 
SGPU V4I 
SGPU V3I 
SGPU V2I 
SGPU V4F 
SGPU V3F 
SGPU V2F 
SGPU M44F 
SGPU M43F 
SGPU M42F 
SGPU M34F 
SGPU M33F 
SGPU M32F 
SGPU M24F 
SGPU M23F 
SGPU M22F 
(SGPU a, SGPU b) => SGPU (a, b) 
(SGPU a, SGPU b, SGPU c) => SGPU (a, b, c) 
(SGPU a, SGPU b, SGPU c, SGPU d) => SGPU (a, b, c, d) 
(SGPU a, SGPU b, SGPU c, SGPU d, SGPU e) => SGPU (a, b, c, d, e) 
(SGPU a, SGPU b, SGPU c, SGPU d, SGPU e, SGPU f) => SGPU (a, b, c, d, e, f) 
(SGPU a, SGPU b, SGPU c, SGPU d, SGPU e, SGPU f, SGPU g) => SGPU (a, b, c, d, e, f, g) 
(SGPU a, SGPU b, SGPU c, SGPU d, SGPU e, SGPU f, SGPU g, SGPU h) => SGPU (a, b, c, d, e, f, g, h) 
(SGPU a, SGPU b, SGPU c, SGPU d, SGPU e, SGPU f, SGPU g, SGPU h, SGPU i) => SGPU (a, b, c, d, e, f, g, h, i) 

type family EltRepr a :: *Source

type family EltRepr' a :: *Source

class IsTuple tup Source

Conversion between surface n-tuples and our tuple representation.

our language uses nested tuple representation

Associated Types

type TupleRepr tup Source

Instances

IsTuple () 
IsTuple (a, b) 
IsTuple (a, b, c) 
IsTuple (a, b, c, d) 
IsTuple (a, b, c, d, e) 
IsTuple (a, b, c, d, e, f) 
IsTuple (a, b, c, d, e, f, g) 
IsTuple (a, b, c, d, e, f, g, h) 
IsTuple (a, b, c, d, e, f, g, h, i) 

data Tuple c t whereSource

We represent tuples as heterogenous lists, typed by a type list.

Constructors

NilTup :: Tuple c () 
SnocTup :: GPU t => Tuple c s -> c t -> Tuple c (s, t) 

data TupleIdx t e whereSource

Type-safe projection indicies for tuples.

NB: We index tuples by starting to count from the *right*!

Constructors

ZeroTupIdx :: GPU s => TupleIdx (t, s) s 
SuccTupIdx :: TupleIdx t e -> TupleIdx (t, s) e 

tix0 :: GPU s => TupleIdx (t, s) sSource

tix1 :: GPU s => TupleIdx ((t, s), s1) sSource

tix2 :: GPU s => TupleIdx (((t, s), s1), s2) sSource

tix3 :: GPU s => TupleIdx ((((t, s), s1), s2), s3) sSource

tix4 :: GPU s => TupleIdx (((((t, s), s1), s2), s3), s4) sSource

tix5 :: GPU s => TupleIdx ((((((t, s), s1), s2), s3), s4), s5) sSource

tix6 :: GPU s => TupleIdx (((((((t, s), s1), s2), s3), s4), s5), s6) sSource

tix7 :: GPU s => TupleIdx ((((((((t, s), s1), s2), s3), s4), s5), s6), s7) sSource

tix8 :: GPU s => TupleIdx (((((((((t, s), s1), s2), s3), s4), s5), s6), s7), s8) sSource