166 symbolTable.
insertBuiltIn(float1,
"clamp", float1, float1, float1);
167 symbolTable.
insertBuiltIn(float2,
"clamp", float2, float1, float1);
168 symbolTable.
insertBuiltIn(float3,
"clamp", float3, float1, float1);
169 symbolTable.
insertBuiltIn(float4,
"clamp", float4, float1, float1);
170 symbolTable.
insertBuiltIn(float2,
"clamp", float2, float2, float2);
171 symbolTable.
insertBuiltIn(float3,
"clamp", float3, float3, float3);
172 symbolTable.
insertBuiltIn(float4,
"clamp", float4, float4, float4);
174 symbolTable.
insertBuiltIn(float1,
"mix", float1, float1, float1);
175 symbolTable.
insertBuiltIn(float2,
"mix", float2, float2, float1);
176 symbolTable.
insertBuiltIn(float3,
"mix", float3, float3, float1);
177 symbolTable.
insertBuiltIn(float4,
"mix", float4, float4, float1);
178 symbolTable.
insertBuiltIn(float2,
"mix", float2, float2, float2);
179 symbolTable.
insertBuiltIn(float3,
"mix", float3, float3, float3);
180 symbolTable.
insertBuiltIn(float4,
"mix", float4, float4, float4);
190 symbolTable.
insertBuiltIn(float1,
"smoothstep", float1, float1, float1);
191 symbolTable.
insertBuiltIn(float2,
"smoothstep", float2, float2, float2);
192 symbolTable.
insertBuiltIn(float3,
"smoothstep", float3, float3, float3);
193 symbolTable.
insertBuiltIn(float4,
"smoothstep", float4, float4, float4);
194 symbolTable.
insertBuiltIn(float2,
"smoothstep", float1, float1, float2);
195 symbolTable.
insertBuiltIn(float3,
"smoothstep", float1, float1, float3);
196 symbolTable.
insertBuiltIn(float4,
"smoothstep", float1, float1, float4);
206 symbolTable.
insertBuiltIn(float1,
"distance", float1, float1);
207 symbolTable.
insertBuiltIn(float1,
"distance", float2, float2);
208 symbolTable.
insertBuiltIn(float1,
"distance", float3, float3);
209 symbolTable.
insertBuiltIn(float1,
"distance", float4, float4);
222 symbolTable.
insertBuiltIn(float1,
"faceforward", float1, float1, float1);
223 symbolTable.
insertBuiltIn(float2,
"faceforward", float2, float2, float2);
224 symbolTable.
insertBuiltIn(float3,
"faceforward", float3, float3, float3);
225 symbolTable.
insertBuiltIn(float4,
"faceforward", float4, float4, float4);
227 symbolTable.
insertBuiltIn(float1,
"reflect", float1, float1);
228 symbolTable.
insertBuiltIn(float2,
"reflect", float2, float2);
229 symbolTable.
insertBuiltIn(float3,
"reflect", float3, float3);
230 symbolTable.
insertBuiltIn(float4,
"reflect", float4, float4);
232 symbolTable.
insertBuiltIn(float1,
"refract", float1, float1, float1);
233 symbolTable.
insertBuiltIn(float2,
"refract", float2, float2, float1);
234 symbolTable.
insertBuiltIn(float3,
"refract", float3, float3, float1);
235 symbolTable.
insertBuiltIn(float4,
"refract", float4, float4, float1);
244 symbolTable.
insertBuiltIn(mat2,
"matrixCompMult", mat2, mat2);
245 symbolTable.
insertBuiltIn(mat3,
"matrixCompMult", mat3, mat3);
246 symbolTable.
insertBuiltIn(mat4,
"matrixCompMult", mat4, mat4);
256 symbolTable.
insertBuiltIn(bool2,
"lessThan", float2, float2);
257 symbolTable.
insertBuiltIn(bool3,
"lessThan", float3, float3);
258 symbolTable.
insertBuiltIn(bool4,
"lessThan", float4, float4);
264 symbolTable.
insertBuiltIn(bool2,
"lessThanEqual", float2, float2);
265 symbolTable.
insertBuiltIn(bool3,
"lessThanEqual", float3, float3);
266 symbolTable.
insertBuiltIn(bool4,
"lessThanEqual", float4, float4);
268 symbolTable.
insertBuiltIn(bool2,
"lessThanEqual", int2, int2);
269 symbolTable.
insertBuiltIn(bool3,
"lessThanEqual", int3, int3);
270 symbolTable.
insertBuiltIn(bool4,
"lessThanEqual", int4, int4);
272 symbolTable.
insertBuiltIn(bool2,
"greaterThan", float2, float2);
273 symbolTable.
insertBuiltIn(bool3,
"greaterThan", float3, float3);
274 symbolTable.
insertBuiltIn(bool4,
"greaterThan", float4, float4);
280 symbolTable.
insertBuiltIn(bool2,
"greaterThanEqual", float2, float2);
281 symbolTable.
insertBuiltIn(bool3,
"greaterThanEqual", float3, float3);
282 symbolTable.
insertBuiltIn(bool4,
"greaterThanEqual", float4, float4);
284 symbolTable.
insertBuiltIn(bool2,
"greaterThanEqual", int2, int2);
285 symbolTable.
insertBuiltIn(bool3,
"greaterThanEqual", int3, int3);
286 symbolTable.
insertBuiltIn(bool4,
"greaterThanEqual", int4, int4);
300 symbolTable.
insertBuiltIn(bool2,
"notEqual", float2, float2);
301 symbolTable.
insertBuiltIn(bool3,
"notEqual", float3, float3);
302 symbolTable.
insertBuiltIn(bool4,
"notEqual", float4, float4);
330 symbolTable.
insertBuiltIn(float4,
"texture2D", sampler2D, float2);
331 symbolTable.
insertBuiltIn(float4,
"texture2DProj", sampler2D, float3);
332 symbolTable.
insertBuiltIn(float4,
"texture2DProj", sampler2D, float4);
333 symbolTable.
insertBuiltIn(float4,
"textureCube", samplerCube, float3);
339 symbolTable.
insertBuiltIn(float4,
"texture2D", samplerExternalOES, float2);
340 symbolTable.
insertBuiltIn(float4,
"texture2DProj", samplerExternalOES, float3);
341 symbolTable.
insertBuiltIn(float4,
"texture2DProj", samplerExternalOES, float4);
348 symbolTable.
insertBuiltIn(float4,
"texture2DRect", sampler2DRect, float2);
349 symbolTable.
insertBuiltIn(float4,
"texture2DRectProj", sampler2DRect, float3);
350 symbolTable.
insertBuiltIn(float4,
"texture2DRectProj", sampler2DRect, float4);
355 symbolTable.
insertBuiltIn(float4,
"texture2D", sampler2D, float2, float1);
356 symbolTable.
insertBuiltIn(float4,
"texture2DProj", sampler2D, float3, float1);
357 symbolTable.
insertBuiltIn(float4,
"texture2DProj", sampler2D, float4, float1);
358 symbolTable.
insertBuiltIn(float4,
"textureCube", samplerCube, float3, float1);
381 symbolTable.
insertBuiltIn(float4,
"texture2DLod", sampler2D, float2, float1);
382 symbolTable.
insertBuiltIn(float4,
"texture2DProjLod", sampler2D, float3, float1);
383 symbolTable.
insertBuiltIn(float4,
"texture2DProjLod", sampler2D, float4, float1);
384 symbolTable.
insertBuiltIn(float4,
"textureCubeLod", samplerCube, float3, float1);
394 fields->push_back(near);
395 fields->push_back(far);
396 fields->push_back(diff);
399 symbolTable.
insert(*depthRangeParameters);
402 symbolTable.
insert(*depthRange);
458 default:
assert(
false &&
"Language not supported");
555 extBehavior[
"GL_OES_standard_derivatives"] =
EBhUndefined;
557 extBehavior[
"GL_OES_EGL_image_external"] =
EBhUndefined;
std::map< std::string, TBehavior > TExtensionBehavior
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
int MaxVertexUniformVectors
const TString & name() const
int ARB_texture_rectangle
int MaxFragmentUniformVectors
int MaxVertexTextureImageUnits
bool insertBuiltIn(TType *rvalue, const char *name, TType *ptype1, TType *ptype2=0, TType *ptype3=0)
bool insert(TSymbol &symbol)
bool insertConstInt(const char *name, int value)
TString * NewPoolTString(const char *s)
void InsertBuiltInFunctions(ShShaderType type, ShShaderSpec spec, const ShBuiltInResources &resources, TSymbolTable &symbolTable)
void IdentifyBuiltIns(ShShaderType type, ShShaderSpec spec, const ShBuiltInResources &resources, TSymbolTable &symbolTable)
void relateToExtension(const char *name, const TString &ext)
int MaxCombinedTextureImageUnits
void relateToOperator(const char *name, TOperator op)
void setQualifier(TQualifier qualifier)
void InitExtensionBehavior(const ShBuiltInResources &resources, TExtensionBehavior &extBehavior)
int OES_EGL_image_external
int FragmentPrecisionHigh
int OES_standard_derivatives
TFieldList * NewPoolTFieldList()