blob: 920c8241a273fcf430974c58f7ee7c93ed808f8c [file] [log] [blame]
// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// *************************************************************
// This file is generated by generate_builtin_symbol_table.py.
// * DO NOT HAND MODIFY *
// *************************************************************
#include "compiler/builtin_symbol_table.h"
#include "compiler/SymbolTable.h"
static void builtin1(TSymbolTable* t, TType* rvalue, const char* name, TType* ptype1, const char* pname1)
{
TFunction* f = new TFunction(new TString(name), *rvalue);
TParameter param = {new TString(pname1), ptype1};
f->addParameter(param);
t->insert(*f);
}
static void builtin2(TSymbolTable* t, TType* rvalue, const char* name, TType* ptype1, const char* pname1, TType* ptype2, const char* pname2)
{
TFunction* f = new TFunction(new TString(name), *rvalue);
TParameter param1 = {new TString(pname1), ptype1};
f->addParameter(param1);
TParameter param2 = {new TString(pname2), ptype2};
f->addParameter(param2);
t->insert(*f);
}
static void builtin3(TSymbolTable* t, TType* rvalue, const char* name, TType* ptype1, const char* pname1, TType* ptype2, const char* pname2, TType* ptype3, const char* pname3)
{
TFunction* f = new TFunction(new TString(name), *rvalue);
TParameter param1 = {new TString(pname1), ptype1};
f->addParameter(param1);
TParameter param2 = {new TString(pname2), ptype2};
f->addParameter(param2);
TParameter param3 = {new TString(pname3), ptype3};
f->addParameter(param3);
t->insert(*f);
}
void InsertBuiltInFunctionsCommon(const ShBuiltInResources& resources, TSymbolTable* t) {
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "radians", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "degrees");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "radians", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "degrees");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "radians", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "degrees");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "radians", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "degrees");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "degrees", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "radians");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "degrees", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "radians");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "degrees", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "radians");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "degrees", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "radians");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "sin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "sin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "sin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "sin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "cos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "cos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "cos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "cos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "tan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "tan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "tan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "tan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "angle");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "asin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "asin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "asin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "asin", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "acos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "acos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "acos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "acos", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y_over_x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y_over_x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y_over_x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "atan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y_over_x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "pow", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "pow", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "pow", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "pow", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "exp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "exp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "exp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "exp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "log", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "log", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "log", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "log", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "exp2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "exp2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "exp2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "exp2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "log2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "log2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "log2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "log2", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "sqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "sqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "sqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "sqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "inversesqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "inversesqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "inversesqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "inversesqrt", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "abs", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "abs", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "abs", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "abs", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "sign", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "sign", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "sign", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "sign", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "floor", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "floor", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "floor", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "floor", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "ceil", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "ceil", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "ceil", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "ceil", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "fract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "fract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "fract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "fract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "mod", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "min", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "max", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "clamp", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "minVal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "maxVal");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "a");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "a");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "a");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "a");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "a");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "a");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "mix", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "a");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "step", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "smoothstep", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "edge1", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "length", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "length", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "length", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "length", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "distance", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "p0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "p1");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "distance", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "p0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "p1");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "distance", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "p0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "p1");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "distance", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "p0", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "p1");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "dot", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "dot", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "dot", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "dot", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "cross", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "normalize", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "normalize", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "normalize", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "normalize", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "faceforward", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "Nref");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "faceforward", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "Nref");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "faceforward", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "Nref");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "faceforward", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "Nref");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "reflect", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "N");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "reflect", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "N");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "reflect", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "N");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "reflect", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "N");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "refract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "eta");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "refract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "eta");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "refract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "eta");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "refract", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "I", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "N", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "eta");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, true, false), "matrixCompMult", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, true, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, true, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, true, false), "matrixCompMult", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, true, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, true, false), "y");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, true, false), "matrixCompMult", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, true, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, true, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "lessThan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "lessThan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "lessThan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "lessThan", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "lessThan", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "lessThan", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "lessThanEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "lessThanEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "lessThanEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "lessThanEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "lessThanEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "lessThanEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "greaterThan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "greaterThan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "greaterThan", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "greaterThan", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "greaterThan", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "greaterThan", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "greaterThanEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "greaterThanEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "greaterThanEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "greaterThanEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "greaterThanEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "greaterThanEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "equal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "equal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "equal", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "equal", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "equal", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "equal", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "equal", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "equal", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "equal", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "notEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "notEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "notEqual", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "notEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "notEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "notEqual", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtInt, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "notEqual", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "x", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "notEqual", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "x", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "y");
builtin2(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "notEqual", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "x", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "y");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 1, false, false), "any", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 1, false, false), "any", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 1, false, false), "any", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 1, false, false), "all", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 1, false, false), "all", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 1, false, false), "all", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "not", new TType(EbtBool, EbpUndefined, EvqGlobal, 2, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "not", new TType(EbtBool, EbpUndefined, EvqGlobal, 3, false, false), "x");
builtin1(t, new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "not", new TType(EbtBool, EbpUndefined, EvqGlobal, 4, false, false), "x");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2D", new TType(EbtSampler2D, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "coord");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DProj", new TType(EbtSampler2D, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "coord");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DProj", new TType(EbtSampler2D, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "coord");
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "textureCube", new TType(EbtSamplerCube, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "coord");
if (resources.OES_EGL_image_external) {
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2D", new TType(EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "coord");
}
if (resources.OES_EGL_image_external) {
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DProj", new TType(EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "coord");
}
if (resources.OES_EGL_image_external) {
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DProj", new TType(EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "coord");
}
if (resources.ARB_texture_rectangle) {
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DRect", new TType(EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "coord");
}
if (resources.ARB_texture_rectangle) {
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DRectProj", new TType(EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "coord");
}
if (resources.ARB_texture_rectangle) {
builtin2(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DRectProj", new TType(EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "coord");
}
}
void InsertBuiltInFunctionsVertex(const ShBuiltInResources& resources, TSymbolTable* t) {
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DLod", new TType(EbtSampler2D, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 2, false, false), "coord", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "lod");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DProjLod", new TType(EbtSampler2D, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "coord", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "lod");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "texture2DProjLod", new TType(EbtSampler2D, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "coord", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "lod");
builtin3(t, new TType(EbtFloat, EbpUndefined, EvqGlobal, 4, false, false), "textureCubeLod", new TType(EbtSamplerCube, EbpUndefined, EvqGlobal, 1, false, false), "sampler", new TType(EbtFloat, EbpUndefined, EvqGlobal, 3, false, false), "coord", new TType(EbtFloat, EbpUndefined, EvqGlobal, 1, false, false), "lod");
}