module LambdaCube.Language.Sampler where
import Data.Int
import LambdaCube.Core.Type
import LambdaCube.Language.ReifyType
type GSampler1D t ar = Sampler Tex1D SingleTex t ar
type GSampler2D t ar = Sampler Tex2D SingleTex t ar
type GSampler3D t ar = Sampler Tex3D SingleTex t ar
type GSamplerCube t ar = Sampler Tex2D CubeTex t ar
type GSampler1DArray t ar = Sampler Tex1D ArrayTex t ar
type GSampler2DArray t ar = Sampler Tex2D ArrayTex t ar
type GSampler2DRect t ar = Sampler TexRect SingleTex t ar
type family TexelRepr sampler
type instance TexelRepr (Sampler dim arr (v t) Red) = t
type instance TexelRepr (Sampler dim arr (v t) RG) = V2 t
type instance TexelRepr (Sampler dim arr (v t) RGB) = V3 t
type instance TexelRepr (Sampler dim arr (v t) RGBA) = V4 t
type Sampler1DShadow = GSampler1D (Shadow Float) Red
type Sampler2DShadow = GSampler2D (Shadow Float) Red
type SamplerCubeShadow = GSamplerCube (Shadow Float) Red
type Sampler1DArrayShadow = GSampler1DArray (Shadow Float) Red
type Sampler2DArrayShadow = GSampler2DArray (Shadow Float) Red
type Sampler2DRectShadow = GSampler2DRect (Shadow Float) Red
type Sampler1D t ar = GSampler1D (Regular t) ar
type Sampler2D t ar = GSampler2D (Regular t) ar
type Sampler3D t ar = GSampler3D (Regular t) ar
type SamplerCube t ar = GSamplerCube (Regular t) ar
type Sampler1DArray t ar = GSampler1DArray (Regular t) ar
type Sampler2DArray t ar = GSampler2DArray (Regular t) ar
type Sampler2DRect t ar = GSampler2DRect (Regular t) ar
type Sampler2DMS t ar = GSampler2D (MultiSample t) ar
type Sampler2DMSArray t ar = GSampler2DArray (MultiSample t) ar
type SamplerBuffer t ar = GSampler1D (Buffer t) ar
class IsTextureSize sampler lod size | sampler -> lod size
instance IsTextureSize (Sampler1D t ar) Int32 Int32
instance IsTextureSize (Sampler1DArray t ar) Int32 V2I
instance IsTextureSize (Sampler2D t ar) Int32 V2I
instance IsTextureSize (Sampler2DArray t ar) Int32 V3I
instance IsTextureSize (Sampler2DMS t ar) () V2I
instance IsTextureSize (Sampler2DMSArray t ar) () V3I
instance IsTextureSize (Sampler2DRect t ar) () V2I
instance IsTextureSize (Sampler3D t ar) Int32 V3I
instance IsTextureSize (SamplerCube t ar) Int32 V2I
instance IsTextureSize (SamplerBuffer t ar) () Int32
instance IsTextureSize Sampler1DArrayShadow Int32 V2I
instance IsTextureSize Sampler1DShadow Int32 Int32
instance IsTextureSize Sampler2DArrayShadow Int32 V3I
instance IsTextureSize Sampler2DRectShadow () V2I
instance IsTextureSize Sampler2DShadow Int32 V2I
instance IsTextureSize SamplerCubeShadow Int32 V2I
class IsTexture sampler coord bias | sampler -> coord bias
instance IsTexture (Sampler1D t ar) Float Float
instance IsTexture (Sampler1DArray t ar) V2F Float
instance IsTexture (Sampler2D t ar) V2F Float
instance IsTexture (Sampler2DArray t ar) V3F Float
instance IsTexture (Sampler2DRect t ar) V2F ()
instance IsTexture (Sampler3D t ar) V3F Float
instance IsTexture (SamplerCube t ar) V3F Float
instance IsTexture Sampler1DShadow V3F Float
instance IsTexture Sampler1DArrayShadow V3F Float
instance IsTexture Sampler2DShadow V3F Float
instance IsTexture Sampler2DArrayShadow V4F ()
instance IsTexture Sampler2DRectShadow V3F ()
instance IsTexture SamplerCubeShadow V4F Float
class IsTextureProj sampler coord bias | sampler coord -> bias
instance IsTextureProj (Sampler1D t ar) V2F Float
instance IsTextureProj (Sampler1D t ar) V4F Float
instance IsTextureProj (Sampler2D t ar) V3F Float
instance IsTextureProj (Sampler2D t ar) V4F Float
instance IsTextureProj (Sampler2DRect t ar) V3F ()
instance IsTextureProj (Sampler2DRect t ar) V4F ()
instance IsTextureProj (Sampler3D t ar) V4F Float
instance IsTextureProj Sampler1DShadow V4F Float
instance IsTextureProj Sampler2DRectShadow V4F ()
instance IsTextureProj Sampler2DShadow V4F Float
class IsTextureLod sampler coord lod | sampler -> coord lod
instance IsTextureLod (Sampler1D t ar) Float Float
instance IsTextureLod (Sampler1DArray t ar) V2F Float
instance IsTextureLod (Sampler2D t ar) V2F Float
instance IsTextureLod (Sampler2DArray t ar) V3F Float
instance IsTextureLod (Sampler3D t ar) V3F Float
instance IsTextureLod (SamplerCube t ar) V3F Float
instance IsTextureLod Sampler1DShadow V3F Float
instance IsTextureLod Sampler1DArrayShadow V3F Float
instance IsTextureLod Sampler2DShadow V3F Float
class IsTextureOffset sampler coord offset bias | sampler -> coord offset bias
instance IsTextureOffset (Sampler1D t ar) Float Int32 Float
instance IsTextureOffset (Sampler1DArray t ar) V2F Int32 Float
instance IsTextureOffset (Sampler2D t ar) V2F V2I Float
instance IsTextureOffset (Sampler2DArray t ar) V3F V2I Float
instance IsTextureOffset (Sampler2DRect t ar) V2F V2I ()
instance IsTextureOffset (Sampler3D t ar) V3F V3I Float
instance IsTextureOffset Sampler1DShadow V3F Int32 Float
instance IsTextureOffset Sampler1DArrayShadow V3F Int32 Float
instance IsTextureOffset Sampler2DShadow V3F V2I Float
instance IsTextureOffset Sampler2DRectShadow V3F V2I ()
class IsTexelFetch sampler coord lod | sampler -> coord lod
instance IsTexelFetch (Sampler1D t ar) Int32 Int32
instance IsTexelFetch (Sampler1DArray t ar) V2I Int32
instance IsTexelFetch (Sampler2D t ar) V2I Int32
instance IsTexelFetch (Sampler2DArray t ar) V3I Int32
instance IsTexelFetch (Sampler2DMS t ar) V2I Int32
instance IsTexelFetch (Sampler2DMSArray t ar) V3I Int32
instance IsTexelFetch (Sampler2DRect t ar) V2I ()
instance IsTexelFetch (Sampler3D t ar) V3I Int32
instance IsTexelFetch (SamplerBuffer t ar) Int32 ()
class IsTexelFetchOffset sampler coord lod offset | sampler -> coord lod offset
instance IsTexelFetchOffset (Sampler1D t ar) Int32 Int32 Int32
instance IsTexelFetchOffset (Sampler1DArray t ar) V2I Int32 Int32
instance IsTexelFetchOffset (Sampler2D t ar) V2I Int32 V2I
instance IsTexelFetchOffset (Sampler2DArray t ar) V3I Int32 V2I
instance IsTexelFetchOffset (Sampler2DRect t ar) V2I () V2I
instance IsTexelFetchOffset (Sampler3D t ar) V3I Int32 V3I
class IsTextureProjOffset sampler coord offset bias | sampler coord -> offset bias
instance IsTextureProjOffset (Sampler1D t ar) V2F Int32 Float
instance IsTextureProjOffset (Sampler1D t ar) V4F Int32 Float
instance IsTextureProjOffset (Sampler2D t ar) V3F V2I Float
instance IsTextureProjOffset (Sampler2D t ar) V4F V2I Float
instance IsTextureProjOffset (Sampler3D t ar) V4F V3I Float
instance IsTextureProjOffset (Sampler2DRect t ar) V3F V2I ()
instance IsTextureProjOffset (Sampler2DRect t ar) V4F V2I ()
instance IsTextureProjOffset Sampler1DShadow V4F Int32 Float
instance IsTextureProjOffset Sampler2DShadow V4F V2I Float
instance IsTextureProjOffset Sampler2DRectShadow V4F V2I Float
class IsTextureLodOffset sampler coord lod offset | sampler -> coord lod offset
instance IsTextureLodOffset (Sampler1D t ar) Float Float Int32
instance IsTextureLodOffset (Sampler1DArray t ar) V2F Float Int32
instance IsTextureLodOffset (Sampler2D t ar) V2F Float V2I
instance IsTextureLodOffset (Sampler2DArray t ar) V3F Float V2I
instance IsTextureLodOffset (Sampler3D t ar) V3F Float V3I
instance IsTextureLodOffset Sampler1DShadow V3F Float Int32
instance IsTextureLodOffset Sampler1DArrayShadow V3F Float Int32
instance IsTextureLodOffset Sampler2DShadow V3F Float V2I
class IsTextureProjLod sampler coord lod | sampler coord -> lod
instance IsTextureProjLod (Sampler1D t ar) V2F Float
instance IsTextureProjLod (Sampler1D t ar) V4F Float
instance IsTextureProjLod (Sampler2D t ar) V3F Float
instance IsTextureProjLod (Sampler2D t ar) V4F Float
instance IsTextureProjLod (Sampler3D t ar) V4F Float
instance IsTextureProjLod Sampler1DShadow V4F Float
instance IsTextureProjLod Sampler2DShadow V4F Float
class IsTextureProjLodOffset sampler coord lod offset | sampler coord -> lod offset
instance IsTextureProjLodOffset (Sampler1D t ar) V2F Float Int32
instance IsTextureProjLodOffset (Sampler1D t ar) V4F Float Int32
instance IsTextureProjLodOffset (Sampler2D t ar) V3F Float V2I
instance IsTextureProjLodOffset (Sampler2D t ar) V4F Float V2I
instance IsTextureProjLodOffset (Sampler3D t ar) V4F Float V3I
instance IsTextureProjLodOffset Sampler1DShadow V4F Float Int32
instance IsTextureProjLodOffset Sampler2DShadow V4F Float V2F
class IsTextureGrad sampler coord dx dy | sampler -> coord dx dy
instance IsTextureGrad (Sampler1D t ar) Float Float Float
instance IsTextureGrad (Sampler1DArray t ar) V2F Float Float
instance IsTextureGrad (Sampler2D t ar) V2F V2F V2F
instance IsTextureGrad (Sampler2DArray t ar) V3F V2F V2F
instance IsTextureGrad (Sampler2DRect t ar) V2F V2F V2F
instance IsTextureGrad (Sampler3D t ar) V3F V3F V3F
instance IsTextureGrad (SamplerCube t ar) V3F V3F V3F
instance IsTextureGrad Sampler1DArrayShadow V3F Float Float
instance IsTextureGrad Sampler1DShadow V3F Float Float
instance IsTextureGrad Sampler2DArrayShadow V4F V2F V2F
instance IsTextureGrad Sampler2DRectShadow V3F V2F V2F
instance IsTextureGrad Sampler2DShadow V3F V2F V2F
instance IsTextureGrad SamplerCubeShadow V4F V3F V3F
class IsTextureGradOffset sampler coord dx dy offset | sampler -> coord dx dy offset
instance IsTextureGradOffset (Sampler1D t ar) Float Float Float Int32
instance IsTextureGradOffset (Sampler1DArray t ar) V2F Float Float Int32
instance IsTextureGradOffset (Sampler2D t ar) V2F V2F V2F V2I
instance IsTextureGradOffset (Sampler2DArray t ar) V3F V2F V2F V2I
instance IsTextureGradOffset (Sampler2DRect t ar) V2F V2F V2F V2I
instance IsTextureGradOffset (Sampler3D t ar) V3F V3F V3F V3I
instance IsTextureGradOffset Sampler1DArrayShadow V3F Float Float Int32
instance IsTextureGradOffset Sampler1DShadow V3F Float Float Int32
instance IsTextureGradOffset Sampler2DArrayShadow V4F V2F V2F V2I
instance IsTextureGradOffset Sampler2DRectShadow V3F V2F V2F V2I
instance IsTextureGradOffset Sampler2DShadow V3F V2F V2F V2I
class IsTextureProjGrad sampler coord dx dy | sampler coord -> dx dy
instance IsTextureProjGrad (Sampler1D t ar) V2F Float Float
instance IsTextureProjGrad (Sampler1D t ar) V4F Float Float
instance IsTextureProjGrad (Sampler2D t ar) V3F V2F V2F
instance IsTextureProjGrad (Sampler2D t ar) V4F V2F V2F
instance IsTextureProjGrad (Sampler2DRect t ar) V3F V2F V2F
instance IsTextureProjGrad (Sampler2DRect t ar) V4F V2F V2F
instance IsTextureProjGrad (Sampler3D t ar) V4F V3F V3F
instance IsTextureProjGrad Sampler1DShadow V4F Float Float
instance IsTextureProjGrad Sampler2DRectShadow V4F V2F V2F
instance IsTextureProjGrad Sampler2DShadow V4F V2F V2F
class IsTextureProjGradOffset sampler coord dx dy offset | sampler coord -> dx dy offset
instance IsTextureProjGradOffset (Sampler1D t ar) V2F Float Float Int32
instance IsTextureProjGradOffset (Sampler1D t ar) V4F Float Float Int32
instance IsTextureProjGradOffset (Sampler2D t ar) V3F V2F V2F V2I
instance IsTextureProjGradOffset (Sampler2D t ar) V4F V2F V2F V2I
instance IsTextureProjGradOffset (Sampler2DRect t ar) V3F V2F V2F V2I
instance IsTextureProjGradOffset (Sampler2DRect t ar) V4F V2F V2F V2I
instance IsTextureProjGradOffset (Sampler3D t ar) V4F V3F V3F V3I
instance IsTextureProjGradOffset Sampler1DShadow V4F Float Float Int32
instance IsTextureProjGradOffset Sampler2DRectShadow V4F V2F V2F V2I
instance IsTextureProjGradOffset Sampler2DShadow V4F V2F V2F V2I