Diligent Engine  v.2.4.g
Macros | Functions
GLSLDefinitions.h File Reference

Go to the source code of this file.

Macros

#define GLSL
 
#define IMAGE_WRITEONLY
 
#define float4   vec4
 
#define float3   vec3
 
#define float2   vec2
 
#define int4   ivec4
 
#define int3   ivec3
 
#define int2   ivec2
 
#define uint4   uvec4
 
#define uint3   uvec3
 
#define uint2   uvec2
 
#define bool4   bvec4
 
#define bool3   bvec3
 
#define bool2   bvec2
 
#define float2x2   mat2x2
 
#define float2x3   mat3x2
 
#define float2x4   mat4x2
 
#define float3x2   mat2x3
 
#define float3x3   mat3x3
 
#define float3x4   mat4x3
 
#define float4x2   mat2x4
 
#define float4x3   mat3x4
 
#define float4x4   mat4x4
 
#define matrix   mat4x4
 
#define static
 
#define SamplerState   int
 
#define SamplerComparisonState   int
 
#define groupshared   shared
 
#define ddx(x)   (x)
 
#define ddy(x)   (x)
 
#define ddx_coarse   ddx
 
#define ddy_coarse   ddy
 
#define ddx_fine   ddx
 
#define ddy_fine   ddy
 
#define mul(a, b)   ((a)*(b))
 
#define frac   fract
 
#define atan2   atan
 
#define rsqrt   inversesqrt
 
#define fmod   mod
 
#define lerp   mix
 
#define dst   distance
 
#define countbits   bitCount
 
#define firstbithigh   findMSB
 
#define firstbitlow   findLSB
 
#define reversebits   bitfieldReverse
 
#define asdouble(lowbits, highbits)   packDouble2x32( uvec2( lowbits, highbits ) )
 
#define mad   fma
 
#define Less   lessThan
 
#define LessEqual   lessThanEqual
 
#define Greater   greaterThan
 
#define GreaterEqual   greaterThanEqual
 
#define Equal   equal
 
#define NotEqual   notEqual
 
#define Not   not
 
#define _ToVec2(x, y)   vec2(_ToFloat(x), _ToFloat(y))
 
#define _ToVec3(x, y, z)   vec3(_ToFloat(x), _ToFloat(y), _ToFloat(z))
 
#define _ToVec4(x, y, z, w)   vec4(_ToFloat(x), _ToFloat(y), _ToFloat(z), _ToFloat(w))
 
#define _ToIvec2(x, y)   ivec2(_ToInt(x), _ToInt(y))
 
#define _ToIvec3(x, y, z)   ivec3(_ToInt(x), _ToInt(y), _ToInt(z))
 
#define _ToIvec4(x, y, z, w)   ivec4(_ToInt(x), _ToInt(y), _ToInt(z), _ToInt(w))
 
#define _ToUvec2(x, y)   uvec2(_ToUint(x), _ToUint(y))
 
#define _ToUvec3(x, y, z)   uvec3(_ToUint(x), _ToUint(y), _ToUint(z))
 
#define _ToUvec4(x, y, z, w)   uvec4(_ToUint(x), _ToUint(y), _ToUint(z), _ToUint(w))
 
#define _ToBvec2(x, y)   bvec2(_ToBool(x), _ToBool(y))
 
#define _ToBvec3(x, y, z)   bvec3(_ToBool(x), _ToBool(y), _ToBool(z))
 
#define _ToBvec4(x, y, z, w)   bvec4(_ToBool(x), _ToBool(y), _ToBool(z), _ToBool(w))
 
#define textureQueryLevels(x)   0
 
#define GetTex1DDimensions_1(Sampler, Width)
 
#define GetTex1DDimensions_3(Sampler, MipLevel, Width, NumberOfMipLevels)
 
#define GetTex1DArrDimensions_2(Sampler, Width, Elements)
 
#define GetTex1DArrDimensions_4(Sampler, MipLevel, Width, Elements, NumberOfMipLevels)
 
#define GetTex2DDimensions_2(Sampler, Width, Height)
 
#define GetTex2DDimensions_4(Sampler, MipLevel, Width, Height, NumberOfMipLevels)
 
#define GetTex2DArrDimensions_3(Sampler, Width, Height, Elements)
 
#define GetTex2DArrDimensions_5(Sampler, MipLevel, Width, Height, Elements, NumberOfMipLevels)
 
#define GetTex3DDimensions_3(Sampler, Width, Height, Depth)
 
#define GetTex3DDimensions_5(Sampler, MipLevel, Width, Height, Depth, NumberOfMipLevels)
 
#define GetTex2DMSDimensions_3(Sampler, Width, Height, NumberOfSamples)
 
#define GetTex2DMSArrDimensions_4(Sampler, Width, Height, Elements, NumberOfSamples)
 
#define GetTexBufferDimensions_1(Sampler, Width)
 
#define GetRWTex1DDimensions_1(Tex, Width)
 
#define GetRWTex1DArrDimensions_2(Tex, Width, Elements)
 
#define GetRWTex2DDimensions_2(Tex, Width, Height)
 
#define GetRWTex2DArrDimensions_3(Tex, Width, Height, Elements)
 
#define GetRWTex3DDimensions_3(Tex, Width, Height, Depth)
 
#define GetRWTexBufferDimensions_1(Tex, Width)
 
#define SampleCmpLevel0Tex1D_3(Tex, Sampler, Coords, CompareValue)   textureLod(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0)
 
#define SampleCmpLevel0Tex1DArr_3(Tex, Sampler, Coords, CompareValue)   textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)
 
#define SampleCmpLevel0Tex2D_3(Tex, Sampler, Coords, CompareValue)   textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)
 
#define SampleCmpLevel0Tex2DArr_3(Tex, Sampler, Coords, CompareValue)   0.0
 
#define SampleCmpLevel0TexCube_3(Tex, Sampler, Coords, CompareValue)   0.0
 
#define SampleCmpLevel0TexCubeArr_3(Tex, Sampler, Coords, CompareValue)   0.0
 
#define SampleCmpLevel0Tex1D_4(Tex, Sampler, Coords, CompareValue, Offset)   textureLodOffset(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0, int(Offset))
 
#define SampleCmpLevel0Tex1DArr_4(Tex, Sampler, Coords, CompareValue, Offset)   textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, int(Offset))
 
#define SampleCmpLevel0Tex2D_4(Tex, Sampler, Coords, CompareValue, Offset)   textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, ivec2((Offset).xy))
 
#define SampleCmpLevel0Tex2DArr_4(Tex, Sampler, Coords, CompareValue, Offset)   0.0
 
#define Sample_2(Tex, Sampler, Coords)   textureLod (Tex, _ToVec(Coords), 0.0)
 
#define Sample_3(Tex, Sampler, Coords, Offset)   textureLodOffset(Tex, _ToVec(Coords), 0.0, Offset)
 
#define SampleBias_3(Tex, Sampler, Coords, Bias)   textureLod (Tex, _ToVec(Coords), 0.0 + _ToFloat(Bias))
 
#define SampleBias_4(Tex, Sampler, Coords, Bias, Offset)   textureLodOffset(Tex, _ToVec(Coords), 0.0 + _ToFloat(Bias), Offset)
 
#define SampleCmpTex1D_3   SampleCmpLevel0Tex1D_3
 
#define SampleCmpTex1DArr_3   SampleCmpLevel0Tex1DArr_3
 
#define SampleCmpTex2D_3   SampleCmpLevel0Tex2D_3
 
#define SampleCmpTex2DArr_3   SampleCmpLevel0Tex2DArr_3
 
#define SampleCmpTexCube_3   SampleCmpLevel0TexCube_3
 
#define SampleCmpTexCubeArr_3   SampleCmpLevel0TexCubeArr_3
 
#define SampleCmpTex1D_4   SampleCmpLevel0Tex1D_4
 
#define SampleCmpTex1DArr_4   SampleCmpLevel0Tex1DArr_4
 
#define SampleCmpTex2D_4   SampleCmpLevel0Tex2D_4
 
#define SampleCmpTex2DArr_4   SampleCmpLevel0Tex2DArr_4
 
#define SampleLevel_3(Tex, Sampler, Coords, Level)   textureLod (Tex, _ToVec(Coords), _ToFloat(Level))
 
#define SampleLevel_4(Tex, Sampler, Coords, Level, Offset)   textureLodOffset(Tex, _ToVec(Coords), _ToFloat(Level), Offset)
 
#define SampleGrad_4(Tex, Sampler, Coords, DDX, DDY)   textureGrad (Tex, _ToVec(Coords), _ToVec(DDX), _ToVec(DDY))
 
#define SampleGrad_5(Tex, Sampler, Coords, DDX, DDY, Offset)   textureGradOffset(Tex, _ToVec(Coords), _ToVec(DDX), _ToVec(DDY), Offset)
 
#define LoadTex1D_1(Tex, Location)   texelFetch (Tex, _ToInt((Location).x), _ToInt((Location).y))
 
#define LoadTex1D_2(Tex, Location, Offset)   texelFetchOffset(Tex, _ToInt((Location).x), _ToInt((Location).y), int(Offset))
 
#define LoadTex1DArr_1(Tex, Location)   texelFetch (Tex, _ToIvec( (Location).xy), _ToInt((Location).z) )
 
#define LoadTex1DArr_2(Tex, Location, Offset)   texelFetchOffset(Tex, _ToIvec( (Location).xy), _ToInt((Location).z), int(Offset))
 
#define LoadTex2D_1(Tex, Location)   texelFetch (Tex, _ToIvec( (Location).xy), _ToInt((Location).z))
 
#define LoadTex2D_2(Tex, Location, Offset)   texelFetchOffset(Tex, _ToIvec( (Location).xy), _ToInt((Location).z), ivec2( (Offset).xy) )
 
#define LoadTex2DArr_1(Tex, Location)   texelFetch (Tex, _ToIvec( (Location).xyz), _ToInt((Location).w) )
 
#define LoadTex2DArr_2(Tex, Location, Offset)   texelFetchOffset(Tex, _ToIvec( (Location).xyz), _ToInt((Location).w), ivec2( (Offset).xy))
 
#define LoadTex3D_1(Tex, Location)   texelFetch (Tex, _ToIvec( (Location).xyz), _ToInt((Location).w))
 
#define LoadTex3D_2(Tex, Location, Offset)   texelFetchOffset(Tex, _ToIvec( (Location).xyz), _ToInt((Location).w), ivec3( (Offset).xyz))
 
#define LoadTex2DMS_2(Tex, Location, Sample)   texelFetch(Tex, _ToIvec( (Location).xy), _ToInt(Sample))
 
#define LoadTex2DMS_3(Tex, Location, Sample, Offset)   texelFetch(Tex, _ToIvec2( (Location).x + (Offset).x, (Location).y + (Offset).y), int(Sample) )
 
#define LoadTex2DMSArr_2(Tex, Location, Sample)   texelFetch(Tex, _ToIvec( (Location).xyz), _ToInt(Sample))
 
#define LoadTex2DMSArr_3(Tex, Location, Sample, Offset)   texelFetch(Tex, _ToIvec3( (Location).x + (Offset).x, (Location).y + (Offset).y, (Location).z), int(Sample))
 
#define LoadTexBuffer_1(Tex, Location)   texelFetch(Tex, _ToInt(Location))
 
#define LoadRWTex1D_1(Tex, Location)   imageLoad(Tex, _ToInt(Location) )
 
#define LoadRWTex1DArr_1(Tex, Location)   imageLoad(Tex, _ToIvec((Location).xy) )
 
#define LoadRWTex2D_1(Tex, Location)   imageLoad(Tex, _ToIvec((Location).xy) )
 
#define LoadRWTex2DArr_1(Tex, Location)   imageLoad(Tex, _ToIvec((Location).xyz) )
 
#define LoadRWTex3D_1(Tex, Location)   imageLoad(Tex, _ToIvec((Location).xyz) )
 
#define LoadRWTexBuffer_1(Tex, Location)   imageLoad(Tex, _ToInt(Location) )
 
#define Gather_2(Tex, Sampler, Location)   textureGather (Tex, _ToVec(Location))
 
#define Gather_3(Tex, Sampler, Location, Offset)   textureGatherOffset(Tex, _ToVec(Location), Offset)
 
#define GatherCmp_3(Tex, Sampler, Location, CompareVal)   textureGather (Tex, _ToVec(Location), _ToFloat(CompareVal))
 
#define GatherCmp_4(Tex, Sampler, Location, CompareVal, Offset)   textureGatherOffset(Tex, _ToVec(Location), _ToFloat(CompareVal), Offset)
 
#define InterlockedAddSharedVar_2(dest, value)   atomicAdd(dest, value)
 
#define InterlockedAddSharedVar_3(dest, value, orig_val)   orig_val = atomicAdd(dest, value)
 
#define InterlockedAddImage_2(img, coords, value)   imageAtomicAdd(img, _ToIvec(coords), value)
 
#define InterlockedAddImage_3(img, coords, value, orig_val)   orig_val = imageAtomicAdd(img, _ToIvec(coords), value)
 
#define InterlockedAndSharedVar_2(dest, value)   atomicAnd(dest, value)
 
#define InterlockedAndSharedVar_3(dest, value, orig_val)   orig_val = atomicAnd(dest, value)
 
#define InterlockedAndImage_2(img, coords, value)   imageAtomicAnd(img, _ToIvec(coords), value)
 
#define InterlockedAndImage_3(img, coords, value, orig_val)   orig_val = imageAtomicAnd(img, _ToIvec(coords), value)
 
#define InterlockedMaxSharedVar_2(dest, value)   atomicMax(dest, value)
 
#define InterlockedMaxSharedVar_3(dest, value, orig_val)   orig_val = atomicMax(dest, value)
 
#define InterlockedMaxImage_2(img, coords, value)   imageAtomicMax(img, _ToIvec(coords), value)
 
#define InterlockedMaxImage_3(img, coords, value, orig_val)   orig_val = imageAtomicMax(img, _ToIvec(coords), value)
 
#define InterlockedMinSharedVar_2(dest, value)   atomicMin(dest, value)
 
#define InterlockedMinSharedVar_3(dest, value, orig_val)   orig_val = atomicMin(dest, value)
 
#define InterlockedMinImage_2(img, coords, value)   imageAtomicMin(img, _ToIvec(coords), value)
 
#define InterlockedMinImage_3(img, coords, value, orig_val)   orig_val = imageAtomicMin(img, _ToIvec(coords), value)
 
#define InterlockedOrSharedVar_2(dest, value)   atomicOr(dest, value)
 
#define InterlockedOrSharedVar_3(dest, value, orig_val)   orig_val = atomicOr(dest, value)
 
#define InterlockedOrImage_2(img, coords, value)   imageAtomicOr(img, _ToIvec(coords), value)
 
#define InterlockedOrImage_3(img, coords, value, orig_val)   orig_val = imageAtomicOr(img, _ToIvec(coords), value)
 
#define InterlockedXorSharedVar_2(dest, value)   atomicXor(dest, value)
 
#define InterlockedXorSharedVar_3(dest, value, orig_val)   orig_val = atomicXor(dest, value)
 
#define InterlockedXorImage_2(img, coords, value)   imageAtomicXor(img, _ToIvec(coords), value)
 
#define InterlockedXorImage_3(img, coords, value, orig_val)   orig_val = imageAtomicXor(img, _ToIvec(coords), value)
 
#define InterlockedExchangeSharedVar_2(dest, value)   atomicExchange(dest, value)
 
#define InterlockedExchangeSharedVar_3(dest, value, orig_val)   orig_val = atomicExchange(dest, value)
 
#define InterlockedExchangeImage_2(img, coords, value)   imageAtomicExchange(img, _ToIvec(coords), value)
 
#define InterlockedExchangeImage_3(img, coords, value, orig_val)   orig_val = imageAtomicExchange(img, _ToIvec(coords), value)
 
#define InterlockedCompareExchangeSharedVar_4(dest, cmp_val, value, orig_val)   orig_val = atomicCompSwap(dest, cmp_val, value)
 
#define InterlockedCompareExchangeImage_4(img, coords, cmp_val, value, orig_val)   orig_val = imageAtomicCompSwap(img, _ToIvec(coords), cmp_val, value)
 
#define InterlockedCompareStoreSharedVar_3(dest, cmp_val, value)   atomicCompSwap(dest, cmp_val, value)
 
#define InterlockedCompareStoreImage_3(img, coords, cmp_val, value)   imageAtomicCompSwap(img, _ToIvec(coords), cmp_val, value)
 
#define _SWIZZLE0
 
#define _SWIZZLE1   .x
 
#define _SWIZZLE2   .xy
 
#define _SWIZZLE3   .xyz
 
#define _SWIZZLE4   .xyzw
 
#define NDC_MIN_Z   -1.0
 
#define F3NDC_XYZ_TO_UVD_SCALE   float3(0.5, 0.5, 0.5)
 
#define MATRIX_ELEMENT(mat, row, col)   mat[col][row]
 

Functions

float rcp (float x)
 
vec2 rcp (vec2 x)
 
vec3 rcp (vec3 x)
 
vec4 rcp (vec4 x)
 
float saturate (float x)
 
vec2 saturate (vec2 x)
 
vec3 saturate (vec3 x)
 
vec4 saturate (vec4 x)
 
void sincos (float x, out float s, out float c)
 
void sincos (vec2 x, out vec2 s, out vec2 c)
 
void sincos (vec3 x, out vec3 s, out vec3 c)
 
void sincos (vec4 x, out vec4 s, out vec4 c)
 
float asfloat (float x)
 
vec2 asfloat (vec2 x)
 
vec3 asfloat (vec3 x)
 
vec4 asfloat (vec4 x)
 
float asfloat (int x)
 
vec2 asfloat (ivec2 x)
 
vec3 asfloat (ivec3 x)
 
vec4 asfloat (ivec4 x)
 
float asfloat (uint x)
 
vec2 asfloat (uvec2 x)
 
vec3 asfloat (uvec3 x)
 
vec4 asfloat (uvec4 x)
 
int asint (int x)
 
ivec2 asint (ivec2 x)
 
ivec3 asint (ivec3 x)
 
ivec4 asint (ivec4 x)
 
int asint (uint x)
 
ivec2 asint (uvec2 x)
 
ivec3 asint (uvec3 x)
 
ivec4 asint (uvec4 x)
 
int asint (float x)
 
ivec2 asint (vec2 x)
 
ivec3 asint (vec3 x)
 
ivec4 asint (vec4 x)
 
uint asuint (uint x)
 
uvec2 asuint (uvec2 x)
 
uvec3 asuint (uvec3 x)
 
uvec4 asuint (uvec4 x)
 
uint asuint (int x)
 
uvec2 asuint (ivec2 x)
 
uvec3 asuint (ivec3 x)
 
uvec4 asuint (ivec4 x)
 
uint asuint (float x)
 
uvec2 asuint (vec2 x)
 
uvec3 asuint (vec3 x)
 
uvec4 asuint (vec4 x)
 
bool isfinite (float x)
 
bool2 isfinite (vec2 f2)
 
bool3 isfinite (vec3 f3)
 
bool4 isfinite (vec4 f4)
 
float log10 (float x)
 
vec2 log10 (vec2 x)
 
vec3 log10 (vec3 x)
 
vec4 log10 (vec4 x)
 
bool4 And (bool4 L, bool4 R)
 
bool3 And (bool3 L, bool3 R)
 
bool2 And (bool2 L, bool2 R)
 
bool And (bool L, bool R)
 
bool4 Or (bool4 L, bool4 R)
 
bool3 Or (bool3 L, bool3 R)
 
bool2 Or (bool2 L, bool2 R)
 
bool Or (bool L, bool R)
 
float4 BoolToFloat (bool4 b4)
 
float3 BoolToFloat (bool3 b3)
 
float2 BoolToFloat (bool2 b2)
 
float BoolToFloat (bool b)
 
void AllMemoryBarrier ()
 
void AllMemoryBarrierWithGroupSync ()
 
void DeviceMemoryBarrier ()
 
void DeviceMemoryBarrierWithGroupSync ()
 
void GroupMemoryBarrier ()
 
void GroupMemoryBarrierWithGroupSync ()
 
vec4 _ExpandVector (float x)
 
vec4 _ExpandVector (vec2 f2)
 
vec4 _ExpandVector (vec3 f3)
 
vec4 _ExpandVector (vec4 f4)
 
ivec4 _ExpandVector (int x)
 
ivec4 _ExpandVector (ivec2 i2)
 
ivec4 _ExpandVector (ivec3 i3)
 
ivec4 _ExpandVector (ivec4 i4)
 
uvec4 _ExpandVector (uint x)
 
uvec4 _ExpandVector (uvec2 u2)
 
uvec4 _ExpandVector (uvec3 u3)
 
uvec4 _ExpandVector (uvec4 u4)
 
bvec4 _ExpandVector (bool x)
 
bvec4 _ExpandVector (bvec2 b2)
 
bvec4 _ExpandVector (bvec3 b3)
 
bvec4 _ExpandVector (bvec4 b4)
 
void _ResizeVector (out vec4 outVec4, in vec4 inVec4)
 
void _ResizeVector (out vec3 outVec3, in vec4 inVec4)
 
void _ResizeVector (out vec2 outVec2, in vec4 inVec4)
 
void _ResizeVector (out float outFlt, in vec4 inVec4)
 
void _ResizeVector (out vec4 outVec4, in vec3 inVec3)
 
void _ResizeVector (out vec3 outVec3, in vec3 inVec3)
 
void _ResizeVector (out vec2 outVec2, in vec3 inVec3)
 
void _ResizeVector (out float outFlt, in vec3 inVec3)
 
void _ResizeVector (out vec4 outVec4, in vec2 inVec2)
 
void _ResizeVector (out vec3 outVec3, in vec2 inVec2)
 
void _ResizeVector (out vec2 outVec2, in vec2 inVec2)
 
void _ResizeVector (out float outFlt, in vec2 inVec2)
 
void _ResizeVector (out vec4 outVec4, in float v)
 
void _ResizeVector (out vec3 outVec3, in float v)
 
void _ResizeVector (out vec2 outVec2, in float v)
 
void _ResizeVector (out float outFlt, in float v)
 
void _TypeConvertStore (out float Dst, in int Src)
 
void _TypeConvertStore (out float Dst, in uint Src)
 
void _TypeConvertStore (out float Dst, in float Src)
 
void _TypeConvertStore (out float Dst, in bool Src)
 
void _TypeConvertStore (out uint Dst, in int Src)
 
void _TypeConvertStore (out uint Dst, in uint Src)
 
void _TypeConvertStore (out uint Dst, in float Src)
 
void _TypeConvertStore (out uint Dst, in bool Src)
 
void _TypeConvertStore (out int Dst, in int Src)
 
void _TypeConvertStore (out int Dst, in uint Src)
 
void _TypeConvertStore (out int Dst, in float Src)
 
void _TypeConvertStore (out int Dst, in bool Src)
 
void _TypeConvertStore (out bool Dst, in int Src)
 
void _TypeConvertStore (out bool Dst, in uint Src)
 
void _TypeConvertStore (out bool Dst, in float Src)
 
void _TypeConvertStore (out bool Dst, in bool Src)
 
int _ToInt (int x)
 
int _ToInt (ivec2 v)
 
int _ToInt (ivec3 v)
 
int _ToInt (ivec4 v)
 
int _ToInt (uint x)
 
int _ToInt (uvec2 v)
 
int _ToInt (uvec3 v)
 
int _ToInt (uvec4 v)
 
int _ToInt (float x)
 
int _ToInt (vec2 v)
 
int _ToInt (vec3 v)
 
int _ToInt (vec4 v)
 
int _ToInt (bool x)
 
int _ToInt (bvec2 v)
 
int _ToInt (bvec3 v)
 
int _ToInt (bvec4 v)
 
float _ToFloat (int x)
 
float _ToFloat (ivec2 v)
 
float _ToFloat (ivec3 v)
 
float _ToFloat (ivec4 v)
 
float _ToFloat (uint x)
 
float _ToFloat (uvec2 v)
 
float _ToFloat (uvec3 v)
 
float _ToFloat (uvec4 v)
 
float _ToFloat (float x)
 
float _ToFloat (vec2 v)
 
float _ToFloat (vec3 v)
 
float _ToFloat (vec4 v)
 
float _ToFloat (bool x)
 
float _ToFloat (bvec2 v)
 
float _ToFloat (bvec3 v)
 
float _ToFloat (bvec4 v)
 
uint _ToUint (int x)
 
uint _ToUint (uint x)
 
uint _ToUint (float x)
 
uint _ToUint (bool x)
 
bool _ToBool (int x)
 
bool _ToBool (uint x)
 
bool _ToBool (float x)
 
bool _ToBool (bool x)
 
int _ToIvec (uint u1)
 
ivec2 _ToIvec (uvec2 u2)
 
ivec3 _ToIvec (uvec3 u3)
 
ivec4 _ToIvec (uvec4 u4)
 
int _ToIvec (int i1)
 
ivec2 _ToIvec (ivec2 i2)
 
ivec3 _ToIvec (ivec3 i3)
 
ivec4 _ToIvec (ivec4 i4)
 
int _ToIvec (float f1)
 
ivec2 _ToIvec (vec2 f2)
 
ivec3 _ToIvec (vec3 f3)
 
ivec4 _ToIvec (vec4 f4)
 
float _ToVec (uint u1)
 
vec2 _ToVec (uvec2 u2)
 
vec3 _ToVec (uvec3 u3)
 
vec4 _ToVec (uvec4 u4)
 
float _ToVec (int i1)
 
vec2 _ToVec (ivec2 i2)
 
vec3 _ToVec (ivec3 i3)
 
vec4 _ToVec (ivec4 i4)
 
float _ToVec (float f1)
 
vec2 _ToVec (vec2 f2)
 
vec3 _ToVec (vec3 f3)
 
vec4 _ToVec (vec4 f4)
 
uint _ToUvec (uint u1)
 
uvec2 _ToUvec (uvec2 u2)
 
uvec3 _ToUvec (uvec3 u3)
 
uvec4 _ToUvec (uvec4 u4)
 
uint _ToUvec (int i1)
 
uvec2 _ToUvec (ivec2 i2)
 
uvec3 _ToUvec (ivec3 i3)
 
uvec4 _ToUvec (ivec4 i4)
 
uint _ToUvec (float f1)
 
uvec2 _ToUvec (vec2 f2)
 
uvec3 _ToUvec (vec3 f3)
 
uvec4 _ToUvec (vec4 f4)
 
float2 NormalizedDeviceXYToTexUV (float2 f2ProjSpaceXY)
 
float2 TexUVToNormalizedDeviceXY (float2 TexUV)
 
float NormalizedDeviceZToDepth (float fNDC_Z)
 
float DepthToNormalizedDeviceZ (float fDepth)
 
float4x4 MatrixFromRows (float4 row0, float4 row1, float4 row2, float4 row3)
 
float3x3 MatrixFromRows (float3 row0, float3 row1, float3 row2)
 
float2x2 MatrixFromRows (float2 row0, float2 row1)
 

Macro Definition Documentation

◆ _SWIZZLE0

#define _SWIZZLE0

◆ _SWIZZLE1

#define _SWIZZLE1   .x

◆ _SWIZZLE2

#define _SWIZZLE2   .xy

◆ _SWIZZLE3

#define _SWIZZLE3   .xyz

◆ _SWIZZLE4

#define _SWIZZLE4   .xyzw

◆ _ToBvec2

#define _ToBvec2 (   x,
 
)    bvec2(_ToBool(x), _ToBool(y))

◆ _ToBvec3

#define _ToBvec3 (   x,
  y,
 
)    bvec3(_ToBool(x), _ToBool(y), _ToBool(z))

◆ _ToBvec4

#define _ToBvec4 (   x,
  y,
  z,
 
)    bvec4(_ToBool(x), _ToBool(y), _ToBool(z), _ToBool(w))

◆ _ToIvec2

#define _ToIvec2 (   x,
 
)    ivec2(_ToInt(x), _ToInt(y))

◆ _ToIvec3

#define _ToIvec3 (   x,
  y,
 
)    ivec3(_ToInt(x), _ToInt(y), _ToInt(z))

◆ _ToIvec4

#define _ToIvec4 (   x,
  y,
  z,
 
)    ivec4(_ToInt(x), _ToInt(y), _ToInt(z), _ToInt(w))

◆ _ToUvec2

#define _ToUvec2 (   x,
 
)    uvec2(_ToUint(x), _ToUint(y))

◆ _ToUvec3

#define _ToUvec3 (   x,
  y,
 
)    uvec3(_ToUint(x), _ToUint(y), _ToUint(z))

◆ _ToUvec4

#define _ToUvec4 (   x,
  y,
  z,
 
)    uvec4(_ToUint(x), _ToUint(y), _ToUint(z), _ToUint(w))

◆ _ToVec2

#define _ToVec2 (   x,
 
)    vec2(_ToFloat(x), _ToFloat(y))

◆ _ToVec3

#define _ToVec3 (   x,
  y,
 
)    vec3(_ToFloat(x), _ToFloat(y), _ToFloat(z))

◆ _ToVec4

#define _ToVec4 (   x,
  y,
  z,
 
)    vec4(_ToFloat(x), _ToFloat(y), _ToFloat(z), _ToFloat(w))

◆ asdouble

#define asdouble (   lowbits,
  highbits 
)    packDouble2x32( uvec2( lowbits, highbits ) )

◆ atan2

#define atan2   atan

◆ bool2

#define bool2   bvec2

◆ bool3

#define bool3   bvec3

◆ bool4

#define bool4   bvec4

◆ countbits

#define countbits   bitCount

◆ ddx

#define ddx (   x)    (x)

◆ ddx_coarse

#define ddx_coarse   ddx

◆ ddx_fine

#define ddx_fine   ddx

◆ ddy

#define ddy (   x)    (x)

◆ ddy_coarse

#define ddy_coarse   ddy

◆ ddy_fine

#define ddy_fine   ddy

◆ dst

#define dst   distance

◆ Equal

#define Equal   equal

◆ F3NDC_XYZ_TO_UVD_SCALE

#define F3NDC_XYZ_TO_UVD_SCALE   float3(0.5, 0.5, 0.5)

◆ firstbithigh

#define firstbithigh   findMSB

◆ firstbitlow

#define firstbitlow   findLSB

◆ float2

#define float2   vec2

◆ float2x2

#define float2x2   mat2x2

◆ float2x3

#define float2x3   mat3x2

◆ float2x4

#define float2x4   mat4x2

◆ float3

#define float3   vec3

◆ float3x2

#define float3x2   mat2x3

◆ float3x3

#define float3x3   mat3x3

◆ float3x4

#define float3x4   mat4x3

◆ float4

#define float4   vec4

◆ float4x2

#define float4x2   mat2x4

◆ float4x3

#define float4x3   mat3x4

◆ float4x4

#define float4x4   mat4x4

◆ fmod

#define fmod   mod

◆ frac

#define frac   fract

◆ Gather_2

#define Gather_2 (   Tex,
  Sampler,
  Location 
)    textureGather (Tex, _ToVec(Location))

◆ Gather_3

#define Gather_3 (   Tex,
  Sampler,
  Location,
  Offset 
)    textureGatherOffset(Tex, _ToVec(Location), Offset)

◆ GatherCmp_3

#define GatherCmp_3 (   Tex,
  Sampler,
  Location,
  CompareVal 
)    textureGather (Tex, _ToVec(Location), _ToFloat(CompareVal))

◆ GatherCmp_4

#define GatherCmp_4 (   Tex,
  Sampler,
  Location,
  CompareVal,
  Offset 
)    textureGatherOffset(Tex, _ToVec(Location), _ToFloat(CompareVal), Offset)

◆ GetRWTex1DArrDimensions_2

#define GetRWTex1DArrDimensions_2 (   Tex,
  Width,
  Elements 
)
Value:
{ \
ivec2 i2Size = imageSize(Tex); \
_TypeConvertStore( Width, i2Size.x ); \
_TypeConvertStore( Elements, i2Size.y ); \
}

◆ GetRWTex1DDimensions_1

#define GetRWTex1DDimensions_1 (   Tex,
  Width 
)
Value:
{ \
_TypeConvertStore( Width, imageSize(Tex) ); \
}

◆ GetRWTex2DArrDimensions_3

#define GetRWTex2DArrDimensions_3 (   Tex,
  Width,
  Height,
  Elements 
)
Value:
{ \
ivec3 i3Size = imageSize(Tex); \
_TypeConvertStore( Width, i3Size.x );\
_TypeConvertStore( Height, i3Size.y );\
_TypeConvertStore( Elements, i3Size.z );\
}

◆ GetRWTex2DDimensions_2

#define GetRWTex2DDimensions_2 (   Tex,
  Width,
  Height 
)
Value:
{ \
ivec2 i2Size = imageSize(Tex); \
_TypeConvertStore( Width, i2Size.x ); \
_TypeConvertStore( Height, i2Size.y ); \
}

◆ GetRWTex3DDimensions_3

#define GetRWTex3DDimensions_3 (   Tex,
  Width,
  Height,
  Depth 
)
Value:
{ \
ivec3 i3Size = imageSize(Tex); \
_TypeConvertStore( Width, i3Size.x ); \
_TypeConvertStore( Height, i3Size.y ); \
_TypeConvertStore( Depth, i3Size.z ); \
}

◆ GetRWTexBufferDimensions_1

#define GetRWTexBufferDimensions_1 (   Tex,
  Width 
)
Value:
{ \
_TypeConvertStore( Width, imageSize(Tex) ); \
}

◆ GetTex1DArrDimensions_2

#define GetTex1DArrDimensions_2 (   Sampler,
  Width,
  Elements 
)
Value:
{ \
ivec2 i2Size = textureSize(Sampler, 0); \
_TypeConvertStore( Width, i2Size.x );\
_TypeConvertStore( Elements, i2Size.y );\
}

◆ GetTex1DArrDimensions_4

#define GetTex1DArrDimensions_4 (   Sampler,
  MipLevel,
  Width,
  Elements,
  NumberOfMipLevels 
)
Value:
{ \
ivec2 i2Size = textureSize(Sampler, _ToInt(MipLevel)); \
_TypeConvertStore( Width, i2Size.x ); \
_TypeConvertStore( Elements, i2Size.y ); \
_TypeConvertStore( NumberOfMipLevels, textureQueryLevels(Sampler) );\
}

◆ GetTex1DDimensions_1

#define GetTex1DDimensions_1 (   Sampler,
  Width 
)
Value:
{ \
_TypeConvertStore( Width, textureSize(Sampler, 0) );\
}

◆ GetTex1DDimensions_3

#define GetTex1DDimensions_3 (   Sampler,
  MipLevel,
  Width,
  NumberOfMipLevels 
)
Value:
{ \
_TypeConvertStore( Width, textureSize(Sampler, _ToInt(MipLevel)) ); \
_TypeConvertStore( NumberOfMipLevels, textureQueryLevels(Sampler) ); \
}

◆ GetTex2DArrDimensions_3

#define GetTex2DArrDimensions_3 (   Sampler,
  Width,
  Height,
  Elements 
)
Value:
{ \
ivec3 i3Size = textureSize(Sampler, 0); \
_TypeConvertStore( Width, i3Size.x ); \
_TypeConvertStore( Height, i3Size.y ); \
_TypeConvertStore( Elements,i3Size.z ); \
}

◆ GetTex2DArrDimensions_5

#define GetTex2DArrDimensions_5 (   Sampler,
  MipLevel,
  Width,
  Height,
  Elements,
  NumberOfMipLevels 
)
Value:
{ \
ivec3 i3Size = textureSize(Sampler, _ToInt(MipLevel)); \
_TypeConvertStore( Width, i3Size.x ); \
_TypeConvertStore( Height, i3Size.y ); \
_TypeConvertStore( Elements, i3Size.z ); \
_TypeConvertStore( NumberOfMipLevels, textureQueryLevels(Sampler) );\
}

◆ GetTex2DDimensions_2

#define GetTex2DDimensions_2 (   Sampler,
  Width,
  Height 
)
Value:
{ \
ivec2 i2Size = textureSize(Sampler, 0); \
_TypeConvertStore( Width, i2Size.x ); \
_TypeConvertStore( Height, i2Size.y ); \
}

◆ GetTex2DDimensions_4

#define GetTex2DDimensions_4 (   Sampler,
  MipLevel,
  Width,
  Height,
  NumberOfMipLevels 
)
Value:
{ \
ivec2 i2Size = textureSize(Sampler, _ToInt(MipLevel) ); \
_TypeConvertStore( Width, i2Size.x ); \
_TypeConvertStore( Height, i2Size.y ); \
_TypeConvertStore( NumberOfMipLevels, textureQueryLevels(Sampler) );\
}

◆ GetTex2DMSArrDimensions_4

#define GetTex2DMSArrDimensions_4 (   Sampler,
  Width,
  Height,
  Elements,
  NumberOfSamples 
)
Value:
{ \
ivec3 i3Size = textureSize(Sampler); \
_TypeConvertStore( Width, i3Size.x );\
_TypeConvertStore( Height, i3Size.y );\
_TypeConvertStore( Elements, i3Size.z );\
_TypeConvertStore( NumberOfSamples, 0 );\
}

◆ GetTex2DMSDimensions_3

#define GetTex2DMSDimensions_3 (   Sampler,
  Width,
  Height,
  NumberOfSamples 
)
Value:
{ \
ivec2 i2Size = textureSize(Sampler); \
_TypeConvertStore( Width, i2Size.x ); \
_TypeConvertStore( Height, i2Size.y ); \
_TypeConvertStore( NumberOfSamples, 0 );\
}

◆ GetTex3DDimensions_3

#define GetTex3DDimensions_3 (   Sampler,
  Width,
  Height,
  Depth 
)
Value:
{ \
ivec3 i3Size = textureSize(Sampler, 0); \
_TypeConvertStore( Width, i3Size.x ); \
_TypeConvertStore( Height, i3Size.y ); \
_TypeConvertStore( Depth, i3Size.z ); \
}

◆ GetTex3DDimensions_5

#define GetTex3DDimensions_5 (   Sampler,
  MipLevel,
  Width,
  Height,
  Depth,
  NumberOfMipLevels 
)
Value:
{ \
ivec3 i3Size = textureSize(Sampler, _ToInt(MipLevel)); \
_TypeConvertStore( Width, i3Size.x ); \
_TypeConvertStore( Height, i3Size.y ); \
_TypeConvertStore( Depth, i3Size.z ); \
_TypeConvertStore( NumberOfMipLevels, textureQueryLevels(Sampler) );\
}

◆ GetTexBufferDimensions_1

#define GetTexBufferDimensions_1 (   Sampler,
  Width 
)
Value:
{ \
_TypeConvertStore( Width, textureSize(Sampler) );\
}

◆ GLSL

#define GLSL

◆ Greater

#define Greater   greaterThan

◆ GreaterEqual

#define GreaterEqual   greaterThanEqual

◆ groupshared

#define groupshared   shared

◆ IMAGE_WRITEONLY

#define IMAGE_WRITEONLY

◆ int2

#define int2   ivec2

◆ int3

#define int3   ivec3

◆ int4

#define int4   ivec4

◆ InterlockedAddImage_2

#define InterlockedAddImage_2 (   img,
  coords,
  value 
)    imageAtomicAdd(img, _ToIvec(coords), value)

◆ InterlockedAddImage_3

#define InterlockedAddImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicAdd(img, _ToIvec(coords), value)

◆ InterlockedAddSharedVar_2

#define InterlockedAddSharedVar_2 (   dest,
  value 
)    atomicAdd(dest, value)

◆ InterlockedAddSharedVar_3

#define InterlockedAddSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicAdd(dest, value)

◆ InterlockedAndImage_2

#define InterlockedAndImage_2 (   img,
  coords,
  value 
)    imageAtomicAnd(img, _ToIvec(coords), value)

◆ InterlockedAndImage_3

#define InterlockedAndImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicAnd(img, _ToIvec(coords), value)

◆ InterlockedAndSharedVar_2

#define InterlockedAndSharedVar_2 (   dest,
  value 
)    atomicAnd(dest, value)

◆ InterlockedAndSharedVar_3

#define InterlockedAndSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicAnd(dest, value)

◆ InterlockedCompareExchangeImage_4

#define InterlockedCompareExchangeImage_4 (   img,
  coords,
  cmp_val,
  value,
  orig_val 
)    orig_val = imageAtomicCompSwap(img, _ToIvec(coords), cmp_val, value)

◆ InterlockedCompareExchangeSharedVar_4

#define InterlockedCompareExchangeSharedVar_4 (   dest,
  cmp_val,
  value,
  orig_val 
)    orig_val = atomicCompSwap(dest, cmp_val, value)

◆ InterlockedCompareStoreImage_3

#define InterlockedCompareStoreImage_3 (   img,
  coords,
  cmp_val,
  value 
)    imageAtomicCompSwap(img, _ToIvec(coords), cmp_val, value)

◆ InterlockedCompareStoreSharedVar_3

#define InterlockedCompareStoreSharedVar_3 (   dest,
  cmp_val,
  value 
)    atomicCompSwap(dest, cmp_val, value)

◆ InterlockedExchangeImage_2

#define InterlockedExchangeImage_2 (   img,
  coords,
  value 
)    imageAtomicExchange(img, _ToIvec(coords), value)

◆ InterlockedExchangeImage_3

#define InterlockedExchangeImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicExchange(img, _ToIvec(coords), value)

◆ InterlockedExchangeSharedVar_2

#define InterlockedExchangeSharedVar_2 (   dest,
  value 
)    atomicExchange(dest, value)

◆ InterlockedExchangeSharedVar_3

#define InterlockedExchangeSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicExchange(dest, value)

◆ InterlockedMaxImage_2

#define InterlockedMaxImage_2 (   img,
  coords,
  value 
)    imageAtomicMax(img, _ToIvec(coords), value)

◆ InterlockedMaxImage_3

#define InterlockedMaxImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicMax(img, _ToIvec(coords), value)

◆ InterlockedMaxSharedVar_2

#define InterlockedMaxSharedVar_2 (   dest,
  value 
)    atomicMax(dest, value)

◆ InterlockedMaxSharedVar_3

#define InterlockedMaxSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicMax(dest, value)

◆ InterlockedMinImage_2

#define InterlockedMinImage_2 (   img,
  coords,
  value 
)    imageAtomicMin(img, _ToIvec(coords), value)

◆ InterlockedMinImage_3

#define InterlockedMinImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicMin(img, _ToIvec(coords), value)

◆ InterlockedMinSharedVar_2

#define InterlockedMinSharedVar_2 (   dest,
  value 
)    atomicMin(dest, value)

◆ InterlockedMinSharedVar_3

#define InterlockedMinSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicMin(dest, value)

◆ InterlockedOrImage_2

#define InterlockedOrImage_2 (   img,
  coords,
  value 
)    imageAtomicOr(img, _ToIvec(coords), value)

◆ InterlockedOrImage_3

#define InterlockedOrImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicOr(img, _ToIvec(coords), value)

◆ InterlockedOrSharedVar_2

#define InterlockedOrSharedVar_2 (   dest,
  value 
)    atomicOr(dest, value)

◆ InterlockedOrSharedVar_3

#define InterlockedOrSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicOr(dest, value)

◆ InterlockedXorImage_2

#define InterlockedXorImage_2 (   img,
  coords,
  value 
)    imageAtomicXor(img, _ToIvec(coords), value)

◆ InterlockedXorImage_3

#define InterlockedXorImage_3 (   img,
  coords,
  value,
  orig_val 
)    orig_val = imageAtomicXor(img, _ToIvec(coords), value)

◆ InterlockedXorSharedVar_2

#define InterlockedXorSharedVar_2 (   dest,
  value 
)    atomicXor(dest, value)

◆ InterlockedXorSharedVar_3

#define InterlockedXorSharedVar_3 (   dest,
  value,
  orig_val 
)    orig_val = atomicXor(dest, value)

◆ lerp

#define lerp   mix

◆ Less

#define Less   lessThan

◆ LessEqual

#define LessEqual   lessThanEqual

◆ LoadRWTex1D_1

#define LoadRWTex1D_1 (   Tex,
  Location 
)    imageLoad(Tex, _ToInt(Location) )

◆ LoadRWTex1DArr_1

#define LoadRWTex1DArr_1 (   Tex,
  Location 
)    imageLoad(Tex, _ToIvec((Location).xy) )

◆ LoadRWTex2D_1

#define LoadRWTex2D_1 (   Tex,
  Location 
)    imageLoad(Tex, _ToIvec((Location).xy) )

◆ LoadRWTex2DArr_1

#define LoadRWTex2DArr_1 (   Tex,
  Location 
)    imageLoad(Tex, _ToIvec((Location).xyz) )

◆ LoadRWTex3D_1

#define LoadRWTex3D_1 (   Tex,
  Location 
)    imageLoad(Tex, _ToIvec((Location).xyz) )

◆ LoadRWTexBuffer_1

#define LoadRWTexBuffer_1 (   Tex,
  Location 
)    imageLoad(Tex, _ToInt(Location) )

◆ LoadTex1D_1

#define LoadTex1D_1 (   Tex,
  Location 
)    texelFetch (Tex, _ToInt((Location).x), _ToInt((Location).y))

◆ LoadTex1D_2

#define LoadTex1D_2 (   Tex,
  Location,
  Offset 
)    texelFetchOffset(Tex, _ToInt((Location).x), _ToInt((Location).y), int(Offset))

◆ LoadTex1DArr_1

#define LoadTex1DArr_1 (   Tex,
  Location 
)    texelFetch (Tex, _ToIvec( (Location).xy), _ToInt((Location).z) )

◆ LoadTex1DArr_2

#define LoadTex1DArr_2 (   Tex,
  Location,
  Offset 
)    texelFetchOffset(Tex, _ToIvec( (Location).xy), _ToInt((Location).z), int(Offset))

◆ LoadTex2D_1

#define LoadTex2D_1 (   Tex,
  Location 
)    texelFetch (Tex, _ToIvec( (Location).xy), _ToInt((Location).z))

◆ LoadTex2D_2

#define LoadTex2D_2 (   Tex,
  Location,
  Offset 
)    texelFetchOffset(Tex, _ToIvec( (Location).xy), _ToInt((Location).z), ivec2( (Offset).xy) )

◆ LoadTex2DArr_1

#define LoadTex2DArr_1 (   Tex,
  Location 
)    texelFetch (Tex, _ToIvec( (Location).xyz), _ToInt((Location).w) )

◆ LoadTex2DArr_2

#define LoadTex2DArr_2 (   Tex,
  Location,
  Offset 
)    texelFetchOffset(Tex, _ToIvec( (Location).xyz), _ToInt((Location).w), ivec2( (Offset).xy))

◆ LoadTex2DMS_2

#define LoadTex2DMS_2 (   Tex,
  Location,
  Sample 
)    texelFetch(Tex, _ToIvec( (Location).xy), _ToInt(Sample))

◆ LoadTex2DMS_3

#define LoadTex2DMS_3 (   Tex,
  Location,
  Sample,
  Offset 
)    texelFetch(Tex, _ToIvec2( (Location).x + (Offset).x, (Location).y + (Offset).y), int(Sample) )

◆ LoadTex2DMSArr_2

#define LoadTex2DMSArr_2 (   Tex,
  Location,
  Sample 
)    texelFetch(Tex, _ToIvec( (Location).xyz), _ToInt(Sample))

◆ LoadTex2DMSArr_3

#define LoadTex2DMSArr_3 (   Tex,
  Location,
  Sample,
  Offset 
)    texelFetch(Tex, _ToIvec3( (Location).x + (Offset).x, (Location).y + (Offset).y, (Location).z), int(Sample))

◆ LoadTex3D_1

#define LoadTex3D_1 (   Tex,
  Location 
)    texelFetch (Tex, _ToIvec( (Location).xyz), _ToInt((Location).w))

◆ LoadTex3D_2

#define LoadTex3D_2 (   Tex,
  Location,
  Offset 
)    texelFetchOffset(Tex, _ToIvec( (Location).xyz), _ToInt((Location).w), ivec3( (Offset).xyz))

◆ LoadTexBuffer_1

#define LoadTexBuffer_1 (   Tex,
  Location 
)    texelFetch(Tex, _ToInt(Location))

◆ mad

#define mad   fma

◆ matrix

#define matrix   mat4x4

◆ MATRIX_ELEMENT

#define MATRIX_ELEMENT (   mat,
  row,
  col 
)    mat[col][row]

◆ mul

#define mul (   a,
 
)    ((a)*(b))

◆ NDC_MIN_Z

#define NDC_MIN_Z   -1.0

◆ Not

#define Not   not

◆ NotEqual

#define NotEqual   notEqual

◆ reversebits

#define reversebits   bitfieldReverse

◆ rsqrt

#define rsqrt   inversesqrt

◆ Sample_2

#define Sample_2 (   Tex,
  Sampler,
  Coords 
)    textureLod (Tex, _ToVec(Coords), 0.0)

◆ Sample_3

#define Sample_3 (   Tex,
  Sampler,
  Coords,
  Offset 
)    textureLodOffset(Tex, _ToVec(Coords), 0.0, Offset)

◆ SampleBias_3

#define SampleBias_3 (   Tex,
  Sampler,
  Coords,
  Bias 
)    textureLod (Tex, _ToVec(Coords), 0.0 + _ToFloat(Bias))

◆ SampleBias_4

#define SampleBias_4 (   Tex,
  Sampler,
  Coords,
  Bias,
  Offset 
)    textureLodOffset(Tex, _ToVec(Coords), 0.0 + _ToFloat(Bias), Offset)

◆ SampleCmpLevel0Tex1D_3

#define SampleCmpLevel0Tex1D_3 (   Tex,
  Sampler,
  Coords,
  CompareValue 
)    textureLod(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0)

◆ SampleCmpLevel0Tex1D_4

#define SampleCmpLevel0Tex1D_4 (   Tex,
  Sampler,
  Coords,
  CompareValue,
  Offset 
)    textureLodOffset(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0, int(Offset))

◆ SampleCmpLevel0Tex1DArr_3

#define SampleCmpLevel0Tex1DArr_3 (   Tex,
  Sampler,
  Coords,
  CompareValue 
)    textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)

◆ SampleCmpLevel0Tex1DArr_4

#define SampleCmpLevel0Tex1DArr_4 (   Tex,
  Sampler,
  Coords,
  CompareValue,
  Offset 
)    textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, int(Offset))

◆ SampleCmpLevel0Tex2D_3

#define SampleCmpLevel0Tex2D_3 (   Tex,
  Sampler,
  Coords,
  CompareValue 
)    textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)

◆ SampleCmpLevel0Tex2D_4

#define SampleCmpLevel0Tex2D_4 (   Tex,
  Sampler,
  Coords,
  CompareValue,
  Offset 
)    textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, ivec2((Offset).xy))

◆ SampleCmpLevel0Tex2DArr_3

#define SampleCmpLevel0Tex2DArr_3 (   Tex,
  Sampler,
  Coords,
  CompareValue 
)    0.0

◆ SampleCmpLevel0Tex2DArr_4

#define SampleCmpLevel0Tex2DArr_4 (   Tex,
  Sampler,
  Coords,
  CompareValue,
  Offset 
)    0.0

◆ SampleCmpLevel0TexCube_3

#define SampleCmpLevel0TexCube_3 (   Tex,
  Sampler,
  Coords,
  CompareValue 
)    0.0

◆ SampleCmpLevel0TexCubeArr_3

#define SampleCmpLevel0TexCubeArr_3 (   Tex,
  Sampler,
  Coords,
  CompareValue 
)    0.0

◆ SampleCmpTex1D_3

#define SampleCmpTex1D_3   SampleCmpLevel0Tex1D_3

◆ SampleCmpTex1D_4

#define SampleCmpTex1D_4   SampleCmpLevel0Tex1D_4

◆ SampleCmpTex1DArr_3

#define SampleCmpTex1DArr_3   SampleCmpLevel0Tex1DArr_3

◆ SampleCmpTex1DArr_4

#define SampleCmpTex1DArr_4   SampleCmpLevel0Tex1DArr_4

◆ SampleCmpTex2D_3

#define SampleCmpTex2D_3   SampleCmpLevel0Tex2D_3

◆ SampleCmpTex2D_4

#define SampleCmpTex2D_4   SampleCmpLevel0Tex2D_4

◆ SampleCmpTex2DArr_3

#define SampleCmpTex2DArr_3   SampleCmpLevel0Tex2DArr_3

◆ SampleCmpTex2DArr_4

#define SampleCmpTex2DArr_4   SampleCmpLevel0Tex2DArr_4

◆ SampleCmpTexCube_3

#define SampleCmpTexCube_3   SampleCmpLevel0TexCube_3

◆ SampleCmpTexCubeArr_3

#define SampleCmpTexCubeArr_3   SampleCmpLevel0TexCubeArr_3

◆ SampleGrad_4

#define SampleGrad_4 (   Tex,
  Sampler,
  Coords,
  DDX,
  DDY 
)    textureGrad (Tex, _ToVec(Coords), _ToVec(DDX), _ToVec(DDY))

◆ SampleGrad_5

#define SampleGrad_5 (   Tex,
  Sampler,
  Coords,
  DDX,
  DDY,
  Offset 
)    textureGradOffset(Tex, _ToVec(Coords), _ToVec(DDX), _ToVec(DDY), Offset)

◆ SampleLevel_3

#define SampleLevel_3 (   Tex,
  Sampler,
  Coords,
  Level 
)    textureLod (Tex, _ToVec(Coords), _ToFloat(Level))

◆ SampleLevel_4

#define SampleLevel_4 (   Tex,
  Sampler,
  Coords,
  Level,
  Offset 
)    textureLodOffset(Tex, _ToVec(Coords), _ToFloat(Level), Offset)

◆ SamplerComparisonState

#define SamplerComparisonState   int

◆ SamplerState

#define SamplerState   int

◆ static

#define static

◆ textureQueryLevels

#define textureQueryLevels (   x)    0

◆ uint2

#define uint2   uvec2

◆ uint3

#define uint3   uvec3

◆ uint4

#define uint4   uvec4

Function Documentation

◆ _ExpandVector() [1/16]

bvec4 _ExpandVector ( bool  x)

◆ _ExpandVector() [2/16]

bvec4 _ExpandVector ( bvec2  b2)

◆ _ExpandVector() [3/16]

bvec4 _ExpandVector ( bvec3  b3)

◆ _ExpandVector() [4/16]

bvec4 _ExpandVector ( bvec4  b4)

◆ _ExpandVector() [5/16]

vec4 _ExpandVector ( float  x)

◆ _ExpandVector() [6/16]

ivec4 _ExpandVector ( int  x)

◆ _ExpandVector() [7/16]

ivec4 _ExpandVector ( ivec2  i2)

◆ _ExpandVector() [8/16]

ivec4 _ExpandVector ( ivec3  i3)

◆ _ExpandVector() [9/16]

ivec4 _ExpandVector ( ivec4  i4)

◆ _ExpandVector() [10/16]

uvec4 _ExpandVector ( uint  x)

◆ _ExpandVector() [11/16]

uvec4 _ExpandVector ( uvec2  u2)

◆ _ExpandVector() [12/16]

uvec4 _ExpandVector ( uvec3  u3)

◆ _ExpandVector() [13/16]

uvec4 _ExpandVector ( uvec4  u4)

◆ _ExpandVector() [14/16]

vec4 _ExpandVector ( vec2  f2)

◆ _ExpandVector() [15/16]

vec4 _ExpandVector ( vec3  f3)

◆ _ExpandVector() [16/16]

vec4 _ExpandVector ( vec4  f4)

◆ _ResizeVector() [1/16]

void _ResizeVector ( out float  outFlt,
in float  v 
)

◆ _ResizeVector() [2/16]

void _ResizeVector ( out float  outFlt,
in vec2  inVec2 
)

◆ _ResizeVector() [3/16]

void _ResizeVector ( out float  outFlt,
in vec3  inVec3 
)

◆ _ResizeVector() [4/16]

void _ResizeVector ( out float  outFlt,
in vec4  inVec4 
)

◆ _ResizeVector() [5/16]

void _ResizeVector ( out vec2  outVec2,
in float  v 
)

◆ _ResizeVector() [6/16]

void _ResizeVector ( out vec2  outVec2,
in vec2  inVec2 
)

◆ _ResizeVector() [7/16]

void _ResizeVector ( out vec2  outVec2,
in vec3  inVec3 
)

◆ _ResizeVector() [8/16]

void _ResizeVector ( out vec2  outVec2,
in vec4  inVec4 
)

◆ _ResizeVector() [9/16]

void _ResizeVector ( out vec3  outVec3,
in float  v 
)

◆ _ResizeVector() [10/16]

void _ResizeVector ( out vec3  outVec3,
in vec2  inVec2 
)

◆ _ResizeVector() [11/16]

void _ResizeVector ( out vec3  outVec3,
in vec3  inVec3 
)

◆ _ResizeVector() [12/16]

void _ResizeVector ( out vec3  outVec3,
in vec4  inVec4 
)

◆ _ResizeVector() [13/16]

void _ResizeVector ( out vec4  outVec4,
in float  v 
)

◆ _ResizeVector() [14/16]

void _ResizeVector ( out vec4  outVec4,
in vec2  inVec2 
)

◆ _ResizeVector() [15/16]

void _ResizeVector ( out vec4  outVec4,
in vec3  inVec3 
)

◆ _ResizeVector() [16/16]

void _ResizeVector ( out vec4  outVec4,
in vec4  inVec4 
)

◆ _ToBool() [1/4]

bool _ToBool ( bool  x)

◆ _ToBool() [2/4]

bool _ToBool ( float  x)

◆ _ToBool() [3/4]

bool _ToBool ( int  x)

◆ _ToBool() [4/4]

bool _ToBool ( uint  x)

◆ _ToFloat() [1/16]

float _ToFloat ( bool  x)

◆ _ToFloat() [2/16]

float _ToFloat ( bvec2  v)

◆ _ToFloat() [3/16]

float _ToFloat ( bvec3  v)

◆ _ToFloat() [4/16]

float _ToFloat ( bvec4  v)

◆ _ToFloat() [5/16]

float _ToFloat ( float  x)

◆ _ToFloat() [6/16]

float _ToFloat ( int  x)

◆ _ToFloat() [7/16]

float _ToFloat ( ivec2  v)

◆ _ToFloat() [8/16]

float _ToFloat ( ivec3  v)

◆ _ToFloat() [9/16]

float _ToFloat ( ivec4  v)

◆ _ToFloat() [10/16]

float _ToFloat ( uint  x)

◆ _ToFloat() [11/16]

float _ToFloat ( uvec2  v)

◆ _ToFloat() [12/16]

float _ToFloat ( uvec3  v)

◆ _ToFloat() [13/16]

float _ToFloat ( uvec4  v)

◆ _ToFloat() [14/16]

float _ToFloat ( vec2  v)

◆ _ToFloat() [15/16]

float _ToFloat ( vec3  v)

◆ _ToFloat() [16/16]

float _ToFloat ( vec4  v)

◆ _ToInt() [1/16]

int _ToInt ( bool  x)

◆ _ToInt() [2/16]

int _ToInt ( bvec2  v)

◆ _ToInt() [3/16]

int _ToInt ( bvec3  v)

◆ _ToInt() [4/16]

int _ToInt ( bvec4  v)

◆ _ToInt() [5/16]

int _ToInt ( float  x)

◆ _ToInt() [6/16]

int _ToInt ( int  x)

◆ _ToInt() [7/16]

int _ToInt ( ivec2  v)

◆ _ToInt() [8/16]

int _ToInt ( ivec3  v)

◆ _ToInt() [9/16]

int _ToInt ( ivec4  v)

◆ _ToInt() [10/16]

int _ToInt ( uint  x)

◆ _ToInt() [11/16]

int _ToInt ( uvec2  v)

◆ _ToInt() [12/16]

int _ToInt ( uvec3  v)

◆ _ToInt() [13/16]

int _ToInt ( uvec4  v)

◆ _ToInt() [14/16]

int _ToInt ( vec2  v)

◆ _ToInt() [15/16]

int _ToInt ( vec3  v)

◆ _ToInt() [16/16]

int _ToInt ( vec4  v)

◆ _ToIvec() [1/12]

int _ToIvec ( float  f1)

◆ _ToIvec() [2/12]

int _ToIvec ( int  i1)

◆ _ToIvec() [3/12]

ivec2 _ToIvec ( ivec2  i2)

◆ _ToIvec() [4/12]

ivec3 _ToIvec ( ivec3  i3)

◆ _ToIvec() [5/12]

ivec4 _ToIvec ( ivec4  i4)

◆ _ToIvec() [6/12]

int _ToIvec ( uint  u1)

◆ _ToIvec() [7/12]

ivec2 _ToIvec ( uvec2  u2)

◆ _ToIvec() [8/12]

ivec3 _ToIvec ( uvec3  u3)

◆ _ToIvec() [9/12]

ivec4 _ToIvec ( uvec4  u4)

◆ _ToIvec() [10/12]

ivec2 _ToIvec ( vec2  f2)

◆ _ToIvec() [11/12]

ivec3 _ToIvec ( vec3  f3)

◆ _ToIvec() [12/12]

ivec4 _ToIvec ( vec4  f4)

◆ _ToUint() [1/4]

uint _ToUint ( bool  x)

◆ _ToUint() [2/4]

uint _ToUint ( float  x)

◆ _ToUint() [3/4]

uint _ToUint ( int  x)

◆ _ToUint() [4/4]

uint _ToUint ( uint  x)

◆ _ToUvec() [1/12]

uint _ToUvec ( float  f1)

◆ _ToUvec() [2/12]

uint _ToUvec ( int  i1)

◆ _ToUvec() [3/12]

uvec2 _ToUvec ( ivec2  i2)

◆ _ToUvec() [4/12]

uvec3 _ToUvec ( ivec3  i3)

◆ _ToUvec() [5/12]

uvec4 _ToUvec ( ivec4  i4)

◆ _ToUvec() [6/12]

uint _ToUvec ( uint  u1)

◆ _ToUvec() [7/12]

uvec2 _ToUvec ( uvec2  u2)

◆ _ToUvec() [8/12]

uvec3 _ToUvec ( uvec3  u3)

◆ _ToUvec() [9/12]

uvec4 _ToUvec ( uvec4  u4)

◆ _ToUvec() [10/12]

uvec2 _ToUvec ( vec2  f2)

◆ _ToUvec() [11/12]

uvec3 _ToUvec ( vec3  f3)

◆ _ToUvec() [12/12]

uvec4 _ToUvec ( vec4  f4)

◆ _ToVec() [1/12]

float _ToVec ( float  f1)

◆ _ToVec() [2/12]

float _ToVec ( int  i1)

◆ _ToVec() [3/12]

vec2 _ToVec ( ivec2  i2)

◆ _ToVec() [4/12]

vec3 _ToVec ( ivec3  i3)

◆ _ToVec() [5/12]

vec4 _ToVec ( ivec4  i4)

◆ _ToVec() [6/12]

float _ToVec ( uint  u1)

◆ _ToVec() [7/12]

vec2 _ToVec ( uvec2  u2)

◆ _ToVec() [8/12]

vec3 _ToVec ( uvec3  u3)

◆ _ToVec() [9/12]

vec4 _ToVec ( uvec4  u4)

◆ _ToVec() [10/12]

vec2 _ToVec ( vec2  f2)

◆ _ToVec() [11/12]

vec3 _ToVec ( vec3  f3)

◆ _ToVec() [12/12]

vec4 _ToVec ( vec4  f4)

◆ _TypeConvertStore() [1/16]

void _TypeConvertStore ( out bool  Dst,
in bool  Src 
)

◆ _TypeConvertStore() [2/16]

void _TypeConvertStore ( out bool  Dst,
in float  Src 
)

◆ _TypeConvertStore() [3/16]

void _TypeConvertStore ( out bool  Dst,
in int  Src 
)

◆ _TypeConvertStore() [4/16]

void _TypeConvertStore ( out bool  Dst,
in uint  Src 
)

◆ _TypeConvertStore() [5/16]

void _TypeConvertStore ( out float  Dst,
in bool  Src 
)

◆ _TypeConvertStore() [6/16]

void _TypeConvertStore ( out float  Dst,
in float  Src 
)

◆ _TypeConvertStore() [7/16]

void _TypeConvertStore ( out float  Dst,
in int  Src 
)

◆ _TypeConvertStore() [8/16]

void _TypeConvertStore ( out float  Dst,
in uint  Src 
)

◆ _TypeConvertStore() [9/16]

void _TypeConvertStore ( out int  Dst,
in bool  Src 
)

◆ _TypeConvertStore() [10/16]

void _TypeConvertStore ( out int  Dst,
in float  Src 
)

◆ _TypeConvertStore() [11/16]

void _TypeConvertStore ( out int  Dst,
in int  Src 
)

◆ _TypeConvertStore() [12/16]

void _TypeConvertStore ( out int  Dst,
in uint  Src 
)

◆ _TypeConvertStore() [13/16]

void _TypeConvertStore ( out uint  Dst,
in bool  Src 
)

◆ _TypeConvertStore() [14/16]

void _TypeConvertStore ( out uint  Dst,
in float  Src 
)

◆ _TypeConvertStore() [15/16]

void _TypeConvertStore ( out uint  Dst,
in int  Src 
)

◆ _TypeConvertStore() [16/16]

void _TypeConvertStore ( out uint  Dst,
in uint  Src 
)

◆ AllMemoryBarrier()

void AllMemoryBarrier ( )

◆ AllMemoryBarrierWithGroupSync()

void AllMemoryBarrierWithGroupSync ( )

◆ And() [1/4]

bool And ( bool  L,
bool  R 
)

◆ And() [2/4]

bool2 And ( bool2  L,
bool2  R 
)

◆ And() [3/4]

bool3 And ( bool3  L,
bool3  R 
)

◆ And() [4/4]

bool4 And ( bool4  L,
bool4  R 
)

◆ asfloat() [1/12]

float asfloat ( float  x)

◆ asfloat() [2/12]

float asfloat ( int  x)

◆ asfloat() [3/12]

vec2 asfloat ( ivec2  x)

◆ asfloat() [4/12]

vec3 asfloat ( ivec3  x)

◆ asfloat() [5/12]

vec4 asfloat ( ivec4  x)

◆ asfloat() [6/12]

float asfloat ( uint  x)

◆ asfloat() [7/12]

vec2 asfloat ( uvec2  x)

◆ asfloat() [8/12]

vec3 asfloat ( uvec3  x)

◆ asfloat() [9/12]

vec4 asfloat ( uvec4  x)

◆ asfloat() [10/12]

vec2 asfloat ( vec2  x)

◆ asfloat() [11/12]

vec3 asfloat ( vec3  x)

◆ asfloat() [12/12]

vec4 asfloat ( vec4  x)

◆ asint() [1/12]

int asint ( float  x)

◆ asint() [2/12]

int asint ( int  x)

◆ asint() [3/12]

ivec2 asint ( ivec2  x)

◆ asint() [4/12]

ivec3 asint ( ivec3  x)

◆ asint() [5/12]

ivec4 asint ( ivec4  x)

◆ asint() [6/12]

int asint ( uint  x)

◆ asint() [7/12]

ivec2 asint ( uvec2  x)

◆ asint() [8/12]

ivec3 asint ( uvec3  x)

◆ asint() [9/12]

ivec4 asint ( uvec4  x)

◆ asint() [10/12]

ivec2 asint ( vec2  x)

◆ asint() [11/12]

ivec3 asint ( vec3  x)

◆ asint() [12/12]

ivec4 asint ( vec4  x)

◆ asuint() [1/12]

uint asuint ( float  x)

◆ asuint() [2/12]

uint asuint ( int  x)

◆ asuint() [3/12]

uvec2 asuint ( ivec2  x)

◆ asuint() [4/12]

uvec3 asuint ( ivec3  x)

◆ asuint() [5/12]

uvec4 asuint ( ivec4  x)

◆ asuint() [6/12]

uint asuint ( uint  x)

◆ asuint() [7/12]

uvec2 asuint ( uvec2  x)

◆ asuint() [8/12]

uvec3 asuint ( uvec3  x)

◆ asuint() [9/12]

uvec4 asuint ( uvec4  x)

◆ asuint() [10/12]

uvec2 asuint ( vec2  x)

◆ asuint() [11/12]

uvec3 asuint ( vec3  x)

◆ asuint() [12/12]

uvec4 asuint ( vec4  x)

◆ BoolToFloat() [1/4]

float BoolToFloat ( bool  b)

◆ BoolToFloat() [2/4]

float2 BoolToFloat ( bool2  b2)

◆ BoolToFloat() [3/4]

float3 BoolToFloat ( bool3  b3)

◆ BoolToFloat() [4/4]

float4 BoolToFloat ( bool4  b4)

◆ DepthToNormalizedDeviceZ()

float DepthToNormalizedDeviceZ ( float  fDepth)

◆ DeviceMemoryBarrier()

void DeviceMemoryBarrier ( )

◆ DeviceMemoryBarrierWithGroupSync()

void DeviceMemoryBarrierWithGroupSync ( )

◆ GroupMemoryBarrier()

void GroupMemoryBarrier ( )

◆ GroupMemoryBarrierWithGroupSync()

void GroupMemoryBarrierWithGroupSync ( )

◆ isfinite() [1/4]

bool isfinite ( float  x)

◆ isfinite() [2/4]

bool2 isfinite ( vec2  f2)

◆ isfinite() [3/4]

bool3 isfinite ( vec3  f3)

◆ isfinite() [4/4]

bool4 isfinite ( vec4  f4)

◆ log10() [1/4]

float log10 ( float  x)

◆ log10() [2/4]

vec2 log10 ( vec2  x)

◆ log10() [3/4]

vec3 log10 ( vec3  x)

◆ log10() [4/4]

vec4 log10 ( vec4  x)

◆ MatrixFromRows() [1/3]

float2x2 MatrixFromRows ( float2  row0,
float2  row1 
)

◆ MatrixFromRows() [2/3]

float3x3 MatrixFromRows ( float3  row0,
float3  row1,
float3  row2 
)

◆ MatrixFromRows() [3/3]

float4x4 MatrixFromRows ( float4  row0,
float4  row1,
float4  row2,
float4  row3 
)

◆ NormalizedDeviceXYToTexUV()

float2 NormalizedDeviceXYToTexUV ( float2  f2ProjSpaceXY)

◆ NormalizedDeviceZToDepth()

float NormalizedDeviceZToDepth ( float  fNDC_Z)

◆ Or() [1/4]

bool Or ( bool  L,
bool  R 
)

◆ Or() [2/4]

bool2 Or ( bool2  L,
bool2  R 
)

◆ Or() [3/4]

bool3 Or ( bool3  L,
bool3  R 
)

◆ Or() [4/4]

bool4 Or ( bool4  L,
bool4  R 
)

◆ rcp() [1/4]

float rcp ( float  x)

◆ rcp() [2/4]

vec2 rcp ( vec2  x)

◆ rcp() [3/4]

vec3 rcp ( vec3  x)

◆ rcp() [4/4]

vec4 rcp ( vec4  x)

◆ saturate() [1/4]

float saturate ( float  x)

◆ saturate() [2/4]

vec2 saturate ( vec2  x)

◆ saturate() [3/4]

vec3 saturate ( vec3  x)

◆ saturate() [4/4]

vec4 saturate ( vec4  x)

◆ sincos() [1/4]

void sincos ( float  x,
out float  s,
out float  c 
)

◆ sincos() [2/4]

void sincos ( vec2  x,
out vec2  s,
out vec2  c 
)

◆ sincos() [3/4]

void sincos ( vec3  x,
out vec3  s,
out vec3  c 
)

◆ sincos() [4/4]

void sincos ( vec4  x,
out vec4  s,
out vec4  c 
)

◆ TexUVToNormalizedDeviceXY()

float2 TexUVToNormalizedDeviceXY ( float2  TexUV)
textureQueryLevels
#define textureQueryLevels(x)
Definition: GLSLDefinitions.h:708
_ToInt
int _ToInt(int x)
Definition: GLSLDefinitions.h:542