diff options
author | Roland Scheidegger <sroland@vmware.com> | 2010-05-04 15:58:29 +0200 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2010-05-04 15:58:29 +0200 |
commit | 0ae2f59c0287f4baec6c7de5f2f0fdf736fba26d (patch) | |
tree | ee14bf3e8bba80649541c4e13fc07c60baf6c248 /src/mesa/main | |
parent | 7662e3519bef3802024da3050b886068281e02b1 (diff) | |
parent | 1c920c61764b17fd9fb4a89d2db7355fbe1d7565 (diff) |
Merge commit 'origin/master' into gallium-msaa
Diffstat (limited to 'src/mesa/main')
38 files changed, 11746 insertions, 3298 deletions
diff --git a/src/mesa/main/APIspec.dtd b/src/mesa/main/APIspec.dtd new file mode 100644 index 0000000000..efcfa31f10 --- /dev/null +++ b/src/mesa/main/APIspec.dtd @@ -0,0 +1,52 @@ +<!ELEMENT apispec (template|api)+> + +<!ELEMENT api (category*, function*)> +<!ELEMENT category EMPTY> +<!ELEMENT function EMPTY> + +<!ELEMENT template (proto, desc*)> +<!ELEMENT proto (return, (param|vector)*)> +<!ELEMENT return EMPTY> +<!ELEMENT param EMPTY> +<!ELEMENT vector (param*)> +<!ELEMENT desc ((value|range)*, desc*)> +<!ELEMENT value EMPTY> +<!ELEMENT range EMPTY> + +<!ATTLIST api name NMTOKEN #REQUIRED + implementation (true | false) "false"> +<!ATTLIST category name NMTOKEN #REQUIRED> +<!ATTLIST function name NMTOKEN #REQUIRED + default_prefix NMTOKEN "_mesa_" + external (true | false) "false" + template NMTOKEN #REQUIRED + gltype CDATA #IMPLIED + vector_size NMTOKEN #IMPLIED + expand_vector (true | false) "false" + skip_desc (true | false) "false"> + +<!ATTLIST template name NMTOKEN #REQUIRED + direction (set | get) "set"> + +<!ATTLIST return type CDATA #REQUIRED> +<!ATTLIST param name NMTOKEN #REQUIRED + type CDATA #REQUIRED + hide_if_expanded (true | false) "false" + category NMTOKEN #IMPLIED> +<!ATTLIST vector name NMTOKEN #REQUIRED + type CDATA #REQUIRED + size NMTOKEN #REQUIRED + category NMTOKEN #IMPLIED> + +<!ATTLIST desc name NMTOKEN #REQUIRED + vector_size CDATA #IMPLIED + convert (true | false) #IMPLIED + error NMTOKEN "GL_INVALID_ENUM" + category NMTOKEN #IMPLIED> + +<!ATTLIST value name CDATA #REQUIRED + category NMTOKEN #IMPLIED> +<!ATTLIST range from NMTOKEN #REQUIRED + to NMTOKEN #REQUIRED + base NMTOKEN #IMPLIED + category NMTOKEN #IMPLIED> diff --git a/src/mesa/main/APIspec.py b/src/mesa/main/APIspec.py new file mode 100644 index 0000000000..6947f7301c --- /dev/null +++ b/src/mesa/main/APIspec.py @@ -0,0 +1,617 @@ +#!/usr/bin/python +# +# Copyright (C) 2009 Chia-I Wu <olv@0xlab.org> +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# on the rights to use, copy, modify, merge, publish, distribute, sub +# license, and/or sell copies of the Software, and to permit persons to whom +# the Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +# IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +""" +A parser for APIspec. +""" + +class SpecError(Exception): + """Error in the spec file.""" + + +class Spec(object): + """A Spec is an abstraction of the API spec.""" + + def __init__(self, doc): + self.doc = doc + + self.spec_node = doc.getRootElement() + self.tmpl_nodes = {} + self.api_nodes = {} + self.impl_node = None + + # parse <apispec> + node = self.spec_node.children + while node: + if node.type == "element": + if node.name == "template": + self.tmpl_nodes[node.prop("name")] = node + elif node.name == "api": + self.api_nodes[node.prop("name")] = node + else: + raise SpecError("unexpected node %s in apispec" % + node.name) + node = node.next + + # find an implementation + for name, node in self.api_nodes.iteritems(): + if node.prop("implementation") == "true": + self.impl_node = node + break + if not self.impl_node: + raise SpecError("unable to find an implementation") + + def get_impl(self): + """Return the implementation.""" + return API(self, self.impl_node) + + def get_api(self, name): + """Return an API.""" + return API(self, self.api_nodes[name]) + + +class API(object): + """An API consists of categories and functions.""" + + def __init__(self, spec, api_node): + self.name = api_node.prop("name") + self.is_impl = (api_node.prop("implementation") == "true") + + self.categories = [] + self.functions = [] + + # parse <api> + func_nodes = [] + node = api_node.children + while node: + if node.type == "element": + if node.name == "category": + cat = node.prop("name") + self.categories.append(cat) + elif node.name == "function": + func_nodes.append(node) + else: + raise SpecError("unexpected node %s in api" % node.name) + node = node.next + + # realize functions + for func_node in func_nodes: + tmpl_node = spec.tmpl_nodes[func_node.prop("template")] + try: + func = Function(tmpl_node, func_node, self.is_impl, + self.categories) + except SpecError, e: + func_name = func_node.prop("name") + raise SpecError("failed to parse %s: %s" % (func_name, e)) + self.functions.append(func) + + def match(self, func, conversions={}): + """Find a matching function in the API.""" + match = None + need_conv = False + for f in self.functions: + matched, conv = f.match(func, conversions) + if matched: + match = f + need_conv = conv + # exact match + if not need_conv: + break + return (match, need_conv) + + +class Function(object): + """Parse and realize a <template> node.""" + + def __init__(self, tmpl_node, func_node, force_skip_desc=False, categories=[]): + self.tmpl_name = tmpl_node.prop("name") + self.direction = tmpl_node.prop("direction") + + self.name = func_node.prop("name") + self.prefix = func_node.prop("default_prefix") + self.is_external = (func_node.prop("external") == "true") + + if force_skip_desc: + self._skip_desc = True + else: + self._skip_desc = (func_node.prop("skip_desc") == "true") + + self._categories = categories + + # these attributes decide how the template is realized + self._gltype = func_node.prop("gltype") + if func_node.hasProp("vector_size"): + self._vector_size = int(func_node.prop("vector_size")) + else: + self._vector_size = 0 + self._expand_vector = (func_node.prop("expand_vector") == "true") + + self.return_type = "void" + param_nodes = [] + + # find <proto> + proto_node = tmpl_node.children + while proto_node: + if proto_node.type == "element" and proto_node.name == "proto": + break + proto_node = proto_node.next + if not proto_node: + raise SpecError("no proto") + # and parse it + node = proto_node.children + while node: + if node.type == "element": + if node.name == "return": + self.return_type = node.prop("type") + elif node.name == "param" or node.name == "vector": + if self.support_node(node): + # make sure the node is not hidden + if not (self._expand_vector and + (node.prop("hide_if_expanded") == "true")): + param_nodes.append(node) + else: + raise SpecError("unexpected node %s in proto" % node.name) + node = node.next + + self._init_params(param_nodes) + self._init_descs(tmpl_node, param_nodes) + + def __str__(self): + return "%s %s%s(%s)" % (self.return_type, self.prefix, self.name, + self.param_string(True)) + + def _init_params(self, param_nodes): + """Parse and initialize parameters.""" + self.params = [] + + for param_node in param_nodes: + size = self.param_node_size(param_node) + # when no expansion, vector is just like param + if param_node.name == "param" or not self._expand_vector: + param = Parameter(param_node, self._gltype, size) + self.params.append(param) + continue + + if not size or size > param_node.lsCountNode(): + raise SpecError("could not expand %s with unknown or " + "mismatch sizes" % param.name) + + # expand the vector + expanded_params = [] + child = param_node.children + while child: + if (child.type == "element" and child.name == "param" and + self.support_node(child)): + expanded_params.append(Parameter(child, self._gltype)) + if len(expanded_params) == size: + break + child = child.next + # just in case that lsCountNode counts unknown nodes + if len(expanded_params) < size: + raise SpecError("not enough named parameters") + + self.params.extend(expanded_params) + + def _init_descs(self, tmpl_node, param_nodes): + """Parse and initialize parameter descriptions.""" + self.checker = Checker() + if self._skip_desc: + return + + node = tmpl_node.children + while node: + if node.type == "element" and node.name == "desc": + if self.support_node(node): + # parse <desc> + desc = Description(node, self._categories) + self.checker.add_desc(desc) + node = node.next + + self.checker.validate(self, param_nodes) + + def support_node(self, node): + """Return true if a node is in the supported category.""" + return (not node.hasProp("category") or + node.prop("category") in self._categories) + + def get_param(self, name): + """Return the named parameter.""" + for param in self.params: + if param.name == name: + return param + return None + + def param_node_size(self, param): + """Return the size of a vector.""" + if param.name != "vector": + return 0 + + size = param.prop("size") + if size.isdigit(): + size = int(size) + else: + size = 0 + if not size: + size = self._vector_size + if not size and self._expand_vector: + # return the number of named parameters + size = param.lsCountNode() + return size + + def param_string(self, declaration): + """Return the C code of the parameters.""" + args = [] + if declaration: + for param in self.params: + sep = "" if param.type.endswith("*") else " " + args.append("%s%s%s" % (param.type, sep, param.name)) + if not args: + args.append("void") + else: + for param in self.params: + args.append(param.name) + return ", ".join(args) + + def match(self, other, conversions={}): + """Return true if the functions match, probably with a conversion.""" + if (self.tmpl_name != other.tmpl_name or + self.return_type != other.return_type or + len(self.params) != len(other.params)): + return (False, False) + + need_conv = False + for i in xrange(len(self.params)): + src = other.params[i] + dst = self.params[i] + if (src.is_vector != dst.is_vector or src.size != dst.size): + return (False, False) + if src.type != dst.type: + if dst.base_type() in conversions.get(src.base_type(), []): + need_conv = True + else: + # unable to convert + return (False, False) + + return (True, need_conv) + + +class Parameter(object): + """A parameter of a function.""" + + def __init__(self, param_node, gltype=None, size=0): + self.is_vector = (param_node.name == "vector") + + self.name = param_node.prop("name") + self.size = size + + type = param_node.prop("type") + if gltype: + type = type.replace("GLtype", gltype) + elif type.find("GLtype") != -1: + raise SpecError("parameter %s has unresolved type" % self.name) + + self.type = type + + def base_type(self): + """Return the base GL type by stripping qualifiers.""" + return [t for t in self.type.split(" ") if t.startswith("GL")][0] + + +class Checker(object): + """A checker is the collection of all descriptions on the same level. + Descriptions of the same parameter are concatenated. + """ + + def __init__(self): + self.switches = {} + self.switch_constants = {} + + def add_desc(self, desc): + """Add a description.""" + # TODO allow index to vary + const_attrs = ["index", "error", "convert", "size_str"] + if desc.name not in self.switches: + self.switches[desc.name] = [] + self.switch_constants[desc.name] = {} + for attr in const_attrs: + self.switch_constants[desc.name][attr] = None + + # some attributes, like error code, should be the same for all descs + consts = self.switch_constants[desc.name] + for attr in const_attrs: + if getattr(desc, attr) is not None: + if (consts[attr] is not None and + consts[attr] != getattr(desc, attr)): + raise SpecError("mismatch %s for %s" % (attr, desc.name)) + consts[attr] = getattr(desc, attr) + + self.switches[desc.name].append(desc) + + def validate(self, func, param_nodes): + """Validate the checker against a function.""" + tmp = Checker() + + for switch in self.switches.itervalues(): + valid_descs = [] + for desc in switch: + if desc.validate(func, param_nodes): + valid_descs.append(desc) + # no possible values + if not valid_descs: + return False + for desc in valid_descs: + if not desc._is_noop: + tmp.add_desc(desc) + + self.switches = tmp.switches + self.switch_constants = tmp.switch_constants + return True + + def flatten(self, name=None): + """Return a flat list of all descriptions of the named parameter.""" + flat_list = [] + for switch in self.switches.itervalues(): + for desc in switch: + if not name or desc.name == name: + flat_list.append(desc) + flat_list.extend(desc.checker.flatten(name)) + return flat_list + + def always_check(self, name): + """Return true if the parameter is checked in all possible pathes.""" + if name in self.switches: + return True + + # a param is always checked if any of the switch always checks it + for switch in self.switches.itervalues(): + # a switch always checks it if all of the descs always check it + always = True + for desc in switch: + if not desc.checker.always_check(name): + always = False + break + if always: + return True + return False + + def _c_switch(self, name, indent="\t"): + """Output C switch-statement for the named parameter, for debug.""" + switch = self.switches.get(name, []) + # make sure there are valid values + need_switch = False + for desc in switch: + if desc.values: + need_switch = True + if not need_switch: + return [] + + stmts = [] + var = switch[0].name + if switch[0].index >= 0: + var += "[%d]" % switch[0].index + stmts.append("switch (%s) { /* assume GLenum */" % var) + + for desc in switch: + if desc.values: + for val in desc.values: + stmts.append("case %s:" % val) + for dep_name in desc.checker.switches.iterkeys(): + dep_stmts = [indent + s for s in desc.checker._c_switch(dep_name, indent)] + stmts.extend(dep_stmts) + stmts.append(indent + "break;") + + stmts.append("default:") + stmts.append(indent + "ON_ERROR(%s);" % switch[0].error); + stmts.append(indent + "break;") + stmts.append("}") + + return stmts + + def dump(self, indent="\t"): + """Dump the descriptions in C code.""" + stmts = [] + for name in self.switches.iterkeys(): + c_switch = self._c_switch(name) + print "\n".join(c_switch) + + +class Description(object): + """A description desribes a parameter and its relationship with other + parameters. + """ + + def __init__(self, desc_node, categories=[]): + self._categories = categories + self._is_noop = False + + self.name = desc_node.prop("name") + self.index = -1 + + self.error = desc_node.prop("error") or "GL_INVALID_ENUM" + # vector_size may be C code + self.size_str = desc_node.prop("vector_size") + + self._has_enum = False + self.values = [] + dep_nodes = [] + + # parse <desc> + valid_names = ["value", "range", "desc"] + node = desc_node.children + while node: + if node.type == "element": + if node.name in valid_names: + # ignore nodes that require unsupported categories + if (node.prop("category") and + node.prop("category") not in self._categories): + node = node.next + continue + else: + raise SpecError("unexpected node %s in desc" % node.name) + + if node.name == "value": + val = node.prop("name") + if not self._has_enum and val.startswith("GL_"): + self._has_enum = True + self.values.append(val) + elif node.name == "range": + first = int(node.prop("from")) + last = int(node.prop("to")) + base = node.prop("base") or "" + if not self._has_enum and base.startswith("GL_"): + self._has_enum = True + # expand range + for i in xrange(first, last + 1): + self.values.append("%s%d" % (base, i)) + else: # dependent desc + dep_nodes.append(node) + node = node.next + + # default to convert if there is no enum + self.convert = not self._has_enum + if desc_node.hasProp("convert"): + self.convert = (desc_node.prop("convert") == "true") + + self._init_deps(dep_nodes) + + def _init_deps(self, dep_nodes): + """Parse and initialize dependents.""" + self.checker = Checker() + + for dep_node in dep_nodes: + # recursion! + dep = Description(dep_node, self._categories) + self.checker.add_desc(dep) + + def _search_param_node(self, param_nodes, name=None): + """Search the template parameters for the named node.""" + param_node = None + param_index = -1 + + if not name: + name = self.name + for node in param_nodes: + if name == node.prop("name"): + param_node = node + elif node.name == "vector": + child = node.children + idx = 0 + while child: + if child.type == "element" and child.name == "param": + if name == child.prop("name"): + param_node = node + param_index = idx + break + idx += 1 + child = child.next + if param_node: + break + return (param_node, param_index) + + def _find_final(self, func, param_nodes): + """Find the final parameter.""" + param = func.get_param(self.name) + param_index = -1 + + # the described param is not in the final function + if not param: + # search the template parameters + node, index = self._search_param_node(param_nodes) + if not node: + raise SpecError("invalid desc %s in %s" % + (self.name, func.name)) + + # a named parameter of a vector + if index >= 0: + param = func.get_param(node.prop("name")) + param_index = index + elif node.name == "vector": + # must be an expanded vector, check its size + if self.size_str and self.size_str.isdigit(): + size = int(self.size_str) + expanded_size = func.param_node_size(node) + if size != expanded_size: + return (False, None, -1) + # otherwise, it is a valid, but no-op, description + + return (True, param, param_index) + + def validate(self, func, param_nodes): + """Validate a description against certain function.""" + if self.checker.switches and not self.values: + raise SpecError("no valid values for %s" % self.name) + + valid, param, param_index = self._find_final(func, param_nodes) + if not valid: + return False + + # the description is valid, but the param is gone + # mark it no-op so that it will be skipped + if not param: + self._is_noop = True + return True + + if param.is_vector: + # if param was known, this should have been done in __init__ + if self._has_enum: + self.size_str = "1" + # size mismatch + if (param.size and self.size_str and self.size_str.isdigit() and + param.size != int(self.size_str)): + return False + elif self.size_str: + # only vector accepts vector_size + raise SpecError("vector_size is invalid for %s" % param.name) + + if not self.checker.validate(func, param_nodes): + return False + + # update the description + self.name = param.name + self.index = param_index + + return True + + +def main(): + import libxml2 + + filename = "APIspec.xml" + apinames = ["GLES1.1", "GLES2.0"] + + doc = libxml2.readFile(filename, None, + libxml2.XML_PARSE_DTDLOAD + + libxml2.XML_PARSE_DTDVALID + + libxml2.XML_PARSE_NOBLANKS) + + spec = Spec(doc) + impl = spec.get_impl() + for apiname in apinames: + spec.get_api(apiname) + + doc.freeDoc() + + print "%s is successfully parsed" % filename + + +if __name__ == "__main__": + main() diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml new file mode 100644 index 0000000000..268bd5d3db --- /dev/null +++ b/src/mesa/main/APIspec.xml @@ -0,0 +1,4336 @@ +<?xml version="1.0"?> +<!DOCTYPE apispec SYSTEM "APIspec.dtd"> + +<!-- A function is generated from a template. Multiple functions can be + generated from a single template with different arguments. For example, + glColor3f can be generated from + + <function name="Color3f" template="Color" gltype="GLfloat" vector_size="3" expand_vector="true"/> + + and glColor4iv can be generated from + + <function name="Color4iv" template="Color" gltype="GLint" vector_size="4"/> + + In a template, there are <desc>s that describe the properties of + parameters. A <desc> can enumerate the valid values of a parameter. It + can also specify the error code when an invalid value is given, and etc. + By nesting <desc>s, they can create dependency between parameters. + + A function can be marked as external. It means that the function cannot + be dispatched to the corresponding mesa function, if one exists, directly, + and requires an external implementation. +--> + +<apispec> + +<template name="Color"> + <proto> + <return type="void"/> + <vector name="v" type="const GLtype *" size="dynamic"> + <param name="red" type="GLtype"/> + <param name="green" type="GLtype"/> + <param name="blue" type="GLtype"/> + <param name="alpha" type="GLtype"/> + </vector> + </proto> +</template> + +<template name="ClipPlane"> + <proto> + <return type="void"/> + <param name="plane" type="GLenum"/> + <vector name="equation" type="const GLtype *" size="4"/> + </proto> + + <desc name="plane"> + <range base="GL_CLIP_PLANE" from="0" to="5"/> + </desc> +</template> + +<template name="CullFace"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + </proto> + + <desc name="mode"> + <value name="GL_FRONT"/> + <value name="GL_BACK"/> + <value name="GL_FRONT_AND_BACK"/> + </desc> +</template> + +<template name="Fog"> + <proto> + <return type="void"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="pname"> + <value name="GL_FOG_MODE"/> + <desc name="param"> + <value name="GL_EXP"/> + <value name="GL_EXP2"/> + <value name="GL_LINEAR"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_FOG_COLOR"/> + + <desc name="params" vector_size="4"/> + </desc> + + <desc name="pname"> + <value name="GL_FOG_DENSITY"/> + <value name="GL_FOG_START"/> + <value name="GL_FOG_END"/> + + <desc name="params" vector_size="1"/> + </desc> +</template> + +<template name="FrontFace"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + </proto> + + <desc name="mode"> + <value name="GL_CW"/> + <value name="GL_CCW"/> + </desc> +</template> + +<template name="Hint"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="mode" type="GLenum"/> + </proto> + + <desc name="target" category="GLES1.1"> + <value name="GL_FOG_HINT"/> + <value name="GL_LINE_SMOOTH_HINT"/> + <value name="GL_PERSPECTIVE_CORRECTION_HINT"/> + <value name="GL_POINT_SMOOTH_HINT"/> + </desc> + <desc name="target" category="OES_standard_derivatives"> + <value name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/> + </desc> + <desc name="target"> + <value name="GL_GENERATE_MIPMAP_HINT"/> + </desc> + + <desc name="mode"> + <value name="GL_FASTEST"/> + <value name="GL_NICEST"/> + <value name="GL_DONT_CARE"/> + </desc> +</template> + +<template name="Light"> + <proto> + <return type="void"/> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="light"> + <range base="GL_LIGHT" from="0" to="7"/> + </desc> + + <desc name="pname"> + <value name="GL_AMBIENT"/> + <value name="GL_DIFFUSE"/> + <value name="GL_SPECULAR"/> + <value name="GL_POSITION"/> + + <desc name="params" vector_size="4"/> + </desc> + + <desc name="pname"> + <value name="GL_SPOT_DIRECTION"/> + + <desc name="params" vector_size="3"/> + </desc> + + <desc name="pname"> + <value name="GL_SPOT_EXPONENT"/> + <value name="GL_SPOT_CUTOFF"/> + <value name="GL_CONSTANT_ATTENUATION"/> + <value name="GL_LINEAR_ATTENUATION"/> + <value name="GL_QUADRATIC_ATTENUATION"/> + + <desc name="params" vector_size="1"/> + </desc> +</template> + +<template name="LightModel"> + <proto> + <return type="void"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="pname"> + <value name="GL_LIGHT_MODEL_AMBIENT"/> + + <desc name="params" vector_size="4"/> + </desc> + + <desc name="pname"> + <value name="GL_LIGHT_MODEL_TWO_SIDE"/> + <desc name="param"> + <value name="GL_TRUE"/> + <value name="GL_FALSE"/> + </desc> + </desc> +</template> + +<template name="LineWidth"> + <proto> + <return type="void"/> + <param name="width" type="GLtype"/> + </proto> +</template> + +<template name="Material"> + <proto> + <return type="void"/> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="face"> + <value name="GL_FRONT_AND_BACK"/> + </desc> + + <desc name="pname"> + <value name="GL_AMBIENT"/> + <value name="GL_DIFFUSE"/> + <value name="GL_AMBIENT_AND_DIFFUSE"/> + <value name="GL_SPECULAR"/> + <value name="GL_EMISSION"/> + + <desc name="params" vector_size="4"/> + </desc> + + <desc name="pname"> + <value name="GL_SHININESS"/> + + <desc name="params" vector_size="1"/> + </desc> +</template> + +<template name="PointSize"> + <proto> + <return type="void"/> + <param name="size" type="GLtype"/> + </proto> +</template> + +<template name="PointSizePointer"> + <proto> + <return type="void"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </proto> + + <desc name="type"> + <value name="GL_FLOAT"/> + <value name="GL_FIXED"/> + </desc> +</template> + +<template name="Scissor"> + <proto> + <return type="void"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </proto> +</template> + +<template name="ShadeModel"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + </proto> + + <desc name="mode"> + <value name="GL_FLAT"/> + <value name="GL_SMOOTH"/> + </desc> +</template> + +<template name="TexParameter"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_WRAP_S"/> + <value name="GL_TEXTURE_WRAP_T"/> + <value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/> + + <desc name="param"> + <value name="GL_CLAMP_TO_EDGE"/> + <value name="GL_REPEAT"/> + <value name="GL_MIRRORED_REPEAT" category="GLES2.0"/> + <value name="GL_MIRRORED_REPEAT_OES" category="OES_texture_mirrored_repeat"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_MIN_FILTER"/> + + <desc name="param"> + <value name="GL_NEAREST"/> + <value name="GL_LINEAR"/> + <value name="GL_NEAREST_MIPMAP_NEAREST"/> + <value name="GL_NEAREST_MIPMAP_LINEAR"/> + <value name="GL_LINEAR_MIPMAP_NEAREST"/> + <value name="GL_LINEAR_MIPMAP_LINEAR"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_MAG_FILTER"/> + + <desc name="param"> + <value name="GL_NEAREST"/> + <value name="GL_LINEAR"/> + </desc> + </desc> + + <desc name="pname" category="GLES1.1"> + <value name="GL_GENERATE_MIPMAP"/> + + <desc name="param"> + <value name="GL_TRUE"/> + <value name="GL_FALSE"/> + </desc> + </desc> + + <desc name="pname" category="EXT_texture_filter_anisotropic"> + <value name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/> + <desc name="params" vector_size="1"/> + </desc> + + <desc name="pname" category="OES_draw_texture"> + <value name="GL_TEXTURE_CROP_RECT_OES"/> + <desc name="params" vector_size="4"/> + </desc> +</template> + +<template name="TexImage2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalFormat" type="GLint"/> <!-- should be GLenum --> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="border" type="GLint"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="pixels" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="internalFormat" error="GL_INVALID_VALUE"> + <value name="GL_ALPHA"/> + <value name="GL_RGB"/> + <value name="GL_RGBA"/> + <value name="GL_LUMINANCE"/> + <value name="GL_LUMINANCE_ALPHA"/> + <value name="GL_DEPTH_COMPONENT" category="OES_depth_texture"/> + <value name="GL_DEPTH_STENCIL_OES" category="OES_packed_depth_stencil"/> + </desc> + + <desc name="border" error="GL_INVALID_VALUE"> + <value name="0"/> + </desc> + + <desc name="format"> + <value name="GL_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGB"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_5_6_5"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGBA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> + <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format" category="OES_depth_texture"> + <value name="GL_DEPTH_COMPONENT"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_SHORT"/> + <value name="GL_UNSIGNED_INT"/> + </desc> + </desc> + + <desc name="format" category="OES_packed_depth_stencil"> + <value name="GL_DEPTH_STENCIL_OES"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_INT_24_8_OES"/> + </desc> + </desc> +</template> + +<template name="TexEnv"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="target" category="OES_point_sprite"> + <value name="GL_POINT_SPRITE_OES"/> + + <desc name="pname"> + <value name="GL_COORD_REPLACE_OES"/> + </desc> + </desc> + + <desc name="pname" category="OES_point_sprite"> + <value name="GL_COORD_REPLACE_OES"/> + + <desc name="param"> + <value name="GL_TRUE"/> + <value name="GL_FALSE"/> + </desc> + </desc> + + <desc name="target" category="EXT_texture_lod_bias"> + <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/> + + <desc name="pname"> + <value name="GL_TEXTURE_LOD_BIAS_EXT"/> + </desc> + </desc> + + <desc name="pname" category="EXT_texture_lod_bias"> + <value name="GL_TEXTURE_LOD_BIAS_EXT"/> + <desc name="params" vector_size="1"/> + </desc> + + <desc name="target"> + <value name="GL_TEXTURE_ENV"/> + + <desc name="pname"> + <value name="GL_TEXTURE_ENV_MODE"/> + <value name="GL_COMBINE_RGB"/> + <value name="GL_COMBINE_ALPHA"/> + <value name="GL_RGB_SCALE"/> + <value name="GL_ALPHA_SCALE"/> + <value name="GL_SRC0_RGB"/> + <value name="GL_SRC1_RGB"/> + <value name="GL_SRC2_RGB"/> + <value name="GL_SRC0_ALPHA"/> + <value name="GL_SRC1_ALPHA"/> + <value name="GL_SRC2_ALPHA"/> + <value name="GL_OPERAND0_RGB"/> + <value name="GL_OPERAND1_RGB"/> + <value name="GL_OPERAND2_RGB"/> + <value name="GL_OPERAND0_ALPHA"/> + <value name="GL_OPERAND1_ALPHA"/> + <value name="GL_OPERAND2_ALPHA"/> + <value name="GL_TEXTURE_ENV_COLOR"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_ENV_MODE"/> + + <desc name="param"> + <value name="GL_REPLACE"/> + <value name="GL_MODULATE"/> + <value name="GL_DECAL"/> + <value name="GL_BLEND"/> + <value name="GL_ADD"/> + <value name="GL_COMBINE"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_COMBINE_RGB"/> + + <desc name="param"> + <value name="GL_REPLACE"/> + <value name="GL_MODULATE"/> + <value name="GL_ADD"/> + <value name="GL_ADD_SIGNED"/> + <value name="GL_INTERPOLATE"/> + <value name="GL_SUBTRACT"/> + <value name="GL_DOT3_RGB"/> + <value name="GL_DOT3_RGBA"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_COMBINE_ALPHA"/> + + <desc name="param"> + <value name="GL_REPLACE"/> + <value name="GL_MODULATE"/> + <value name="GL_ADD"/> + <value name="GL_ADD_SIGNED"/> + <value name="GL_INTERPOLATE"/> + <value name="GL_SUBTRACT"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_RGB_SCALE"/> + <value name="GL_ALPHA_SCALE"/> + + <desc name="param" convert="true" error="GL_INVALID_VALUE"> + <value name="1.0"/> + <value name="2.0"/> + <value name="4.0"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_SRC0_RGB"/> + <value name="GL_SRC1_RGB"/> + <value name="GL_SRC2_RGB"/> + <value name="GL_SRC0_ALPHA"/> + <value name="GL_SRC1_ALPHA"/> + <value name="GL_SRC2_ALPHA"/> + + <desc name="param"> + <value name="GL_TEXTURE"/> + <value name="GL_CONSTANT"/> + <value name="GL_PRIMARY_COLOR"/> + <value name="GL_PREVIOUS"/> + + <range base="GL_TEXTURE" from="0" to="31" category="OES_texture_env_crossbar"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_OPERAND0_RGB"/> + <value name="GL_OPERAND1_RGB"/> + <value name="GL_OPERAND2_RGB"/> + + <desc name="param"> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_OPERAND0_ALPHA"/> + <value name="GL_OPERAND1_ALPHA"/> + <value name="GL_OPERAND2_ALPHA"/> + + <desc name="param"> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_ENV_COLOR"/> + + <desc name="params" vector_size="4"/> + </desc> +</template> + +<template name="TexGen"> + <proto> + <return type="void"/> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="coord" category="OES_texture_cube_map"> + <value name="GL_TEXTURE_GEN_STR_OES"/> + </desc> + + <desc name="pname" category="OES_texture_cube_map"> + <value name="GL_TEXTURE_GEN_MODE_OES"/> + + <desc name="param"> + <value name="GL_NORMAL_MAP_OES"/> + <value name="GL_REFLECTION_MAP_OES"/> + </desc> + </desc> +</template> + +<template name="Clear"> + <proto> + <return type="void"/> + <param name="mask" type="GLbitfield"/> + </proto> + + <desc name="mask" error="GL_INVALID_VALUE"> + <value name="0"/> + <value name="(GL_COLOR_BUFFER_BIT)"/> + <value name="(GL_DEPTH_BUFFER_BIT)"/> + <value name="(GL_STENCIL_BUFFER_BIT)"/> + <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)"/> + <value name="(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> + <value name="(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> + <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> + </desc> +</template> + +<template name="ClearColor"> + <proto> + <return type="void"/> + <param name="red" type="GLtype"/> + <param name="green" type="GLtype"/> + <param name="blue" type="GLtype"/> + <param name="alpha" type="GLtype"/> + </proto> +</template> + +<template name="ClearStencil"> + <proto> + <return type="void"/> + <param name="s" type="GLint"/> + </proto> +</template> + +<template name="ClearDepth"> + <proto> + <return type="void"/> + <param name="depth" type="GLtype"/> + </proto> +</template> + +<template name="StencilMask"> + <proto> + <return type="void"/> + <param name="mask" type="GLuint"/> + </proto> +</template> + +<template name="StencilMaskSeparate"> + <proto> + <return type="void"/> + <param name="face" type="GLenum"/> + <param name="mask" type="GLuint"/> + </proto> + + <desc name="face"> + <value name="GL_FRONT"/> + <value name="GL_BACK"/> + <value name="GL_FRONT_AND_BACK"/> + </desc> +</template> + +<template name="ColorMask"> + <proto> + <return type="void"/> + <param name="red" type="GLboolean"/> + <param name="green" type="GLboolean"/> + <param name="blue" type="GLboolean"/> + <param name="alpha" type="GLboolean"/> + </proto> +</template> + +<template name="DepthMask"> + <proto> + <return type="void"/> + <param name="flag" type="GLboolean"/> + </proto> +</template> + +<template name="Disable"> + <proto> + <return type="void"/> + <param name="cap" type="GLenum"/> + </proto> + + <desc name="cap" category="GLES1.1"> + <value name="GL_NORMALIZE"/> + <value name="GL_RESCALE_NORMAL"/> + + <range base="GL_CLIP_PLANE" from="0" to="5"/> + + <value name="GL_FOG"/> + <value name="GL_LIGHTING"/> + <value name="GL_COLOR_MATERIAL"/> + + <range base="GL_LIGHT" from="0" to="7"/> + + <value name="GL_POINT_SMOOTH"/> + <value name="GL_LINE_SMOOTH"/> + <value name="GL_CULL_FACE"/> + <value name="GL_POLYGON_OFFSET_FILL"/> + <value name="GL_MULTISAMPLE"/> + <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> + <value name="GL_SAMPLE_ALPHA_TO_ONE"/> + <value name="GL_SAMPLE_COVERAGE"/> + <value name="GL_TEXTURE_2D"/> + <value name="GL_SCISSOR_TEST"/> + <value name="GL_ALPHA_TEST"/> + <value name="GL_STENCIL_TEST"/> + <value name="GL_DEPTH_TEST"/> + <value name="GL_BLEND"/> + <value name="GL_DITHER"/> + <value name="GL_COLOR_LOGIC_OP"/> + + <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/> + <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="cap" category="GLES2.0"> + <value name="GL_CULL_FACE"/> + <value name="GL_SCISSOR_TEST"/> + <value name="GL_POLYGON_OFFSET_FILL"/> + <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> + <value name="GL_SAMPLE_COVERAGE"/> + <value name="GL_STENCIL_TEST"/> + <value name="GL_DEPTH_TEST"/> + <value name="GL_DITHER"/> + <value name="GL_BLEND"/> + </desc> +</template> + +<!-- it is exactly the same as Disable --> +<template name="Enable"> + <proto> + <return type="void"/> + <param name="cap" type="GLenum"/> + </proto> + + <desc name="cap" category="GLES1.1"> + <value name="GL_NORMALIZE"/> + <value name="GL_RESCALE_NORMAL"/> + + <range base="GL_CLIP_PLANE" from="0" to="5"/> + + <value name="GL_FOG"/> + <value name="GL_LIGHTING"/> + <value name="GL_COLOR_MATERIAL"/> + + <range base="GL_LIGHT" from="0" to="7"/> + + <value name="GL_POINT_SMOOTH"/> + <value name="GL_LINE_SMOOTH"/> + <value name="GL_CULL_FACE"/> + <value name="GL_POLYGON_OFFSET_FILL"/> + <value name="GL_MULTISAMPLE"/> + <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> + <value name="GL_SAMPLE_ALPHA_TO_ONE"/> + <value name="GL_SAMPLE_COVERAGE"/> + <value name="GL_TEXTURE_2D"/> + <value name="GL_SCISSOR_TEST"/> + <value name="GL_ALPHA_TEST"/> + <value name="GL_STENCIL_TEST"/> + <value name="GL_DEPTH_TEST"/> + <value name="GL_BLEND"/> + <value name="GL_DITHER"/> + <value name="GL_COLOR_LOGIC_OP"/> + + <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/> + <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="cap" category="GLES2.0"> + <value name="GL_CULL_FACE"/> + <value name="GL_SCISSOR_TEST"/> + <value name="GL_POLYGON_OFFSET_FILL"/> + <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> + <value name="GL_SAMPLE_COVERAGE"/> + <value name="GL_STENCIL_TEST"/> + <value name="GL_DEPTH_TEST"/> + <value name="GL_DITHER"/> + <value name="GL_BLEND"/> + </desc> +</template> + +<template name="Finish"> + <proto> + <return type="void"/> + </proto> +</template> + +<template name="Flush"> + <proto> + <return type="void"/> + </proto> +</template> + +<template name="AlphaFunc"> + <proto> + <return type="void"/> + <param name="func" type="GLenum"/> + <param name="ref" type="GLtype"/> + </proto> + <desc name="func"> + <value name="GL_NEVER"/> + <value name="GL_LESS"/> + <value name="GL_EQUAL"/> + <value name="GL_LEQUAL"/> + <value name="GL_GREATER"/> + <value name="GL_NOTEQUAL"/> + <value name="GL_GEQUAL"/> + <value name="GL_ALWAYS"/> + </desc> +</template> + +<template name="BlendFunc"> + <proto> + <return type="void"/> + <param name="sfactor" type="GLenum"/> + <param name="dfactor" type="GLenum"/> + </proto> + + <desc name="sfactor"> + <value name="GL_ZERO"/> + <value name="GL_ONE"/> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + <value name="GL_DST_ALPHA"/> + <value name="GL_ONE_MINUS_DST_ALPHA"/> + <value name="GL_DST_COLOR"/> + <value name="GL_ONE_MINUS_DST_COLOR"/> + <value name="GL_SRC_ALPHA_SATURATE"/> + + <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> + </desc> + + <desc name="dfactor"> + <value name="GL_ZERO"/> + <value name="GL_ONE"/> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + <value name="GL_DST_ALPHA"/> + <value name="GL_ONE_MINUS_DST_ALPHA"/> + <value name="GL_DST_COLOR"/> + <value name="GL_ONE_MINUS_DST_COLOR"/> + + <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> + </desc> +</template> + +<template name="LogicOp"> + <proto> + <return type="void"/> + <param name="opcode" type="GLenum"/> + </proto> + + <desc name="opcode"> + <value name="GL_CLEAR"/> + <value name="GL_SET"/> + <value name="GL_COPY"/> + <value name="GL_COPY_INVERTED"/> + <value name="GL_NOOP"/> + <value name="GL_INVERT"/> + <value name="GL_AND"/> + <value name="GL_NAND"/> + <value name="GL_OR"/> + <value name="GL_NOR"/> + <value name="GL_XOR"/> + <value name="GL_EQUIV"/> + <value name="GL_AND_REVERSE"/> + <value name="GL_AND_INVERTED"/> + <value name="GL_OR_REVERSE"/> + <value name="GL_OR_INVERTED"/> + </desc> +</template> + +<template name="StencilFunc"> + <proto> + <return type="void"/> + <param name="func" type="GLenum"/> + <param name="ref" type="GLint"/> + <param name="mask" type="GLuint"/> + </proto> + + <desc name="func"> + <value name="GL_NEVER"/> + <value name="GL_LESS"/> + <value name="GL_LEQUAL"/> + <value name="GL_GREATER"/> + <value name="GL_GEQUAL"/> + <value name="GL_EQUAL"/> + <value name="GL_NOTEQUAL"/> + <value name="GL_ALWAYS"/> + </desc> +</template> + +<template name="StencilFuncSeparate"> + <proto> + <return type="void"/> + <param name="face" type="GLenum"/> + <param name="func" type="GLenum"/> + <param name="ref" type="GLint"/> + <param name="mask" type="GLuint"/> + </proto> + + <desc name="face"> + <value name="GL_FRONT"/> + <value name="GL_BACK"/> + <value name="GL_FRONT_AND_BACK"/> + </desc> + + <desc name="func"> + <value name="GL_NEVER"/> + <value name="GL_LESS"/> + <value name="GL_LEQUAL"/> + <value name="GL_GREATER"/> + <value name="GL_GEQUAL"/> + <value name="GL_EQUAL"/> + <value name="GL_NOTEQUAL"/> + <value name="GL_ALWAYS"/> + </desc> +</template> + +<template name="StencilOp"> + <proto> + <return type="void"/> + <param name="fail" type="GLenum"/> + <param name="zfail" type="GLenum"/> + <param name="zpass" type="GLenum"/> + </proto> + + <desc name="fail"> + <value name="GL_KEEP"/> + <value name="GL_ZERO"/> + <value name="GL_REPLACE"/> + <value name="GL_INCR"/> + <value name="GL_DECR"/> + <value name="GL_INVERT"/> + <value name="GL_INCR_WRAP" category="GLES2.0"/> + <value name="GL_DECR_WRAP" category="GLES2.0"/> + <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/> + <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/> + </desc> + + <desc name="zfail"> + <value name="GL_KEEP"/> + <value name="GL_ZERO"/> + <value name="GL_REPLACE"/> + <value name="GL_INCR"/> + <value name="GL_DECR"/> + <value name="GL_INVERT"/> + <value name="GL_INCR_WRAP" category="GLES2.0"/> + <value name="GL_DECR_WRAP" category="GLES2.0"/> + <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/> + <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/> + </desc> + + <desc name="zpass"> + <value name="GL_KEEP"/> + <value name="GL_ZERO"/> + <value name="GL_REPLACE"/> + <value name="GL_INCR"/> + <value name="GL_DECR"/> + <value name="GL_INVERT"/> + <value name="GL_INCR_WRAP" category="GLES2.0"/> + <value name="GL_DECR_WRAP" category="GLES2.0"/> + <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/> + <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/> + </desc> +</template> + +<template name="StencilOpSeparate"> + <proto> + <return type="void"/> + <param name="face" type="GLenum"/> + <param name="fail" type="GLenum"/> + <param name="zfail" type="GLenum"/> + <param name="zpass" type="GLenum"/> + </proto> + + <desc name="face"> + <value name="GL_FRONT"/> + <value name="GL_BACK"/> + <value name="GL_FRONT_AND_BACK"/> + </desc> + + <desc name="fail"> + <value name="GL_KEEP"/> + <value name="GL_ZERO"/> + <value name="GL_REPLACE"/> + <value name="GL_INCR"/> + <value name="GL_DECR"/> + <value name="GL_INVERT"/> + <value name="GL_INCR_WRAP"/> + <value name="GL_DECR_WRAP"/> + </desc> + + <desc name="zfail"> + <value name="GL_KEEP"/> + <value name="GL_ZERO"/> + <value name="GL_REPLACE"/> + <value name="GL_INCR"/> + <value name="GL_DECR"/> + <value name="GL_INVERT"/> + <value name="GL_INCR_WRAP"/> + <value name="GL_DECR_WRAP"/> + </desc> + + <desc name="zpass"> + <value name="GL_KEEP"/> + <value name="GL_ZERO"/> + <value name="GL_REPLACE"/> + <value name="GL_INCR"/> + <value name="GL_DECR"/> + <value name="GL_INVERT"/> + <value name="GL_INCR_WRAP"/> + <value name="GL_DECR_WRAP"/> + </desc> +</template> + +<template name="DepthFunc"> + <proto> + <return type="void"/> + <param name="func" type="GLenum"/> + </proto> + + <desc name="func"> + <value name="GL_NEVER"/> + <value name="GL_LESS"/> + <value name="GL_EQUAL"/> + <value name="GL_LEQUAL"/> + <value name="GL_GREATER"/> + <value name="GL_NOTEQUAL"/> + <value name="GL_GEQUAL"/> + <value name="GL_ALWAYS"/> + </desc> +</template> + +<template name="PixelStore"> + <proto> + <return type="void"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLtype"/> + </proto> + + <desc name="pname"> + <value name="GL_PACK_ALIGNMENT"/> + <value name="GL_UNPACK_ALIGNMENT"/> + </desc> + + <desc name="param" error="GL_INVALID_VALUE"> + <value name="1"/> + <value name="2"/> + <value name="4"/> + <value name="8"/> + </desc> +</template> + +<template name="ReadPixels" direction="get"> + <proto> + <return type="void"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="pixels" type="GLvoid *"/> + </proto> + + <!-- Technically, only two combinations are actually allowed: + GL_RGBA/GL_UNSIGNED_BYTE, and some implementation-specific + internal preferred combination. I don't know what that is, so I'm + allowing any valid combination for now; the underlying support + should fail when necessary.--> + <desc name="format"> + <value name="GL_ALPHA"/> + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGB"/> + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_5_6_5"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGBA"/> + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> + <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE"/> + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE_ALPHA"/> + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + </desc> + </desc> + + <desc name="format" category="EXT_read_format_bgra"> + <value name="GL_BGRA_EXT"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/> + <value name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/> + </desc> + </desc> +</template> + +<template name="GetClipPlane" direction="get"> + <proto> + <return type="void"/> + <param name="plane" type="GLenum"/> + <vector name="equation" type="GLtype *" size="4"/> + </proto> + + <desc name="plane"> + <range base="GL_CLIP_PLANE" from="0" to="5"/> + </desc> +</template> + +<template name="GetError" direction="get"> + <proto> + <return type="GLenum"/> + </proto> +</template> + +<!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv --> +<template name="GetState" direction="get"> + <proto> + <return type="void"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + <!-- param checking is done in mesa --> +</template> + +<template name="GetLight" direction="get"> + <proto> + <return type="void"/> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="light"> + <range base="GL_LIGHT" from="0" to="7"/> + </desc> + + <desc name="pname"> + <value name="GL_AMBIENT"/> + <value name="GL_DIFFUSE"/> + <value name="GL_SPECULAR"/> + <value name="GL_POSITION"/> + + <desc name="params" vector_size="4"/> + </desc> + + <desc name="pname"> + <value name="GL_SPOT_DIRECTION"/> + + <desc name="params" vector_size="3"/> + </desc> + + <desc name="pname"> + <value name="GL_SPOT_EXPONENT"/> + <value name="GL_SPOT_CUTOFF"/> + <value name="GL_CONSTANT_ATTENUATION"/> + <value name="GL_LINEAR_ATTENUATION"/> + <value name="GL_QUADRATIC_ATTENUATION"/> + + <desc name="params" vector_size="1"/> + </desc> +</template> + +<template name="GetMaterial" direction="get"> + <proto> + <return type="void"/> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="face"> + <value name="GL_FRONT"/> + <value name="GL_BACK"/> + </desc> + + <desc name="pname"> + <value name="GL_SHININESS"/> + <desc name="params" vector_size="1"/> + </desc> + + <desc name="pname"> + <value name="GL_AMBIENT"/> + <value name="GL_DIFFUSE"/> + <value name="GL_AMBIENT_AND_DIFFUSE"/> + <value name="GL_SPECULAR"/> + <value name="GL_EMISSION"/> + + <desc name="params" vector_size="4"/> + </desc> +</template> + +<template name="GetString" direction="get"> + <proto> + <return type="const GLubyte *"/> + <param name="name" type="GLenum"/> + </proto> + + <desc name="name"> + <value name="GL_VENDOR"/> + <value name="GL_RENDERER"/> + <value name="GL_VERSION"/> + <value name="GL_EXTENSIONS"/> + <value name="GL_SHADING_LANGUAGE_VERSION" category="GLES2.0"/> + </desc> +</template> + +<template name="GetTexEnv" direction="get"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="target" category="OES_point_sprite"> + <value name="GL_POINT_SPRITE_OES"/> + <desc name="pname"> + <value name="GL_COORD_REPLACE_OES"/> + </desc> + </desc> + + <desc name="pname" category="OES_point_sprite"> + <value name="GL_COORD_REPLACE_OES"/> + <desc name="params" vector_size="1" convert="false"/> + </desc> + + <desc name="target" category="EXT_texture_lod_bias"> + <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/> + + <desc name="pname"> + <value name="GL_TEXTURE_LOD_BIAS_EXT"/> + </desc> + </desc> + + <desc name="pname" category="EXT_texture_lod_bias"> + <value name="GL_TEXTURE_LOD_BIAS_EXT"/> + <desc name="params" vector_size="1"/> + </desc> + + <desc name="target"> + <value name="GL_TEXTURE_ENV"/> + + <desc name="pname"> + <value name="GL_TEXTURE_ENV_COLOR"/> + <value name="GL_RGB_SCALE"/> + <value name="GL_ALPHA_SCALE"/> + <value name="GL_TEXTURE_ENV_MODE"/> + <value name="GL_COMBINE_RGB"/> + <value name="GL_COMBINE_ALPHA"/> + <value name="GL_SRC0_RGB"/> + <value name="GL_SRC1_RGB"/> + <value name="GL_SRC2_RGB"/> + <value name="GL_SRC0_ALPHA"/> + <value name="GL_SRC1_ALPHA"/> + <value name="GL_SRC2_ALPHA"/> + <value name="GL_OPERAND0_RGB"/> + <value name="GL_OPERAND1_RGB"/> + <value name="GL_OPERAND2_RGB"/> + <value name="GL_OPERAND0_ALPHA"/> + <value name="GL_OPERAND1_ALPHA"/> + <value name="GL_OPERAND2_ALPHA"/> + </desc> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_ENV_COLOR"/> + <desc name="params" vector_size="4"/> + </desc> + + <desc name="pname"> + <value name="GL_RGB_SCALE"/> + <value name="GL_ALPHA_SCALE"/> + + <desc name="params" vector_size="1"/> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_ENV_MODE"/> + <value name="GL_COMBINE_RGB"/> + <value name="GL_COMBINE_ALPHA"/> + <value name="GL_SRC0_RGB"/> + <value name="GL_SRC1_RGB"/> + <value name="GL_SRC2_RGB"/> + <value name="GL_SRC0_ALPHA"/> + <value name="GL_SRC1_ALPHA"/> + <value name="GL_SRC2_ALPHA"/> + <value name="GL_OPERAND0_RGB"/> + <value name="GL_OPERAND1_RGB"/> + <value name="GL_OPERAND2_RGB"/> + <value name="GL_OPERAND0_ALPHA"/> + <value name="GL_OPERAND1_ALPHA"/> + <value name="GL_OPERAND2_ALPHA"/> + + <desc name="params" vector_size="1" convert="false"/> + </desc> +</template> + +<template name="GetTexGen" direction="get"> + <proto> + <return type="void"/> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="coord"> + <value name="GL_TEXTURE_GEN_STR_OES"/> + </desc> + <desc name="pname"> + <value name="GL_TEXTURE_GEN_MODE_OES"/> + <desc name="params" vector_size="1" convert="false"/> + </desc> +</template> + +<template name="GetTexParameter" direction="get"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + </desc> + + <desc name="pname"> + <value name="GL_TEXTURE_WRAP_S"/> + <value name="GL_TEXTURE_WRAP_T"/> + <value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_MIN_FILTER"/> + <value name="GL_TEXTURE_MAG_FILTER"/> + <value name="GL_GENERATE_MIPMAP" category="GLES1.1"/> + + <desc name="params" vector_size="1" convert="false"/> + </desc> + + <desc name="pname" category="OES_draw_texture"> + <value name="GL_TEXTURE_CROP_RECT_OES"/> + <desc name="params" vector_size="4"/> + </desc> +</template> + +<template name="IsEnabled" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="cap" type="GLenum"/> + </proto> + + <desc name="cap" category="GLES1.1"> + <value name="GL_NORMALIZE"/> + <value name="GL_RESCALE_NORMAL"/> + + <range base="GL_CLIP_PLANE" from="0" to="5"/> + + <value name="GL_FOG"/> + <value name="GL_LIGHTING"/> + <value name="GL_COLOR_MATERIAL"/> + + <range base="GL_LIGHT" from="0" to="7"/> + + <value name="GL_POINT_SMOOTH"/> + <value name="GL_LINE_SMOOTH"/> + <value name="GL_CULL_FACE"/> + <value name="GL_POLYGON_OFFSET_FILL"/> + <value name="GL_MULTISAMPLE"/> + <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> + <value name="GL_SAMPLE_ALPHA_TO_ONE"/> + <value name="GL_SAMPLE_COVERAGE"/> + <value name="GL_TEXTURE_2D"/> + <value name="GL_SCISSOR_TEST"/> + <value name="GL_ALPHA_TEST"/> + <value name="GL_STENCIL_TEST"/> + <value name="GL_DEPTH_TEST"/> + <value name="GL_BLEND"/> + <value name="GL_DITHER"/> + <value name="GL_COLOR_LOGIC_OP"/> + + <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + + <value name="GL_VERTEX_ARRAY"/> + <value name="GL_NORMAL_ARRAY"/> + <value name="GL_COLOR_ARRAY"/> + <value name="GL_TEXTURE_COORD_ARRAY"/> + <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> + <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> + <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> + </desc> + + <desc name="cap" category="GLES2.0"> + <value name="GL_CULL_FACE"/> + <value name="GL_SCISSOR_TEST"/> + <value name="GL_POLYGON_OFFSET_FILL"/> + <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> + <value name="GL_SAMPLE_COVERAGE"/> + <value name="GL_STENCIL_TEST"/> + <value name="GL_DEPTH_TEST"/> + <value name="GL_DITHER"/> + <value name="GL_BLEND"/> + </desc> +</template> + +<template name="DepthRange"> + <proto> + <return type="void"/> + <param name="zNear" type="GLtype"/> + <param name="zFar" type="GLtype"/> + </proto> +</template> + +<template name="Frustum"> + <proto> + <return type="void"/> + <param name="left" type="GLtype"/> + <param name="right" type="GLtype"/> + <param name="bottom" type="GLtype"/> + <param name="top" type="GLtype"/> + <param name="zNear" type="GLtype"/> + <param name="zFar" type="GLtype"/> + </proto> +</template> + +<template name="LoadIdentity"> + <proto> + <return type="void"/> + </proto> +</template> + +<template name="LoadMatrix"> + <proto> + <return type="void"/> + <vector name="m" type="const GLtype *" size="16"/> + </proto> +</template> + +<template name="MatrixMode"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + </proto> + + <desc name="mode"> + <value name="GL_MODELVIEW"/> + <value name="GL_PROJECTION"/> + <value name="GL_TEXTURE"/> + <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> + </desc> +</template> + +<template name="MultMatrix"> + <proto> + <return type="void"/> + <vector name="m" type="const GLtype *" size="16"/> + </proto> +</template> + +<template name="Ortho"> + <proto> + <return type="void"/> + <param name="left" type="GLtype"/> + <param name="right" type="GLtype"/> + <param name="bottom" type="GLtype"/> + <param name="top" type="GLtype"/> + <param name="zNear" type="GLtype"/> + <param name="zFar" type="GLtype"/> + </proto> +</template> + +<template name="PopMatrix"> + <proto> + <return type="void"/> + </proto> +</template> + +<template name="PushMatrix"> + <proto> + <return type="void"/> + </proto> +</template> + +<template name="Rotate"> + <proto> + <return type="void"/> + <param name="angle" type="GLtype"/> + <param name="x" type="GLtype"/> + <param name="y" type="GLtype"/> + <param name="z" type="GLtype"/> + </proto> +</template> + +<template name="Scale"> + <proto> + <return type="void"/> + <param name="x" type="GLtype"/> + <param name="y" type="GLtype"/> + <param name="z" type="GLtype"/> + </proto> +</template> + +<template name="Translate"> + <proto> + <return type="void"/> + <param name="x" type="GLtype"/> + <param name="y" type="GLtype"/> + <param name="z" type="GLtype"/> + </proto> +</template> + +<template name="Viewport"> + <proto> + <return type="void"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </proto> +</template> + +<template name="ColorPointer"> + <proto> + <return type="void"/> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </proto> + + <desc name="size" error="GL_INVALID_VALUE"> + <value name="4"/> + </desc> + + <desc name="type"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT"/> + <value name="GL_FIXED"/> + <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> + </desc> +</template> + +<template name="DisableClientState"> + <proto> + <return type="void"/> + <param name="array" type="GLenum"/> + </proto> + + <desc name="array"> + <value name="GL_VERTEX_ARRAY"/> + <value name="GL_NORMAL_ARRAY"/> + <value name="GL_COLOR_ARRAY"/> + <value name="GL_TEXTURE_COORD_ARRAY"/> + <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> + <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> + <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> + </desc> +</template> + +<template name="DrawArrays"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + <param name="first" type="GLint"/> + <param name="count" type="GLsizei"/> + </proto> + + <desc name="mode"> + <value name="GL_POINTS"/> + <value name="GL_LINES"/> + <value name="GL_LINE_LOOP"/> + <value name="GL_LINE_STRIP"/> + <value name="GL_TRIANGLES"/> + <value name="GL_TRIANGLE_STRIP"/> + <value name="GL_TRIANGLE_FAN"/> + </desc> +</template> + +<template name="DrawElements"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + <param name="count" type="GLsizei"/> + <param name="type" type="GLenum"/> + <param name="indices" type="const GLvoid *"/> + </proto> + + <desc name="mode"> + <value name="GL_POINTS"/> + <value name="GL_LINES"/> + <value name="GL_LINE_LOOP"/> + <value name="GL_LINE_STRIP"/> + <value name="GL_TRIANGLES"/> + <value name="GL_TRIANGLE_STRIP"/> + <value name="GL_TRIANGLE_FAN"/> + </desc> + + <desc name="type"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT"/> + <!-- GL_UNSIGNED_INT is not defined in GLES1.1 headers --> + <value name="(0x1405 /* GL_UNSIGNED_INT */)" category="OES_element_index_uint"/> + </desc> +</template> + +<template name="EnableClientState"> + <proto> + <return type="void"/> + <param name="array" type="GLenum"/> + </proto> + + <desc name="array"> + <value name="GL_VERTEX_ARRAY"/> + <value name="GL_NORMAL_ARRAY"/> + <value name="GL_COLOR_ARRAY"/> + <value name="GL_TEXTURE_COORD_ARRAY"/> + <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> + <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> + <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> + </desc> +</template> + +<template name="GetPointer" direction="get"> + <proto> + <return type="void"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLvoid **" size="dynamic"/> + </proto> + + <desc name="pname"> + <value name="GL_VERTEX_ARRAY_POINTER"/> + <value name="GL_NORMAL_ARRAY_POINTER"/> + <value name="GL_COLOR_ARRAY_POINTER"/> + <value name="GL_TEXTURE_COORD_ARRAY_POINTER"/> + <value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/> + <value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/> + <value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/> + </desc> +</template> + +<template name="Normal"> + <proto> + <return type="void"/> + <vector name="v" type="const GLtype *" size="3"> + <param name="nx" type="GLtype"/> + <param name="ny" type="GLtype"/> + <param name="nz" type="GLtype"/> + </vector> + </proto> +</template> + +<template name="NormalPointer"> + <proto> + <return type="void"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </proto> + + <desc name="type"> + <value name="GL_BYTE"/> + <value name="GL_SHORT"/> + <value name="GL_FLOAT"/> + <value name="GL_FIXED"/> + <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> + </desc> +</template> + +<template name="TexCoordPointer"> + <proto> + <return type="void"/> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </proto> + + <desc name="size" error="GL_INVALID_VALUE"> + <value name="2"/> + <value name="3"/> + <value name="4"/> + </desc> + + <desc name="type"> + <value name="GL_BYTE"/> + <value name="GL_SHORT"/> + <value name="GL_FLOAT"/> + <value name="GL_FIXED"/> + <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> + </desc> +</template> + +<template name="VertexPointer"> + <proto> + <return type="void"/> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </proto> + + <desc name="size" error="GL_INVALID_VALUE"> + <value name="2"/> + <value name="3"/> + <value name="4"/> + </desc> + + <desc name="type"> + <value name="GL_BYTE"/> + <value name="GL_SHORT"/> + <value name="GL_FLOAT"/> + <value name="GL_FIXED"/> + <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> + </desc> +</template> + +<template name="PolygonOffset"> + <proto> + <return type="void"/> + <param name="factor" type="GLtype"/> + <param name="units" type="GLtype"/> + </proto> +</template> + +<template name="CopyTexImage2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalFormat" type="GLenum"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="border" type="GLint"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="internalFormat" error="GL_INVALID_VALUE"> + <value name="GL_ALPHA"/> + <value name="GL_RGB"/> + <value name="GL_RGBA"/> + <value name="GL_LUMINANCE"/> + <value name="GL_LUMINANCE_ALPHA"/> + </desc> + + <desc name="border" error="GL_INVALID_VALUE"> + <value name="0"/> + </desc> +</template> + +<template name="CopyTexSubImage2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> +</template> + +<template name="TexSubImage2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="pixels" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="format"> + <value name="GL_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGB"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_5_6_5"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGBA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> + <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format" category="OES_depth_texture"> + <value name="GL_DEPTH_COMPONENT"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_SHORT"/> + <value name="GL_UNSIGNED_INT"/> + </desc> + </desc> + + <desc name="format" category="OES_packed_depth_stencil"> + <value name="GL_DEPTH_STENCIL_OES"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_INT_24_8_OES"/> + </desc> + </desc> +</template> + +<template name="BindTexture"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="texture" type="GLuint"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + </desc> +</template> + +<template name="DeleteTextures"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="textures" type="const GLuint *"/> + </proto> +</template> + +<template name="GenTextures" direction="get"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="textures" type="GLuint *"/> + </proto> +</template> + +<template name="IsTexture" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="texture" type="GLuint"/> + </proto> +</template> + +<template name="BlendColor"> + <proto> + <return type="void"/> + <param name="red" type="GLtype"/> + <param name="green" type="GLtype"/> + <param name="blue" type="GLtype"/> + <param name="alpha" type="GLtype"/> + </proto> +</template> + +<template name="BlendEquation"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + </proto> + + <desc name="mode"> + <value name="GL_FUNC_ADD" category="GLES2.0"/> + <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/> + <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/> + <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/> + <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/> + <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/> + + <value name="GL_MIN_EXT" category="EXT_blend_minmax"/> + <value name="GL_MAX_EXT" category="EXT_blend_minmax"/> + </desc> +</template> + +<template name="BlendEquationSeparate"> + <proto> + <return type="void"/> + <param name="modeRGB" type="GLenum"/> + <param name="modeAlpha" type="GLenum"/> + </proto> + + <desc name="modeRGB"> + <value name="GL_FUNC_ADD" category="GLES2.0"/> + <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/> + <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/> + <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/> + <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/> + <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/> + + <value name="GL_MIN_EXT" category="EXT_blend_minmax"/> + <value name="GL_MAX_EXT" category="EXT_blend_minmax"/> + </desc> + + <desc name="modeAlpha"> + <value name="GL_FUNC_ADD" category="GLES2.0"/> + <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/> + <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/> + <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/> + <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/> + <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/> + + <value name="GL_MIN_EXT" category="EXT_blend_minmax"/> + <value name="GL_MAX_EXT" category="EXT_blend_minmax"/> + </desc> +</template> + +<template name="TexImage3D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="border" type="GLint"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="pixels" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_3D_OES"/> + </desc> + + <desc name="internalFormat"> + <value name="GL_ALPHA"/> + <value name="GL_RGB"/> + <value name="GL_RGBA"/> + <value name="GL_LUMINANCE"/> + <value name="GL_LUMINANCE_ALPHA"/> + </desc> + + <desc name="format"> + <value name="GL_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGB"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_5_6_5"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGBA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> + <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> +</template> + +<template name="TexSubImage3D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="zoffset" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="pixels" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_3D_OES"/> + </desc> + + <desc name="format"> + <value name="GL_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGB"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_5_6_5"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_RGBA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> + <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> + + <desc name="format"> + <value name="GL_LUMINANCE_ALPHA"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_FLOAT" category="OES_texture_float"/> + <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> + </desc> + </desc> +</template> + +<template name="CopyTexSubImage3D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="zoffset" type="GLint"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_3D_OES"/> + </desc> +</template> + +<template name="MultiTexCoord"> + <proto> + <return type="void"/> + <param name="texture" type="GLenum"/> + <vector name="v" type="const GLtype *" size="dynamic"> + <param name="s" type="GLtype"/> + <param name="t" type="GLtype"/> + <param name="r" type="GLtype"/> + <param name="q" type="GLtype"/> + </vector> + </proto> + + <desc name="texture"> + <range base="GL_TEXTURE" from="0" to="31"/> + </desc> +</template> + +<template name="CompressedTexImage3D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="border" type="GLint"/> + <param name="imagesize" type="GLsizei"/> + <param name="data" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_3D_OES"/> + </desc> + + <desc name="internalFormat"> + <value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/> + <value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/> + <value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/> + <value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> + <value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> + </desc> +</template> + +<template name="CompressedTexSubImage3D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="zoffset" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="imagesize" type="GLsizei"/> + <param name="data" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_3D_OES"/> + </desc> +</template> + +<template name="ActiveTexture"> + <proto> + <return type="void"/> + <param name="texture" type="GLenum"/> + </proto> + + <desc name="texture"> + <range base="GL_TEXTURE" from="0" to="31"/> + </desc> +</template> + +<template name="ClientActiveTexture"> + <proto> + <return type="void"/> + <param name="texture" type="GLenum"/> + </proto> + + <desc name="texture"> + <range base="GL_TEXTURE" from="0" to="31"/> + </desc> +</template> + +<template name="SampleCoverage"> + <proto> + <return type="void"/> + <param name="value" type="GLtype"/> + <param name="invert" type="GLboolean"/> + </proto> +</template> + +<template name="CompressedTexImage2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="border" type="GLint"/> + <param name="imageSize" type="GLsizei"/> + <param name="data" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="internalFormat"> + <value name="GL_ETC1_RGB8_OES" category="OES_compressed_ETC1_RGB8_texture"/> + + <value name="GL_PALETTE4_RGB8_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE4_RGBA8_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE4_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE4_RGBA4_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE4_RGB5_A1_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE8_RGB8_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE8_RGBA8_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE8_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE8_RGBA4_OES" category="OES_compressed_paletted_texture"/> + <value name="GL_PALETTE8_RGB5_A1_OES" category="OES_compressed_paletted_texture"/> + + <value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/> + <value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/> + + <value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/> + <value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> + <value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> + + <value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> + <value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> + </desc> + + <desc name="border" error="GL_INVALID_VALUE"> + <value name="0"/> + </desc> +</template> + +<template name="CompressedTexSubImage2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="imageSize" type="GLsizei"/> + <param name="data" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> + + <desc name="format"> + <value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> + <value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> + </desc> +</template> + +<template name="BlendFuncSeparate"> + <proto> + <return type="void"/> + <param name="srcRGB" type="GLenum"/> + <param name="dstRGB" type="GLenum"/> + <param name="srcAlpha" type="GLenum"/> + <param name="dstAlpha" type="GLenum"/> + </proto> + + <desc name="srcRGB"> + <value name="GL_ZERO"/> + <value name="GL_ONE"/> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + <value name="GL_DST_ALPHA"/> + <value name="GL_ONE_MINUS_DST_ALPHA"/> + <value name="GL_DST_COLOR"/> + <value name="GL_ONE_MINUS_DST_COLOR"/> + <value name="GL_SRC_ALPHA_SATURATE"/> + + <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> + </desc> + + <desc name="dstRGB"> + <value name="GL_ZERO"/> + <value name="GL_ONE"/> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + <value name="GL_DST_ALPHA"/> + <value name="GL_ONE_MINUS_DST_ALPHA"/> + <value name="GL_DST_COLOR"/> + <value name="GL_ONE_MINUS_DST_COLOR"/> + + <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> + </desc> + + <desc name="srcAlpha"> + <value name="GL_ZERO"/> + <value name="GL_ONE"/> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + <value name="GL_DST_ALPHA"/> + <value name="GL_ONE_MINUS_DST_ALPHA"/> + <value name="GL_DST_COLOR"/> + <value name="GL_ONE_MINUS_DST_COLOR"/> + <value name="GL_SRC_ALPHA_SATURATE"/> + + <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> + </desc> + + <desc name="dstAlpha"> + <value name="GL_ZERO"/> + <value name="GL_ONE"/> + <value name="GL_SRC_COLOR"/> + <value name="GL_ONE_MINUS_SRC_COLOR"/> + <value name="GL_SRC_ALPHA"/> + <value name="GL_ONE_MINUS_SRC_ALPHA"/> + <value name="GL_DST_ALPHA"/> + <value name="GL_ONE_MINUS_DST_ALPHA"/> + <value name="GL_DST_COLOR"/> + <value name="GL_ONE_MINUS_DST_COLOR"/> + + <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> + <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> + <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> + </desc> +</template> + +<template name="PointParameter"> + <proto> + <return type="void"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="const GLtype *" size="dynamic"> + <param name="param" type="GLtype"/> + </vector> + </proto> + + <desc name="pname"> + <value name="GL_POINT_SIZE_MIN"/> + <value name="GL_POINT_SIZE_MAX"/> + <value name="GL_POINT_FADE_THRESHOLD_SIZE"/> + + <desc name="params" vector_size="1"/> + </desc> + + <desc name="pname"> + <value name="GL_POINT_DISTANCE_ATTENUATION"/> + <desc name="params" vector_size="3"/> + </desc> +</template> + +<template name="VertexAttrib"> + <proto> + <return type="void"/> + <param name="index" type="GLuint"/> + <vector name="v" type="const GLtype *" size="dynamic"> + <param name="x" type="GLtype"/> + <param name="y" type="GLtype"/> + <param name="z" type="GLtype"/> + <param name="w" type="GLtype"/> + </vector> + </proto> +</template> + +<template name="VertexAttribPointer"> + <proto> + <return type="void"/> + <param name="index" type="GLuint"/> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="normalized" type="GLboolean"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </proto> + + <desc name="size" error="GL_INVALID_VALUE"> + <value name="1"/> + <value name="2"/> + <value name="3"/> + <value name="4"/> + </desc> + + <desc name="type" error="GL_INVALID_VALUE"> + <value name="GL_BYTE"/> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_SHORT"/> + <value name="GL_UNSIGNED_SHORT"/> + <value name="GL_FLOAT"/> + <value name="GL_FIXED"/> + <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> + <value name="GL_UNSIGNED_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/> + <value name="GL_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/> + </desc> + + <desc name="type" category="OES_vertex_type_10_10_10_2"> + <value name="GL_UNSIGNED_INT_10_10_10_2_OES"/> + <value name="GL_INT_10_10_10_2_OES"/> + + <desc name="size"> + <value name="3"/> + <value name="4"/> + </desc> + </desc> +</template> + +<template name="EnableVertexAttribArray"> + <proto> + <return type="void"/> + <param name="index" type="GLuint"/> + </proto> +</template> + +<template name="DisableVertexAttribArray"> + <proto> + <return type="void"/> + <param name="index" type="GLuint"/> + </proto> +</template> + +<template name="IsProgram" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="program" type="GLuint"/> + </proto> +</template> + +<template name="GetProgram" direction="get"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="pname"> + <value name="GL_DELETE_STATUS"/> + <value name="GL_LINK_STATUS"/> + <value name="GL_VALIDATE_STATUS"/> + <value name="GL_INFO_LOG_LENGTH"/> + <value name="GL_ATTACHED_SHADERS"/> + <value name="GL_ACTIVE_ATTRIBUTES"/> + <value name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/> + <value name="GL_ACTIVE_UNIFORMS"/> + <value name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/> + <value name="GL_PROGRAM_BINARY_LENGTH_OES" category="OES_get_program_binary"/> + + <desc name="params" convert="false"/> + </desc> +</template> + +<template name="GetVertexAttrib" direction="get"> + <proto> + <return type="void"/> + <param name="index" type="GLuint"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="pname"> + <value name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/> + <value name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/> + <value name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/> + <value name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/> + <value name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/> + <value name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/> + + <desc name="params" vector_size="1" convert="false"/> + </desc> + + <desc name="pname"> + <value name="GL_CURRENT_VERTEX_ATTRIB"/> + <desc name="params" vector_size="16?" convert="false"/> + </desc> +</template> + +<template name="GetVertexAttribPointer" direction="get"> + <proto> + <return type="void"/> + <param name="index" type="GLuint"/> + <param name="pname" type="GLenum"/> + <vector name="pointer" type="GLvoid **" size="dynamic"/> + </proto> + + <desc name="pname"> + <value name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/> + </desc> +</template> + +<template name="GetBufferPointer" direction="get"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLvoid **" size="dynamic"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> + + <desc name="pname"> + <value name="GL_BUFFER_MAP_POINTER_OES"/> + </desc> +</template> + +<template name="MapBuffer" direction="get"> + <proto> + <return type="void *"/> + <param name="target" type="GLenum"/> + <param name="access" type="GLenum"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> + + <desc name="access"> + <value name="GL_WRITE_ONLY_OES"/> + </desc> +</template> + +<template name="UnmapBuffer" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="target" type="GLenum"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> +</template> + +<template name="BindBuffer"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="buffer" type="GLuint"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> +</template> + +<template name="BufferData"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="size" type="GLsizeiptr"/> + <param name="data" type="const GLvoid *"/> + <param name="usage" type="GLenum"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> + + <desc name="usage"> + <value name="GL_STATIC_DRAW"/> + <value name="GL_DYNAMIC_DRAW"/> + <value name="GL_STREAM_DRAW" category="GLES2.0"/> + </desc> +</template> + +<template name="BufferSubData"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="offset" type="GLintptr"/> + <param name="size" type="GLsizeiptr"/> + <param name="data" type="const GLvoid *"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> +</template> + +<template name="DeleteBuffers"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="buffer" type="const GLuint *"/> + </proto> +</template> + +<template name="GenBuffers" direction="get"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="buffer" type="GLuint *"/> + </proto> +</template> + +<template name="GetBufferParameter" direction="get"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="target"> + <value name="GL_ARRAY_BUFFER"/> + <value name="GL_ELEMENT_ARRAY_BUFFER"/> + </desc> + + <desc name="pname"> + <value name="GL_BUFFER_SIZE"/> + <value name="GL_BUFFER_USAGE"/> + <value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/> + <value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/> + </desc> +</template> + +<template name="IsBuffer" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="buffer" type="GLuint"/> + </proto> +</template> + +<template name="CreateShader"> + <proto> + <return type="GLuint"/> + <param name="type" type="GLenum"/> + </proto> + + <desc name="type"> + <value name="GL_VERTEX_SHADER"/> + <value name="GL_FRAGMENT_SHADER"/> + </desc> +</template> + +<template name="ShaderSource"> + <proto> + <return type="void"/> + <param name="shader" type="GLuint"/> + <param name="count" type="GLsizei"/> + <param name="string" type="const GLchar **"/> + <param name="length" type="const int *"/> + </proto> +</template> + +<template name="CompileShader"> + <proto> + <return type="void"/> + <param name="shader" type="GLuint"/> + </proto> +</template> + +<template name="ReleaseShaderCompiler"> + <proto> + <return type="void"/> + </proto> +</template> + +<template name="DeleteShader"> + <proto> + <return type="void"/> + <param name="shader" type="GLuint"/> + </proto> +</template> + +<template name="ShaderBinary"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="shaders" type="const GLuint *"/> + <param name="binaryformat" type="GLenum"/> + <param name="binary" type="const GLvoid *"/> + <param name="length" type="GLsizei"/> + </proto> +</template> + +<template name="CreateProgram"> + <proto> + <return type="GLuint"/> + </proto> +</template> + +<template name="AttachShader"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="shader" type="GLuint"/> + </proto> +</template> + +<template name="DetachShader"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="shader" type="GLuint"/> + </proto> +</template> + +<template name="LinkProgram"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + </proto> +</template> + +<template name="UseProgram"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + </proto> +</template> + +<template name="DeleteProgram"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + </proto> +</template> + +<template name="GetActiveAttrib" direction="get"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="index" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="size" type="GLint *"/> + <param name="type" type="GLenum *"/> + <param name="name" type="GLchar *"/> + </proto> +</template> + +<template name="GetAttribLocation" direction="get"> + <proto> + <return type="GLint"/> + <param name="program" type="GLuint"/> + <param name="name" type="const char *"/> + </proto> +</template> + +<template name="BindAttribLocation"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="index" type="GLuint"/> + <param name="name" type="const char *"/> + </proto> +</template> + +<template name="GetUniformLocation" direction="get"> + <proto> + <return type="GLint"/> + <param name="program" type="GLuint"/> + <param name="name" type="const char *"/> + </proto> +</template> + +<template name="GetActiveUniform" direction="get"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="index" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="size" type="GLint *"/> + <param name="type" type="GLenum *"/> + <param name="name" type="GLchar *"/> + </proto> +</template> + +<template name="Uniform"> + <proto> + <return type="void"/> + <param name="location" type="GLint"/> + <param name="count" type="GLsizei" hide_if_expanded="true"/> + <vector name="values" type="const GLtype *" size="dynamic"> + <param name="v0" type="GLtype"/> + <param name="v1" type="GLtype"/> + <param name="v2" type="GLtype"/> + <param name="v3" type="GLtype"/> + </vector> + </proto> +</template> + +<template name="UniformMatrix"> + <proto> + <return type="void"/> + <param name="location" type="GLint"/> + <param name="count" type="GLsizei"/> + <param name="transpose" type="GLboolean"/> + <vector name="value" type="const GLtype *" size="dynamic"/> + </proto> +</template> + +<template name="ValidateProgram"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + </proto> +</template> + +<template name="GenerateMipmap"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + </desc> +</template> + +<template name="BindFramebuffer"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="framebuffer" type="GLuint"/> + </proto> + + <desc name="target"> + <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER" category="GLES2.0"/> + </desc> +</template> + +<template name="DeleteFramebuffers"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="framebuffers" type="const GLuint *"/> + </proto> +</template> + +<template name="GenFramebuffers"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="ids" type="GLuint *"/> + </proto> +</template> + +<template name="BindRenderbuffer"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="renderbuffer" type="GLuint"/> + </proto> + + <desc name="target"> + <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_RENDERBUFFER" category="GLES2.0"/> + </desc> +</template> + +<template name="DeleteRenderbuffers"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="renderbuffers" type="const GLuint *"/> + </proto> +</template> + +<template name="GenRenderbuffers"> + <proto> + <return type="void"/> + <param name="n" type="GLsizei"/> + <param name="renderbuffers" type="GLuint *"/> + </proto> +</template> + +<template name="RenderbufferStorage"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </proto> + + <desc name="target"> + <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_RENDERBUFFER" category="GLES2.0"/> + </desc> + + <desc name="internalFormat"> + <value name="GL_DEPTH_COMPONENT16_OES" category="OES_framebuffer_object"/> + <value name="GL_RGBA4_OES" category="OES_framebuffer_object"/> + <value name="GL_RGB5_A1_OES" category="OES_framebuffer_object"/> + <value name="GL_RGB565_OES" category="OES_framebuffer_object"/> + <value name="GL_STENCIL_INDEX8_OES" category="OES_stencil8"/> + + <value name="GL_DEPTH_COMPONENT16" category="GLES2.0"/> + <value name="GL_RGBA4" category="GLES2.0"/> + <value name="GL_RGB5_A1" category="GLES2.0"/> + <value name="GL_RGB565" category="GLES2.0"/> + <value name="GL_STENCIL_INDEX8" category="GLES2.0"/> + + <value name="GL_DEPTH_COMPONENT24_OES" category="OES_depth24"/> + <value name="GL_DEPTH_COMPONENT32_OES" category="OES_depth32"/> + <value name="GL_RGB8_OES" category="OES_rgb8_rgba8"/> + <value name="GL_RGBA8_OES" category="OES_rgb8_rgba8"/> + <value name="GL_STENCIL_INDEX1_OES" category="OES_stencil1"/> + <value name="GL_STENCIL_INDEX4_OES" category="OES_stencil4"/> + <value name="GL_DEPTH24_STENCIL8_OES" category="OES_packed_depth_stencil"/> + </desc> +</template> + +<template name="FramebufferRenderbuffer"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="renderbuffertarget" type="GLenum"/> + <param name="renderbuffer" type="GLuint"/> + </proto> + + <desc name="target"> + <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER" category="GLES2.0"/> + </desc> + + <desc name="attachment"> + <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/> + <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/> + <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/> + <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/> + <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/> + <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/> + </desc> + + <desc name="renderbuffertarget"> + <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_RENDERBUFFER" category="GLES2.0"/> + </desc> +</template> + +<template name="FramebufferTexture2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="textarget" type="GLenum"/> + <param name="texture" type="GLuint"/> + <param name="level" type="GLint"/> + </proto> + + <desc name="target"> + <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER" category="GLES2.0"/> + </desc> + + <desc name="attachment"> + <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/> + <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/> + <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/> + <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/> + <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/> + <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/> + </desc> + + <desc name="textarget" error="GL_INVALID_OPERATION"> + <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> + </desc> + <!-- According to the base specification, "level" must be 0. But + extension GL_OES_fbo_render_mipmap lifts that restriction, + so no restriction is placed here. --> +</template> + +<template name="FramebufferTexture3D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="textarget" type="GLenum"/> + <param name="texture" type="GLuint"/> + <param name="level" type="GLint"/> + <param name="zoffset" type="GLint"/> + </proto> + + <desc name="target"> + <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER" category="GLES2.0"/> + </desc> + + <desc name="attachment"> + <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/> + <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/> + <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/> + <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/> + <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/> + <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/> + </desc> + + <desc name="textarget" error="GL_INVALID_OPERATION"> + <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + </desc> +</template> + +<template name="CheckFramebufferStatus" direction="get"> + <proto> + <return type="GLenum"/> + <param name="target" type="GLenum"/> + </proto> + + <desc name="target"> + <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER" category="GLES2.0"/> + </desc> +</template> + +<template name="GetFramebufferAttachmentParameter" direction="get"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="target"> + <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER" category="GLES2.0"/> + </desc> + + <desc name="pname"> + <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" category="OES_framebuffer_object"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" category="OES_framebuffer_object"/> + + <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" category="GLES2.0"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" category="GLES2.0"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" category="GLES2.0"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" category="GLES2.0"/> + <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" category="OES_texture_3D"/> + + <desc name="params" vector_size="1" convert="false"/> + </desc> +</template> + +<template name="GetRenderbufferParameter" direction="get"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="target"> + <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_RENDERBUFFER" category="GLES2.0"/> + </desc> + + <desc name="pname" category="OES_framebuffer_object"> + <value name="GL_RENDERBUFFER_WIDTH_OES"/> + <value name="GL_RENDERBUFFER_HEIGHT_OES"/> + <value name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/> + <value name="GL_RENDERBUFFER_RED_SIZE_OES"/> + <value name="GL_RENDERBUFFER_GREEN_SIZE_OES"/> + <value name="GL_RENDERBUFFER_BLUE_SIZE_OES"/> + <value name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/> + <value name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/> + <value name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/> + + <desc name="params" vector_size="1" convert="false"/> + </desc> + + <desc name="pname" category="GLES2.0"> + <value name="GL_RENDERBUFFER_WIDTH"/> + <value name="GL_RENDERBUFFER_HEIGHT"/> + <value name="GL_RENDERBUFFER_INTERNAL_FORMAT"/> + <value name="GL_RENDERBUFFER_RED_SIZE"/> + <value name="GL_RENDERBUFFER_GREEN_SIZE"/> + <value name="GL_RENDERBUFFER_BLUE_SIZE"/> + <value name="GL_RENDERBUFFER_ALPHA_SIZE"/> + <value name="GL_RENDERBUFFER_DEPTH_SIZE"/> + <value name="GL_RENDERBUFFER_STENCIL_SIZE"/> + + <desc name="params" vector_size="1" convert="false"/> + </desc> +</template> + +<template name="IsRenderbuffer" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="renderbuffer" type="GLuint"/> + </proto> +</template> + +<template name="IsFramebuffer" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="framebuffer" type="GLuint"/> + </proto> +</template> + +<template name="IsShader" direction="get"> + <proto> + <return type="GLboolean"/> + <param name="shader" type="GLuint"/> + </proto> +</template> + +<template name="GetShader" direction="get"> + <proto> + <return type="void"/> + <param name="shader" type="GLuint"/> + <param name="pname" type="GLenum"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> + + <desc name="pname"> + <value name="GL_SHADER_TYPE"/> + <value name="GL_COMPILE_STATUS"/> + <value name="GL_DELETE_STATUS"/> + <value name="GL_INFO_LOG_LENGTH"/> + <value name="GL_SHADER_SOURCE_LENGTH"/> + </desc> +</template> + +<template name="GetAttachedShaders" direction="get"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="maxCount" type="GLsizei"/> + <param name="count" type="GLsizei *"/> + <param name="shaders" type="GLuint *"/> + </proto> +</template> + +<template name="GetShaderInfoLog" direction="get"> + <proto> + <return type="void"/> + <param name="shader" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="infoLog" type="GLchar *"/> + </proto> +</template> + +<template name="GetProgramInfoLog" direction="get"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="infoLog" type="GLchar *"/> + </proto> +</template> + +<template name="GetShaderSource" direction="get"> + <proto> + <return type="void"/> + <param name="shader" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="source" type="GLchar *"/> + </proto> +</template> + +<template name="GetShaderPrecisionFormat" direction="get"> + <proto> + <return type="void"/> + <param name="shadertype" type="GLenum"/> + <param name="precisiontype" type="GLenum"/> + <param name="range" type="GLint *"/> + <param name="precision" type="GLint *"/> + </proto> + + <desc name="shadertype"> + <value name="GL_VERTEX_SHADER"/> + <value name="GL_FRAGMENT_SHADER"/> + </desc> + + <desc name="precisiontype"> + <value name="GL_LOW_FLOAT"/> + <value name="GL_MEDIUM_FLOAT"/> + <value name="GL_HIGH_FLOAT"/> + <value name="GL_LOW_INT"/> + <value name="GL_MEDIUM_INT"/> + <value name="GL_HIGH_INT"/> + </desc> +</template> + +<template name="GetUniform" direction="get"> + <proto> + <return type="void"/> + <param name="program" type="GLuint"/> + <param name="location" type="GLint"/> + <vector name="params" type="GLtype *" size="dynamic"/> + </proto> +</template> + +<template name="QueryMatrix" direction="get"> + <proto> + <return type="GLbitfield"/> + <vector name="mantissa" type="GLtype *" size="16"/> + <vector name="exponent" type="GLint *" size="16"/> + </proto> +</template> + +<template name="DrawTex"> + <proto> + <return type="void"/> + <vector name="coords" type="const GLtype *" size="5"> + <param name="x" type="GLtype"/> + <param name="y" type="GLtype"/> + <param name="z" type="GLtype"/> + <param name="w" type="GLtype"/> + <param name="h" type="GLtype"/> + </vector> + </proto> +</template> + +<template name="MultiDrawArrays"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + <param name="first" type="GLint *"/> + <param name="count" type="GLsizei *"/> + <param name="primcount" type="GLsizei"/> + </proto> + + <desc name="mode"> + <value name="GL_POINTS"/> + <value name="GL_LINES"/> + <value name="GL_LINE_LOOP"/> + <value name="GL_LINE_STRIP"/> + <value name="GL_TRIANGLES"/> + <value name="GL_TRIANGLE_STRIP"/> + <value name="GL_TRIANGLE_FAN"/> + </desc> +</template> + +<template name="MultiDrawElements"> + <proto> + <return type="void"/> + <param name="mode" type="GLenum"/> + <param name="count" type="const GLsizei *"/> + <param name="type" type="GLenum"/> + <param name="indices" type="const GLvoid **"/> + <param name="primcount" type="GLsizei"/> + </proto> + + <desc name="mode"> + <value name="GL_POINTS"/> + <value name="GL_LINES"/> + <value name="GL_LINE_LOOP"/> + <value name="GL_LINE_STRIP"/> + <value name="GL_TRIANGLES"/> + <value name="GL_TRIANGLE_STRIP"/> + <value name="GL_TRIANGLE_FAN"/> + </desc> + + <desc name="type"> + <value name="GL_UNSIGNED_BYTE"/> + <value name="GL_UNSIGNED_SHORT"/> + <!-- GL_UNSIGNED_INT is not defined in GLES1.1 headers --> + <value name="(0x1405 /* GL_UNSIGNED_INT */)" category="OES_element_index_uint"/> + </desc> +</template> + +<template name="EGLImageTargetTexture2D"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="image" type="GLeglImageOES"/> + </proto> + + <desc name="target"> + <value name="GL_TEXTURE_2D"/> + </desc> +</template> + +<template name="EGLImageTargetRenderbufferStorage"> + <proto> + <return type="void"/> + <param name="target" type="GLenum"/> + <param name="image" type="GLeglImageOES"/> + </proto> + + <desc name="target"> + <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> + <value name="GL_RENDERBUFFER" category="GLES2.0"/> + </desc> +</template> + +<api name="mesa" implementation="true"> + <category name="MESA"/> + + <function name="Color4f" default_prefix="_vbo_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/> + <function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/> + <function name="CullFace" template="CullFace"/> + + <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/> + <function name="Fogfv" template="Fog" gltype="GLfloat"/> + + <function name="FrontFace" template="FrontFace"/> + <function name="Hint" template="Hint"/> + + <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/> + <function name="Lightfv" template="Light" gltype="GLfloat"/> + + <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/> + <function name="LightModelfv" template="LightModel" gltype="GLfloat"/> + + <function name="LineWidth" template="LineWidth" gltype="GLfloat"/> + + <function name="Materialf" default_prefix="_vbo_" template="Material" gltype="GLfloat" expand_vector="true"/> + <function name="Materialfv" default_prefix="_vbo_" template="Material" gltype="GLfloat"/> + + <function name="PointSize" template="PointSize" gltype="GLfloat"/> + <function name="PointSizePointer" template="PointSizePointer"/> + + <function name="Scissor" template="Scissor"/> + <function name="ShadeModel" template="ShadeModel"/> + + <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/> + <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/> + <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/> + <function name="TexParameteriv" template="TexParameter" gltype="GLint"/> + + <function name="TexImage2D" template="TexImage2D"/> + + <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/> + <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/> + <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/> + <function name="TexEnviv" template="TexEnv" gltype="GLint"/> + + <function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/> + <function name="TexGenfv" template="TexGen" gltype="GLfloat"/> + + <function name="Clear" template="Clear"/> + <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> + <function name="ClearStencil" template="ClearStencil"/> + <function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/> + + <function name="StencilMask" template="StencilMask"/> + <function name="StencilMaskSeparate" template="StencilMaskSeparate"/> + <function name="ColorMask" template="ColorMask"/> + <function name="DepthMask" template="DepthMask"/> + <function name="Disable" template="Disable"/> + <function name="Enable" template="Enable"/> + <function name="Finish" template="Finish"/> + <function name="Flush" template="Flush"/> + + <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/> + + <function name="BlendFunc" template="BlendFunc"/> + <function name="LogicOp" template="LogicOp"/> + <function name="StencilFunc" template="StencilFunc"/> + <function name="StencilFuncSeparate" template="StencilFuncSeparate"/> + <function name="StencilOp" template="StencilOp"/> + <function name="StencilOpSeparate" template="StencilOpSeparate"/> + <function name="DepthFunc" template="DepthFunc"/> + <function name="PixelStorei" template="PixelStore" gltype="GLint"/> + + <function name="ReadPixels" template="ReadPixels"/> + <function name="GetBooleanv" template="GetState" gltype="GLboolean"/> + <function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/> + <function name="GetError" template="GetError"/> + <function name="GetFloatv" template="GetState" gltype="GLfloat"/> + <function name="GetFixedv" template="GetState" gltype="GLfixed"/> + <function name="GetIntegerv" template="GetState" gltype="GLint"/> + + <function name="GetLightfv" template="GetLight" gltype="GLfloat"/> + <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/> + <function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/> + + <function name="GetString" template="GetString"/> + + <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/> + <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/> + <function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/> + <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/> + <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> + + <function name="IsEnabled" template="IsEnabled"/> + + <function name="DepthRange" template="DepthRange" gltype="GLclampd"/> + <function name="Frustum" template="Frustum" gltype="GLdouble"/> + + <function name="LoadIdentity" template="LoadIdentity"/> + <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/> + <function name="MatrixMode" template="MatrixMode"/> + + <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/> + <function name="Ortho" template="Ortho" gltype="GLdouble"/> + <function name="PopMatrix" template="PopMatrix"/> + <function name="PushMatrix" template="PushMatrix"/> + + <function name="Rotatef" template="Rotate" gltype="GLfloat"/> + <function name="Scalef" template="Scale" gltype="GLfloat"/> + <function name="Translatef" template="Translate" gltype="GLfloat"/> + + <function name="Viewport" template="Viewport"/> + + <function name="ColorPointer" template="ColorPointer"/> + <function name="DisableClientState" template="DisableClientState"/> + <function name="DrawArrays" template="DrawArrays"/> + <function name="DrawElements" template="DrawElements"/> + <function name="EnableClientState" template="EnableClientState"/> + + <function name="GetPointerv" template="GetPointer"/> + <function name="Normal3f" default_prefix="_vbo_" template="Normal" gltype="GLfloat" expand_vector="true"/> + <function name="NormalPointer" template="NormalPointer"/> + <function name="TexCoordPointer" template="TexCoordPointer"/> + <function name="VertexPointer" template="VertexPointer"/> + + <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/> + <function name="CopyTexImage2D" template="CopyTexImage2D"/> + <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/> + <function name="TexSubImage2D" template="TexSubImage2D"/> + + <function name="BindTexture" template="BindTexture"/> + <function name="DeleteTextures" template="DeleteTextures"/> + <function name="GenTextures" template="GenTextures"/> + <function name="IsTexture" template="IsTexture"/> + + <function name="BlendColor" template="BlendColor" gltype="GLclampf"/> + <function name="BlendEquation" template="BlendEquation"/> + <function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/> + + <function name="TexImage3D" template="TexImage3D"/> + <function name="TexSubImage3D" template="TexSubImage3D"/> + <function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/> + + <function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/> + <function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/> + + <function name="ActiveTextureARB" template="ActiveTexture"/> + <function name="ClientActiveTextureARB" template="ClientActiveTexture"/> + + <function name="MultiTexCoord4f" default_prefix="_vbo_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/> + + <function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/> + + <function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/> + <function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/> + + <function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/> + + <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/> + <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/> + + <function name="VertexAttrib1f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/> + <function name="VertexAttrib2f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/> + <function name="VertexAttrib3f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/> + <function name="VertexAttrib4f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/> + <function name="VertexAttrib1fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/> + <function name="VertexAttrib2fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/> + <function name="VertexAttrib3fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/> + <function name="VertexAttrib4fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/> + + <function name="VertexAttribPointerARB" template="VertexAttribPointer"/> + <function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/> + <function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/> + + <function name="IsProgram" template="IsProgram"/> + <function name="GetProgramiv" template="GetProgram" gltype="GLint"/> + + <function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/> + <function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/> + <function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/> + + <function name="GetBufferPointervARB" template="GetBufferPointer"/> + <function name="MapBufferARB" template="MapBuffer"/> + <function name="UnmapBufferARB" template="UnmapBuffer"/> + <function name="BindBufferARB" template="BindBuffer"/> + <function name="BufferDataARB" template="BufferData"/> + <function name="BufferSubDataARB" template="BufferSubData"/> + <function name="DeleteBuffersARB" template="DeleteBuffers"/> + <function name="GenBuffersARB" template="GenBuffers"/> + <function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/> + <function name="IsBufferARB" template="IsBuffer"/> + + <function name="CreateShader" template="CreateShader"/> + <function name="ShaderSourceARB" template="ShaderSource"/> + <function name="CompileShaderARB" template="CompileShader"/> + <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/> + <function name="DeleteShader" template="DeleteShader"/> + <function name="ShaderBinary" template="ShaderBinary"/> + <function name="CreateProgram" template="CreateProgram"/> + <function name="AttachShader" template="AttachShader"/> + <function name="DetachShader" template="DetachShader"/> + <function name="LinkProgramARB" template="LinkProgram"/> + <function name="UseProgramObjectARB" template="UseProgram"/> + <function name="DeleteProgram" template="DeleteProgram"/> + + <function name="GetActiveAttribARB" template="GetActiveAttrib"/> + <function name="GetAttribLocationARB" template="GetAttribLocation"/> + <function name="BindAttribLocationARB" template="BindAttribLocation"/> + <function name="GetUniformLocationARB" template="GetUniformLocation"/> + <function name="GetActiveUniformARB" template="GetActiveUniform"/> + + <function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/> + <function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/> + <function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/> + <function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/> + <function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/> + <function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/> + <function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/> + <function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/> + <function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/> + <function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/> + <function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/> + <function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/> + <function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/> + <function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/> + <function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/> + <function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/> + + <function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/> + <function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/> + <function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/> + + <function name="ValidateProgramARB" template="ValidateProgram"/> + + <function name="GenerateMipmapEXT" template="GenerateMipmap"/> + <function name="BindFramebufferEXT" template="BindFramebuffer"/> + <function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/> + <function name="GenFramebuffersEXT" template="GenFramebuffers"/> + <function name="BindRenderbufferEXT" template="BindRenderbuffer"/> + <function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/> + <function name="GenRenderbuffersEXT" template="GenRenderbuffers"/> + <function name="RenderbufferStorageEXT" template="RenderbufferStorage"/> + <function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/> + <function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/> + <function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/> + <function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/> + <function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/> + <function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/> + <function name="IsRenderbufferEXT" template="IsRenderbuffer"/> + <function name="IsFramebufferEXT" template="IsFramebuffer"/> + + <function name="IsShader" template="IsShader"/> + <function name="GetShaderiv" template="GetShader" gltype="GLint"/> + <function name="GetAttachedShaders" template="GetAttachedShaders"/> + <function name="GetShaderInfoLog" template="GetShaderInfoLog"/> + <function name="GetProgramInfoLog" template="GetProgramInfoLog"/> + <function name="GetShaderSourceARB" template="GetShaderSource"/> + <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/> + <function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/> + <function name="GetUniformivARB" template="GetUniform" gltype="GLint"/> + + <function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/> + <function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/> + <function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/> + <function name="DrawTexiv" template="DrawTex" gltype="GLint"/> + <function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/> + <function name="DrawTexsv" template="DrawTex" gltype="GLshort"/> + + <!-- EXT_multi_draw_arrays --> + <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/> + <function name="MultiDrawElementsEXT" template="MultiDrawElements"/> + + <!-- OES_EGL_image --> + <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/> + <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/> +</api> + +<api name="GLES1.1"> + <category name="GLES1.1"/> + + <category name="OES_byte_coordinates"/> + <category name="OES_fixed_point"/> + <category name="OES_single_precision"/> + <category name="OES_matrix_get"/> + <category name="OES_read_format"/> + <category name="OES_compressed_paletted_texture"/> + <category name="OES_point_size_array"/> + <category name="OES_point_sprite"/> + <category name="OES_query_matrix"/> + <category name="OES_draw_texture"/> + <category name="OES_blend_equation_separate"/> + <category name="OES_blend_func_separate"/> + <category name="OES_blend_subtract"/> + <category name="OES_stencil_wrap"/> + <category name="OES_texture_cube_map"/> + <category name="OES_texture_env_crossbar"/> + <category name="OES_texture_mirrored_repeat"/> + <category name="OES_framebuffer_object"/> + <category name="OES_depth24"/> + <category name="OES_depth32"/> + <category name="OES_fbo_render_mipmap"/> + <category name="OES_rgb8_rgba8"/> + <category name="OES_stencil1"/> + <category name="OES_stencil4"/> + <category name="OES_stencil8"/> + <category name="OES_element_index_uint"/> + <category name="OES_mapbuffer"/> + <category name="EXT_texture_filter_anisotropic"/> + + <category name="ARB_texture_non_power_of_two"/> + <!-- disabled due to missing enums + <category name="EXT_texture_compression_dxt1"/> + <category name="EXT_texture_lod_bias"/> + <category name="EXT_blend_minmax"/> + --> + <category name="EXT_multi_draw_arrays"/> + <category name="OES_EGL_image"/> + + <category name="OES_matrix_palette"/> + + <function name="Color4f" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/> + <function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/> + <function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/> + + <function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/> + <function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/> + + <function name="CullFace" template="CullFace"/> + + <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/> + <function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/> + <function name="Fogfv" template="Fog" gltype="GLfloat"/> + <function name="Fogxv" template="Fog" gltype="GLfixed"/> + + <function name="FrontFace" template="FrontFace"/> + <function name="Hint" template="Hint"/> + + <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/> + <function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/> + <function name="Lightfv" template="Light" gltype="GLfloat"/> + <function name="Lightxv" template="Light" gltype="GLfixed"/> + + <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/> + <function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/> + <function name="LightModelfv" template="LightModel" gltype="GLfloat"/> + <function name="LightModelxv" template="LightModel" gltype="GLfixed"/> + + <function name="LineWidth" template="LineWidth" gltype="GLfloat"/> + <function name="LineWidthx" template="LineWidth" gltype="GLfixed"/> + + <function name="Materialf" template="Material" gltype="GLfloat" expand_vector="true"/> + <function name="Materialfv" template="Material" gltype="GLfloat"/> + <function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/> + <function name="Materialxv" template="Material" gltype="GLfixed"/> + + <function name="PointSize" template="PointSize" gltype="GLfloat"/> + <function name="PointSizex" template="PointSize" gltype="GLfixed"/> + <function name="PointSizePointerOES" template="PointSizePointer"/> + + <function name="Scissor" template="Scissor"/> + <function name="ShadeModel" template="ShadeModel"/> + + <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/> + <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/> + <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/> + <function name="TexParameteriv" template="TexParameter" gltype="GLint"/> + <function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/> + <function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/> + + <function name="TexImage2D" template="TexImage2D"/> + + <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/> + <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/> + <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/> + <function name="TexEnviv" template="TexEnv" gltype="GLint"/> + <function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/> + <function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/> + + <function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/> + <function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/> + <function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/> + <function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/> + <function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/> + <function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/> + + <function name="Clear" template="Clear"/> + <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> + <function name="ClearColorx" template="ClearColor" gltype="GLclampx"/> + + <function name="ClearStencil" template="ClearStencil"/> + <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/> + <function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/> + + <function name="StencilMask" template="StencilMask"/> + <function name="ColorMask" template="ColorMask"/> + <function name="DepthMask" template="DepthMask"/> + + <function name="Disable" template="Disable"/> + <function name="Enable" template="Enable"/> + <function name="Finish" template="Finish"/> + <function name="Flush" template="Flush"/> + + <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/> + <function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/> + + <function name="BlendFunc" template="BlendFunc"/> + <function name="LogicOp" template="LogicOp"/> + <function name="StencilFunc" template="StencilFunc"/> + + <function name="StencilOp" template="StencilOp"/> + <function name="DepthFunc" template="DepthFunc"/> + + <function name="PixelStorei" template="PixelStore" gltype="GLint"/> + <function name="ReadPixels" template="ReadPixels"/> + + <function name="GetBooleanv" default_prefix="_es1_" template="GetState" gltype="GLboolean"/> + + <function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/> + <function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/> + + <function name="GetError" template="GetError"/> + <function name="GetFloatv" default_prefix="_es1_" template="GetState" gltype="GLfloat"/> + <function name="GetFixedv" default_prefix="_es1_" template="GetState" gltype="GLfixed"/> + <function name="GetIntegerv" default_prefix="_es1_" template="GetState" gltype="GLint"/> + + <function name="GetLightfv" template="GetLight" gltype="GLfloat"/> + <function name="GetLightxv" template="GetLight" gltype="GLfixed"/> + + <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/> + <function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/> + + <function name="GetString" template="GetString"/> + + <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/> + <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/> + <function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/> + + <function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/> + <function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/> + <function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/> + + <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/> + <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> + <function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/> + + <function name="IsEnabled" template="IsEnabled"/> + + <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/> + <function name="DepthRangex" template="DepthRange" gltype="GLclampx"/> + + <function name="Frustumf" template="Frustum" gltype="GLfloat"/> + <function name="Frustumx" template="Frustum" gltype="GLfixed"/> + + <function name="LoadIdentity" template="LoadIdentity"/> + <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/> + <function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/> + <function name="MatrixMode" template="MatrixMode"/> + + <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/> + <function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/> + <function name="Orthof" template="Ortho" gltype="GLfloat"/> + <function name="Orthox" template="Ortho" gltype="GLfixed"/> + + <function name="PopMatrix" template="PopMatrix"/> + <function name="PushMatrix" template="PushMatrix"/> + + <function name="Rotatef" template="Rotate" gltype="GLfloat"/> + <function name="Rotatex" template="Rotate" gltype="GLfixed"/> + <function name="Scalef" template="Scale" gltype="GLfloat"/> + <function name="Scalex" template="Scale" gltype="GLfixed"/> + <function name="Translatef" template="Translate" gltype="GLfloat"/> + <function name="Translatex" template="Translate" gltype="GLfixed"/> + + <function name="Viewport" template="Viewport"/> + <function name="ColorPointer" template="ColorPointer"/> + <function name="DisableClientState" template="DisableClientState"/> + <function name="DrawArrays" template="DrawArrays"/> + <function name="DrawElements" template="DrawElements"/> + <function name="EnableClientState" template="EnableClientState"/> + + <function name="GetPointerv" template="GetPointer"/> + + <function name="Normal3f" template="Normal" gltype="GLfloat" expand_vector="true"/> + <function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/> + <function name="NormalPointer" template="NormalPointer"/> + <function name="TexCoordPointer" template="TexCoordPointer"/> + <function name="VertexPointer" template="VertexPointer"/> + + <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/> + <function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/> + + <function name="CopyTexImage2D" template="CopyTexImage2D"/> + <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/> + + <function name="TexSubImage2D" template="TexSubImage2D"/> + + <function name="BindTexture" template="BindTexture"/> + <function name="DeleteTextures" template="DeleteTextures"/> + <function name="GenTextures" template="GenTextures"/> + <function name="IsTexture" template="IsTexture"/> + + <function name="BlendEquationOES" template="BlendEquation"/> + <function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/> + + <function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/> + + <function name="ActiveTexture" template="ActiveTexture"/> + <function name="ClientActiveTexture" template="ClientActiveTexture"/> + + <function name="MultiTexCoord4f" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/> + + <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/> + <function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/> + + <!-- CompressedTexImage2D calls out to two different functions based on + whether the image is a paletted image or not --> + <function name="CompressedTexImage2D" template="CompressedTexImage2D"/> + <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/> + + <function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/> + + <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/> + <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/> + <function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/> + <function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/> + + <!-- OES_mapbuffer --> + <function name="GetBufferPointervOES" template="GetBufferPointer"/> + <function name="MapBufferOES" template="MapBuffer"/> + <function name="UnmapBufferOES" template="UnmapBuffer"/> + + <function name="BindBuffer" template="BindBuffer"/> + <function name="BufferData" template="BufferData"/> + <function name="BufferSubData" template="BufferSubData"/> + <function name="DeleteBuffers" template="DeleteBuffers"/> + <function name="GenBuffers" template="GenBuffers"/> + <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/> + <function name="IsBuffer" template="IsBuffer"/> + + <!-- OES_framebuffer_object --> + <function name="GenerateMipmapOES" template="GenerateMipmap"/> + <function name="BindFramebufferOES" template="BindFramebuffer"/> + <function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/> + <function name="GenFramebuffersOES" template="GenFramebuffers"/> + <function name="BindRenderbufferOES" template="BindRenderbuffer"/> + <function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/> + <function name="GenRenderbuffersOES" template="GenRenderbuffers"/> + <function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/> + <function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/> + <function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/> + <function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/> + <function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/> + <function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/> + <function name="IsRenderbufferOES" template="IsRenderbuffer"/> + <function name="IsFramebufferOES" template="IsFramebuffer"/> + + <!-- OES_query_matrix --> + <!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value + form; it has its own code for this --> + <function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/> + + <!-- OES_draw_texture --> + <function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/> + <function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/> + <function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/> + <function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/> + <function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/> + <function name="DrawTexivOES" template="DrawTex" gltype="GLint"/> + <function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/> + <function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/> + + <!-- EXT_multi_draw_arrays --> + <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/> + <function name="MultiDrawElementsEXT" template="MultiDrawElements"/> + + <!-- OES_EGL_image --> + <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/> + <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/> +</api> + +<api name="GLES2.0"> + <category name="GLES2.0"/> + + <category name="OES_compressed_paletted_texture"/> + <category name="OES_depth24"/> + <category name="OES_depth32"/> + <category name="OES_fbo_render_mipmap"/> + <category name="OES_rgb8_rgba8"/> + <category name="OES_stencil1"/> + <category name="OES_stencil4"/> + <category name="OES_element_index_uint"/> + <category name="OES_mapbuffer"/> + <category name="OES_texture_3D"/> + <category name="OES_texture_npot"/> + <category name="EXT_texture_filter_anisotropic"/> + <category name="EXT_texture_type_2_10_10_10_REV"/> + <category name="OES_depth_texture"/> + <category name="OES_packed_depth_stencil"/> + <category name="OES_standard_derivatives"/> + + <!-- disabled due to missing enums + <category name="EXT_texture_compression_dxt1"/> + <category name="EXT_blend_minmax"/> + --> + <category name="EXT_multi_draw_arrays"/> + <category name="OES_EGL_image"/> + + <function name="CullFace" template="CullFace"/> + + <function name="FrontFace" template="FrontFace"/> + <function name="Hint" template="Hint"/> + + <function name="LineWidth" template="LineWidth" gltype="GLfloat"/> + + <function name="Scissor" template="Scissor"/> + + <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/> + <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/> + <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/> + <function name="TexParameteriv" template="TexParameter" gltype="GLint"/> + + <function name="TexImage2D" template="TexImage2D"/> + + <function name="Clear" template="Clear"/> + <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> + <function name="ClearStencil" template="ClearStencil"/> + <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/> + + <function name="StencilMask" template="StencilMask"/> + <function name="StencilMaskSeparate" template="StencilMaskSeparate"/> + <function name="ColorMask" template="ColorMask"/> + <function name="DepthMask" template="DepthMask"/> + <function name="Disable" template="Disable"/> + <function name="Enable" template="Enable"/> + <function name="Finish" template="Finish"/> + <function name="Flush" template="Flush"/> + + <function name="BlendFunc" template="BlendFunc"/> + + <function name="StencilFunc" template="StencilFunc"/> + <function name="StencilFuncSeparate" template="StencilFuncSeparate"/> + <function name="StencilOp" template="StencilOp"/> + <function name="StencilOpSeparate" template="StencilOpSeparate"/> + + <function name="DepthFunc" template="DepthFunc"/> + + <function name="PixelStorei" template="PixelStore" gltype="GLint"/> + <function name="ReadPixels" template="ReadPixels"/> + + <function name="GetBooleanv" default_prefix="_es2_" template="GetState" gltype="GLboolean"/> + <function name="GetError" template="GetError"/> + <function name="GetFloatv" default_prefix="_es2_" template="GetState" gltype="GLfloat"/> + <function name="GetIntegerv" default_prefix="_es2_" template="GetState" gltype="GLint"/> + + <function name="GetString" template="GetString"/> + + <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/> + <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> + + <function name="IsEnabled" template="IsEnabled"/> + + <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/> + + <function name="Viewport" template="Viewport"/> + + <function name="DrawArrays" template="DrawArrays"/> + <function name="DrawElements" template="DrawElements"/> + + <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/> + <function name="CopyTexImage2D" template="CopyTexImage2D"/> + <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/> + <function name="TexSubImage2D" template="TexSubImage2D"/> + + <function name="BindTexture" template="BindTexture"/> + <function name="DeleteTextures" template="DeleteTextures"/> + <function name="GenTextures" template="GenTextures"/> + <function name="IsTexture" template="IsTexture"/> + + <function name="BlendColor" template="BlendColor" gltype="GLclampf"/> + <function name="BlendEquation" template="BlendEquation"/> + <function name="BlendEquationSeparate" template="BlendEquationSeparate"/> + + <function name="TexImage3DOES" template="TexImage3D"/> + <function name="TexSubImage3DOES" template="TexSubImage3D"/> + <function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/> + + <function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/> + <function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/> + + <function name="ActiveTexture" template="ActiveTexture"/> + + <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/> + + <function name="CompressedTexImage2D" template="CompressedTexImage2D"/> + <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/> + + <function name="BlendFuncSeparate" template="BlendFuncSeparate"/> + + <function name="VertexAttrib1f" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/> + <function name="VertexAttrib2f" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/> + <function name="VertexAttrib3f" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/> + <function name="VertexAttrib4f" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/> + <function name="VertexAttrib1fv" template="VertexAttrib" gltype="GLfloat" vector_size="1"/> + <function name="VertexAttrib2fv" template="VertexAttrib" gltype="GLfloat" vector_size="2"/> + <function name="VertexAttrib3fv" template="VertexAttrib" gltype="GLfloat" vector_size="3"/> + <function name="VertexAttrib4fv" template="VertexAttrib" gltype="GLfloat" vector_size="4"/> + + <function name="VertexAttribPointer" template="VertexAttribPointer"/> + + <function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/> + <function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/> + + <function name="IsProgram" template="IsProgram"/> + <function name="GetProgramiv" template="GetProgram" gltype="GLint"/> + + <function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/> + <function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/> + <function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/> + + <function name="GetBufferPointervOES" template="GetBufferPointer"/> + <function name="MapBufferOES" template="MapBuffer"/> + <function name="UnmapBufferOES" template="UnmapBuffer"/> + <function name="BindBuffer" template="BindBuffer"/> + <function name="BufferData" template="BufferData"/> + <function name="BufferSubData" template="BufferSubData"/> + <function name="DeleteBuffers" template="DeleteBuffers"/> + <function name="GenBuffers" template="GenBuffers"/> + <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/> + <function name="IsBuffer" template="IsBuffer"/> + + <function name="CreateShader" template="CreateShader"/> + <function name="ShaderSource" template="ShaderSource"/> + <function name="CompileShader" template="CompileShader"/> + <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/> + <function name="DeleteShader" template="DeleteShader"/> + <function name="ShaderBinary" template="ShaderBinary"/> + <function name="CreateProgram" template="CreateProgram"/> + <function name="AttachShader" template="AttachShader"/> + <function name="DetachShader" template="DetachShader"/> + <function name="LinkProgram" template="LinkProgram"/> + <function name="UseProgram" template="UseProgram"/> + <function name="DeleteProgram" template="DeleteProgram"/> + + <function name="GetActiveAttrib" template="GetActiveAttrib"/> + <function name="GetAttribLocation" template="GetAttribLocation"/> + <function name="BindAttribLocation" template="BindAttribLocation"/> + <function name="GetUniformLocation" template="GetUniformLocation"/> + <function name="GetActiveUniform" template="GetActiveUniform"/> + + <function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/> + <function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/> + <function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/> + <function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/> + <function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/> + <function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/> + <function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/> + <function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/> + + <function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/> + <function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/> + <function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/> + <function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/> + <function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/> + <function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/> + <function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/> + <function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/> + + <function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/> + <function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/> + <function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/> + + <function name="ValidateProgram" template="ValidateProgram"/> + + <function name="GenerateMipmap" template="GenerateMipmap"/> + <function name="BindFramebuffer" template="BindFramebuffer"/> + <function name="DeleteFramebuffers" template="DeleteFramebuffers"/> + <function name="GenFramebuffers" template="GenFramebuffers"/> + <function name="BindRenderbuffer" template="BindRenderbuffer"/> + <function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/> + <function name="GenRenderbuffers" template="GenRenderbuffers"/> + <function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/> + <function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/> + <function name="FramebufferTexture2D" template="FramebufferTexture2D"/> + <function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/> + <function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/> + <function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/> + <function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/> + <function name="IsRenderbuffer" template="IsRenderbuffer"/> + <function name="IsFramebuffer" template="IsFramebuffer"/> + + <function name="IsShader" template="IsShader"/> + <function name="GetShaderiv" template="GetShader" gltype="GLint"/> + <function name="GetAttachedShaders" template="GetAttachedShaders"/> + <function name="GetShaderInfoLog" template="GetShaderInfoLog"/> + <function name="GetProgramInfoLog" template="GetProgramInfoLog"/> + <function name="GetShaderSource" template="GetShaderSource"/> + <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/> + <function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/> + <function name="GetUniformiv" template="GetUniform" gltype="GLint"/> + + <!-- EXT_multi_draw_arrays --> + <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/> + <function name="MultiDrawElementsEXT" template="MultiDrawElements"/> + + <!-- OES_EGL_image --> + <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/> + <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/> +</api> + +</apispec> diff --git a/src/mesa/main/APIspecutil.py b/src/mesa/main/APIspecutil.py new file mode 100644 index 0000000000..9e604bb84b --- /dev/null +++ b/src/mesa/main/APIspecutil.py @@ -0,0 +1,272 @@ +#!/usr/bin/python +# +# Copyright (C) 2009 Chia-I Wu <olv@0xlab.org> +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# on the rights to use, copy, modify, merge, publish, distribute, sub +# license, and/or sell copies of the Software, and to permit persons to whom +# the Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +# IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +""" +Minimal apiutil.py interface for use by es_generator.py. +""" + +import sys +import libxml2 + +import APIspec + +__spec = {} +__functions = {} +__aliases = {} + +def _ParseXML(filename, apiname): + conversions = { + # from to + 'GLfloat': [ 'GLdouble' ], + 'GLclampf': [ 'GLclampd' ], + 'GLubyte': [ 'GLfloat', 'GLdouble' ], + 'GLint': [ 'GLfloat', 'GLdouble' ], + 'GLfixed': [ 'GLfloat', 'GLdouble' ], + 'GLclampx': [ 'GLclampf', 'GLclampd' ], + } + + doc = libxml2.readFile(filename, None, + libxml2.XML_PARSE_DTDLOAD + + libxml2.XML_PARSE_DTDVALID + + libxml2.XML_PARSE_NOBLANKS) + spec = APIspec.Spec(doc) + impl = spec.get_impl() + api = spec.get_api(apiname) + doc.freeDoc() + + __spec["impl"] = impl + __spec["api"] = api + + for func in api.functions: + alias, need_conv = impl.match(func, conversions) + if not alias: + # external functions are manually dispatched + if not func.is_external: + print >>sys.stderr, "Error: unable to dispatch %s" % func.name + alias = func + need_conv = False + + __functions[func.name] = func + __aliases[func.name] = (alias, need_conv) + + +def AllSpecials(notused=None): + """Return a list of all external functions in the API.""" + api = __spec["api"] + + specials = [] + for func in api.functions: + if func.is_external: + specials.append(func.name) + + return specials + + +def GetAllFunctions(filename, api): + """Return sorted list of all functions in the API.""" + if not __spec: + _ParseXML(filename, api) + + api = __spec["api"] + names = [] + for func in api.functions: + names.append(func.name) + names.sort() + return names + + +def ReturnType(funcname): + """Return the C return type of named function.""" + func = __functions[funcname] + return func.return_type + + +def Properties(funcname): + """Return list of properties of the named GL function.""" + func = __functions[funcname] + return [func.direction] + + +def _ValidValues(func, param): + """Return the valid values of a parameter.""" + valid_values = [] + switch = func.checker.switches.get(param.name, []) + for desc in switch: + # no dependent vector + if not desc.checker.switches: + for val in desc.values: + valid_values.append((val, None, None, [], desc.error, None)) + continue + + items = desc.checker.switches.items() + if len(items) > 1: + print >>sys.stderr, "%s: more than one parameter depend on %s" % \ + (func.name, desc.name) + dep_name, dep_switch = items[0] + + for dep_desc in dep_switch: + if dep_desc.index >= 0 and dep_desc.index != 0: + print >>sys.stderr, "%s: not first element of a vector" % func.name + if dep_desc.checker.switches: + print >>sys.stderr, "%s: deep nested dependence" % func.name + + convert = None if dep_desc.convert else "noconvert" + for val in desc.values: + valid_values.append((val, dep_desc.size_str, dep_desc.name, + dep_desc.values, dep_desc.error, convert)) + return valid_values + + +def _Conversion(func, src_param): + """Return the destination type of the conversion, or None.""" + alias, need_conv = __aliases[func.name] + if need_conv: + dst_param = alias.get_param(src_param.name) + if src_param.type == dst_param.type: + need_conv = False + if not need_conv: + return (None, "none") + + converts = { True: 0, False: 0 } + + # In Fogx, for example, pname may be GL_FOG_DENSITY/GL_FOG_START/GL_FOG_END + # or GL_FOG_MODE. In the former three cases, param is not checked and the + # default is to convert. + if not func.checker.always_check(src_param.name): + converts[True] += 1 + + for desc in func.checker.flatten(src_param.name): + converts[desc.convert] += 1 + if converts[True] and converts[False]: + break + + # it should be "never", "sometimes", and "always"... + if converts[False]: + if converts[True]: + conversion = "some" + else: + conversion = "none" + else: + conversion = "all" + + return (dst_param.base_type(), conversion) + + +def _MaxVecSize(func, param): + """Return the largest possible size of a vector.""" + if not param.is_vector: + return 0 + if param.size: + return param.size + + # need to look at all descriptions + size = 0 + for desc in func.checker.flatten(param.name): + if desc.size_str and desc.size_str.isdigit(): + s = int(desc.size_str) + if s > size: + size = s + if not size: + need_conv = __aliases[func.name][1] + if need_conv: + print >>sys.stderr, \ + "Error: unable to dicide the max size of %s in %s" % \ + (param.name, func.name) + return size + + +def _ParameterTuple(func, param): + """Return a parameter tuple. + + [0] -- parameter name + [1] -- parameter type + [2] -- max vector size or 0 + [3] -- dest type the parameter converts to, or None + [4] -- valid values + [5] -- how often does the conversion happen + + """ + vec_size = _MaxVecSize(func, param) + dst_type, conversion = _Conversion(func, param) + valid_values = _ValidValues(func, param) + + return (param.name, param.type, vec_size, dst_type, valid_values, conversion) + + +def Parameters(funcname): + """Return list of tuples of function parameters.""" + func = __functions[funcname] + params = [] + for param in func.params: + params.append(_ParameterTuple(func, param)) + + return params + + +def FunctionPrefix(funcname): + """Return function specific prefix.""" + func = __functions[funcname] + + return func.prefix + + +def FindParamIndex(params, paramname): + """Find the index of a named parameter.""" + for i in xrange(len(params)): + if params[i][0] == paramname: + return i + return None + + +def MakeDeclarationString(params): + """Return a C-style parameter declaration string.""" + string = [] + for p in params: + sep = "" if p[1].endswith("*") else " " + string.append("%s%s%s" % (p[1], sep, p[0])) + if not string: + return "void" + return ", ".join(string) + + +def AliasPrefix(funcname): + """Return the prefix of the function the named function is an alias of.""" + alias = __aliases[funcname][0] + return alias.prefix + + +def Alias(funcname): + """Return the name of the function the named function is an alias of.""" + alias, need_conv = __aliases[funcname] + return alias.name if not need_conv else None + + +def ConversionFunction(funcname): + """Return the name of the function the named function converts to.""" + alias, need_conv = __aliases[funcname] + return alias.name if need_conv else None + + +def Categories(funcname): + """Return all the categories of the named GL function.""" + api = __spec["api"] + return [api.name] diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index 1e1aa41611..f838561aef 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -107,6 +107,44 @@ #endif #include "main/dispatch.h" +#ifdef _GLAPI_USE_REMAP_TABLE + +#define need_MESA_remap_table +#include "main/remap.h" +#include "main/remap_helper.h" + +/* This is shared across all APIs but We define this here since + * desktop GL has the biggest remap table. */ +int driDispatchRemapTable[driDispatchRemapTable_size]; + +/** + * Map the functions which are already static. + * + * When a extension function are incorporated into the ABI, the + * extension suffix is usually stripped. Mapping such functions + * makes sure the alternative names are available. + * + * Note that functions mapped by _mesa_init_remap_table() are + * excluded. + */ +void +_mesa_map_static_functions(void) +{ + /* Remap static functions which have alternative names and are in the ABI. + * This is to be on the safe side. glapi should have defined those names. + */ + _mesa_map_function_array(MESA_alt_functions); +} + +void +_mesa_init_remap_table(void) +{ + _mesa_do_init_remap_table(_mesa_function_pool, + driDispatchRemapTable_size, + MESA_remap_table_functions); +} + +#endif /* _GLAPI_USE_REMAP_TABLE */ /** @@ -119,9 +157,15 @@ * \param ctx GL context to which \c exec belongs. * \param exec dispatch table. */ -void -_mesa_init_exec_table(struct _glapi_table *exec) +struct _glapi_table * +_mesa_create_exec_table(void) { + struct _glapi_table *exec; + + exec = _mesa_alloc_dispatch_table(sizeof *exec); + if (exec == NULL) + return NULL; + #if _HAVE_FULL_GL _mesa_loopback_init_api_table( exec ); #endif @@ -777,4 +821,6 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_ObjectUnpurgeableAPPLE(exec, _mesa_ObjectUnpurgeableAPPLE); SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE); #endif + + return exec; } diff --git a/src/mesa/main/api_exec.h b/src/mesa/main/api_exec.h index 4bd715053a..29c953f31b 100644 --- a/src/mesa/main/api_exec.h +++ b/src/mesa/main/api_exec.h @@ -29,9 +29,17 @@ struct _glapi_table; +extern struct _glapi_table * +_mesa_alloc_dispatch_table(int size); -extern void -_mesa_init_exec_table(struct _glapi_table *exec); +extern struct _glapi_table * +_mesa_create_exec_table(void); + +extern struct _glapi_table * +_mesa_create_exec_table_es1(void); + +extern struct _glapi_table * +_mesa_create_exec_table_es2(void); #endif diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 30b48e4bd0..84f7665fc0 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -250,7 +250,7 @@ /** For GL_ARB_draw_buffers */ /*@{*/ -#define MAX_DRAW_BUFFERS 4 +#define MAX_DRAW_BUFFERS 8 /*@}*/ diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 1707e229c9..4dd448a698 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -129,8 +129,6 @@ #include "version.h" #include "viewport.h" #include "vtxfmt.h" -#include "glapi/glthread.h" -#include "glapi/glapitable.h" #include "shader/program.h" #include "shader/prog_print.h" #include "shader/shader_api.h" @@ -396,7 +394,25 @@ one_time_init( GLcontext *ctx ) _mesa_get_cpu_features(); - _mesa_init_remap_table(); + switch (ctx->API) { +#if FEATURE_GL + case API_OPENGL: + _mesa_init_remap_table(); + break; +#endif +#if FEATURE_ES1 + case API_OPENGLES: + _mesa_init_remap_table_es1(); + break; +#endif +#if FEATURE_ES2 + case API_OPENGLES2: + _mesa_init_remap_table_es2(); + break; +#endif + default: + break; + } _mesa_init_sqrt_table(); @@ -636,6 +652,9 @@ check_context_limits(GLcontext *ctx) assert(ctx->Const.MaxDrawBuffers <= MAX_DRAW_BUFFERS); + /* if this fails, add more enum values to gl_buffer_index */ + assert(BUFFER_COLOR0 + MAX_DRAW_BUFFERS <= BUFFER_COUNT); + /* XXX probably add more tests */ } @@ -749,8 +768,8 @@ generic_nop(void) /** * Allocate and initialize a new dispatch table. */ -static struct _glapi_table * -alloc_dispatch_table(void) +struct _glapi_table * +_mesa_alloc_dispatch_table(int size) { /* Find the larger of Mesa's dispatch table and libGL's dispatch table. * In practice, this'll be the same for stand-alone Mesa. But for DRI @@ -758,7 +777,7 @@ alloc_dispatch_table(void) * DRI drivers. */ GLint numEntries = MAX2(_glapi_get_dispatch_table_size(), - sizeof(struct _glapi_table) / sizeof(_glapi_proc)); + size / sizeof(_glapi_proc)); struct _glapi_table *table = (struct _glapi_table *) malloc(numEntries * sizeof(_glapi_proc)); if (table) { @@ -791,6 +810,7 @@ alloc_dispatch_table(void) * for debug flags. * * \param ctx the context to initialize + * \param api the GL API type to create the context for * \param visual describes the visual attributes for this context * \param share_list points to context to share textures, display lists, * etc with, or NULL @@ -799,27 +819,30 @@ alloc_dispatch_table(void) * \param driverContext pointer to driver-specific context data */ GLboolean -_mesa_initialize_context(GLcontext *ctx, - const GLvisual *visual, - GLcontext *share_list, - const struct dd_function_table *driverFunctions, - void *driverContext) +_mesa_initialize_context_for_api(GLcontext *ctx, + gl_api api, + const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext) { struct gl_shared_state *shared; + int i; /*ASSERT(driverContext);*/ assert(driverFunctions->NewTextureObject); assert(driverFunctions->FreeTexImageData); - /* misc one-time initializations */ - one_time_init(ctx); - + ctx->API = api; ctx->Visual = *visual; ctx->DrawBuffer = NULL; ctx->ReadBuffer = NULL; ctx->WinSysDrawBuffer = NULL; ctx->WinSysReadBuffer = NULL; + /* misc one-time initializations */ + one_time_init(ctx); + /* Plug in driver functions and context pointer here. * This is important because when we call alloc_shared_state() below * we'll call ctx->Driver.NewTextureObject() to create the default @@ -849,30 +872,36 @@ _mesa_initialize_context(GLcontext *ctx, return GL_FALSE; } +#if FEATURE_dispatch /* setup the API dispatch tables */ - ctx->Exec = alloc_dispatch_table(); - ctx->Save = alloc_dispatch_table(); - if (!ctx->Exec || !ctx->Save) { + switch (ctx->API) { +#if FEATURE_GL + case API_OPENGL: + ctx->Exec = _mesa_create_exec_table(); + break; +#endif +#if FEATURE_ES1 + case API_OPENGLES: + ctx->Exec = _mesa_create_exec_table_es1(); + break; +#endif +#if FEATURE_ES2 + case API_OPENGLES2: + ctx->Exec = _mesa_create_exec_table_es2(); + break; +#endif + default: + _mesa_problem(ctx, "unknown or unsupported API"); + break; + } + + if (!ctx->Exec) { _mesa_release_shared_state(ctx, ctx->Shared); - if (ctx->Exec) - free(ctx->Exec); return GL_FALSE; } -#if FEATURE_dispatch - _mesa_init_exec_table(ctx->Exec); #endif ctx->CurrentDispatch = ctx->Exec; -#if FEATURE_dlist - _mesa_init_save_table(ctx->Save); - _mesa_install_save_vtxfmt( ctx, &ctx->ListState.ListVtxfmt ); -#endif - - /* Neutral tnl module stuff */ - _mesa_init_exec_vtxfmt( ctx ); - ctx->TnlModule.Current = NULL; - ctx->TnlModule.SwapCount = 0; - ctx->FragmentProgram._MaintainTexEnvProgram = (_mesa_getenv("MESA_TEX_PROG") != NULL); @@ -883,15 +912,65 @@ _mesa_initialize_context(GLcontext *ctx, ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; } -#if FEATURE_extra_context_init - _mesa_initialize_context_extra(ctx); + switch (ctx->API) { + case API_OPENGL: + /* Neutral tnl module stuff */ + _mesa_init_exec_vtxfmt( ctx ); + ctx->TnlModule.Current = NULL; + ctx->TnlModule.SwapCount = 0; + +#if FEATURE_dlist + ctx->Save = _mesa_create_save_table(); + if (!ctx->Save) { + _mesa_release_shared_state(ctx, ctx->Shared); + free(ctx->Exec); + return GL_FALSE; + } + + _mesa_install_save_vtxfmt( ctx, &ctx->ListState.ListVtxfmt ); #endif + break; + case API_OPENGLES: + /** + * GL_OES_texture_cube_map says + * "Initially all texture generation modes are set to REFLECTION_MAP_OES" + */ + for (i = 0; i < MAX_TEXTURE_UNITS; i++) { + struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; + texUnit->GenS.Mode = GL_REFLECTION_MAP_NV; + texUnit->GenT.Mode = GL_REFLECTION_MAP_NV; + texUnit->GenR.Mode = GL_REFLECTION_MAP_NV; + texUnit->GenS._ModeBit = TEXGEN_REFLECTION_MAP_NV; + texUnit->GenT._ModeBit = TEXGEN_REFLECTION_MAP_NV; + texUnit->GenR._ModeBit = TEXGEN_REFLECTION_MAP_NV; + } + break; + case API_OPENGLES2: + ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; + ctx->VertexProgram._MaintainTnlProgram = GL_TRUE; + ctx->Point.PointSprite = GL_TRUE; /* always on for ES 2.x */ + break; + } ctx->FirstTimeCurrent = GL_TRUE; return GL_TRUE; } +GLboolean +_mesa_initialize_context(GLcontext *ctx, + const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext) +{ + return _mesa_initialize_context_for_api(ctx, + API_OPENGL, + visual, + share_list, + driverFunctions, + driverContext); +} /** * Allocate and initialize a GLcontext structure. @@ -899,6 +978,7 @@ _mesa_initialize_context(GLcontext *ctx, * we need to at least call driverFunctions->NewTextureObject to initialize * the rendering context. * + * \param api the GL API type to create the context for * \param visual a GLvisual pointer (we copy the struct contents) * \param share_list another context to share display lists with or NULL * \param driverFunctions points to the dd_function_table into which the @@ -908,10 +988,11 @@ _mesa_initialize_context(GLcontext *ctx, * \return pointer to a new __GLcontextRec or NULL if error. */ GLcontext * -_mesa_create_context(const GLvisual *visual, - GLcontext *share_list, - const struct dd_function_table *driverFunctions, - void *driverContext) +_mesa_create_context_for_api(gl_api api, + const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext) { GLcontext *ctx; @@ -922,8 +1003,8 @@ _mesa_create_context(const GLvisual *visual, if (!ctx) return NULL; - if (_mesa_initialize_context(ctx, visual, share_list, - driverFunctions, driverContext)) { + if (_mesa_initialize_context_for_api(ctx, api, visual, share_list, + driverFunctions, driverContext)) { return ctx; } else { @@ -932,6 +1013,17 @@ _mesa_create_context(const GLvisual *visual, } } +GLcontext * +_mesa_create_context(const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext) +{ + return _mesa_create_context_for_api(API_OPENGL, visual, + share_list, + driverFunctions, + driverContext); +} /** * Free the data associated with the given context. diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index 09bf1777da..c9f4d433a5 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -112,8 +112,20 @@ _mesa_initialize_context( GLcontext *ctx, const struct dd_function_table *driverFunctions, void *driverContext ); -extern void -_mesa_initialize_context_extra(GLcontext *ctx); +extern GLcontext * +_mesa_create_context_for_api(gl_api api, + const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext); + +extern GLboolean +_mesa_initialize_context_for_api(GLcontext *ctx, + gl_api api, + const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext); extern void _mesa_free_context_data( GLcontext *ctx ); diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c index 9bcfc1008a..526145aecc 100644 --- a/src/mesa/main/debug.c +++ b/src/mesa/main/debug.c @@ -315,7 +315,7 @@ write_texture_image(struct gl_texture_object *texObj, buffer, texObj, img); /* make filename */ - sprintf(s, "/tmp/tex%u.l%u.f%u.ppm", texObj->Name, level, face); + _mesa_snprintf(s, sizeof(s), "/tmp/tex%u.l%u.f%u.ppm", texObj->Name, level, face); printf(" Writing image level %u to %s\n", level, s); write_ppm(s, buffer, img->Width, img->Height, 4, 0, 1, 2, GL_FALSE); @@ -357,7 +357,7 @@ write_renderbuffer_image(const struct gl_renderbuffer *rb) format, type, &ctx->DefaultPacking, buffer); /* make filename */ - sprintf(s, "/tmp/renderbuffer%u.ppm", rb->Name); + _mesa_snprintf(s, sizeof(s), "/tmp/renderbuffer%u.ppm", rb->Name); printf(" Writing renderbuffer image to %s\n", s); write_ppm(s, buffer, rb->Width, rb->Height, 4, 0, 1, 2, GL_TRUE); diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index f869a585d6..0c162f081a 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -32,6 +32,7 @@ #include "glheader.h" #include "imports.h" #include "api_arrayelt.h" +#include "api_exec.h" #include "api_loopback.h" #include "config.h" #include "mfeatures.h" @@ -7725,7 +7726,7 @@ execute_list(GLcontext *ctx, GLuint list) default: { char msg[1000]; - sprintf(msg, "Error in execute_list: opcode=%d", + _mesa_snprintf(msg, sizeof(msg), "Error in execute_list: opcode=%d", (int) opcode); _mesa_problem(ctx, msg); } @@ -8747,9 +8748,15 @@ exec_MultiModeDrawElementsIBM(const GLenum * mode, * initialized from _mesa_init_api_defaults and from the active vtxfmt * struct. */ -void -_mesa_init_save_table(struct _glapi_table *table) +struct _glapi_table * +_mesa_create_save_table(void) { + struct _glapi_table *table; + + table = _mesa_alloc_dispatch_table(sizeof *table); + if (table == NULL) + return NULL; + _mesa_loopback_init_api_table(table); /* GL 1.0 */ @@ -9349,6 +9356,8 @@ _mesa_init_save_table(struct _glapi_table *table) (void) save_ClearBufferfv; (void) save_ClearBufferfi; #endif + + return table; } diff --git a/src/mesa/main/dlist.h b/src/mesa/main/dlist.h index f37a93a7f4..f8255facc5 100644 --- a/src/mesa/main/dlist.h +++ b/src/mesa/main/dlist.h @@ -72,7 +72,7 @@ extern void _mesa_delete_list(GLcontext *ctx, struct gl_display_list *dlist); extern void _mesa_save_vtxfmt_init( GLvertexformat *vfmt ); -extern void _mesa_init_save_table( struct _glapi_table *table ); +extern struct _glapi_table *_mesa_create_save_table(void); extern void _mesa_install_dlist_vtxfmt(struct _glapi_table *disp, const GLvertexformat *vfmt); diff --git a/src/mesa/main/drawtex.c b/src/mesa/main/drawtex.c new file mode 100644 index 0000000000..86d5b555e0 --- /dev/null +++ b/src/mesa/main/drawtex.c @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include "main/drawtex.h" +#include "main/state.h" +#include "main/imports.h" + +#include "main/dispatch.h" + + +#if FEATURE_OES_draw_texture + + +static void +draw_texture(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height) +{ + if (!ctx->Extensions.OES_draw_texture) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glDrawTex(unsupported)"); + return; + } + if (width <= 0.0f || height <= 0.0f) { + _mesa_error(ctx, GL_INVALID_VALUE, "glDrawTex(width or height <= 0)"); + return; + } + + if (ctx->NewState) + _mesa_update_state(ctx); + + ASSERT(ctx->Driver.DrawTex); + ctx->Driver.DrawTex(ctx, x, y, z, width, height); +} + + +void GLAPIENTRY +_mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, x, y, z, width, height); +} + + +void GLAPIENTRY +_mesa_DrawTexfv(const GLfloat *coords) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, coords[0], coords[1], coords[2], coords[3], coords[4]); +} + + +void GLAPIENTRY +_mesa_DrawTexi(GLint x, GLint y, GLint z, GLint width, GLint height) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, (GLfloat) x, (GLfloat) y, (GLfloat) z, + (GLfloat) width, (GLfloat) height); +} + + +void GLAPIENTRY +_mesa_DrawTexiv(const GLint *coords) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, (GLfloat) coords[0], (GLfloat) coords[1], + (GLfloat) coords[2], (GLfloat) coords[3], (GLfloat) coords[4]); +} + + +void GLAPIENTRY +_mesa_DrawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, (GLfloat) x, (GLfloat) y, (GLfloat) z, + (GLfloat) width, (GLfloat) height); +} + + +void GLAPIENTRY +_mesa_DrawTexsv(const GLshort *coords) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, (GLfloat) coords[0], (GLfloat) coords[1], + (GLfloat) coords[2], (GLfloat) coords[3], (GLfloat) coords[4]); +} + + +void GLAPIENTRY +_mesa_DrawTexx(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, + (GLfloat) x / 65536.0f, + (GLfloat) y / 65536.0f, + (GLfloat) z / 65536.0f, + (GLfloat) width / 65536.0f, + (GLfloat) height / 65536.0f); +} + + +void GLAPIENTRY +_mesa_DrawTexxv(const GLfixed *coords) +{ + GET_CURRENT_CONTEXT(ctx); + draw_texture(ctx, + (GLfloat) coords[0] / 65536.0f, + (GLfloat) coords[1] / 65536.0f, + (GLfloat) coords[2] / 65536.0f, + (GLfloat) coords[3] / 65536.0f, + (GLfloat) coords[4] / 65536.0f); +} + +#endif /* FEATURE_OES_draw_texture */ diff --git a/src/mesa/main/drawtex.h b/src/mesa/main/drawtex.h new file mode 100644 index 0000000000..95f4ac86f0 --- /dev/null +++ b/src/mesa/main/drawtex.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#ifndef DRAWTEX_H +#define DRAWTEX_H + + +#include "main/mtypes.h" + + +#if FEATURE_OES_draw_texture + +#define _MESA_INIT_DRAWTEX_FUNCTIONS(driver, impl) \ + do { \ + (driver)->DrawTex = impl ## DrawTex; \ + } while (0) + +extern void GLAPIENTRY +_mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); + +extern void GLAPIENTRY +_mesa_DrawTexfv(const GLfloat *coords); + +extern void GLAPIENTRY +_mesa_DrawTexi(GLint x, GLint y, GLint z, GLint width, GLint height); + +extern void GLAPIENTRY +_mesa_DrawTexiv(const GLint *coords); + +extern void GLAPIENTRY +_mesa_DrawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); + +extern void GLAPIENTRY +_mesa_DrawTexsv(const GLshort *coords); + +extern void GLAPIENTRY +_mesa_DrawTexx(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); + +extern void GLAPIENTRY +_mesa_DrawTexxv(const GLfixed *coords); + +#else /* FEATURE_OES_draw_texture */ + +#define _MESA_INIT_DRAWTEX_FUNCTIONS(driver, impl) do { } while (0) + +#endif /* FEATURE_OES_draw_texture */ + + +#endif /* DRAWTEX_H */ diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index 72787226dc..db30123c0f 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -682,6 +682,25 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) } break; +#if FEATURE_ES1 + case GL_TEXTURE_GEN_STR_OES: + /* disable S, T, and R at the same time */ + { + struct gl_texture_unit *texUnit = get_texcoord_unit(ctx); + if (texUnit) { + GLuint newenabled = + texUnit->TexGenEnabled & ~STR_BITS; + if (state) + newenabled |= STR_BITS; + if (texUnit->TexGenEnabled == newenabled) + return; + FLUSH_VERTICES(ctx, _NEW_TEXTURE); + texUnit->TexGenEnabled = newenabled; + } + } + break; +#endif + /* * CLIENT STATE!!! */ @@ -1301,6 +1320,15 @@ _mesa_IsEnabled( GLenum cap ) } } return GL_FALSE; +#if FEATURE_ES1 + case GL_TEXTURE_GEN_STR_OES: + { + const struct gl_texture_unit *texUnit = get_texcoord_unit(ctx); + if (texUnit) { + return (texUnit->TexGenEnabled & STR_BITS) == STR_BITS ? GL_TRUE : GL_FALSE; + } + } +#endif /* * CLIENT STATE!!! diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 45f6a64356..13705b9f67 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -109,6 +109,7 @@ LONGSTRING static const char enum_string_table[] = "GL_BACK_RIGHT\0" "GL_BGR\0" "GL_BGRA\0" + "GL_BGRA_EXT\0" "GL_BITMAP\0" "GL_BITMAP_TOKEN\0" "GL_BLEND\0" @@ -116,16 +117,23 @@ LONGSTRING static const char enum_string_table[] = "GL_BLEND_COLOR_EXT\0" "GL_BLEND_DST\0" "GL_BLEND_DST_ALPHA\0" + "GL_BLEND_DST_ALPHA_OES\0" "GL_BLEND_DST_RGB\0" + "GL_BLEND_DST_RGB_OES\0" "GL_BLEND_EQUATION\0" "GL_BLEND_EQUATION_ALPHA\0" "GL_BLEND_EQUATION_ALPHA_EXT\0" + "GL_BLEND_EQUATION_ALPHA_OES\0" "GL_BLEND_EQUATION_EXT\0" + "GL_BLEND_EQUATION_OES\0" "GL_BLEND_EQUATION_RGB\0" "GL_BLEND_EQUATION_RGB_EXT\0" + "GL_BLEND_EQUATION_RGB_OES\0" "GL_BLEND_SRC\0" "GL_BLEND_SRC_ALPHA\0" + "GL_BLEND_SRC_ALPHA_OES\0" "GL_BLEND_SRC_RGB\0" + "GL_BLEND_SRC_RGB_OES\0" "GL_BLUE\0" "GL_BLUE_BIAS\0" "GL_BLUE_BITS\0" @@ -140,11 +148,14 @@ LONGSTRING static const char enum_string_table[] = "GL_BOOL_VEC4_ARB\0" "GL_BUFFER_ACCESS\0" "GL_BUFFER_ACCESS_ARB\0" + "GL_BUFFER_ACCESS_OES\0" "GL_BUFFER_FLUSHING_UNMAP_APPLE\0" "GL_BUFFER_MAPPED\0" "GL_BUFFER_MAPPED_ARB\0" + "GL_BUFFER_MAPPED_OES\0" "GL_BUFFER_MAP_POINTER\0" "GL_BUFFER_MAP_POINTER_ARB\0" + "GL_BUFFER_MAP_POINTER_OES\0" "GL_BUFFER_OBJECT_APPLE\0" "GL_BUFFER_SERIALIZED_MODIFY_APPLE\0" "GL_BUFFER_SIZE\0" @@ -194,6 +205,7 @@ LONGSTRING static const char enum_string_table[] = "GL_COLOR_ARRAY_TYPE\0" "GL_COLOR_ATTACHMENT0\0" "GL_COLOR_ATTACHMENT0_EXT\0" + "GL_COLOR_ATTACHMENT0_OES\0" "GL_COLOR_ATTACHMENT1\0" "GL_COLOR_ATTACHMENT10\0" "GL_COLOR_ATTACHMENT10_EXT\0" @@ -336,6 +348,7 @@ LONGSTRING static const char enum_string_table[] = "GL_COORD_REPLACE\0" "GL_COORD_REPLACE_ARB\0" "GL_COORD_REPLACE_NV\0" + "GL_COORD_REPLACE_OES\0" "GL_COPY\0" "GL_COPY_INVERTED\0" "GL_COPY_PIXEL_TOKEN\0" @@ -359,6 +372,7 @@ LONGSTRING static const char enum_string_table[] = "GL_CURRENT_MATRIX_STACK_DEPTH_NV\0" "GL_CURRENT_NORMAL\0" "GL_CURRENT_PALETTE_MATRIX_ARB\0" + "GL_CURRENT_PALETTE_MATRIX_OES\0" "GL_CURRENT_PROGRAM\0" "GL_CURRENT_QUERY\0" "GL_CURRENT_QUERY_ARB\0" @@ -386,8 +400,10 @@ LONGSTRING static const char enum_string_table[] = "GL_DEPTH\0" "GL_DEPTH24_STENCIL8\0" "GL_DEPTH24_STENCIL8_EXT\0" + "GL_DEPTH24_STENCIL8_OES\0" "GL_DEPTH_ATTACHMENT\0" "GL_DEPTH_ATTACHMENT_EXT\0" + "GL_DEPTH_ATTACHMENT_OES\0" "GL_DEPTH_BIAS\0" "GL_DEPTH_BITS\0" "GL_DEPTH_BOUNDS_EXT\0" @@ -399,12 +415,15 @@ LONGSTRING static const char enum_string_table[] = "GL_DEPTH_COMPONENT\0" "GL_DEPTH_COMPONENT16\0" "GL_DEPTH_COMPONENT16_ARB\0" + "GL_DEPTH_COMPONENT16_OES\0" "GL_DEPTH_COMPONENT16_SGIX\0" "GL_DEPTH_COMPONENT24\0" "GL_DEPTH_COMPONENT24_ARB\0" + "GL_DEPTH_COMPONENT24_OES\0" "GL_DEPTH_COMPONENT24_SGIX\0" "GL_DEPTH_COMPONENT32\0" "GL_DEPTH_COMPONENT32_ARB\0" + "GL_DEPTH_COMPONENT32_OES\0" "GL_DEPTH_COMPONENT32_SGIX\0" "GL_DEPTH_FUNC\0" "GL_DEPTH_RANGE\0" @@ -413,6 +432,7 @@ LONGSTRING static const char enum_string_table[] = "GL_DEPTH_STENCIL_ATTACHMENT\0" "GL_DEPTH_STENCIL_EXT\0" "GL_DEPTH_STENCIL_NV\0" + "GL_DEPTH_STENCIL_OES\0" "GL_DEPTH_STENCIL_TO_BGRA_NV\0" "GL_DEPTH_STENCIL_TO_RGBA_NV\0" "GL_DEPTH_TEST\0" @@ -525,6 +545,8 @@ LONGSTRING static const char enum_string_table[] = "GL_FILL\0" "GL_FIRST_VERTEX_CONVENTION\0" "GL_FIRST_VERTEX_CONVENTION_EXT\0" + "GL_FIXED\0" + "GL_FIXED_OES\0" "GL_FLAT\0" "GL_FLOAT\0" "GL_FLOAT_MAT2\0" @@ -577,6 +599,7 @@ LONGSTRING static const char enum_string_table[] = "GL_FRAGMENT_SHADER\0" "GL_FRAGMENT_SHADER_ARB\0" "GL_FRAGMENT_SHADER_DERIVATIVE_HINT\0" + "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES\0" "GL_FRAMEBUFFER\0" "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE\0" "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE\0" @@ -586,40 +609,56 @@ LONGSTRING static const char enum_string_table[] = "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES\0" "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE\0" "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES\0" "GL_FRAMEBUFFER_BINDING\0" "GL_FRAMEBUFFER_BINDING_EXT\0" + "GL_FRAMEBUFFER_BINDING_OES\0" "GL_FRAMEBUFFER_COMPLETE\0" "GL_FRAMEBUFFER_COMPLETE_EXT\0" + "GL_FRAMEBUFFER_COMPLETE_OES\0" "GL_FRAMEBUFFER_DEFAULT\0" "GL_FRAMEBUFFER_EXT\0" "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT\0" "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS\0" "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES\0" "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER\0" "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES\0" "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT\0" "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES\0" "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\0" "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES\0" "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE\0" "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT\0" "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER\0" "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES\0" + "GL_FRAMEBUFFER_OES\0" "GL_FRAMEBUFFER_STATUS_ERROR_EXT\0" "GL_FRAMEBUFFER_UNDEFINED\0" "GL_FRAMEBUFFER_UNSUPPORTED\0" "GL_FRAMEBUFFER_UNSUPPORTED_EXT\0" + "GL_FRAMEBUFFER_UNSUPPORTED_OES\0" "GL_FRONT\0" "GL_FRONT_AND_BACK\0" "GL_FRONT_FACE\0" @@ -627,10 +666,13 @@ LONGSTRING static const char enum_string_table[] = "GL_FRONT_RIGHT\0" "GL_FUNC_ADD\0" "GL_FUNC_ADD_EXT\0" + "GL_FUNC_ADD_OES\0" "GL_FUNC_REVERSE_SUBTRACT\0" "GL_FUNC_REVERSE_SUBTRACT_EXT\0" + "GL_FUNC_REVERSE_SUBTRACT_OES\0" "GL_FUNC_SUBTRACT\0" "GL_FUNC_SUBTRACT_EXT\0" + "GL_FUNC_SUBTRACT_OES\0" "GL_GENERATE_MIPMAP\0" "GL_GENERATE_MIPMAP_HINT\0" "GL_GENERATE_MIPMAP_HINT_SGIS\0" @@ -642,6 +684,9 @@ LONGSTRING static const char enum_string_table[] = "GL_GREEN_BITS\0" "GL_GREEN_SCALE\0" "GL_HALF_FLOAT\0" + "GL_HALF_FLOAT_OES\0" + "GL_HIGH_FLOAT\0" + "GL_HIGH_INT\0" "GL_HINT_BIT\0" "GL_HISTOGRAM\0" "GL_HISTOGRAM_ALPHA_SIZE\0" @@ -663,7 +708,9 @@ LONGSTRING static const char enum_string_table[] = "GL_HISTOGRAM_WIDTH_EXT\0" "GL_IDENTITY_NV\0" "GL_IGNORE_BORDER_HP\0" + "GL_IMPLEMENTATION_COLOR_READ_FORMAT\0" "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES\0" + "GL_IMPLEMENTATION_COLOR_READ_TYPE\0" "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES\0" "GL_INCR\0" "GL_INCR_WRAP\0" @@ -698,6 +745,7 @@ LONGSTRING static const char enum_string_table[] = "GL_INTERPOLATE\0" "GL_INTERPOLATE_ARB\0" "GL_INTERPOLATE_EXT\0" + "GL_INT_10_10_10_2_OES\0" "GL_INT_VEC2\0" "GL_INT_VEC2_ARB\0" "GL_INT_VEC3\0" @@ -707,6 +755,7 @@ LONGSTRING static const char enum_string_table[] = "GL_INVALID_ENUM\0" "GL_INVALID_FRAMEBUFFER_OPERATION\0" "GL_INVALID_FRAMEBUFFER_OPERATION_EXT\0" + "GL_INVALID_FRAMEBUFFER_OPERATION_OES\0" "GL_INVALID_OPERATION\0" "GL_INVALID_VALUE\0" "GL_INVERSE_NV\0" @@ -763,6 +812,8 @@ LONGSTRING static const char enum_string_table[] = "GL_LOGIC_OP\0" "GL_LOGIC_OP_MODE\0" "GL_LOWER_LEFT\0" + "GL_LOW_FLOAT\0" + "GL_LOW_INT\0" "GL_LUMINANCE\0" "GL_LUMINANCE12\0" "GL_LUMINANCE12_ALPHA12\0" @@ -888,14 +939,22 @@ LONGSTRING static const char enum_string_table[] = "GL_MATRIX8_ARB\0" "GL_MATRIX9_ARB\0" "GL_MATRIX_INDEX_ARRAY_ARB\0" + "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES\0" + "GL_MATRIX_INDEX_ARRAY_OES\0" "GL_MATRIX_INDEX_ARRAY_POINTER_ARB\0" + "GL_MATRIX_INDEX_ARRAY_POINTER_OES\0" "GL_MATRIX_INDEX_ARRAY_SIZE_ARB\0" + "GL_MATRIX_INDEX_ARRAY_SIZE_OES\0" "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB\0" + "GL_MATRIX_INDEX_ARRAY_STRIDE_OES\0" "GL_MATRIX_INDEX_ARRAY_TYPE_ARB\0" + "GL_MATRIX_INDEX_ARRAY_TYPE_OES\0" "GL_MATRIX_MODE\0" "GL_MATRIX_PALETTE_ARB\0" + "GL_MATRIX_PALETTE_OES\0" "GL_MAX\0" "GL_MAX_3D_TEXTURE_SIZE\0" + "GL_MAX_3D_TEXTURE_SIZE_OES\0" "GL_MAX_ARRAY_TEXTURE_LAYERS_EXT\0" "GL_MAX_ATTRIB_STACK_DEPTH\0" "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH\0" @@ -914,6 +973,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_CONVOLUTION_WIDTH_EXT\0" "GL_MAX_CUBE_MAP_TEXTURE_SIZE\0" "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB\0" + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES\0" "GL_MAX_DRAW_BUFFERS\0" "GL_MAX_DRAW_BUFFERS_ARB\0" "GL_MAX_DRAW_BUFFERS_ATI\0" @@ -923,12 +983,14 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_EXT\0" "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS\0" "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB\0" + "GL_MAX_FRAGMENT_UNIFORM_VECTORS\0" "GL_MAX_LIGHTS\0" "GL_MAX_LIST_NESTING\0" "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB\0" "GL_MAX_MODELVIEW_STACK_DEPTH\0" "GL_MAX_NAME_STACK_DEPTH\0" "GL_MAX_PALETTE_MATRICES_ARB\0" + "GL_MAX_PALETTE_MATRICES_OES\0" "GL_MAX_PIXEL_MAP_TABLE\0" "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB\0" "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB\0" @@ -960,6 +1022,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV\0" "GL_MAX_RENDERBUFFER_SIZE\0" "GL_MAX_RENDERBUFFER_SIZE_EXT\0" + "GL_MAX_RENDERBUFFER_SIZE_OES\0" "GL_MAX_SAMPLES\0" "GL_MAX_SAMPLES_EXT\0" "GL_MAX_SERVER_WAIT_TIMEOUT\0" @@ -970,6 +1033,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_TEXTURE_IMAGE_UNITS\0" "GL_MAX_TEXTURE_IMAGE_UNITS_ARB\0" "GL_MAX_TEXTURE_LOD_BIAS\0" + "GL_MAX_TEXTURE_LOD_BIAS_EXT\0" "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT\0" "GL_MAX_TEXTURE_SIZE\0" "GL_MAX_TEXTURE_STACK_DEPTH\0" @@ -982,14 +1046,19 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT\0" "GL_MAX_VARYING_FLOATS\0" "GL_MAX_VARYING_FLOATS_ARB\0" + "GL_MAX_VARYING_VECTORS\0" "GL_MAX_VERTEX_ATTRIBS\0" "GL_MAX_VERTEX_ATTRIBS_ARB\0" "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS\0" "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB\0" "GL_MAX_VERTEX_UNIFORM_COMPONENTS\0" "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB\0" + "GL_MAX_VERTEX_UNIFORM_VECTORS\0" "GL_MAX_VERTEX_UNITS_ARB\0" + "GL_MAX_VERTEX_UNITS_OES\0" "GL_MAX_VIEWPORT_DIMS\0" + "GL_MEDIUM_FLOAT\0" + "GL_MEDIUM_INT\0" "GL_MIN\0" "GL_MINMAX\0" "GL_MINMAX_EXT\0" @@ -1040,6 +1109,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MODELVIEW8_ARB\0" "GL_MODELVIEW9_ARB\0" "GL_MODELVIEW_MATRIX\0" + "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES\0" "GL_MODELVIEW_PROJECTION_NV\0" "GL_MODELVIEW_STACK_DEPTH\0" "GL_MODULATE\0" @@ -1065,6 +1135,7 @@ LONGSTRING static const char enum_string_table[] = "GL_NEVER\0" "GL_NICEST\0" "GL_NONE\0" + "GL_NONE_OES\0" "GL_NOOP\0" "GL_NOR\0" "GL_NORMALIZE\0" @@ -1077,10 +1148,13 @@ LONGSTRING static const char enum_string_table[] = "GL_NORMAL_MAP\0" "GL_NORMAL_MAP_ARB\0" "GL_NORMAL_MAP_NV\0" + "GL_NORMAL_MAP_OES\0" "GL_NOTEQUAL\0" "GL_NO_ERROR\0" "GL_NUM_COMPRESSED_TEXTURE_FORMATS\0" "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB\0" + "GL_NUM_PROGRAM_BINARY_FORMATS_OES\0" + "GL_NUM_SHADER_BINARY_FORMATS\0" "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB\0" "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB\0" "GL_OBJECT_ACTIVE_UNIFORMS_ARB\0" @@ -1195,6 +1269,11 @@ LONGSTRING static const char enum_string_table[] = "GL_POINT_FADE_THRESHOLD_SIZE_EXT\0" "GL_POINT_FADE_THRESHOLD_SIZE_SGIS\0" "GL_POINT_SIZE\0" + "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES\0" + "GL_POINT_SIZE_ARRAY_OES\0" + "GL_POINT_SIZE_ARRAY_POINTER_OES\0" + "GL_POINT_SIZE_ARRAY_STRIDE_OES\0" + "GL_POINT_SIZE_ARRAY_TYPE_OES\0" "GL_POINT_SIZE_GRANULARITY\0" "GL_POINT_SIZE_MAX\0" "GL_POINT_SIZE_MAX_ARB\0" @@ -1211,6 +1290,7 @@ LONGSTRING static const char enum_string_table[] = "GL_POINT_SPRITE_ARB\0" "GL_POINT_SPRITE_COORD_ORIGIN\0" "GL_POINT_SPRITE_NV\0" + "GL_POINT_SPRITE_OES\0" "GL_POINT_SPRITE_R_MODE_NV\0" "GL_POINT_TOKEN\0" "GL_POLYGON\0" @@ -1276,6 +1356,8 @@ LONGSTRING static const char enum_string_table[] = "GL_PROGRAM_ADDRESS_REGISTERS_ARB\0" "GL_PROGRAM_ALU_INSTRUCTIONS_ARB\0" "GL_PROGRAM_ATTRIBS_ARB\0" + "GL_PROGRAM_BINARY_FORMATS_OES\0" + "GL_PROGRAM_BINARY_LENGTH_OES\0" "GL_PROGRAM_BINDING_ARB\0" "GL_PROGRAM_ERROR_POSITION_ARB\0" "GL_PROGRAM_ERROR_POSITION_NV\0" @@ -1306,6 +1388,7 @@ LONGSTRING static const char enum_string_table[] = "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB\0" "GL_PROJECTION\0" "GL_PROJECTION_MATRIX\0" + "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES\0" "GL_PROJECTION_STACK_DEPTH\0" "GL_PROVOKING_VERTEX\0" "GL_PROVOKING_VERTEX_EXT\0" @@ -1366,26 +1449,38 @@ LONGSTRING static const char enum_string_table[] = "GL_REFLECTION_MAP\0" "GL_REFLECTION_MAP_ARB\0" "GL_REFLECTION_MAP_NV\0" + "GL_REFLECTION_MAP_OES\0" "GL_RELEASED_APPLE\0" "GL_RENDER\0" "GL_RENDERBUFFER\0" "GL_RENDERBUFFER_ALPHA_SIZE\0" + "GL_RENDERBUFFER_ALPHA_SIZE_OES\0" "GL_RENDERBUFFER_BINDING\0" "GL_RENDERBUFFER_BINDING_EXT\0" + "GL_RENDERBUFFER_BINDING_OES\0" "GL_RENDERBUFFER_BLUE_SIZE\0" + "GL_RENDERBUFFER_BLUE_SIZE_OES\0" "GL_RENDERBUFFER_DEPTH_SIZE\0" + "GL_RENDERBUFFER_DEPTH_SIZE_OES\0" "GL_RENDERBUFFER_EXT\0" "GL_RENDERBUFFER_GREEN_SIZE\0" + "GL_RENDERBUFFER_GREEN_SIZE_OES\0" "GL_RENDERBUFFER_HEIGHT\0" "GL_RENDERBUFFER_HEIGHT_EXT\0" + "GL_RENDERBUFFER_HEIGHT_OES\0" "GL_RENDERBUFFER_INTERNAL_FORMAT\0" "GL_RENDERBUFFER_INTERNAL_FORMAT_EXT\0" + "GL_RENDERBUFFER_INTERNAL_FORMAT_OES\0" + "GL_RENDERBUFFER_OES\0" "GL_RENDERBUFFER_RED_SIZE\0" + "GL_RENDERBUFFER_RED_SIZE_OES\0" "GL_RENDERBUFFER_SAMPLES\0" "GL_RENDERBUFFER_SAMPLES_EXT\0" "GL_RENDERBUFFER_STENCIL_SIZE\0" + "GL_RENDERBUFFER_STENCIL_SIZE_OES\0" "GL_RENDERBUFFER_WIDTH\0" "GL_RENDERBUFFER_WIDTH_EXT\0" + "GL_RENDERBUFFER_WIDTH_OES\0" "GL_RENDERER\0" "GL_RENDER_MODE\0" "GL_REPEAT\0" @@ -1410,11 +1505,15 @@ LONGSTRING static const char enum_string_table[] = "GL_RGB4_EXT\0" "GL_RGB4_S3TC\0" "GL_RGB5\0" + "GL_RGB565\0" + "GL_RGB565_OES\0" "GL_RGB5_A1\0" "GL_RGB5_A1_EXT\0" + "GL_RGB5_A1_OES\0" "GL_RGB5_EXT\0" "GL_RGB8\0" "GL_RGB8_EXT\0" + "GL_RGB8_OES\0" "GL_RGBA\0" "GL_RGBA12\0" "GL_RGBA12_EXT\0" @@ -1425,9 +1524,11 @@ LONGSTRING static const char enum_string_table[] = "GL_RGBA4\0" "GL_RGBA4_DXT5_S3TC\0" "GL_RGBA4_EXT\0" + "GL_RGBA4_OES\0" "GL_RGBA4_S3TC\0" "GL_RGBA8\0" "GL_RGBA8_EXT\0" + "GL_RGBA8_OES\0" "GL_RGBA8_SNORM\0" "GL_RGBA_DXT5_S3TC\0" "GL_RGBA_MODE\0" @@ -1444,6 +1545,7 @@ LONGSTRING static const char enum_string_table[] = "GL_SAMPLER_2D\0" "GL_SAMPLER_2D_SHADOW\0" "GL_SAMPLER_3D\0" + "GL_SAMPLER_3D_OES\0" "GL_SAMPLER_CUBE\0" "GL_SAMPLES\0" "GL_SAMPLES_3DFX\0" @@ -1481,6 +1583,8 @@ LONGSTRING static const char enum_string_table[] = "GL_SEPARATE_SPECULAR_COLOR\0" "GL_SEPARATE_SPECULAR_COLOR_EXT\0" "GL_SET\0" + "GL_SHADER_BINARY_FORMATS\0" + "GL_SHADER_COMPILER\0" "GL_SHADER_OBJECT_ARB\0" "GL_SHADER_SOURCE_LENGTH\0" "GL_SHADER_TYPE\0" @@ -1553,6 +1657,7 @@ LONGSTRING static const char enum_string_table[] = "GL_STENCIL\0" "GL_STENCIL_ATTACHMENT\0" "GL_STENCIL_ATTACHMENT_EXT\0" + "GL_STENCIL_ATTACHMENT_OES\0" "GL_STENCIL_BACK_FAIL\0" "GL_STENCIL_BACK_FAIL_ATI\0" "GL_STENCIL_BACK_FUNC\0" @@ -1574,10 +1679,13 @@ LONGSTRING static const char enum_string_table[] = "GL_STENCIL_INDEX16\0" "GL_STENCIL_INDEX16_EXT\0" "GL_STENCIL_INDEX1_EXT\0" + "GL_STENCIL_INDEX1_OES\0" "GL_STENCIL_INDEX4\0" "GL_STENCIL_INDEX4_EXT\0" + "GL_STENCIL_INDEX4_OES\0" "GL_STENCIL_INDEX8\0" "GL_STENCIL_INDEX8_EXT\0" + "GL_STENCIL_INDEX8_OES\0" "GL_STENCIL_INDEX_EXT\0" "GL_STENCIL_PASS_DEPTH_FAIL\0" "GL_STENCIL_PASS_DEPTH_PASS\0" @@ -1684,6 +1792,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_2D\0" "GL_TEXTURE_2D_ARRAY_EXT\0" "GL_TEXTURE_3D\0" + "GL_TEXTURE_3D_OES\0" "GL_TEXTURE_ALPHA_SIZE\0" "GL_TEXTURE_ALPHA_SIZE_EXT\0" "GL_TEXTURE_BASE_LEVEL\0" @@ -1692,8 +1801,10 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_BINDING_2D\0" "GL_TEXTURE_BINDING_2D_ARRAY_EXT\0" "GL_TEXTURE_BINDING_3D\0" + "GL_TEXTURE_BINDING_3D_OES\0" "GL_TEXTURE_BINDING_CUBE_MAP\0" "GL_TEXTURE_BINDING_CUBE_MAP_ARB\0" + "GL_TEXTURE_BINDING_CUBE_MAP_OES\0" "GL_TEXTURE_BINDING_RECTANGLE_ARB\0" "GL_TEXTURE_BINDING_RECTANGLE_NV\0" "GL_TEXTURE_BIT\0" @@ -1731,20 +1842,28 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_COORD_ARRAY_SIZE\0" "GL_TEXTURE_COORD_ARRAY_STRIDE\0" "GL_TEXTURE_COORD_ARRAY_TYPE\0" + "GL_TEXTURE_CROP_RECT_OES\0" "GL_TEXTURE_CUBE_MAP\0" "GL_TEXTURE_CUBE_MAP_ARB\0" "GL_TEXTURE_CUBE_MAP_NEGATIVE_X\0" "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES\0" "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y\0" "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES\0" "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z\0" "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES\0" + "GL_TEXTURE_CUBE_MAP_OES\0" "GL_TEXTURE_CUBE_MAP_POSITIVE_X\0" "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES\0" "GL_TEXTURE_CUBE_MAP_POSITIVE_Y\0" "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES\0" "GL_TEXTURE_CUBE_MAP_POSITIVE_Z\0" "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES\0" "GL_TEXTURE_CUBE_MAP_SEAMLESS\0" "GL_TEXTURE_DEPTH\0" "GL_TEXTURE_DEPTH_SIZE\0" @@ -1753,10 +1872,13 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_ENV_COLOR\0" "GL_TEXTURE_ENV_MODE\0" "GL_TEXTURE_FILTER_CONTROL\0" + "GL_TEXTURE_FILTER_CONTROL_EXT\0" "GL_TEXTURE_GEN_MODE\0" + "GL_TEXTURE_GEN_MODE_OES\0" "GL_TEXTURE_GEN_Q\0" "GL_TEXTURE_GEN_R\0" "GL_TEXTURE_GEN_S\0" + "GL_TEXTURE_GEN_STR_OES\0" "GL_TEXTURE_GEN_T\0" "GL_TEXTURE_GEQUAL_R_SGIX\0" "GL_TEXTURE_GREEN_SIZE\0" @@ -1776,6 +1898,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_LUMINANCE_SIZE_EXT\0" "GL_TEXTURE_MAG_FILTER\0" "GL_TEXTURE_MATRIX\0" + "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES\0" "GL_TEXTURE_MAX_ANISOTROPY_EXT\0" "GL_TEXTURE_MAX_CLAMP_R_SGIX\0" "GL_TEXTURE_MAX_CLAMP_S_SGIX\0" @@ -1800,6 +1923,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV\0" "GL_TEXTURE_WIDTH\0" "GL_TEXTURE_WRAP_R\0" + "GL_TEXTURE_WRAP_R_OES\0" "GL_TEXTURE_WRAP_S\0" "GL_TEXTURE_WRAP_T\0" "GL_TIMEOUT_EXPIRED\0" @@ -1845,17 +1969,22 @@ LONGSTRING static const char enum_string_table[] = "GL_UNSIGNED_BYTE_3_3_2\0" "GL_UNSIGNED_INT\0" "GL_UNSIGNED_INT_10_10_10_2\0" + "GL_UNSIGNED_INT_10_10_10_2_OES\0" "GL_UNSIGNED_INT_24_8\0" "GL_UNSIGNED_INT_24_8_EXT\0" "GL_UNSIGNED_INT_24_8_NV\0" + "GL_UNSIGNED_INT_24_8_OES\0" "GL_UNSIGNED_INT_2_10_10_10_REV\0" + "GL_UNSIGNED_INT_2_10_10_10_REV_EXT\0" "GL_UNSIGNED_INT_8_8_8_8\0" "GL_UNSIGNED_INT_8_8_8_8_REV\0" "GL_UNSIGNED_NORMALIZED\0" "GL_UNSIGNED_SHORT\0" "GL_UNSIGNED_SHORT_1_5_5_5_REV\0" + "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT\0" "GL_UNSIGNED_SHORT_4_4_4_4\0" "GL_UNSIGNED_SHORT_4_4_4_4_REV\0" + "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT\0" "GL_UNSIGNED_SHORT_5_5_5_1\0" "GL_UNSIGNED_SHORT_5_6_5\0" "GL_UNSIGNED_SHORT_5_6_5_REV\0" @@ -1928,14 +2057,21 @@ LONGSTRING static const char enum_string_table[] = "GL_WEIGHT_ARRAY_ARB\0" "GL_WEIGHT_ARRAY_BUFFER_BINDING\0" "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB\0" + "GL_WEIGHT_ARRAY_BUFFER_BINDING_OES\0" + "GL_WEIGHT_ARRAY_OES\0" "GL_WEIGHT_ARRAY_POINTER_ARB\0" + "GL_WEIGHT_ARRAY_POINTER_OES\0" "GL_WEIGHT_ARRAY_SIZE_ARB\0" + "GL_WEIGHT_ARRAY_SIZE_OES\0" "GL_WEIGHT_ARRAY_STRIDE_ARB\0" + "GL_WEIGHT_ARRAY_STRIDE_OES\0" "GL_WEIGHT_ARRAY_TYPE_ARB\0" + "GL_WEIGHT_ARRAY_TYPE_OES\0" "GL_WEIGHT_SUM_UNITY_ARB\0" "GL_WRAP_BORDER_SUN\0" "GL_WRITE_ONLY\0" "GL_WRITE_ONLY_ARB\0" + "GL_WRITE_ONLY_OES\0" "GL_XOR\0" "GL_YCBCR_422_APPLE\0" "GL_YCBCR_MESA\0" @@ -1944,7 +2080,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[1906] = +static const enum_elt all_enums[2042] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -2019,3214 +2155,3380 @@ static const enum_elt all_enums[1906] = { 1175, 0x00000403 }, /* GL_BACK_RIGHT */ { 1189, 0x000080E0 }, /* GL_BGR */ { 1196, 0x000080E1 }, /* GL_BGRA */ - { 1204, 0x00001A00 }, /* GL_BITMAP */ - { 1214, 0x00000704 }, /* GL_BITMAP_TOKEN */ - { 1230, 0x00000BE2 }, /* GL_BLEND */ - { 1239, 0x00008005 }, /* GL_BLEND_COLOR */ - { 1254, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ - { 1273, 0x00000BE0 }, /* GL_BLEND_DST */ - { 1286, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ - { 1305, 0x000080C8 }, /* GL_BLEND_DST_RGB */ - { 1322, 0x00008009 }, /* GL_BLEND_EQUATION */ - { 1340, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ - { 1364, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ - { 1392, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ - { 1414, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */ - { 1436, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ - { 1462, 0x00000BE1 }, /* GL_BLEND_SRC */ - { 1475, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ - { 1494, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ - { 1511, 0x00001905 }, /* GL_BLUE */ - { 1519, 0x00000D1B }, /* GL_BLUE_BIAS */ - { 1532, 0x00000D54 }, /* GL_BLUE_BITS */ - { 1545, 0x00000D1A }, /* GL_BLUE_SCALE */ - { 1559, 0x00008B56 }, /* GL_BOOL */ - { 1567, 0x00008B56 }, /* GL_BOOL_ARB */ - { 1579, 0x00008B57 }, /* GL_BOOL_VEC2 */ - { 1592, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ - { 1609, 0x00008B58 }, /* GL_BOOL_VEC3 */ - { 1622, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ - { 1639, 0x00008B59 }, /* GL_BOOL_VEC4 */ - { 1652, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ - { 1669, 0x000088BB }, /* GL_BUFFER_ACCESS */ - { 1686, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ - { 1707, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - { 1738, 0x000088BC }, /* GL_BUFFER_MAPPED */ - { 1755, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ - { 1776, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ - { 1798, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ - { 1824, 0x000085B3 }, /* GL_BUFFER_OBJECT_APPLE */ - { 1847, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ - { 1881, 0x00008764 }, /* GL_BUFFER_SIZE */ - { 1896, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ - { 1915, 0x00008765 }, /* GL_BUFFER_USAGE */ - { 1931, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ - { 1951, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */ - { 1970, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */ - { 1996, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */ - { 2019, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ - { 2047, 0x0000877C }, /* GL_BUMP_TARGET_ATI */ - { 2066, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */ - { 2088, 0x00001400 }, /* GL_BYTE */ - { 2096, 0x00002A24 }, /* GL_C3F_V3F */ - { 2107, 0x00002A26 }, /* GL_C4F_N3F_V3F */ - { 2122, 0x00002A22 }, /* GL_C4UB_V2F */ - { 2134, 0x00002A23 }, /* GL_C4UB_V3F */ - { 2146, 0x00000901 }, /* GL_CCW */ - { 2153, 0x00002900 }, /* GL_CLAMP */ - { 2162, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ - { 2181, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ - { 2204, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ - { 2228, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ - { 2245, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ - { 2267, 0x00001500 }, /* GL_CLEAR */ - { 2276, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ - { 2301, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ - { 2330, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ - { 2356, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ - { 2385, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ - { 2411, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ - { 2438, 0x00003000 }, /* GL_CLIP_PLANE0 */ - { 2453, 0x00003001 }, /* GL_CLIP_PLANE1 */ - { 2468, 0x00003002 }, /* GL_CLIP_PLANE2 */ - { 2483, 0x00003003 }, /* GL_CLIP_PLANE3 */ - { 2498, 0x00003004 }, /* GL_CLIP_PLANE4 */ - { 2513, 0x00003005 }, /* GL_CLIP_PLANE5 */ - { 2528, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - { 2561, 0x00000A00 }, /* GL_COEFF */ - { 2570, 0x00001800 }, /* GL_COLOR */ - { 2579, 0x00008076 }, /* GL_COLOR_ARRAY */ - { 2594, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - { 2624, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 2658, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ - { 2681, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ - { 2701, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ - { 2723, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ - { 2743, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */ - { 2764, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ - { 2789, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */ - { 2810, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */ - { 2832, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ - { 2858, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */ - { 2880, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ - { 2906, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */ - { 2928, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ - { 2954, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */ - { 2976, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ - { 3002, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */ - { 3024, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ - { 3050, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */ - { 3072, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ - { 3098, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ - { 3123, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */ - { 3144, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ - { 3169, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */ - { 3190, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ - { 3215, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */ - { 3236, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ - { 3261, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */ - { 3282, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ - { 3307, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */ - { 3328, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ - { 3353, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */ - { 3374, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ - { 3399, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */ - { 3420, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ - { 3445, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */ - { 3466, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ - { 3491, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ - { 3511, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ - { 3532, 0x00001900 }, /* GL_COLOR_INDEX */ - { 3547, 0x00001603 }, /* GL_COLOR_INDEXES */ - { 3564, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ - { 3582, 0x00000B57 }, /* GL_COLOR_MATERIAL */ - { 3600, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ - { 3623, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ - { 3651, 0x000080B1 }, /* GL_COLOR_MATRIX */ - { 3667, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ - { 3687, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ - { 3715, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 3747, 0x00008458 }, /* GL_COLOR_SUM */ - { 3760, 0x00008458 }, /* GL_COLOR_SUM_ARB */ - { 3777, 0x000080D0 }, /* GL_COLOR_TABLE */ - { 3792, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ - { 3818, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ - { 3848, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ - { 3878, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ - { 3898, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ - { 3922, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ - { 3947, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ - { 3976, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ - { 4005, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ - { 4027, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ - { 4053, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ - { 4079, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ - { 4105, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ - { 4135, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ - { 4165, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - { 4195, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ - { 4229, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ - { 4263, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - { 4293, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ - { 4327, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ - { 4361, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ - { 4385, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ - { 4413, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ - { 4441, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ - { 4462, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ - { 4487, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ - { 4508, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ - { 4533, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ - { 4558, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ - { 4577, 0x00008570 }, /* GL_COMBINE */ - { 4588, 0x00008503 }, /* GL_COMBINE4 */ - { 4600, 0x00008572 }, /* GL_COMBINE_ALPHA */ - { 4617, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ - { 4638, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ - { 4659, 0x00008570 }, /* GL_COMBINE_ARB */ - { 4674, 0x00008570 }, /* GL_COMBINE_EXT */ - { 4689, 0x00008571 }, /* GL_COMBINE_RGB */ - { 4704, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ - { 4723, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ - { 4742, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ - { 4778, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ - { 4802, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ - { 4830, 0x00001300 }, /* GL_COMPILE */ - { 4841, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ - { 4864, 0x00008B81 }, /* GL_COMPILE_STATUS */ - { 4882, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ - { 4902, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ - { 4926, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ - { 4950, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ - { 4978, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ - { 5002, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - { 5032, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ - { 5066, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ - { 5094, 0x000084ED }, /* GL_COMPRESSED_RGB */ - { 5112, 0x000084EE }, /* GL_COMPRESSED_RGBA */ - { 5131, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ - { 5154, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - { 5183, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - { 5216, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - { 5249, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - { 5282, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ - { 5304, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - { 5332, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - { 5364, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */ - { 5389, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - { 5420, 0x00008C48 }, /* GL_COMPRESSED_SRGB */ - { 5439, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */ - { 5464, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ - { 5494, 0x0000911C }, /* GL_CONDITION_SATISFIED */ - { 5517, 0x00008576 }, /* GL_CONSTANT */ - { 5529, 0x00008003 }, /* GL_CONSTANT_ALPHA */ - { 5547, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ - { 5569, 0x00008576 }, /* GL_CONSTANT_ARB */ - { 5585, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ - { 5609, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ - { 5631, 0x00008001 }, /* GL_CONSTANT_COLOR */ - { 5649, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ - { 5671, 0x00008576 }, /* GL_CONSTANT_EXT */ - { 5687, 0x00008010 }, /* GL_CONVOLUTION_1D */ - { 5705, 0x00008011 }, /* GL_CONVOLUTION_2D */ - { 5723, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ - { 5751, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ - { 5782, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ - { 5809, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ - { 5840, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ - { 5867, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ - { 5898, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ - { 5926, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ - { 5958, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ - { 5980, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ - { 6006, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ - { 6028, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ - { 6054, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ - { 6075, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ - { 6100, 0x00008862 }, /* GL_COORD_REPLACE */ - { 6117, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ - { 6138, 0x00008862 }, /* GL_COORD_REPLACE_NV */ - { 6158, 0x00001503 }, /* GL_COPY */ - { 6166, 0x0000150C }, /* GL_COPY_INVERTED */ - { 6183, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ - { 6203, 0x00008F36 }, /* GL_COPY_READ_BUFFER */ - { 6223, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */ - { 6244, 0x00000B44 }, /* GL_CULL_FACE */ - { 6257, 0x00000B45 }, /* GL_CULL_FACE_MODE */ - { 6275, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ - { 6294, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - { 6326, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - { 6361, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ - { 6382, 0x00000001 }, /* GL_CURRENT_BIT */ - { 6397, 0x00000B00 }, /* GL_CURRENT_COLOR */ - { 6414, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ - { 6435, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ - { 6461, 0x00000B01 }, /* GL_CURRENT_INDEX */ - { 6478, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ - { 6500, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ - { 6528, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ - { 6549, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - { 6583, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ - { 6616, 0x00000B02 }, /* GL_CURRENT_NORMAL */ - { 6634, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - { 6664, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ - { 6683, 0x00008865 }, /* GL_CURRENT_QUERY */ - { 6700, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ - { 6721, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ - { 6745, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ - { 6772, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ - { 6796, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ - { 6823, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ - { 6856, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ - { 6890, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - { 6923, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ - { 6950, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ - { 6976, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ - { 7001, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ - { 7030, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ - { 7052, 0x00000900 }, /* GL_CW */ - { 7058, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ - { 7079, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ - { 7100, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ - { 7120, 0x00002101 }, /* GL_DECAL */ - { 7129, 0x00001E03 }, /* GL_DECR */ - { 7137, 0x00008508 }, /* GL_DECR_WRAP */ - { 7150, 0x00008508 }, /* GL_DECR_WRAP_EXT */ - { 7167, 0x00008B80 }, /* GL_DELETE_STATUS */ - { 7184, 0x00001801 }, /* GL_DEPTH */ - { 7193, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */ - { 7213, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_EXT */ - { 7237, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */ - { 7257, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ - { 7281, 0x00000D1F }, /* GL_DEPTH_BIAS */ - { 7295, 0x00000D56 }, /* GL_DEPTH_BITS */ - { 7309, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ - { 7329, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ - { 7354, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ - { 7374, 0x0000864F }, /* GL_DEPTH_CLAMP */ - { 7389, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ - { 7407, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ - { 7428, 0x00001902 }, /* GL_DEPTH_COMPONENT */ - { 7447, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ - { 7468, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ - { 7493, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ - { 7519, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ - { 7540, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ - { 7565, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ - { 7591, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ - { 7612, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ - { 7637, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ - { 7663, 0x00000B74 }, /* GL_DEPTH_FUNC */ - { 7677, 0x00000B70 }, /* GL_DEPTH_RANGE */ - { 7692, 0x00000D1E }, /* GL_DEPTH_SCALE */ - { 7707, 0x000084F9 }, /* GL_DEPTH_STENCIL */ - { 7724, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ - { 7752, 0x000084F9 }, /* GL_DEPTH_STENCIL_EXT */ - { 7773, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ - { 7793, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - { 7821, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - { 7849, 0x00000B71 }, /* GL_DEPTH_TEST */ - { 7863, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ - { 7885, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ - { 7911, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ - { 7930, 0x00001201 }, /* GL_DIFFUSE */ - { 7941, 0x00000BD0 }, /* GL_DITHER */ - { 7951, 0x00000A02 }, /* GL_DOMAIN */ - { 7961, 0x00001100 }, /* GL_DONT_CARE */ - { 7974, 0x000086AE }, /* GL_DOT3_RGB */ - { 7986, 0x000086AF }, /* GL_DOT3_RGBA */ - { 7999, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ - { 8016, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ - { 8033, 0x000086AE }, /* GL_DOT3_RGB_ARB */ - { 8049, 0x00008740 }, /* GL_DOT3_RGB_EXT */ - { 8065, 0x0000140A }, /* GL_DOUBLE */ - { 8075, 0x00000C32 }, /* GL_DOUBLEBUFFER */ - { 8091, 0x00000C01 }, /* GL_DRAW_BUFFER */ - { 8106, 0x00008825 }, /* GL_DRAW_BUFFER0 */ - { 8122, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ - { 8142, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ - { 8162, 0x00008826 }, /* GL_DRAW_BUFFER1 */ - { 8178, 0x0000882F }, /* GL_DRAW_BUFFER10 */ - { 8195, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ - { 8216, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ - { 8237, 0x00008830 }, /* GL_DRAW_BUFFER11 */ - { 8254, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ - { 8275, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ - { 8296, 0x00008831 }, /* GL_DRAW_BUFFER12 */ - { 8313, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ - { 8334, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ - { 8355, 0x00008832 }, /* GL_DRAW_BUFFER13 */ - { 8372, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ - { 8393, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ - { 8414, 0x00008833 }, /* GL_DRAW_BUFFER14 */ - { 8431, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ - { 8452, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ - { 8473, 0x00008834 }, /* GL_DRAW_BUFFER15 */ - { 8490, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ - { 8511, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ - { 8532, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ - { 8552, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ - { 8572, 0x00008827 }, /* GL_DRAW_BUFFER2 */ - { 8588, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ - { 8608, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ - { 8628, 0x00008828 }, /* GL_DRAW_BUFFER3 */ - { 8644, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ - { 8664, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ - { 8684, 0x00008829 }, /* GL_DRAW_BUFFER4 */ - { 8700, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ - { 8720, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ - { 8740, 0x0000882A }, /* GL_DRAW_BUFFER5 */ - { 8756, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ - { 8776, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ - { 8796, 0x0000882B }, /* GL_DRAW_BUFFER6 */ - { 8812, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ - { 8832, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ - { 8852, 0x0000882C }, /* GL_DRAW_BUFFER7 */ - { 8868, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ - { 8888, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ - { 8908, 0x0000882D }, /* GL_DRAW_BUFFER8 */ - { 8924, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ - { 8944, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ - { 8964, 0x0000882E }, /* GL_DRAW_BUFFER9 */ - { 8980, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ - { 9000, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ - { 9020, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ - { 9040, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING */ - { 9068, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - { 9100, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ - { 9124, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ - { 9144, 0x00000304 }, /* GL_DST_ALPHA */ - { 9157, 0x00000306 }, /* GL_DST_COLOR */ - { 9170, 0x0000877A }, /* GL_DU8DV8_ATI */ - { 9184, 0x00008779 }, /* GL_DUDV_ATI */ - { 9196, 0x000088EA }, /* GL_DYNAMIC_COPY */ - { 9212, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ - { 9232, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ - { 9248, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ - { 9268, 0x000088E9 }, /* GL_DYNAMIC_READ */ - { 9284, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ - { 9304, 0x00000B43 }, /* GL_EDGE_FLAG */ - { 9317, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ - { 9336, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - { 9370, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ - { 9408, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ - { 9435, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - { 9461, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ - { 9485, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - { 9517, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ - { 9553, 0x00001600 }, /* GL_EMISSION */ - { 9565, 0x00002000 }, /* GL_ENABLE_BIT */ - { 9579, 0x00000202 }, /* GL_EQUAL */ - { 9588, 0x00001509 }, /* GL_EQUIV */ - { 9597, 0x00010000 }, /* GL_EVAL_BIT */ - { 9609, 0x00000800 }, /* GL_EXP */ - { 9616, 0x00000801 }, /* GL_EXP2 */ - { 9624, 0x00001F03 }, /* GL_EXTENSIONS */ - { 9638, 0x00002400 }, /* GL_EYE_LINEAR */ - { 9652, 0x00002502 }, /* GL_EYE_PLANE */ - { 9665, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ - { 9690, 0x0000855B }, /* GL_EYE_RADIAL_NV */ - { 9707, 0x00000000 }, /* GL_FALSE */ - { 9716, 0x00001101 }, /* GL_FASTEST */ - { 9727, 0x00001C01 }, /* GL_FEEDBACK */ - { 9739, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ - { 9766, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ - { 9790, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ - { 9814, 0x00001B02 }, /* GL_FILL */ - { 9822, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION */ - { 9849, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ - { 9880, 0x00001D00 }, /* GL_FLAT */ - { 9888, 0x00001406 }, /* GL_FLOAT */ - { 9897, 0x00008B5A }, /* GL_FLOAT_MAT2 */ - { 9911, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ - { 9929, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ - { 9945, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ - { 9961, 0x00008B5B }, /* GL_FLOAT_MAT3 */ - { 9975, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ - { 9993, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ - { 10009, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ - { 10025, 0x00008B5C }, /* GL_FLOAT_MAT4 */ - { 10039, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ - { 10057, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ - { 10073, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ - { 10089, 0x00008B50 }, /* GL_FLOAT_VEC2 */ - { 10103, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ - { 10121, 0x00008B51 }, /* GL_FLOAT_VEC3 */ - { 10135, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ - { 10153, 0x00008B52 }, /* GL_FLOAT_VEC4 */ - { 10167, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ - { 10185, 0x00000B60 }, /* GL_FOG */ - { 10192, 0x00000080 }, /* GL_FOG_BIT */ - { 10203, 0x00000B66 }, /* GL_FOG_COLOR */ - { 10216, 0x00008451 }, /* GL_FOG_COORD */ - { 10229, 0x00008451 }, /* GL_FOG_COORDINATE */ - { 10247, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ - { 10271, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - { 10310, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ - { 10353, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - { 10385, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - { 10416, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - { 10445, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ - { 10470, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ - { 10489, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ - { 10523, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ - { 10550, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ - { 10576, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ - { 10600, 0x00008450 }, /* GL_FOG_COORD_SRC */ - { 10617, 0x00000B62 }, /* GL_FOG_DENSITY */ - { 10632, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ - { 10656, 0x00000B64 }, /* GL_FOG_END */ - { 10667, 0x00000C54 }, /* GL_FOG_HINT */ - { 10679, 0x00000B61 }, /* GL_FOG_INDEX */ - { 10692, 0x00000B65 }, /* GL_FOG_MODE */ - { 10704, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ - { 10723, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ - { 10748, 0x00000B63 }, /* GL_FOG_START */ - { 10761, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ - { 10779, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ - { 10803, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ - { 10822, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ - { 10845, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - { 10880, 0x00008D40 }, /* GL_FRAMEBUFFER */ - { 10895, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ - { 10932, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ - { 10968, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ - { 11009, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - { 11050, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - { 11087, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - { 11124, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - { 11162, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - { 11204, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - { 11242, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - { 11284, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - { 11319, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - { 11358, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - { 11407, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - { 11455, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - { 11507, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - { 11547, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ - { 11591, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - { 11631, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - { 11675, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */ - { 11698, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ - { 11725, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ - { 11749, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - { 11777, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ - { 11800, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ - { 11819, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - { 11856, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - { 11897, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - { 11938, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ - { 11976, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - { 12018, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - { 12069, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - { 12107, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - { 12152, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - { 12201, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - { 12239, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */ - { 12281, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ - { 12319, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - { 12361, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - { 12393, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ - { 12418, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ - { 12445, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - { 12476, 0x00000404 }, /* GL_FRONT */ - { 12485, 0x00000408 }, /* GL_FRONT_AND_BACK */ - { 12503, 0x00000B46 }, /* GL_FRONT_FACE */ - { 12517, 0x00000400 }, /* GL_FRONT_LEFT */ - { 12531, 0x00000401 }, /* GL_FRONT_RIGHT */ - { 12546, 0x00008006 }, /* GL_FUNC_ADD */ - { 12558, 0x00008006 }, /* GL_FUNC_ADD_EXT */ - { 12574, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ - { 12599, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ - { 12628, 0x0000800A }, /* GL_FUNC_SUBTRACT */ - { 12645, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ - { 12666, 0x00008191 }, /* GL_GENERATE_MIPMAP */ - { 12685, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ - { 12709, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ - { 12738, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ - { 12762, 0x00000206 }, /* GL_GEQUAL */ - { 12772, 0x00000204 }, /* GL_GREATER */ - { 12783, 0x00001904 }, /* GL_GREEN */ - { 12792, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 12806, 0x00000D53 }, /* GL_GREEN_BITS */ - { 12820, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 12835, 0x0000140B }, /* GL_HALF_FLOAT */ - { 12849, 0x00008000 }, /* GL_HINT_BIT */ - { 12861, 0x00008024 }, /* GL_HISTOGRAM */ - { 12874, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 12898, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 12926, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 12949, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 12976, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 12993, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 13013, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 13037, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 13061, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 13089, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 13117, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 13149, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 13171, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 13197, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 13215, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 13237, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 13256, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 13279, 0x0000862A }, /* GL_IDENTITY_NV */ - { 13294, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 13314, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 13354, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 13392, 0x00001E02 }, /* GL_INCR */ - { 13400, 0x00008507 }, /* GL_INCR_WRAP */ - { 13413, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 13430, 0x00008222 }, /* GL_INDEX */ - { 13439, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 13454, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 13484, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 13518, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 13541, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 13563, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 13583, 0x00000D51 }, /* GL_INDEX_BITS */ - { 13597, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 13618, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 13636, 0x00000C30 }, /* GL_INDEX_MODE */ - { 13650, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 13666, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 13681, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 13700, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 13719, 0x00001404 }, /* GL_INT */ - { 13726, 0x00008049 }, /* GL_INTENSITY */ - { 13739, 0x0000804C }, /* GL_INTENSITY12 */ - { 13754, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 13773, 0x0000804D }, /* GL_INTENSITY16 */ - { 13788, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 13807, 0x0000804A }, /* GL_INTENSITY4 */ - { 13821, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 13839, 0x0000804B }, /* GL_INTENSITY8 */ - { 13853, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 13871, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 13888, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ - { 13915, 0x00008575 }, /* GL_INTERPOLATE */ - { 13930, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 13949, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 13968, 0x00008B53 }, /* GL_INT_VEC2 */ - { 13980, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 13996, 0x00008B54 }, /* GL_INT_VEC3 */ - { 14008, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 14024, 0x00008B55 }, /* GL_INT_VEC4 */ - { 14036, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 14052, 0x00000500 }, /* GL_INVALID_ENUM */ - { 14068, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 14101, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 14138, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 14159, 0x00000501 }, /* GL_INVALID_VALUE */ - { 14176, 0x0000862B }, /* GL_INVERSE_NV */ - { 14190, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 14214, 0x0000150A }, /* GL_INVERT */ - { 14224, 0x00001E00 }, /* GL_KEEP */ - { 14232, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ - { 14258, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 14288, 0x00000406 }, /* GL_LEFT */ - { 14296, 0x00000203 }, /* GL_LEQUAL */ - { 14306, 0x00000201 }, /* GL_LESS */ - { 14314, 0x00004000 }, /* GL_LIGHT0 */ - { 14324, 0x00004001 }, /* GL_LIGHT1 */ - { 14334, 0x00004002 }, /* GL_LIGHT2 */ - { 14344, 0x00004003 }, /* GL_LIGHT3 */ - { 14354, 0x00004004 }, /* GL_LIGHT4 */ - { 14364, 0x00004005 }, /* GL_LIGHT5 */ - { 14374, 0x00004006 }, /* GL_LIGHT6 */ - { 14384, 0x00004007 }, /* GL_LIGHT7 */ - { 14394, 0x00000B50 }, /* GL_LIGHTING */ - { 14406, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 14422, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 14445, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 14474, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 14507, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 14535, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 14559, 0x00001B01 }, /* GL_LINE */ - { 14567, 0x00002601 }, /* GL_LINEAR */ - { 14577, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 14599, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 14629, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 14660, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 14684, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 14709, 0x00000001 }, /* GL_LINES */ - { 14718, 0x00000004 }, /* GL_LINE_BIT */ - { 14730, 0x00000002 }, /* GL_LINE_LOOP */ - { 14743, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 14763, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 14778, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 14798, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 14814, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 14838, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 14861, 0x00000003 }, /* GL_LINE_STRIP */ - { 14875, 0x00000702 }, /* GL_LINE_TOKEN */ - { 14889, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 14903, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 14929, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 14949, 0x00008B82 }, /* GL_LINK_STATUS */ - { 14964, 0x00000B32 }, /* GL_LIST_BASE */ - { 14977, 0x00020000 }, /* GL_LIST_BIT */ - { 14989, 0x00000B33 }, /* GL_LIST_INDEX */ - { 15003, 0x00000B30 }, /* GL_LIST_MODE */ - { 15016, 0x00000101 }, /* GL_LOAD */ - { 15024, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 15036, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 15053, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 15067, 0x00001909 }, /* GL_LUMINANCE */ - { 15080, 0x00008041 }, /* GL_LUMINANCE12 */ - { 15095, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 15118, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 15145, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 15167, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 15193, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 15212, 0x00008042 }, /* GL_LUMINANCE16 */ - { 15227, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 15250, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 15277, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 15296, 0x0000803F }, /* GL_LUMINANCE4 */ - { 15310, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 15331, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 15356, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 15374, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 15395, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 15420, 0x00008040 }, /* GL_LUMINANCE8 */ - { 15434, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 15455, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 15480, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 15498, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 15517, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 15533, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 15553, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 15575, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 15589, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 15604, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 15628, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 15652, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 15676, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 15700, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 15717, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 15734, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 15762, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 15791, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 15820, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 15849, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 15878, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 15907, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 15936, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 15964, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 15992, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 16020, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 16048, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 16076, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 16104, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 16132, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 16160, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 16188, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 16204, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 16224, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 16246, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 16260, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 16275, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 16299, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 16323, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 16347, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 16371, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 16388, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 16405, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 16433, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 16462, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 16491, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 16520, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 16549, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 16578, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 16607, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 16635, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 16663, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 16691, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 16719, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 16747, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 16775, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 16803, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 16831, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 16859, 0x00000D10 }, /* GL_MAP_COLOR */ - { 16872, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 16898, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 16927, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 16955, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 16971, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 16986, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 17012, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 17029, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 17044, 0x00008630 }, /* GL_MATRIX0_NV */ - { 17058, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 17074, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 17090, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 17106, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 17122, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 17138, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 17154, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 17170, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 17186, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 17202, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 17218, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 17233, 0x00008631 }, /* GL_MATRIX1_NV */ - { 17247, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 17263, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 17279, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 17295, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 17311, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 17327, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 17343, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 17359, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 17375, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 17391, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 17407, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 17422, 0x00008632 }, /* GL_MATRIX2_NV */ - { 17436, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 17452, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 17468, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 17483, 0x00008633 }, /* GL_MATRIX3_NV */ - { 17497, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 17512, 0x00008634 }, /* GL_MATRIX4_NV */ - { 17526, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 17541, 0x00008635 }, /* GL_MATRIX5_NV */ - { 17555, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 17570, 0x00008636 }, /* GL_MATRIX6_NV */ - { 17584, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 17599, 0x00008637 }, /* GL_MATRIX7_NV */ - { 17613, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 17628, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 17643, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 17669, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 17703, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 17734, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 17767, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 17798, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 17813, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 17835, 0x00008008 }, /* GL_MAX */ - { 17842, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 17865, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 17897, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 17923, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 17956, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 17982, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 18016, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 18035, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ - { 18060, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 18089, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 18121, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 18157, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 18193, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 18233, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 18259, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 18289, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 18314, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 18343, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 18372, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 18405, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 18425, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 18449, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 18473, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 18497, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 18522, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 18540, 0x00008008 }, /* GL_MAX_EXT */ - { 18551, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 18586, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 18625, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 18639, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 18659, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 18697, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 18726, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 18750, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 18778, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 18801, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 18838, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 18874, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 18901, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 18930, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 18964, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 19000, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 19027, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 19059, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 19095, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 19124, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 19153, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 19181, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 19219, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 19263, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 19306, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 19340, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 19379, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 19416, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 19454, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 19497, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 19540, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 19570, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 19601, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 19637, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 19673, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 19703, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 19737, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 19770, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ - { 19795, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 19824, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 19839, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ - { 19858, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - { 19885, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 19905, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 19929, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 19951, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 19977, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 20004, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 20035, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 20059, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 20093, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 20113, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 20140, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 20161, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 20186, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 20211, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 20246, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - { 20299, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - { 20346, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - { 20396, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 20418, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 20444, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 20466, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 20492, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 20526, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 20564, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 20597, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 20634, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 20658, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 20679, 0x00008007 }, /* GL_MIN */ - { 20686, 0x0000802E }, /* GL_MINMAX */ - { 20696, 0x0000802E }, /* GL_MINMAX_EXT */ - { 20710, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 20727, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 20748, 0x00008030 }, /* GL_MINMAX_SINK */ - { 20763, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 20782, 0x00008007 }, /* GL_MIN_EXT */ - { 20793, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 20812, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 20835, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 20858, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 20878, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 20898, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 20928, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 20956, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 20984, 0x00001700 }, /* GL_MODELVIEW */ - { 20997, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 21015, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 21034, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 21053, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 21072, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 21091, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 21110, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 21129, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 21148, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 21167, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 21186, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 21205, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 21223, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 21242, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 21261, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 21280, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 21299, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 21318, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 21337, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 21356, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 21375, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 21394, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 21413, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 21431, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 21450, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 21469, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 21487, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 21505, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 21523, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 21541, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 21559, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 21577, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 21595, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 21615, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 21642, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 21667, 0x00002100 }, /* GL_MODULATE */ - { 21679, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 21699, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 21726, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 21751, 0x00000103 }, /* GL_MULT */ - { 21759, 0x0000809D }, /* GL_MULTISAMPLE */ - { 21774, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 21794, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 21813, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 21832, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 21856, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 21879, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 21909, 0x00002A25 }, /* GL_N3F_V3F */ - { 21920, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 21940, 0x0000150E }, /* GL_NAND */ - { 21948, 0x00002600 }, /* GL_NEAREST */ - { 21959, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 21990, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 22022, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 22047, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 22073, 0x00000200 }, /* GL_NEVER */ - { 22082, 0x00001102 }, /* GL_NICEST */ - { 22092, 0x00000000 }, /* GL_NONE */ - { 22100, 0x00001505 }, /* GL_NOOP */ - { 22108, 0x00001508 }, /* GL_NOR */ - { 22115, 0x00000BA1 }, /* GL_NORMALIZE */ - { 22128, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 22144, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 22175, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 22210, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 22234, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 22257, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 22278, 0x00008511 }, /* GL_NORMAL_MAP */ - { 22292, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 22310, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 22327, 0x00000205 }, /* GL_NOTEQUAL */ - { 22339, 0x00000000 }, /* GL_NO_ERROR */ - { 22351, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 22385, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 22423, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 22455, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 22497, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 22527, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 22567, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 22598, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 22627, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 22655, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 22685, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 22702, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 22728, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 22744, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 22779, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 22801, 0x00009112 }, /* GL_OBJECT_TYPE */ - { 22816, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 22835, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 22865, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 22886, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 22914, 0x00000001 }, /* GL_ONE */ - { 22921, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 22949, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 22981, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 23009, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 23041, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 23064, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 23087, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 23110, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 23133, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 23151, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 23173, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 23195, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 23211, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 23231, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 23251, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 23269, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 23291, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 23313, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 23329, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 23349, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 23369, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 23387, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 23409, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 23431, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 23447, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 23467, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 23487, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 23508, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 23527, 0x00001507 }, /* GL_OR */ - { 23533, 0x00000A01 }, /* GL_ORDER */ - { 23542, 0x0000150D }, /* GL_OR_INVERTED */ - { 23557, 0x0000150B }, /* GL_OR_REVERSE */ - { 23571, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 23588, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 23606, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 23627, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 23647, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 23665, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 23684, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 23704, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 23724, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 23742, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 23761, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 23786, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 23810, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 23831, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 23853, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 23875, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 23900, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 23924, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 23945, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 23967, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 23989, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 24011, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 24042, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 24062, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 24087, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 24107, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 24132, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 24152, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 24177, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 24197, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 24222, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 24242, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 24267, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 24287, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 24312, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 24332, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 24357, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 24377, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 24402, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 24422, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 24447, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 24467, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 24492, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 24510, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 24531, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 24560, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 24593, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 24618, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 24641, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 24672, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 24707, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 24734, 0x00001B00 }, /* GL_POINT */ - { 24743, 0x00000000 }, /* GL_POINTS */ - { 24753, 0x00000002 }, /* GL_POINT_BIT */ - { 24766, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 24796, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 24830, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 24864, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 24899, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 24928, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 24961, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 24994, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 25028, 0x00000B11 }, /* GL_POINT_SIZE */ - { 25042, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 25068, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 25086, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 25108, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 25130, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 25153, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 25171, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 25193, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 25215, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 25238, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 25258, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 25274, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 25295, 0x00008861 }, /* GL_POINT_SPRITE */ - { 25311, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 25331, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 25360, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 25379, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 25405, 0x00000701 }, /* GL_POINT_TOKEN */ - { 25420, 0x00000009 }, /* GL_POLYGON */ - { 25431, 0x00000008 }, /* GL_POLYGON_BIT */ - { 25446, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 25462, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 25485, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 25510, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 25533, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 25556, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 25580, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 25604, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 25622, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 25645, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 25664, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 25687, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 25704, 0x00001203 }, /* GL_POSITION */ - { 25716, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 25748, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 25784, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 25817, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 25854, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 25885, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 25920, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 25952, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 25988, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 26021, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 26053, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 26089, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 26122, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 26159, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 26189, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 26223, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 26254, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 26289, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 26320, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 26355, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 26387, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 26423, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 26453, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 26487, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 26518, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 26553, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 26585, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 26616, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 26651, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 26683, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 26719, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 26748, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 26781, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 26811, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 26845, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 26884, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 26917, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 26957, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 26991, 0x00008578 }, /* GL_PREVIOUS */ - { 27003, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 27019, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 27035, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 27052, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 27073, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 27094, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ - { 27122, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 27155, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 27187, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 27210, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 27233, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 27263, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 27292, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 27320, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 27342, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 27370, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 27398, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 27420, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 27441, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 27481, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 27520, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 27550, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 27585, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 27618, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 27652, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 27691, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 27730, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 27752, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 27778, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 27802, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 27825, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 27847, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 27868, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 27889, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 27916, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 27948, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 27980, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 28015, 0x00001701 }, /* GL_PROJECTION */ - { 28029, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 28050, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 28076, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ - { 28096, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 28120, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 28141, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 28160, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 28183, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 28222, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 28260, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 28280, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 28310, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 28334, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 28354, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 28384, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 28408, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 28428, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 28461, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 28487, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 28517, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 28548, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 28578, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ - { 28597, 0x00002003 }, /* GL_Q */ - { 28602, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 28627, 0x00000007 }, /* GL_QUADS */ - { 28636, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ - { 28680, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 28728, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 28745, 0x00000008 }, /* GL_QUAD_STRIP */ - { 28759, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - { 28789, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ - { 28816, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 28838, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 28864, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ - { 28884, 0x00008866 }, /* GL_QUERY_RESULT */ - { 28900, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 28920, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 28946, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 28976, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ - { 28993, 0x00002002 }, /* GL_R */ - { 28998, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 29010, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ - { 29036, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 29069, 0x00000C02 }, /* GL_READ_BUFFER */ - { 29084, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 29104, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ - { 29132, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 29164, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 29188, 0x000088B8 }, /* GL_READ_ONLY */ - { 29201, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 29218, 0x000088BA }, /* GL_READ_WRITE */ - { 29232, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 29250, 0x00001903 }, /* GL_RED */ - { 29257, 0x00008016 }, /* GL_REDUCE */ - { 29267, 0x00008016 }, /* GL_REDUCE_EXT */ - { 29281, 0x00000D15 }, /* GL_RED_BIAS */ - { 29293, 0x00000D52 }, /* GL_RED_BITS */ - { 29305, 0x00000D14 }, /* GL_RED_SCALE */ - { 29318, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 29336, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 29358, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 29379, 0x00008A19 }, /* GL_RELEASED_APPLE */ - { 29397, 0x00001C00 }, /* GL_RENDER */ - { 29407, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 29423, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 29450, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ - { 29474, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 29502, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 29528, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 29555, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 29575, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 29602, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 29625, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 29652, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 29684, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 29720, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 29745, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 29769, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ - { 29797, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 29826, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 29848, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 29874, 0x00001F01 }, /* GL_RENDERER */ - { 29886, 0x00000C40 }, /* GL_RENDER_MODE */ - { 29901, 0x00002901 }, /* GL_REPEAT */ - { 29911, 0x00001E01 }, /* GL_REPLACE */ - { 29922, 0x00008062 }, /* GL_REPLACE_EXT */ - { 29937, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 29960, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 29978, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 30000, 0x00008A1B }, /* GL_RETAINED_APPLE */ - { 30018, 0x00000102 }, /* GL_RETURN */ - { 30028, 0x00001907 }, /* GL_RGB */ - { 30035, 0x00008052 }, /* GL_RGB10 */ - { 30044, 0x00008059 }, /* GL_RGB10_A2 */ - { 30056, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 30072, 0x00008052 }, /* GL_RGB10_EXT */ - { 30085, 0x00008053 }, /* GL_RGB12 */ - { 30094, 0x00008053 }, /* GL_RGB12_EXT */ - { 30107, 0x00008054 }, /* GL_RGB16 */ - { 30116, 0x00008054 }, /* GL_RGB16_EXT */ - { 30129, 0x0000804E }, /* GL_RGB2_EXT */ - { 30141, 0x0000804F }, /* GL_RGB4 */ - { 30149, 0x0000804F }, /* GL_RGB4_EXT */ - { 30161, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 30174, 0x00008050 }, /* GL_RGB5 */ - { 30182, 0x00008057 }, /* GL_RGB5_A1 */ - { 30193, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 30208, 0x00008050 }, /* GL_RGB5_EXT */ - { 30220, 0x00008051 }, /* GL_RGB8 */ - { 30228, 0x00008051 }, /* GL_RGB8_EXT */ - { 30240, 0x00001908 }, /* GL_RGBA */ - { 30248, 0x0000805A }, /* GL_RGBA12 */ - { 30258, 0x0000805A }, /* GL_RGBA12_EXT */ - { 30272, 0x0000805B }, /* GL_RGBA16 */ - { 30282, 0x0000805B }, /* GL_RGBA16_EXT */ - { 30296, 0x00008055 }, /* GL_RGBA2 */ - { 30305, 0x00008055 }, /* GL_RGBA2_EXT */ - { 30318, 0x00008056 }, /* GL_RGBA4 */ - { 30327, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 30346, 0x00008056 }, /* GL_RGBA4_EXT */ - { 30359, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 30373, 0x00008058 }, /* GL_RGBA8 */ - { 30382, 0x00008058 }, /* GL_RGBA8_EXT */ - { 30395, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 30410, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 30428, 0x00000C31 }, /* GL_RGBA_MODE */ - { 30441, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 30454, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 30468, 0x000083A0 }, /* GL_RGB_S3TC */ - { 30480, 0x00008573 }, /* GL_RGB_SCALE */ - { 30493, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 30510, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 30527, 0x00000407 }, /* GL_RIGHT */ - { 30536, 0x00002000 }, /* GL_S */ - { 30541, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 30555, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 30576, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 30590, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 30611, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 30625, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 30641, 0x000080A9 }, /* GL_SAMPLES */ - { 30652, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 30668, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 30683, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 30701, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 30723, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 30751, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 30783, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 30806, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 30833, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 30851, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 30874, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 30896, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 30915, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 30938, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 30964, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 30994, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 31019, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 31048, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 31063, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 31078, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 31094, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 31119, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 31159, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 31203, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 31236, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 31266, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 31298, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 31328, 0x00001C02 }, /* GL_SELECT */ - { 31338, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 31366, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 31391, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 31407, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ - { 31431, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 31458, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 31489, 0x0000150F }, /* GL_SET */ - { 31496, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 31517, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 31541, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 31556, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 31571, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 31599, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 31622, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 31652, 0x00001601 }, /* GL_SHININESS */ - { 31665, 0x00001402 }, /* GL_SHORT */ - { 31674, 0x00009119 }, /* GL_SIGNALED */ - { 31686, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 31707, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 31723, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 31743, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 31762, 0x00008C46 }, /* GL_SLUMINANCE */ - { 31776, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 31791, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 31813, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 31833, 0x00001D01 }, /* GL_SMOOTH */ - { 31843, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 31876, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 31903, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 31936, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 31963, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 31980, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 32001, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 32022, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 32037, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 32056, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 32075, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 32092, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 32113, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 32134, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 32149, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 32168, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 32187, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 32204, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 32225, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 32246, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 32261, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 32280, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 32299, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 32319, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 32337, 0x00001202 }, /* GL_SPECULAR */ - { 32349, 0x00002402 }, /* GL_SPHERE_MAP */ - { 32363, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 32378, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 32396, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 32413, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 32427, 0x00008580 }, /* GL_SRC0_RGB */ - { 32439, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 32453, 0x00008581 }, /* GL_SRC1_RGB */ - { 32465, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 32479, 0x00008582 }, /* GL_SRC2_RGB */ - { 32491, 0x00000302 }, /* GL_SRC_ALPHA */ - { 32504, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 32526, 0x00000300 }, /* GL_SRC_COLOR */ - { 32539, 0x00008C40 }, /* GL_SRGB */ - { 32547, 0x00008C41 }, /* GL_SRGB8 */ - { 32556, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 32572, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 32586, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 32604, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 32623, 0x000088E6 }, /* GL_STATIC_COPY */ - { 32638, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 32657, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 32672, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 32691, 0x000088E5 }, /* GL_STATIC_READ */ - { 32706, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 32725, 0x00001802 }, /* GL_STENCIL */ - { 32736, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 32758, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 32784, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 32805, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 32830, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 32851, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 32876, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 32908, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 32944, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 32976, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 33012, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 33032, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 33059, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 33085, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 33101, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 33123, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 33146, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 33162, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 33178, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 33195, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ - { 33213, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ - { 33232, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 33255, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 33277, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ - { 33295, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 33317, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ - { 33335, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 33357, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 33378, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 33405, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 33432, 0x00000B97 }, /* GL_STENCIL_REF */ - { 33447, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 33463, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 33492, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 33514, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 33535, 0x00000C33 }, /* GL_STEREO */ - { 33545, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 33569, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 33594, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 33618, 0x000088E2 }, /* GL_STREAM_COPY */ - { 33633, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 33652, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 33667, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 33686, 0x000088E1 }, /* GL_STREAM_READ */ - { 33701, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 33720, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 33737, 0x000084E7 }, /* GL_SUBTRACT */ - { 33749, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 33765, 0x00009113 }, /* GL_SYNC_CONDITION */ - { 33783, 0x00009116 }, /* GL_SYNC_FENCE */ - { 33797, 0x00009115 }, /* GL_SYNC_FLAGS */ - { 33811, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ - { 33838, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - { 33868, 0x00009114 }, /* GL_SYNC_STATUS */ - { 33883, 0x00002001 }, /* GL_T */ - { 33888, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 33903, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 33922, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 33938, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 33953, 0x00002A27 }, /* GL_T2F_V3F */ - { 33964, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 33983, 0x00002A28 }, /* GL_T4F_V4F */ - { 33994, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 34017, 0x00001702 }, /* GL_TEXTURE */ - { 34028, 0x000084C0 }, /* GL_TEXTURE0 */ - { 34040, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 34056, 0x000084C1 }, /* GL_TEXTURE1 */ - { 34068, 0x000084CA }, /* GL_TEXTURE10 */ - { 34081, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 34098, 0x000084CB }, /* GL_TEXTURE11 */ - { 34111, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 34128, 0x000084CC }, /* GL_TEXTURE12 */ - { 34141, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 34158, 0x000084CD }, /* GL_TEXTURE13 */ - { 34171, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 34188, 0x000084CE }, /* GL_TEXTURE14 */ - { 34201, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 34218, 0x000084CF }, /* GL_TEXTURE15 */ - { 34231, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 34248, 0x000084D0 }, /* GL_TEXTURE16 */ - { 34261, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 34278, 0x000084D1 }, /* GL_TEXTURE17 */ - { 34291, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 34308, 0x000084D2 }, /* GL_TEXTURE18 */ - { 34321, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 34338, 0x000084D3 }, /* GL_TEXTURE19 */ - { 34351, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 34368, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 34384, 0x000084C2 }, /* GL_TEXTURE2 */ - { 34396, 0x000084D4 }, /* GL_TEXTURE20 */ - { 34409, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 34426, 0x000084D5 }, /* GL_TEXTURE21 */ - { 34439, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 34456, 0x000084D6 }, /* GL_TEXTURE22 */ - { 34469, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 34486, 0x000084D7 }, /* GL_TEXTURE23 */ - { 34499, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 34516, 0x000084D8 }, /* GL_TEXTURE24 */ - { 34529, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 34546, 0x000084D9 }, /* GL_TEXTURE25 */ - { 34559, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 34576, 0x000084DA }, /* GL_TEXTURE26 */ - { 34589, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 34606, 0x000084DB }, /* GL_TEXTURE27 */ - { 34619, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 34636, 0x000084DC }, /* GL_TEXTURE28 */ - { 34649, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 34666, 0x000084DD }, /* GL_TEXTURE29 */ - { 34679, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 34696, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 34712, 0x000084C3 }, /* GL_TEXTURE3 */ - { 34724, 0x000084DE }, /* GL_TEXTURE30 */ - { 34737, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 34754, 0x000084DF }, /* GL_TEXTURE31 */ - { 34767, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 34784, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 34800, 0x000084C4 }, /* GL_TEXTURE4 */ - { 34812, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 34828, 0x000084C5 }, /* GL_TEXTURE5 */ - { 34840, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 34856, 0x000084C6 }, /* GL_TEXTURE6 */ - { 34868, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 34884, 0x000084C7 }, /* GL_TEXTURE7 */ - { 34896, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 34912, 0x000084C8 }, /* GL_TEXTURE8 */ - { 34924, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 34940, 0x000084C9 }, /* GL_TEXTURE9 */ - { 34952, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 34968, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 34982, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 35006, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 35020, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 35044, 0x0000806F }, /* GL_TEXTURE_3D */ - { 35058, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 35080, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 35106, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 35128, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 35150, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 35182, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 35204, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 35236, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 35258, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 35286, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 35318, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 35351, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 35383, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 35398, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 35419, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 35444, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 35462, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 35486, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 35517, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 35547, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 35577, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 35612, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 35643, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 35681, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 35708, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 35740, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 35774, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 35798, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 35826, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 35850, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 35878, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 35911, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 35935, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 35957, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 35979, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 36005, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 36039, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 36072, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 36109, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 36137, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 36169, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 36192, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 36230, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 36272, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 36303, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 36331, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 36361, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 36389, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 36409, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 36433, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 36464, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 36499, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 36530, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 36565, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 36596, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 36631, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 36662, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 36697, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 36728, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 36763, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 36794, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 36829, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 36858, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 36875, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 36897, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 36923, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 36938, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 36959, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 36979, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 37005, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 37025, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 37042, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 37059, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 37076, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 37093, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 37118, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 37140, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 37166, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 37184, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 37210, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 37236, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 37266, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 37293, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 37318, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 37338, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 37362, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 37389, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 37416, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 37443, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 37469, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 37499, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 37521, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 37539, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 37569, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 37597, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 37625, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 37653, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 37674, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 37693, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 37715, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 37734, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 37754, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 37784, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 37815, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 37840, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 37864, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 37884, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 37908, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 37928, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 37951, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 37975, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ - { 38003, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 38033, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 38058, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 38092, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 38109, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 38127, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 38145, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 38163, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ - { 38182, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 38202, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 38221, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 38250, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 38267, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - { 38308, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - { 38341, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - { 38379, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - { 38417, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - { 38456, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - { 38501, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - { 38536, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - { 38581, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 38607, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 38637, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 38669, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 38699, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 38733, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 38749, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 38780, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 38815, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 38843, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 38875, 0x00000004 }, /* GL_TRIANGLES */ - { 38888, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 38904, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 38925, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 38943, 0x00000001 }, /* GL_TRUE */ - { 38951, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ - { 38970, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 38990, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 39013, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 39033, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 39054, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 39076, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 39098, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 39118, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 39139, 0x00009118 }, /* GL_UNSIGNALED */ - { 39153, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 39170, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 39197, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 39220, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 39236, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 39263, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 39284, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ - { 39309, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 39333, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 39364, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 39388, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 39416, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 39439, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 39457, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 39487, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 39513, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 39543, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 39569, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 39593, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 39621, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 39649, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 39676, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 39708, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 39739, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 39753, 0x00002A20 }, /* GL_V2F */ - { 39760, 0x00002A21 }, /* GL_V3F */ - { 39767, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 39786, 0x00001F00 }, /* GL_VENDOR */ - { 39796, 0x00001F02 }, /* GL_VERSION */ - { 39807, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 39823, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 39847, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 39877, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 39908, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 39943, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 39967, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 39988, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 40011, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 40032, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 40059, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 40087, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 40115, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 40143, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 40171, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 40199, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 40227, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 40254, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 40281, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 40308, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 40335, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 40362, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 40389, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 40416, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 40443, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 40470, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 40508, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 40550, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 40581, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 40616, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 40650, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 40688, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 40719, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 40754, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 40782, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 40814, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 40844, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 40878, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 40906, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 40938, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 40958, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 40980, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 41009, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 41030, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 41059, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 41092, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 41124, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 41151, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 41182, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 41212, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 41229, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 41250, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 41277, 0x00000BA2 }, /* GL_VIEWPORT */ - { 41289, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 41305, 0x00008A1A }, /* GL_VOLATILE_APPLE */ - { 41323, 0x0000911D }, /* GL_WAIT_FAILED */ - { 41338, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 41358, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 41389, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 41424, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 41452, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 41477, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 41504, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 41529, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 41553, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 41572, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 41586, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 41604, 0x00001506 }, /* GL_XOR */ - { 41611, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 41630, 0x00008757 }, /* GL_YCBCR_MESA */ - { 41644, 0x00000000 }, /* GL_ZERO */ - { 41652, 0x00000D16 }, /* GL_ZOOM_X */ - { 41662, 0x00000D17 }, /* GL_ZOOM_Y */ + { 1204, 0x000080E1 }, /* GL_BGRA_EXT */ + { 1216, 0x00001A00 }, /* GL_BITMAP */ + { 1226, 0x00000704 }, /* GL_BITMAP_TOKEN */ + { 1242, 0x00000BE2 }, /* GL_BLEND */ + { 1251, 0x00008005 }, /* GL_BLEND_COLOR */ + { 1266, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ + { 1285, 0x00000BE0 }, /* GL_BLEND_DST */ + { 1298, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ + { 1317, 0x000080CA }, /* GL_BLEND_DST_ALPHA_OES */ + { 1340, 0x000080C8 }, /* GL_BLEND_DST_RGB */ + { 1357, 0x000080C8 }, /* GL_BLEND_DST_RGB_OES */ + { 1378, 0x00008009 }, /* GL_BLEND_EQUATION */ + { 1396, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ + { 1420, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ + { 1448, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_OES */ + { 1476, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ + { 1498, 0x00008009 }, /* GL_BLEND_EQUATION_OES */ + { 1520, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */ + { 1542, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ + { 1568, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_OES */ + { 1594, 0x00000BE1 }, /* GL_BLEND_SRC */ + { 1607, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ + { 1626, 0x000080CB }, /* GL_BLEND_SRC_ALPHA_OES */ + { 1649, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ + { 1666, 0x000080C9 }, /* GL_BLEND_SRC_RGB_OES */ + { 1687, 0x00001905 }, /* GL_BLUE */ + { 1695, 0x00000D1B }, /* GL_BLUE_BIAS */ + { 1708, 0x00000D54 }, /* GL_BLUE_BITS */ + { 1721, 0x00000D1A }, /* GL_BLUE_SCALE */ + { 1735, 0x00008B56 }, /* GL_BOOL */ + { 1743, 0x00008B56 }, /* GL_BOOL_ARB */ + { 1755, 0x00008B57 }, /* GL_BOOL_VEC2 */ + { 1768, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ + { 1785, 0x00008B58 }, /* GL_BOOL_VEC3 */ + { 1798, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ + { 1815, 0x00008B59 }, /* GL_BOOL_VEC4 */ + { 1828, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ + { 1845, 0x000088BB }, /* GL_BUFFER_ACCESS */ + { 1862, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ + { 1883, 0x000088BB }, /* GL_BUFFER_ACCESS_OES */ + { 1904, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ + { 1935, 0x000088BC }, /* GL_BUFFER_MAPPED */ + { 1952, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ + { 1973, 0x000088BC }, /* GL_BUFFER_MAPPED_OES */ + { 1994, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ + { 2016, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ + { 2042, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_OES */ + { 2068, 0x000085B3 }, /* GL_BUFFER_OBJECT_APPLE */ + { 2091, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ + { 2125, 0x00008764 }, /* GL_BUFFER_SIZE */ + { 2140, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ + { 2159, 0x00008765 }, /* GL_BUFFER_USAGE */ + { 2175, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ + { 2195, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */ + { 2214, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */ + { 2240, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */ + { 2263, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ + { 2291, 0x0000877C }, /* GL_BUMP_TARGET_ATI */ + { 2310, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */ + { 2332, 0x00001400 }, /* GL_BYTE */ + { 2340, 0x00002A24 }, /* GL_C3F_V3F */ + { 2351, 0x00002A26 }, /* GL_C4F_N3F_V3F */ + { 2366, 0x00002A22 }, /* GL_C4UB_V2F */ + { 2378, 0x00002A23 }, /* GL_C4UB_V3F */ + { 2390, 0x00000901 }, /* GL_CCW */ + { 2397, 0x00002900 }, /* GL_CLAMP */ + { 2406, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ + { 2425, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ + { 2448, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ + { 2472, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ + { 2489, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ + { 2511, 0x00001500 }, /* GL_CLEAR */ + { 2520, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ + { 2545, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ + { 2574, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ + { 2600, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + { 2629, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ + { 2655, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ + { 2682, 0x00003000 }, /* GL_CLIP_PLANE0 */ + { 2697, 0x00003001 }, /* GL_CLIP_PLANE1 */ + { 2712, 0x00003002 }, /* GL_CLIP_PLANE2 */ + { 2727, 0x00003003 }, /* GL_CLIP_PLANE3 */ + { 2742, 0x00003004 }, /* GL_CLIP_PLANE4 */ + { 2757, 0x00003005 }, /* GL_CLIP_PLANE5 */ + { 2772, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + { 2805, 0x00000A00 }, /* GL_COEFF */ + { 2814, 0x00001800 }, /* GL_COLOR */ + { 2823, 0x00008076 }, /* GL_COLOR_ARRAY */ + { 2838, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + { 2868, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 2902, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ + { 2925, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ + { 2945, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ + { 2967, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ + { 2987, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */ + { 3008, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ + { 3033, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_OES */ + { 3058, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */ + { 3079, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */ + { 3101, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ + { 3127, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */ + { 3149, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ + { 3175, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */ + { 3197, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ + { 3223, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */ + { 3245, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ + { 3271, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */ + { 3293, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ + { 3319, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */ + { 3341, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ + { 3367, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ + { 3392, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */ + { 3413, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ + { 3438, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */ + { 3459, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ + { 3484, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */ + { 3505, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ + { 3530, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */ + { 3551, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ + { 3576, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */ + { 3597, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ + { 3622, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */ + { 3643, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ + { 3668, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */ + { 3689, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ + { 3714, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */ + { 3735, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ + { 3760, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ + { 3780, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ + { 3801, 0x00001900 }, /* GL_COLOR_INDEX */ + { 3816, 0x00001603 }, /* GL_COLOR_INDEXES */ + { 3833, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ + { 3851, 0x00000B57 }, /* GL_COLOR_MATERIAL */ + { 3869, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ + { 3892, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ + { 3920, 0x000080B1 }, /* GL_COLOR_MATRIX */ + { 3936, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ + { 3956, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ + { 3984, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 4016, 0x00008458 }, /* GL_COLOR_SUM */ + { 4029, 0x00008458 }, /* GL_COLOR_SUM_ARB */ + { 4046, 0x000080D0 }, /* GL_COLOR_TABLE */ + { 4061, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ + { 4087, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ + { 4117, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ + { 4147, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ + { 4167, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ + { 4191, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ + { 4216, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ + { 4245, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ + { 4274, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ + { 4296, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ + { 4322, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ + { 4348, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ + { 4374, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ + { 4404, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ + { 4434, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + { 4464, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ + { 4498, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ + { 4532, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + { 4562, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ + { 4596, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ + { 4630, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ + { 4654, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ + { 4682, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ + { 4710, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ + { 4731, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ + { 4756, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ + { 4777, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ + { 4802, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ + { 4827, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ + { 4846, 0x00008570 }, /* GL_COMBINE */ + { 4857, 0x00008503 }, /* GL_COMBINE4 */ + { 4869, 0x00008572 }, /* GL_COMBINE_ALPHA */ + { 4886, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ + { 4907, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ + { 4928, 0x00008570 }, /* GL_COMBINE_ARB */ + { 4943, 0x00008570 }, /* GL_COMBINE_EXT */ + { 4958, 0x00008571 }, /* GL_COMBINE_RGB */ + { 4973, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ + { 4992, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ + { 5011, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ + { 5047, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ + { 5071, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ + { 5099, 0x00001300 }, /* GL_COMPILE */ + { 5110, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ + { 5133, 0x00008B81 }, /* GL_COMPILE_STATUS */ + { 5151, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ + { 5171, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ + { 5195, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ + { 5219, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ + { 5247, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ + { 5271, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + { 5301, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ + { 5335, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ + { 5363, 0x000084ED }, /* GL_COMPRESSED_RGB */ + { 5381, 0x000084EE }, /* GL_COMPRESSED_RGBA */ + { 5400, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ + { 5423, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + { 5452, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + { 5485, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + { 5518, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + { 5551, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ + { 5573, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + { 5601, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + { 5633, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */ + { 5658, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ + { 5689, 0x00008C48 }, /* GL_COMPRESSED_SRGB */ + { 5708, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */ + { 5733, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ + { 5763, 0x0000911C }, /* GL_CONDITION_SATISFIED */ + { 5786, 0x00008576 }, /* GL_CONSTANT */ + { 5798, 0x00008003 }, /* GL_CONSTANT_ALPHA */ + { 5816, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ + { 5838, 0x00008576 }, /* GL_CONSTANT_ARB */ + { 5854, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ + { 5878, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ + { 5900, 0x00008001 }, /* GL_CONSTANT_COLOR */ + { 5918, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ + { 5940, 0x00008576 }, /* GL_CONSTANT_EXT */ + { 5956, 0x00008010 }, /* GL_CONVOLUTION_1D */ + { 5974, 0x00008011 }, /* GL_CONVOLUTION_2D */ + { 5992, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ + { 6020, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ + { 6051, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ + { 6078, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ + { 6109, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ + { 6136, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ + { 6167, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ + { 6195, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ + { 6227, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ + { 6249, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ + { 6275, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ + { 6297, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ + { 6323, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ + { 6344, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ + { 6369, 0x00008862 }, /* GL_COORD_REPLACE */ + { 6386, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ + { 6407, 0x00008862 }, /* GL_COORD_REPLACE_NV */ + { 6427, 0x00008862 }, /* GL_COORD_REPLACE_OES */ + { 6448, 0x00001503 }, /* GL_COPY */ + { 6456, 0x0000150C }, /* GL_COPY_INVERTED */ + { 6473, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ + { 6493, 0x00008F36 }, /* GL_COPY_READ_BUFFER */ + { 6513, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */ + { 6534, 0x00000B44 }, /* GL_CULL_FACE */ + { 6547, 0x00000B45 }, /* GL_CULL_FACE_MODE */ + { 6565, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ + { 6584, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + { 6616, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + { 6651, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ + { 6672, 0x00000001 }, /* GL_CURRENT_BIT */ + { 6687, 0x00000B00 }, /* GL_CURRENT_COLOR */ + { 6704, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ + { 6725, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ + { 6751, 0x00000B01 }, /* GL_CURRENT_INDEX */ + { 6768, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ + { 6790, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ + { 6818, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ + { 6839, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + { 6873, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ + { 6906, 0x00000B02 }, /* GL_CURRENT_NORMAL */ + { 6924, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + { 6954, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_OES */ + { 6984, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ + { 7003, 0x00008865 }, /* GL_CURRENT_QUERY */ + { 7020, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ + { 7041, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ + { 7065, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ + { 7092, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ + { 7116, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ + { 7143, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ + { 7176, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ + { 7210, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + { 7243, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ + { 7270, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ + { 7296, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ + { 7321, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ + { 7350, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ + { 7372, 0x00000900 }, /* GL_CW */ + { 7378, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ + { 7399, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ + { 7420, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ + { 7440, 0x00002101 }, /* GL_DECAL */ + { 7449, 0x00001E03 }, /* GL_DECR */ + { 7457, 0x00008508 }, /* GL_DECR_WRAP */ + { 7470, 0x00008508 }, /* GL_DECR_WRAP_EXT */ + { 7487, 0x00008B80 }, /* GL_DELETE_STATUS */ + { 7504, 0x00001801 }, /* GL_DEPTH */ + { 7513, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */ + { 7533, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_EXT */ + { 7557, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_OES */ + { 7581, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */ + { 7601, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ + { 7625, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_OES */ + { 7649, 0x00000D1F }, /* GL_DEPTH_BIAS */ + { 7663, 0x00000D56 }, /* GL_DEPTH_BITS */ + { 7677, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ + { 7697, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ + { 7722, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ + { 7742, 0x0000864F }, /* GL_DEPTH_CLAMP */ + { 7757, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ + { 7775, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ + { 7796, 0x00001902 }, /* GL_DEPTH_COMPONENT */ + { 7815, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ + { 7836, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ + { 7861, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_OES */ + { 7886, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ + { 7912, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ + { 7933, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ + { 7958, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_OES */ + { 7983, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ + { 8009, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ + { 8030, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ + { 8055, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_OES */ + { 8080, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ + { 8106, 0x00000B74 }, /* GL_DEPTH_FUNC */ + { 8120, 0x00000B70 }, /* GL_DEPTH_RANGE */ + { 8135, 0x00000D1E }, /* GL_DEPTH_SCALE */ + { 8150, 0x000084F9 }, /* GL_DEPTH_STENCIL */ + { 8167, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ + { 8195, 0x000084F9 }, /* GL_DEPTH_STENCIL_EXT */ + { 8216, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ + { 8236, 0x000084F9 }, /* GL_DEPTH_STENCIL_OES */ + { 8257, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + { 8285, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + { 8313, 0x00000B71 }, /* GL_DEPTH_TEST */ + { 8327, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ + { 8349, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ + { 8375, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ + { 8394, 0x00001201 }, /* GL_DIFFUSE */ + { 8405, 0x00000BD0 }, /* GL_DITHER */ + { 8415, 0x00000A02 }, /* GL_DOMAIN */ + { 8425, 0x00001100 }, /* GL_DONT_CARE */ + { 8438, 0x000086AE }, /* GL_DOT3_RGB */ + { 8450, 0x000086AF }, /* GL_DOT3_RGBA */ + { 8463, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ + { 8480, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ + { 8497, 0x000086AE }, /* GL_DOT3_RGB_ARB */ + { 8513, 0x00008740 }, /* GL_DOT3_RGB_EXT */ + { 8529, 0x0000140A }, /* GL_DOUBLE */ + { 8539, 0x00000C32 }, /* GL_DOUBLEBUFFER */ + { 8555, 0x00000C01 }, /* GL_DRAW_BUFFER */ + { 8570, 0x00008825 }, /* GL_DRAW_BUFFER0 */ + { 8586, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ + { 8606, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ + { 8626, 0x00008826 }, /* GL_DRAW_BUFFER1 */ + { 8642, 0x0000882F }, /* GL_DRAW_BUFFER10 */ + { 8659, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ + { 8680, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ + { 8701, 0x00008830 }, /* GL_DRAW_BUFFER11 */ + { 8718, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ + { 8739, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ + { 8760, 0x00008831 }, /* GL_DRAW_BUFFER12 */ + { 8777, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ + { 8798, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ + { 8819, 0x00008832 }, /* GL_DRAW_BUFFER13 */ + { 8836, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ + { 8857, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ + { 8878, 0x00008833 }, /* GL_DRAW_BUFFER14 */ + { 8895, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ + { 8916, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ + { 8937, 0x00008834 }, /* GL_DRAW_BUFFER15 */ + { 8954, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ + { 8975, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ + { 8996, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ + { 9016, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ + { 9036, 0x00008827 }, /* GL_DRAW_BUFFER2 */ + { 9052, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ + { 9072, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ + { 9092, 0x00008828 }, /* GL_DRAW_BUFFER3 */ + { 9108, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ + { 9128, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ + { 9148, 0x00008829 }, /* GL_DRAW_BUFFER4 */ + { 9164, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ + { 9184, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ + { 9204, 0x0000882A }, /* GL_DRAW_BUFFER5 */ + { 9220, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ + { 9240, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ + { 9260, 0x0000882B }, /* GL_DRAW_BUFFER6 */ + { 9276, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ + { 9296, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ + { 9316, 0x0000882C }, /* GL_DRAW_BUFFER7 */ + { 9332, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ + { 9352, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ + { 9372, 0x0000882D }, /* GL_DRAW_BUFFER8 */ + { 9388, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ + { 9408, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ + { 9428, 0x0000882E }, /* GL_DRAW_BUFFER9 */ + { 9444, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ + { 9464, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ + { 9484, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ + { 9504, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING */ + { 9532, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + { 9564, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ + { 9588, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ + { 9608, 0x00000304 }, /* GL_DST_ALPHA */ + { 9621, 0x00000306 }, /* GL_DST_COLOR */ + { 9634, 0x0000877A }, /* GL_DU8DV8_ATI */ + { 9648, 0x00008779 }, /* GL_DUDV_ATI */ + { 9660, 0x000088EA }, /* GL_DYNAMIC_COPY */ + { 9676, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ + { 9696, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ + { 9712, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ + { 9732, 0x000088E9 }, /* GL_DYNAMIC_READ */ + { 9748, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ + { 9768, 0x00000B43 }, /* GL_EDGE_FLAG */ + { 9781, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ + { 9800, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + { 9834, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ + { 9872, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ + { 9899, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + { 9925, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ + { 9949, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + { 9981, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ + { 10017, 0x00001600 }, /* GL_EMISSION */ + { 10029, 0x00002000 }, /* GL_ENABLE_BIT */ + { 10043, 0x00000202 }, /* GL_EQUAL */ + { 10052, 0x00001509 }, /* GL_EQUIV */ + { 10061, 0x00010000 }, /* GL_EVAL_BIT */ + { 10073, 0x00000800 }, /* GL_EXP */ + { 10080, 0x00000801 }, /* GL_EXP2 */ + { 10088, 0x00001F03 }, /* GL_EXTENSIONS */ + { 10102, 0x00002400 }, /* GL_EYE_LINEAR */ + { 10116, 0x00002502 }, /* GL_EYE_PLANE */ + { 10129, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ + { 10154, 0x0000855B }, /* GL_EYE_RADIAL_NV */ + { 10171, 0x00000000 }, /* GL_FALSE */ + { 10180, 0x00001101 }, /* GL_FASTEST */ + { 10191, 0x00001C01 }, /* GL_FEEDBACK */ + { 10203, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ + { 10230, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ + { 10254, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ + { 10278, 0x00001B02 }, /* GL_FILL */ + { 10286, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION */ + { 10313, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ + { 10344, 0x0000140C }, /* GL_FIXED */ + { 10353, 0x0000140C }, /* GL_FIXED_OES */ + { 10366, 0x00001D00 }, /* GL_FLAT */ + { 10374, 0x00001406 }, /* GL_FLOAT */ + { 10383, 0x00008B5A }, /* GL_FLOAT_MAT2 */ + { 10397, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ + { 10415, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ + { 10431, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ + { 10447, 0x00008B5B }, /* GL_FLOAT_MAT3 */ + { 10461, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ + { 10479, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ + { 10495, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ + { 10511, 0x00008B5C }, /* GL_FLOAT_MAT4 */ + { 10525, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ + { 10543, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ + { 10559, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ + { 10575, 0x00008B50 }, /* GL_FLOAT_VEC2 */ + { 10589, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ + { 10607, 0x00008B51 }, /* GL_FLOAT_VEC3 */ + { 10621, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ + { 10639, 0x00008B52 }, /* GL_FLOAT_VEC4 */ + { 10653, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ + { 10671, 0x00000B60 }, /* GL_FOG */ + { 10678, 0x00000080 }, /* GL_FOG_BIT */ + { 10689, 0x00000B66 }, /* GL_FOG_COLOR */ + { 10702, 0x00008451 }, /* GL_FOG_COORD */ + { 10715, 0x00008451 }, /* GL_FOG_COORDINATE */ + { 10733, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ + { 10757, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + { 10796, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ + { 10839, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + { 10871, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + { 10902, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + { 10931, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ + { 10956, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ + { 10975, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ + { 11009, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ + { 11036, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ + { 11062, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ + { 11086, 0x00008450 }, /* GL_FOG_COORD_SRC */ + { 11103, 0x00000B62 }, /* GL_FOG_DENSITY */ + { 11118, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ + { 11142, 0x00000B64 }, /* GL_FOG_END */ + { 11153, 0x00000C54 }, /* GL_FOG_HINT */ + { 11165, 0x00000B61 }, /* GL_FOG_INDEX */ + { 11178, 0x00000B65 }, /* GL_FOG_MODE */ + { 11190, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ + { 11209, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ + { 11234, 0x00000B63 }, /* GL_FOG_START */ + { 11247, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ + { 11265, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ + { 11289, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ + { 11308, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ + { 11331, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + { 11366, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES */ + { 11405, 0x00008D40 }, /* GL_FRAMEBUFFER */ + { 11420, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + { 11457, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + { 11493, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + { 11534, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + { 11575, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + { 11612, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + { 11649, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + { 11687, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 11729, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */ + { 11771, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + { 11809, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 11851, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */ + { 11893, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + { 11928, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + { 11967, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 12016, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */ + { 12065, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + { 12113, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 12165, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */ + { 12217, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + { 12257, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ + { 12301, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + { 12341, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 12385, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */ + { 12429, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */ + { 12452, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 12479, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */ + { 12506, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ + { 12530, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 12558, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */ + { 12586, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ + { 12609, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 12628, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + { 12665, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 12706, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */ + { 12747, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */ + { 12784, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 12825, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */ + { 12866, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ + { 12904, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 12946, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */ + { 12988, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 13039, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 13077, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */ + { 13115, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + { 13160, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 13209, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */ + { 13258, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + { 13296, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */ + { 13338, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ + { 13376, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 13418, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */ + { 13460, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */ + { 13479, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 13511, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ + { 13536, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ + { 13563, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 13594, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */ + { 13625, 0x00000404 }, /* GL_FRONT */ + { 13634, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 13652, 0x00000B46 }, /* GL_FRONT_FACE */ + { 13666, 0x00000400 }, /* GL_FRONT_LEFT */ + { 13680, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 13695, 0x00008006 }, /* GL_FUNC_ADD */ + { 13707, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 13723, 0x00008006 }, /* GL_FUNC_ADD_OES */ + { 13739, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 13764, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 13793, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */ + { 13822, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 13839, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 13860, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */ + { 13881, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 13900, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 13924, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 13953, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 13977, 0x00000206 }, /* GL_GEQUAL */ + { 13987, 0x00000204 }, /* GL_GREATER */ + { 13998, 0x00001904 }, /* GL_GREEN */ + { 14007, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 14021, 0x00000D53 }, /* GL_GREEN_BITS */ + { 14035, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 14050, 0x0000140B }, /* GL_HALF_FLOAT */ + { 14064, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ + { 14082, 0x00008DF2 }, /* GL_HIGH_FLOAT */ + { 14096, 0x00008DF5 }, /* GL_HIGH_INT */ + { 14108, 0x00008000 }, /* GL_HINT_BIT */ + { 14120, 0x00008024 }, /* GL_HISTOGRAM */ + { 14133, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 14157, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 14185, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 14208, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 14235, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 14252, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 14272, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 14296, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 14320, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 14348, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 14376, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 14408, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 14430, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 14456, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 14474, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 14496, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 14515, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 14538, 0x0000862A }, /* GL_IDENTITY_NV */ + { 14553, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 14573, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + { 14609, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 14649, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + { 14683, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 14721, 0x00001E02 }, /* GL_INCR */ + { 14729, 0x00008507 }, /* GL_INCR_WRAP */ + { 14742, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 14759, 0x00008222 }, /* GL_INDEX */ + { 14768, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 14783, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 14813, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 14847, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 14870, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 14892, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 14912, 0x00000D51 }, /* GL_INDEX_BITS */ + { 14926, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 14947, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 14965, 0x00000C30 }, /* GL_INDEX_MODE */ + { 14979, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 14995, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 15010, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 15029, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 15048, 0x00001404 }, /* GL_INT */ + { 15055, 0x00008049 }, /* GL_INTENSITY */ + { 15068, 0x0000804C }, /* GL_INTENSITY12 */ + { 15083, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 15102, 0x0000804D }, /* GL_INTENSITY16 */ + { 15117, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 15136, 0x0000804A }, /* GL_INTENSITY4 */ + { 15150, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 15168, 0x0000804B }, /* GL_INTENSITY8 */ + { 15182, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 15200, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 15217, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ + { 15244, 0x00008575 }, /* GL_INTERPOLATE */ + { 15259, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 15278, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 15297, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ + { 15319, 0x00008B53 }, /* GL_INT_VEC2 */ + { 15331, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 15347, 0x00008B54 }, /* GL_INT_VEC3 */ + { 15359, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 15375, 0x00008B55 }, /* GL_INT_VEC4 */ + { 15387, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 15403, 0x00000500 }, /* GL_INVALID_ENUM */ + { 15419, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 15452, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 15489, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ + { 15526, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 15547, 0x00000501 }, /* GL_INVALID_VALUE */ + { 15564, 0x0000862B }, /* GL_INVERSE_NV */ + { 15578, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 15602, 0x0000150A }, /* GL_INVERT */ + { 15612, 0x00001E00 }, /* GL_KEEP */ + { 15620, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ + { 15646, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 15676, 0x00000406 }, /* GL_LEFT */ + { 15684, 0x00000203 }, /* GL_LEQUAL */ + { 15694, 0x00000201 }, /* GL_LESS */ + { 15702, 0x00004000 }, /* GL_LIGHT0 */ + { 15712, 0x00004001 }, /* GL_LIGHT1 */ + { 15722, 0x00004002 }, /* GL_LIGHT2 */ + { 15732, 0x00004003 }, /* GL_LIGHT3 */ + { 15742, 0x00004004 }, /* GL_LIGHT4 */ + { 15752, 0x00004005 }, /* GL_LIGHT5 */ + { 15762, 0x00004006 }, /* GL_LIGHT6 */ + { 15772, 0x00004007 }, /* GL_LIGHT7 */ + { 15782, 0x00000B50 }, /* GL_LIGHTING */ + { 15794, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 15810, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 15833, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 15862, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 15895, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 15923, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 15947, 0x00001B01 }, /* GL_LINE */ + { 15955, 0x00002601 }, /* GL_LINEAR */ + { 15965, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 15987, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 16017, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 16048, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 16072, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 16097, 0x00000001 }, /* GL_LINES */ + { 16106, 0x00000004 }, /* GL_LINE_BIT */ + { 16118, 0x00000002 }, /* GL_LINE_LOOP */ + { 16131, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 16151, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 16166, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 16186, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 16202, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 16226, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 16249, 0x00000003 }, /* GL_LINE_STRIP */ + { 16263, 0x00000702 }, /* GL_LINE_TOKEN */ + { 16277, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 16291, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 16317, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 16337, 0x00008B82 }, /* GL_LINK_STATUS */ + { 16352, 0x00000B32 }, /* GL_LIST_BASE */ + { 16365, 0x00020000 }, /* GL_LIST_BIT */ + { 16377, 0x00000B33 }, /* GL_LIST_INDEX */ + { 16391, 0x00000B30 }, /* GL_LIST_MODE */ + { 16404, 0x00000101 }, /* GL_LOAD */ + { 16412, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 16424, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 16441, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 16455, 0x00008DF0 }, /* GL_LOW_FLOAT */ + { 16468, 0x00008DF3 }, /* GL_LOW_INT */ + { 16479, 0x00001909 }, /* GL_LUMINANCE */ + { 16492, 0x00008041 }, /* GL_LUMINANCE12 */ + { 16507, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 16530, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 16557, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 16579, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 16605, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 16624, 0x00008042 }, /* GL_LUMINANCE16 */ + { 16639, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 16662, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 16689, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 16708, 0x0000803F }, /* GL_LUMINANCE4 */ + { 16722, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 16743, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 16768, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 16786, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 16807, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 16832, 0x00008040 }, /* GL_LUMINANCE8 */ + { 16846, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 16867, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 16892, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 16910, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 16929, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 16945, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 16965, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 16987, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 17001, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 17016, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 17040, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 17064, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 17088, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 17112, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 17129, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 17146, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 17174, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 17203, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 17232, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 17261, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 17290, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 17319, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 17348, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 17376, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 17404, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 17432, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 17460, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 17488, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 17516, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 17544, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 17572, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 17600, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 17616, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 17636, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 17658, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 17672, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 17687, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 17711, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 17735, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 17759, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 17783, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 17800, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 17817, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 17845, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 17874, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 17903, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 17932, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 17961, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 17990, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 18019, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 18047, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 18075, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 18103, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 18131, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 18159, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 18187, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 18215, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 18243, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 18271, 0x00000D10 }, /* GL_MAP_COLOR */ + { 18284, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 18310, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 18339, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 18367, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 18383, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 18398, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 18424, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 18441, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 18456, 0x00008630 }, /* GL_MATRIX0_NV */ + { 18470, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 18486, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 18502, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 18518, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 18534, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 18550, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 18566, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 18582, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 18598, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 18614, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 18630, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 18645, 0x00008631 }, /* GL_MATRIX1_NV */ + { 18659, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 18675, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 18691, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 18707, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 18723, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 18739, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 18755, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 18771, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 18787, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 18803, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 18819, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 18834, 0x00008632 }, /* GL_MATRIX2_NV */ + { 18848, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 18864, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 18880, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 18895, 0x00008633 }, /* GL_MATRIX3_NV */ + { 18909, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 18924, 0x00008634 }, /* GL_MATRIX4_NV */ + { 18938, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 18953, 0x00008635 }, /* GL_MATRIX5_NV */ + { 18967, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 18982, 0x00008636 }, /* GL_MATRIX6_NV */ + { 18996, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 19011, 0x00008637 }, /* GL_MATRIX7_NV */ + { 19025, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 19040, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 19055, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 19081, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + { 19122, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ + { 19148, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 19182, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ + { 19216, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 19247, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ + { 19278, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 19311, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ + { 19344, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 19375, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ + { 19406, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 19421, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 19443, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ + { 19465, 0x00008008 }, /* GL_MAX */ + { 19472, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 19495, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ + { 19522, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 19554, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 19580, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 19613, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 19639, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 19673, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 19692, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ + { 19717, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 19746, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 19778, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 19814, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 19850, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 19890, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 19916, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 19946, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 19971, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 20000, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 20029, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 20062, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ + { 20095, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 20115, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 20139, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 20163, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 20187, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 20212, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 20230, 0x00008008 }, /* GL_MAX_EXT */ + { 20241, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 20276, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 20315, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + { 20347, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 20361, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 20381, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 20419, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 20448, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 20472, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 20500, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ + { 20528, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 20551, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 20588, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 20624, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 20651, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 20680, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 20714, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 20750, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 20777, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 20809, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 20845, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 20874, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 20903, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 20931, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 20969, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 21013, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 21056, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 21090, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 21129, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 21166, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 21204, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 21247, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 21290, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 21320, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 21351, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 21387, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 21423, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 21453, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 21487, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 21520, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ + { 21545, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 21574, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ + { 21603, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 21618, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ + { 21637, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 21664, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 21684, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 21708, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 21730, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 21756, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 21783, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 21814, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 21838, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ + { 21866, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 21900, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 21920, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 21947, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 21968, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 21993, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 22018, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 22053, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + { 22106, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + { 22153, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + { 22203, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 22225, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 22251, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ + { 22274, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 22296, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 22322, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 22356, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 22394, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 22427, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 22464, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + { 22494, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 22518, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ + { 22542, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 22563, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ + { 22579, 0x00008DF4 }, /* GL_MEDIUM_INT */ + { 22593, 0x00008007 }, /* GL_MIN */ + { 22600, 0x0000802E }, /* GL_MINMAX */ + { 22610, 0x0000802E }, /* GL_MINMAX_EXT */ + { 22624, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 22641, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 22662, 0x00008030 }, /* GL_MINMAX_SINK */ + { 22677, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 22696, 0x00008007 }, /* GL_MIN_EXT */ + { 22707, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 22726, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 22749, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 22772, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 22792, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 22812, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 22842, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 22870, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 22898, 0x00001700 }, /* GL_MODELVIEW */ + { 22911, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 22929, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 22948, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 22967, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 22986, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 23005, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 23024, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 23043, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 23062, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 23081, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 23100, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 23119, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 23137, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 23156, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 23175, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 23194, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 23213, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 23232, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 23251, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 23270, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 23289, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 23308, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 23327, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 23345, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 23364, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 23383, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 23401, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 23419, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 23437, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 23455, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 23473, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 23491, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 23509, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 23529, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 23571, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 23598, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 23623, 0x00002100 }, /* GL_MODULATE */ + { 23635, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 23655, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 23682, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 23707, 0x00000103 }, /* GL_MULT */ + { 23715, 0x0000809D }, /* GL_MULTISAMPLE */ + { 23730, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 23750, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 23769, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 23788, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 23812, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 23835, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 23865, 0x00002A25 }, /* GL_N3F_V3F */ + { 23876, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 23896, 0x0000150E }, /* GL_NAND */ + { 23904, 0x00002600 }, /* GL_NEAREST */ + { 23915, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 23946, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 23978, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 24003, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 24029, 0x00000200 }, /* GL_NEVER */ + { 24038, 0x00001102 }, /* GL_NICEST */ + { 24048, 0x00000000 }, /* GL_NONE */ + { 24056, 0x00000000 }, /* GL_NONE_OES */ + { 24068, 0x00001505 }, /* GL_NOOP */ + { 24076, 0x00001508 }, /* GL_NOR */ + { 24083, 0x00000BA1 }, /* GL_NORMALIZE */ + { 24096, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 24112, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 24143, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 24178, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 24202, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 24225, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 24246, 0x00008511 }, /* GL_NORMAL_MAP */ + { 24260, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 24278, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 24295, 0x00008511 }, /* GL_NORMAL_MAP_OES */ + { 24313, 0x00000205 }, /* GL_NOTEQUAL */ + { 24325, 0x00000000 }, /* GL_NO_ERROR */ + { 24337, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 24371, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 24409, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + { 24443, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ + { 24472, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 24504, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 24546, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 24576, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 24616, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 24647, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 24676, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 24704, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 24734, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 24751, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 24777, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 24793, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 24828, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 24850, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 24865, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 24884, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 24914, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 24935, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 24963, 0x00000001 }, /* GL_ONE */ + { 24970, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 24998, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 25030, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 25058, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 25090, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 25113, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 25136, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 25159, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 25182, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 25200, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 25222, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 25244, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 25260, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 25280, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 25300, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 25318, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 25340, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 25362, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 25378, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 25398, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 25418, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 25436, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 25458, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 25480, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 25496, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 25516, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 25536, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 25557, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 25576, 0x00001507 }, /* GL_OR */ + { 25582, 0x00000A01 }, /* GL_ORDER */ + { 25591, 0x0000150D }, /* GL_OR_INVERTED */ + { 25606, 0x0000150B }, /* GL_OR_REVERSE */ + { 25620, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 25637, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 25655, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 25676, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 25696, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 25714, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 25733, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 25753, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 25773, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 25791, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 25810, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 25835, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 25859, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 25880, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 25902, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 25924, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 25949, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 25973, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 25994, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 26016, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 26038, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 26060, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 26091, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 26111, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 26136, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 26156, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 26181, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 26201, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 26226, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 26246, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 26271, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 26291, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 26316, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 26336, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 26361, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 26381, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 26406, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 26426, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 26451, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 26471, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 26496, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 26516, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 26541, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 26559, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 26580, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 26609, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 26642, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 26667, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 26690, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 26721, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 26756, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 26783, 0x00001B00 }, /* GL_POINT */ + { 26792, 0x00000000 }, /* GL_POINTS */ + { 26802, 0x00000002 }, /* GL_POINT_BIT */ + { 26815, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 26845, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 26879, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 26913, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 26948, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 26977, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 27010, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 27043, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 27077, 0x00000B11 }, /* GL_POINT_SIZE */ + { 27091, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + { 27130, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ + { 27154, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + { 27186, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + { 27217, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + { 27246, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 27272, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 27290, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 27312, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 27334, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 27357, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 27375, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 27397, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 27419, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 27442, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 27462, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 27478, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 27499, 0x00008861 }, /* GL_POINT_SPRITE */ + { 27515, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 27535, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 27564, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 27583, 0x00008861 }, /* GL_POINT_SPRITE_OES */ + { 27603, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 27629, 0x00000701 }, /* GL_POINT_TOKEN */ + { 27644, 0x00000009 }, /* GL_POLYGON */ + { 27655, 0x00000008 }, /* GL_POLYGON_BIT */ + { 27670, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 27686, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 27709, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 27734, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 27757, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 27780, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 27804, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 27828, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 27846, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 27869, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 27888, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 27911, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 27928, 0x00001203 }, /* GL_POSITION */ + { 27940, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 27972, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 28008, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 28041, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 28078, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 28109, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 28144, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 28176, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 28212, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 28245, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 28277, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 28313, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 28346, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 28383, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 28413, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 28447, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 28478, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 28513, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 28544, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 28579, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 28611, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 28647, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 28677, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 28711, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 28742, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 28777, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 28809, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 28840, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 28875, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 28907, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 28943, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 28972, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 29005, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 29035, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 29069, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 29108, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 29141, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 29181, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 29215, 0x00008578 }, /* GL_PREVIOUS */ + { 29227, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 29243, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 29259, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 29276, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 29297, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 29318, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ + { 29346, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 29379, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 29411, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 29434, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ + { 29464, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ + { 29493, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 29516, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 29546, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 29575, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 29603, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 29625, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 29653, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 29681, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 29703, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 29724, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 29764, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 29803, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 29833, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 29868, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 29901, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 29935, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 29974, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 30013, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 30035, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 30061, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 30085, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 30108, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 30130, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 30151, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 30172, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 30199, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 30231, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 30263, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 30298, 0x00001701 }, /* GL_PROJECTION */ + { 30312, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 30333, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 30376, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 30402, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ + { 30422, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 30446, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 30467, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 30486, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 30509, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 30548, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 30586, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 30606, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 30636, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 30660, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 30680, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 30710, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 30734, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 30754, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 30787, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 30813, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 30843, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 30874, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 30904, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ + { 30923, 0x00002003 }, /* GL_Q */ + { 30928, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 30953, 0x00000007 }, /* GL_QUADS */ + { 30962, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + { 31006, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 31054, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 31071, 0x00000008 }, /* GL_QUAD_STRIP */ + { 31085, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + { 31115, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ + { 31142, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 31164, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 31190, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ + { 31210, 0x00008866 }, /* GL_QUERY_RESULT */ + { 31226, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 31246, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 31272, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 31302, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ + { 31319, 0x00002002 }, /* GL_R */ + { 31324, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 31336, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ + { 31362, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 31395, 0x00000C02 }, /* GL_READ_BUFFER */ + { 31410, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 31430, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ + { 31458, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 31490, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 31514, 0x000088B8 }, /* GL_READ_ONLY */ + { 31527, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 31544, 0x000088BA }, /* GL_READ_WRITE */ + { 31558, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 31576, 0x00001903 }, /* GL_RED */ + { 31583, 0x00008016 }, /* GL_REDUCE */ + { 31593, 0x00008016 }, /* GL_REDUCE_EXT */ + { 31607, 0x00000D15 }, /* GL_RED_BIAS */ + { 31619, 0x00000D52 }, /* GL_RED_BITS */ + { 31631, 0x00000D14 }, /* GL_RED_SCALE */ + { 31644, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 31662, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 31684, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 31705, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ + { 31727, 0x00008A19 }, /* GL_RELEASED_APPLE */ + { 31745, 0x00001C00 }, /* GL_RENDER */ + { 31755, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 31771, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 31798, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ + { 31829, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ + { 31853, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 31881, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ + { 31909, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 31935, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ + { 31965, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 31992, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ + { 32023, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 32043, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 32070, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ + { 32101, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 32124, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 32151, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ + { 32178, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 32210, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 32246, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + { 32282, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ + { 32302, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 32327, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ + { 32356, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 32380, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ + { 32408, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 32437, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ + { 32470, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 32492, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 32518, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ + { 32544, 0x00001F01 }, /* GL_RENDERER */ + { 32556, 0x00000C40 }, /* GL_RENDER_MODE */ + { 32571, 0x00002901 }, /* GL_REPEAT */ + { 32581, 0x00001E01 }, /* GL_REPLACE */ + { 32592, 0x00008062 }, /* GL_REPLACE_EXT */ + { 32607, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 32630, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 32648, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 32670, 0x00008A1B }, /* GL_RETAINED_APPLE */ + { 32688, 0x00000102 }, /* GL_RETURN */ + { 32698, 0x00001907 }, /* GL_RGB */ + { 32705, 0x00008052 }, /* GL_RGB10 */ + { 32714, 0x00008059 }, /* GL_RGB10_A2 */ + { 32726, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 32742, 0x00008052 }, /* GL_RGB10_EXT */ + { 32755, 0x00008053 }, /* GL_RGB12 */ + { 32764, 0x00008053 }, /* GL_RGB12_EXT */ + { 32777, 0x00008054 }, /* GL_RGB16 */ + { 32786, 0x00008054 }, /* GL_RGB16_EXT */ + { 32799, 0x0000804E }, /* GL_RGB2_EXT */ + { 32811, 0x0000804F }, /* GL_RGB4 */ + { 32819, 0x0000804F }, /* GL_RGB4_EXT */ + { 32831, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 32844, 0x00008050 }, /* GL_RGB5 */ + { 32852, 0x00008D62 }, /* GL_RGB565 */ + { 32862, 0x00008D62 }, /* GL_RGB565_OES */ + { 32876, 0x00008057 }, /* GL_RGB5_A1 */ + { 32887, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 32902, 0x00008057 }, /* GL_RGB5_A1_OES */ + { 32917, 0x00008050 }, /* GL_RGB5_EXT */ + { 32929, 0x00008051 }, /* GL_RGB8 */ + { 32937, 0x00008051 }, /* GL_RGB8_EXT */ + { 32949, 0x00008051 }, /* GL_RGB8_OES */ + { 32961, 0x00001908 }, /* GL_RGBA */ + { 32969, 0x0000805A }, /* GL_RGBA12 */ + { 32979, 0x0000805A }, /* GL_RGBA12_EXT */ + { 32993, 0x0000805B }, /* GL_RGBA16 */ + { 33003, 0x0000805B }, /* GL_RGBA16_EXT */ + { 33017, 0x00008055 }, /* GL_RGBA2 */ + { 33026, 0x00008055 }, /* GL_RGBA2_EXT */ + { 33039, 0x00008056 }, /* GL_RGBA4 */ + { 33048, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 33067, 0x00008056 }, /* GL_RGBA4_EXT */ + { 33080, 0x00008056 }, /* GL_RGBA4_OES */ + { 33093, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 33107, 0x00008058 }, /* GL_RGBA8 */ + { 33116, 0x00008058 }, /* GL_RGBA8_EXT */ + { 33129, 0x00008058 }, /* GL_RGBA8_OES */ + { 33142, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 33157, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 33175, 0x00000C31 }, /* GL_RGBA_MODE */ + { 33188, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 33201, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 33215, 0x000083A0 }, /* GL_RGB_S3TC */ + { 33227, 0x00008573 }, /* GL_RGB_SCALE */ + { 33240, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 33257, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 33274, 0x00000407 }, /* GL_RIGHT */ + { 33283, 0x00002000 }, /* GL_S */ + { 33288, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 33302, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 33323, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 33337, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 33358, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 33372, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ + { 33390, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 33406, 0x000080A9 }, /* GL_SAMPLES */ + { 33417, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 33433, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 33448, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 33466, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 33488, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 33516, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 33548, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 33571, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 33598, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 33616, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 33639, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 33661, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 33680, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 33703, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 33729, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 33759, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 33784, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 33813, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 33828, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 33843, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 33859, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 33884, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 33924, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 33968, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 34001, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 34031, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 34063, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 34093, 0x00001C02 }, /* GL_SELECT */ + { 34103, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 34131, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 34156, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 34172, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ + { 34196, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 34223, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 34254, 0x0000150F }, /* GL_SET */ + { 34261, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ + { 34286, 0x00008DFA }, /* GL_SHADER_COMPILER */ + { 34305, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 34326, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 34350, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 34365, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 34380, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 34408, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 34431, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 34461, 0x00001601 }, /* GL_SHININESS */ + { 34474, 0x00001402 }, /* GL_SHORT */ + { 34483, 0x00009119 }, /* GL_SIGNALED */ + { 34495, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 34516, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 34532, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 34552, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 34571, 0x00008C46 }, /* GL_SLUMINANCE */ + { 34585, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 34600, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 34622, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 34642, 0x00001D01 }, /* GL_SMOOTH */ + { 34652, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 34685, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 34712, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 34745, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 34772, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 34789, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 34810, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 34831, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 34846, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 34865, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 34884, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 34901, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 34922, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 34943, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 34958, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 34977, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 34996, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 35013, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 35034, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 35055, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 35070, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 35089, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 35108, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 35128, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 35146, 0x00001202 }, /* GL_SPECULAR */ + { 35158, 0x00002402 }, /* GL_SPHERE_MAP */ + { 35172, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 35187, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 35205, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 35222, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 35236, 0x00008580 }, /* GL_SRC0_RGB */ + { 35248, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 35262, 0x00008581 }, /* GL_SRC1_RGB */ + { 35274, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 35288, 0x00008582 }, /* GL_SRC2_RGB */ + { 35300, 0x00000302 }, /* GL_SRC_ALPHA */ + { 35313, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 35335, 0x00000300 }, /* GL_SRC_COLOR */ + { 35348, 0x00008C40 }, /* GL_SRGB */ + { 35356, 0x00008C41 }, /* GL_SRGB8 */ + { 35365, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 35381, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 35395, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 35413, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 35432, 0x000088E6 }, /* GL_STATIC_COPY */ + { 35447, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 35466, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 35481, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 35500, 0x000088E5 }, /* GL_STATIC_READ */ + { 35515, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 35534, 0x00001802 }, /* GL_STENCIL */ + { 35545, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 35567, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 35593, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ + { 35619, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 35640, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 35665, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 35686, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 35711, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 35743, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 35779, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 35811, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 35847, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 35867, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 35894, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 35920, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 35936, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 35958, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 35981, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 35997, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 36013, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 36030, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ + { 36048, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ + { 36067, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 36090, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 36112, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ + { 36134, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ + { 36152, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 36174, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ + { 36196, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ + { 36214, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 36236, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ + { 36258, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 36279, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 36306, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 36333, 0x00000B97 }, /* GL_STENCIL_REF */ + { 36348, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 36364, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 36393, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 36415, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 36436, 0x00000C33 }, /* GL_STEREO */ + { 36446, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 36470, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 36495, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 36519, 0x000088E2 }, /* GL_STREAM_COPY */ + { 36534, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 36553, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 36568, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 36587, 0x000088E1 }, /* GL_STREAM_READ */ + { 36602, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 36621, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 36638, 0x000084E7 }, /* GL_SUBTRACT */ + { 36650, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 36666, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 36684, 0x00009116 }, /* GL_SYNC_FENCE */ + { 36698, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 36712, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 36739, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 36769, 0x00009114 }, /* GL_SYNC_STATUS */ + { 36784, 0x00002001 }, /* GL_T */ + { 36789, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 36804, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 36823, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 36839, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 36854, 0x00002A27 }, /* GL_T2F_V3F */ + { 36865, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 36884, 0x00002A28 }, /* GL_T4F_V4F */ + { 36895, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 36918, 0x00001702 }, /* GL_TEXTURE */ + { 36929, 0x000084C0 }, /* GL_TEXTURE0 */ + { 36941, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 36957, 0x000084C1 }, /* GL_TEXTURE1 */ + { 36969, 0x000084CA }, /* GL_TEXTURE10 */ + { 36982, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 36999, 0x000084CB }, /* GL_TEXTURE11 */ + { 37012, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 37029, 0x000084CC }, /* GL_TEXTURE12 */ + { 37042, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 37059, 0x000084CD }, /* GL_TEXTURE13 */ + { 37072, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 37089, 0x000084CE }, /* GL_TEXTURE14 */ + { 37102, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 37119, 0x000084CF }, /* GL_TEXTURE15 */ + { 37132, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 37149, 0x000084D0 }, /* GL_TEXTURE16 */ + { 37162, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 37179, 0x000084D1 }, /* GL_TEXTURE17 */ + { 37192, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 37209, 0x000084D2 }, /* GL_TEXTURE18 */ + { 37222, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 37239, 0x000084D3 }, /* GL_TEXTURE19 */ + { 37252, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 37269, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 37285, 0x000084C2 }, /* GL_TEXTURE2 */ + { 37297, 0x000084D4 }, /* GL_TEXTURE20 */ + { 37310, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 37327, 0x000084D5 }, /* GL_TEXTURE21 */ + { 37340, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 37357, 0x000084D6 }, /* GL_TEXTURE22 */ + { 37370, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 37387, 0x000084D7 }, /* GL_TEXTURE23 */ + { 37400, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 37417, 0x000084D8 }, /* GL_TEXTURE24 */ + { 37430, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 37447, 0x000084D9 }, /* GL_TEXTURE25 */ + { 37460, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 37477, 0x000084DA }, /* GL_TEXTURE26 */ + { 37490, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 37507, 0x000084DB }, /* GL_TEXTURE27 */ + { 37520, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 37537, 0x000084DC }, /* GL_TEXTURE28 */ + { 37550, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 37567, 0x000084DD }, /* GL_TEXTURE29 */ + { 37580, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 37597, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 37613, 0x000084C3 }, /* GL_TEXTURE3 */ + { 37625, 0x000084DE }, /* GL_TEXTURE30 */ + { 37638, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 37655, 0x000084DF }, /* GL_TEXTURE31 */ + { 37668, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 37685, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 37701, 0x000084C4 }, /* GL_TEXTURE4 */ + { 37713, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 37729, 0x000084C5 }, /* GL_TEXTURE5 */ + { 37741, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 37757, 0x000084C6 }, /* GL_TEXTURE6 */ + { 37769, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 37785, 0x000084C7 }, /* GL_TEXTURE7 */ + { 37797, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 37813, 0x000084C8 }, /* GL_TEXTURE8 */ + { 37825, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 37841, 0x000084C9 }, /* GL_TEXTURE9 */ + { 37853, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 37869, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 37883, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 37907, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 37921, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 37945, 0x0000806F }, /* GL_TEXTURE_3D */ + { 37959, 0x0000806F }, /* GL_TEXTURE_3D_OES */ + { 37977, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 37999, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 38025, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 38047, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 38069, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 38101, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 38123, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 38155, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 38177, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ + { 38203, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 38231, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 38263, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ + { 38295, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 38328, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 38360, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 38375, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 38396, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 38421, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 38439, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 38463, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 38494, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 38524, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 38554, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 38589, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 38620, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 38658, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 38685, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 38717, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 38751, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 38775, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 38803, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 38827, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 38855, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 38888, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 38912, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 38934, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 38956, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 38982, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 39016, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 39049, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 39086, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 39114, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 39146, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 39169, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 39207, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 39249, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 39280, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 39308, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 39338, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 39366, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ + { 39391, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 39411, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 39435, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 39466, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 39501, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ + { 39536, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 39567, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 39602, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ + { 39637, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 39668, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 39703, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ + { 39738, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ + { 39762, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 39793, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 39828, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ + { 39863, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 39894, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 39929, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ + { 39964, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 39995, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 40030, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ + { 40065, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 40094, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 40111, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 40133, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 40159, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 40174, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 40195, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 40215, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 40241, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ + { 40271, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 40291, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ + { 40315, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 40332, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 40349, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 40366, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ + { 40389, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 40406, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 40431, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 40453, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 40479, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 40497, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 40523, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 40549, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 40579, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 40606, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 40631, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 40651, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 40675, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 40702, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 40729, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 40756, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 40782, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 40812, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 40834, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 40852, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 40892, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 40922, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 40950, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 40978, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 41006, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 41027, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 41046, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 41068, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 41087, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 41107, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 41137, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 41168, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 41193, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 41217, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 41237, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 41261, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 41281, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 41304, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 41328, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ + { 41356, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 41386, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 41411, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 41445, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 41462, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 41480, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ + { 41502, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 41520, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 41538, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 41557, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 41577, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 41596, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 41625, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 41642, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + { 41683, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + { 41716, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + { 41754, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + { 41792, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + { 41831, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + { 41876, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + { 41911, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + { 41956, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 41982, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 42012, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 42044, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 42074, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 42108, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 42124, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 42155, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 42190, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 42218, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 42250, 0x00000004 }, /* GL_TRIANGLES */ + { 42263, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 42279, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 42300, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 42318, 0x00000001 }, /* GL_TRUE */ + { 42326, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ + { 42345, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 42365, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 42388, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 42408, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 42429, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 42451, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 42473, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 42493, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 42514, 0x00009118 }, /* GL_UNSIGNALED */ + { 42528, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 42545, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 42572, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 42595, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 42611, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 42638, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + { 42669, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 42690, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ + { 42715, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 42739, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ + { 42764, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 42795, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ + { 42830, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 42854, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 42882, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 42905, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 42923, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 42953, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ + { 42987, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 43013, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 43043, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ + { 43077, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 43103, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 43127, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 43155, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 43183, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 43210, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 43242, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 43273, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 43287, 0x00002A20 }, /* GL_V2F */ + { 43294, 0x00002A21 }, /* GL_V3F */ + { 43301, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 43320, 0x00001F00 }, /* GL_VENDOR */ + { 43330, 0x00001F02 }, /* GL_VERSION */ + { 43341, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 43357, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 43381, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 43411, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 43442, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 43477, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 43501, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 43522, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 43545, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 43566, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 43593, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 43621, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 43649, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 43677, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 43705, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 43733, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 43761, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 43788, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 43815, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 43842, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 43869, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 43896, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 43923, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 43950, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 43977, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 44004, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 44042, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 44084, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 44115, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 44150, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 44184, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 44222, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 44253, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 44288, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 44316, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 44348, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 44378, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 44412, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 44440, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 44472, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 44492, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 44514, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 44543, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 44564, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 44593, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 44626, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 44658, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 44685, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 44716, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 44746, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 44763, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 44784, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 44811, 0x00000BA2 }, /* GL_VIEWPORT */ + { 44823, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 44839, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 44857, 0x0000911D }, /* GL_WAIT_FAILED */ + { 44872, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 44892, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 44923, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 44958, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 44993, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 45013, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 45041, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 45069, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 45094, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 45119, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 45146, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 45173, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 45198, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 45223, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 45247, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 45266, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 45280, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 45298, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 45316, 0x00001506 }, /* GL_XOR */ + { 45323, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 45342, 0x00008757 }, /* GL_YCBCR_MESA */ + { 45356, 0x00000000 }, /* GL_ZERO */ + { 45364, 0x00000D16 }, /* GL_ZOOM_X */ + { 45374, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1372] = +static const unsigned reduced_enums[1402] = { - 480, /* GL_FALSE */ - 704, /* GL_LINES */ - 706, /* GL_LINE_LOOP */ - 713, /* GL_LINE_STRIP */ - 1789, /* GL_TRIANGLES */ - 1792, /* GL_TRIANGLE_STRIP */ - 1790, /* GL_TRIANGLE_FAN */ - 1293, /* GL_QUADS */ - 1297, /* GL_QUAD_STRIP */ - 1177, /* GL_POLYGON */ - 1189, /* GL_POLYGON_STIPPLE_BIT */ - 1138, /* GL_PIXEL_MODE_BIT */ - 691, /* GL_LIGHTING_BIT */ - 510, /* GL_FOG_BIT */ + 500, /* GL_FALSE */ + 753, /* GL_LINES */ + 755, /* GL_LINE_LOOP */ + 762, /* GL_LINE_STRIP */ + 1913, /* GL_TRIANGLES */ + 1916, /* GL_TRIANGLE_STRIP */ + 1914, /* GL_TRIANGLE_FAN */ + 1376, /* GL_QUADS */ + 1380, /* GL_QUAD_STRIP */ + 1257, /* GL_POLYGON */ + 1269, /* GL_POLYGON_STIPPLE_BIT */ + 1212, /* GL_PIXEL_MODE_BIT */ + 740, /* GL_LIGHTING_BIT */ + 532, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 723, /* GL_LOAD */ - 1359, /* GL_RETURN */ - 1010, /* GL_MULT */ + 772, /* GL_LOAD */ + 1454, /* GL_RETURN */ + 1080, /* GL_MULT */ 23, /* GL_ADD */ - 1026, /* GL_NEVER */ - 681, /* GL_LESS */ - 470, /* GL_EQUAL */ - 680, /* GL_LEQUAL */ - 600, /* GL_GREATER */ - 1041, /* GL_NOTEQUAL */ - 599, /* GL_GEQUAL */ + 1096, /* GL_NEVER */ + 730, /* GL_LESS */ + 490, /* GL_EQUAL */ + 729, /* GL_LEQUAL */ + 642, /* GL_GREATER */ + 1113, /* GL_NOTEQUAL */ + 641, /* GL_GEQUAL */ 47, /* GL_ALWAYS */ - 1501, /* GL_SRC_COLOR */ - 1071, /* GL_ONE_MINUS_SRC_COLOR */ - 1499, /* GL_SRC_ALPHA */ - 1070, /* GL_ONE_MINUS_SRC_ALPHA */ - 449, /* GL_DST_ALPHA */ - 1068, /* GL_ONE_MINUS_DST_ALPHA */ - 450, /* GL_DST_COLOR */ - 1069, /* GL_ONE_MINUS_DST_COLOR */ - 1500, /* GL_SRC_ALPHA_SATURATE */ - 587, /* GL_FRONT_LEFT */ - 588, /* GL_FRONT_RIGHT */ + 1605, /* GL_SRC_COLOR */ + 1145, /* GL_ONE_MINUS_SRC_COLOR */ + 1603, /* GL_SRC_ALPHA */ + 1144, /* GL_ONE_MINUS_SRC_ALPHA */ + 469, /* GL_DST_ALPHA */ + 1142, /* GL_ONE_MINUS_DST_ALPHA */ + 470, /* GL_DST_COLOR */ + 1143, /* GL_ONE_MINUS_DST_COLOR */ + 1604, /* GL_SRC_ALPHA_SATURATE */ + 626, /* GL_FRONT_LEFT */ + 627, /* GL_FRONT_RIGHT */ 69, /* GL_BACK_LEFT */ 70, /* GL_BACK_RIGHT */ - 584, /* GL_FRONT */ + 623, /* GL_FRONT */ 68, /* GL_BACK */ - 679, /* GL_LEFT */ - 1401, /* GL_RIGHT */ - 585, /* GL_FRONT_AND_BACK */ + 728, /* GL_LEFT */ + 1502, /* GL_RIGHT */ + 624, /* GL_FRONT_AND_BACK */ 63, /* GL_AUX0 */ 64, /* GL_AUX1 */ 65, /* GL_AUX2 */ 66, /* GL_AUX3 */ - 668, /* GL_INVALID_ENUM */ - 672, /* GL_INVALID_VALUE */ - 671, /* GL_INVALID_OPERATION */ - 1506, /* GL_STACK_OVERFLOW */ - 1507, /* GL_STACK_UNDERFLOW */ - 1096, /* GL_OUT_OF_MEMORY */ - 669, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 716, /* GL_INVALID_ENUM */ + 721, /* GL_INVALID_VALUE */ + 720, /* GL_INVALID_OPERATION */ + 1610, /* GL_STACK_OVERFLOW */ + 1611, /* GL_STACK_UNDERFLOW */ + 1170, /* GL_OUT_OF_MEMORY */ + 717, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1116, /* GL_PASS_THROUGH_TOKEN */ - 1176, /* GL_POINT_TOKEN */ - 714, /* GL_LINE_TOKEN */ - 1190, /* GL_POLYGON_TOKEN */ - 74, /* GL_BITMAP_TOKEN */ - 448, /* GL_DRAW_PIXEL_TOKEN */ - 302, /* GL_COPY_PIXEL_TOKEN */ - 707, /* GL_LINE_RESET_TOKEN */ - 473, /* GL_EXP */ - 474, /* GL_EXP2 */ - 338, /* GL_CW */ - 126, /* GL_CCW */ - 147, /* GL_COEFF */ - 1093, /* GL_ORDER */ - 385, /* GL_DOMAIN */ - 312, /* GL_CURRENT_COLOR */ - 315, /* GL_CURRENT_INDEX */ - 321, /* GL_CURRENT_NORMAL */ - 334, /* GL_CURRENT_TEXTURE_COORDS */ - 326, /* GL_CURRENT_RASTER_COLOR */ - 328, /* GL_CURRENT_RASTER_INDEX */ - 332, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - 329, /* GL_CURRENT_RASTER_POSITION */ - 330, /* GL_CURRENT_RASTER_POSITION_VALID */ - 327, /* GL_CURRENT_RASTER_DISTANCE */ - 1169, /* GL_POINT_SMOOTH */ - 1158, /* GL_POINT_SIZE */ - 1168, /* GL_POINT_SIZE_RANGE */ - 1159, /* GL_POINT_SIZE_GRANULARITY */ - 708, /* GL_LINE_SMOOTH */ - 715, /* GL_LINE_WIDTH */ - 717, /* GL_LINE_WIDTH_RANGE */ - 716, /* GL_LINE_WIDTH_GRANULARITY */ - 710, /* GL_LINE_STIPPLE */ - 711, /* GL_LINE_STIPPLE_PATTERN */ - 712, /* GL_LINE_STIPPLE_REPEAT */ - 722, /* GL_LIST_MODE */ - 888, /* GL_MAX_LIST_NESTING */ - 719, /* GL_LIST_BASE */ - 721, /* GL_LIST_INDEX */ - 1179, /* GL_POLYGON_MODE */ - 1186, /* GL_POLYGON_SMOOTH */ - 1188, /* GL_POLYGON_STIPPLE */ - 459, /* GL_EDGE_FLAG */ - 305, /* GL_CULL_FACE */ - 306, /* GL_CULL_FACE_MODE */ - 586, /* GL_FRONT_FACE */ - 690, /* GL_LIGHTING */ - 695, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 696, /* GL_LIGHT_MODEL_TWO_SIDE */ - 692, /* GL_LIGHT_MODEL_AMBIENT */ - 1448, /* GL_SHADE_MODEL */ - 194, /* GL_COLOR_MATERIAL_FACE */ - 195, /* GL_COLOR_MATERIAL_PARAMETER */ - 193, /* GL_COLOR_MATERIAL */ - 509, /* GL_FOG */ - 531, /* GL_FOG_INDEX */ - 527, /* GL_FOG_DENSITY */ - 535, /* GL_FOG_START */ - 529, /* GL_FOG_END */ - 532, /* GL_FOG_MODE */ - 511, /* GL_FOG_COLOR */ - 371, /* GL_DEPTH_RANGE */ - 379, /* GL_DEPTH_TEST */ - 382, /* GL_DEPTH_WRITEMASK */ - 359, /* GL_DEPTH_CLEAR_VALUE */ - 370, /* GL_DEPTH_FUNC */ + 1190, /* GL_PASS_THROUGH_TOKEN */ + 1256, /* GL_POINT_TOKEN */ + 763, /* GL_LINE_TOKEN */ + 1270, /* GL_POLYGON_TOKEN */ + 75, /* GL_BITMAP_TOKEN */ + 468, /* GL_DRAW_PIXEL_TOKEN */ + 315, /* GL_COPY_PIXEL_TOKEN */ + 756, /* GL_LINE_RESET_TOKEN */ + 493, /* GL_EXP */ + 494, /* GL_EXP2 */ + 352, /* GL_CW */ + 137, /* GL_CCW */ + 158, /* GL_COEFF */ + 1167, /* GL_ORDER */ + 405, /* GL_DOMAIN */ + 325, /* GL_CURRENT_COLOR */ + 328, /* GL_CURRENT_INDEX */ + 334, /* GL_CURRENT_NORMAL */ + 348, /* GL_CURRENT_TEXTURE_COORDS */ + 340, /* GL_CURRENT_RASTER_COLOR */ + 342, /* GL_CURRENT_RASTER_INDEX */ + 346, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + 343, /* GL_CURRENT_RASTER_POSITION */ + 344, /* GL_CURRENT_RASTER_POSITION_VALID */ + 341, /* GL_CURRENT_RASTER_DISTANCE */ + 1248, /* GL_POINT_SMOOTH */ + 1232, /* GL_POINT_SIZE */ + 1247, /* GL_POINT_SIZE_RANGE */ + 1238, /* GL_POINT_SIZE_GRANULARITY */ + 757, /* GL_LINE_SMOOTH */ + 764, /* GL_LINE_WIDTH */ + 766, /* GL_LINE_WIDTH_RANGE */ + 765, /* GL_LINE_WIDTH_GRANULARITY */ + 759, /* GL_LINE_STIPPLE */ + 760, /* GL_LINE_STIPPLE_PATTERN */ + 761, /* GL_LINE_STIPPLE_REPEAT */ + 771, /* GL_LIST_MODE */ + 949, /* GL_MAX_LIST_NESTING */ + 768, /* GL_LIST_BASE */ + 770, /* GL_LIST_INDEX */ + 1259, /* GL_POLYGON_MODE */ + 1266, /* GL_POLYGON_SMOOTH */ + 1268, /* GL_POLYGON_STIPPLE */ + 479, /* GL_EDGE_FLAG */ + 318, /* GL_CULL_FACE */ + 319, /* GL_CULL_FACE_MODE */ + 625, /* GL_FRONT_FACE */ + 739, /* GL_LIGHTING */ + 744, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 745, /* GL_LIGHT_MODEL_TWO_SIDE */ + 741, /* GL_LIGHT_MODEL_AMBIENT */ + 1552, /* GL_SHADE_MODEL */ + 206, /* GL_COLOR_MATERIAL_FACE */ + 207, /* GL_COLOR_MATERIAL_PARAMETER */ + 205, /* GL_COLOR_MATERIAL */ + 531, /* GL_FOG */ + 553, /* GL_FOG_INDEX */ + 549, /* GL_FOG_DENSITY */ + 557, /* GL_FOG_START */ + 551, /* GL_FOG_END */ + 554, /* GL_FOG_MODE */ + 533, /* GL_FOG_COLOR */ + 390, /* GL_DEPTH_RANGE */ + 399, /* GL_DEPTH_TEST */ + 402, /* GL_DEPTH_WRITEMASK */ + 375, /* GL_DEPTH_CLEAR_VALUE */ + 389, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1546, /* GL_STENCIL_TEST */ - 1530, /* GL_STENCIL_CLEAR_VALUE */ - 1532, /* GL_STENCIL_FUNC */ - 1548, /* GL_STENCIL_VALUE_MASK */ - 1531, /* GL_STENCIL_FAIL */ - 1543, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1544, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1545, /* GL_STENCIL_REF */ - 1549, /* GL_STENCIL_WRITEMASK */ - 856, /* GL_MATRIX_MODE */ - 1031, /* GL_NORMALIZE */ - 1885, /* GL_VIEWPORT */ - 1005, /* GL_MODELVIEW_STACK_DEPTH */ - 1270, /* GL_PROJECTION_STACK_DEPTH */ - 1756, /* GL_TEXTURE_STACK_DEPTH */ - 1003, /* GL_MODELVIEW_MATRIX */ - 1269, /* GL_PROJECTION_MATRIX */ - 1739, /* GL_TEXTURE_MATRIX */ + 1654, /* GL_STENCIL_TEST */ + 1635, /* GL_STENCIL_CLEAR_VALUE */ + 1637, /* GL_STENCIL_FUNC */ + 1656, /* GL_STENCIL_VALUE_MASK */ + 1636, /* GL_STENCIL_FAIL */ + 1651, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1652, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1653, /* GL_STENCIL_REF */ + 1657, /* GL_STENCIL_WRITEMASK */ + 913, /* GL_MATRIX_MODE */ + 1102, /* GL_NORMALIZE */ + 2014, /* GL_VIEWPORT */ + 1075, /* GL_MODELVIEW_STACK_DEPTH */ + 1353, /* GL_PROJECTION_STACK_DEPTH */ + 1879, /* GL_TEXTURE_STACK_DEPTH */ + 1072, /* GL_MODELVIEW_MATRIX */ + 1351, /* GL_PROJECTION_MATRIX */ + 1861, /* GL_TEXTURE_MATRIX */ 61, /* GL_ATTRIB_STACK_DEPTH */ - 137, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + 148, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 43, /* GL_ALPHA_TEST */ 44, /* GL_ALPHA_TEST_FUNC */ 45, /* GL_ALPHA_TEST_REF */ - 384, /* GL_DITHER */ - 78, /* GL_BLEND_DST */ - 87, /* GL_BLEND_SRC */ - 75, /* GL_BLEND */ - 725, /* GL_LOGIC_OP_MODE */ - 641, /* GL_INDEX_LOGIC_OP */ - 192, /* GL_COLOR_LOGIC_OP */ + 404, /* GL_DITHER */ + 79, /* GL_BLEND_DST */ + 93, /* GL_BLEND_SRC */ + 76, /* GL_BLEND */ + 774, /* GL_LOGIC_OP_MODE */ + 688, /* GL_INDEX_LOGIC_OP */ + 204, /* GL_COLOR_LOGIC_OP */ 67, /* GL_AUX_BUFFERS */ - 395, /* GL_DRAW_BUFFER */ - 1312, /* GL_READ_BUFFER */ - 1428, /* GL_SCISSOR_BOX */ - 1429, /* GL_SCISSOR_TEST */ - 640, /* GL_INDEX_CLEAR_VALUE */ - 645, /* GL_INDEX_WRITEMASK */ - 189, /* GL_COLOR_CLEAR_VALUE */ - 231, /* GL_COLOR_WRITEMASK */ - 642, /* GL_INDEX_MODE */ - 1394, /* GL_RGBA_MODE */ - 394, /* GL_DOUBLEBUFFER */ - 1550, /* GL_STEREO */ - 1351, /* GL_RENDER_MODE */ - 1117, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1170, /* GL_POINT_SMOOTH_HINT */ - 709, /* GL_LINE_SMOOTH_HINT */ - 1187, /* GL_POLYGON_SMOOTH_HINT */ - 530, /* GL_FOG_HINT */ - 1720, /* GL_TEXTURE_GEN_S */ - 1721, /* GL_TEXTURE_GEN_T */ - 1719, /* GL_TEXTURE_GEN_R */ - 1718, /* GL_TEXTURE_GEN_Q */ - 1130, /* GL_PIXEL_MAP_I_TO_I */ - 1136, /* GL_PIXEL_MAP_S_TO_S */ - 1132, /* GL_PIXEL_MAP_I_TO_R */ - 1128, /* GL_PIXEL_MAP_I_TO_G */ - 1126, /* GL_PIXEL_MAP_I_TO_B */ - 1124, /* GL_PIXEL_MAP_I_TO_A */ - 1134, /* GL_PIXEL_MAP_R_TO_R */ - 1122, /* GL_PIXEL_MAP_G_TO_G */ - 1120, /* GL_PIXEL_MAP_B_TO_B */ - 1118, /* GL_PIXEL_MAP_A_TO_A */ - 1131, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1137, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1133, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1129, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1127, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1125, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1135, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1123, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1121, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1119, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1802, /* GL_UNPACK_SWAP_BYTES */ - 1797, /* GL_UNPACK_LSB_FIRST */ - 1798, /* GL_UNPACK_ROW_LENGTH */ - 1801, /* GL_UNPACK_SKIP_ROWS */ - 1800, /* GL_UNPACK_SKIP_PIXELS */ - 1795, /* GL_UNPACK_ALIGNMENT */ - 1105, /* GL_PACK_SWAP_BYTES */ - 1100, /* GL_PACK_LSB_FIRST */ - 1101, /* GL_PACK_ROW_LENGTH */ - 1104, /* GL_PACK_SKIP_ROWS */ - 1103, /* GL_PACK_SKIP_PIXELS */ - 1097, /* GL_PACK_ALIGNMENT */ - 803, /* GL_MAP_COLOR */ - 808, /* GL_MAP_STENCIL */ - 644, /* GL_INDEX_SHIFT */ - 643, /* GL_INDEX_OFFSET */ - 1326, /* GL_RED_SCALE */ - 1324, /* GL_RED_BIAS */ - 1904, /* GL_ZOOM_X */ - 1905, /* GL_ZOOM_Y */ - 604, /* GL_GREEN_SCALE */ - 602, /* GL_GREEN_BIAS */ - 93, /* GL_BLUE_SCALE */ - 91, /* GL_BLUE_BIAS */ + 415, /* GL_DRAW_BUFFER */ + 1395, /* GL_READ_BUFFER */ + 1530, /* GL_SCISSOR_BOX */ + 1531, /* GL_SCISSOR_TEST */ + 687, /* GL_INDEX_CLEAR_VALUE */ + 692, /* GL_INDEX_WRITEMASK */ + 201, /* GL_COLOR_CLEAR_VALUE */ + 243, /* GL_COLOR_WRITEMASK */ + 689, /* GL_INDEX_MODE */ + 1495, /* GL_RGBA_MODE */ + 414, /* GL_DOUBLEBUFFER */ + 1658, /* GL_STEREO */ + 1446, /* GL_RENDER_MODE */ + 1191, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1249, /* GL_POINT_SMOOTH_HINT */ + 758, /* GL_LINE_SMOOTH_HINT */ + 1267, /* GL_POLYGON_SMOOTH_HINT */ + 552, /* GL_FOG_HINT */ + 1841, /* GL_TEXTURE_GEN_S */ + 1843, /* GL_TEXTURE_GEN_T */ + 1840, /* GL_TEXTURE_GEN_R */ + 1839, /* GL_TEXTURE_GEN_Q */ + 1204, /* GL_PIXEL_MAP_I_TO_I */ + 1210, /* GL_PIXEL_MAP_S_TO_S */ + 1206, /* GL_PIXEL_MAP_I_TO_R */ + 1202, /* GL_PIXEL_MAP_I_TO_G */ + 1200, /* GL_PIXEL_MAP_I_TO_B */ + 1198, /* GL_PIXEL_MAP_I_TO_A */ + 1208, /* GL_PIXEL_MAP_R_TO_R */ + 1196, /* GL_PIXEL_MAP_G_TO_G */ + 1194, /* GL_PIXEL_MAP_B_TO_B */ + 1192, /* GL_PIXEL_MAP_A_TO_A */ + 1205, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1211, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1207, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1203, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1201, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1199, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1209, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1197, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1195, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1193, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 1926, /* GL_UNPACK_SWAP_BYTES */ + 1921, /* GL_UNPACK_LSB_FIRST */ + 1922, /* GL_UNPACK_ROW_LENGTH */ + 1925, /* GL_UNPACK_SKIP_ROWS */ + 1924, /* GL_UNPACK_SKIP_PIXELS */ + 1919, /* GL_UNPACK_ALIGNMENT */ + 1179, /* GL_PACK_SWAP_BYTES */ + 1174, /* GL_PACK_LSB_FIRST */ + 1175, /* GL_PACK_ROW_LENGTH */ + 1178, /* GL_PACK_SKIP_ROWS */ + 1177, /* GL_PACK_SKIP_PIXELS */ + 1171, /* GL_PACK_ALIGNMENT */ + 854, /* GL_MAP_COLOR */ + 859, /* GL_MAP_STENCIL */ + 691, /* GL_INDEX_SHIFT */ + 690, /* GL_INDEX_OFFSET */ + 1409, /* GL_RED_SCALE */ + 1407, /* GL_RED_BIAS */ + 2040, /* GL_ZOOM_X */ + 2041, /* GL_ZOOM_Y */ + 646, /* GL_GREEN_SCALE */ + 644, /* GL_GREEN_BIAS */ + 101, /* GL_BLUE_SCALE */ + 99, /* GL_BLUE_BIAS */ 42, /* GL_ALPHA_SCALE */ 40, /* GL_ALPHA_BIAS */ - 372, /* GL_DEPTH_SCALE */ - 352, /* GL_DEPTH_BIAS */ - 883, /* GL_MAX_EVAL_ORDER */ - 887, /* GL_MAX_LIGHTS */ - 865, /* GL_MAX_CLIP_PLANES */ - 935, /* GL_MAX_TEXTURE_SIZE */ - 893, /* GL_MAX_PIXEL_MAP_TABLE */ - 861, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 890, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 891, /* GL_MAX_NAME_STACK_DEPTH */ - 919, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 936, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 953, /* GL_MAX_VIEWPORT_DIMS */ - 862, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1560, /* GL_SUBPIXEL_BITS */ - 639, /* GL_INDEX_BITS */ - 1325, /* GL_RED_BITS */ - 603, /* GL_GREEN_BITS */ - 92, /* GL_BLUE_BITS */ + 391, /* GL_DEPTH_SCALE */ + 368, /* GL_DEPTH_BIAS */ + 943, /* GL_MAX_EVAL_ORDER */ + 948, /* GL_MAX_LIGHTS */ + 924, /* GL_MAX_CLIP_PLANES */ + 999, /* GL_MAX_TEXTURE_SIZE */ + 955, /* GL_MAX_PIXEL_MAP_TABLE */ + 920, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 951, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 952, /* GL_MAX_NAME_STACK_DEPTH */ + 981, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 1000, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 1020, /* GL_MAX_VIEWPORT_DIMS */ + 921, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1668, /* GL_SUBPIXEL_BITS */ + 686, /* GL_INDEX_BITS */ + 1408, /* GL_RED_BITS */ + 645, /* GL_GREEN_BITS */ + 100, /* GL_BLUE_BITS */ 41, /* GL_ALPHA_BITS */ - 353, /* GL_DEPTH_BITS */ - 1528, /* GL_STENCIL_BITS */ + 369, /* GL_DEPTH_BITS */ + 1633, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 1019, /* GL_NAME_STACK_DEPTH */ + 1089, /* GL_NAME_STACK_DEPTH */ 62, /* GL_AUTO_NORMAL */ - 749, /* GL_MAP1_COLOR_4 */ - 752, /* GL_MAP1_INDEX */ - 753, /* GL_MAP1_NORMAL */ - 754, /* GL_MAP1_TEXTURE_COORD_1 */ - 755, /* GL_MAP1_TEXTURE_COORD_2 */ - 756, /* GL_MAP1_TEXTURE_COORD_3 */ - 757, /* GL_MAP1_TEXTURE_COORD_4 */ - 758, /* GL_MAP1_VERTEX_3 */ - 759, /* GL_MAP1_VERTEX_4 */ - 776, /* GL_MAP2_COLOR_4 */ - 779, /* GL_MAP2_INDEX */ - 780, /* GL_MAP2_NORMAL */ - 781, /* GL_MAP2_TEXTURE_COORD_1 */ - 782, /* GL_MAP2_TEXTURE_COORD_2 */ - 783, /* GL_MAP2_TEXTURE_COORD_3 */ - 784, /* GL_MAP2_TEXTURE_COORD_4 */ - 785, /* GL_MAP2_VERTEX_3 */ - 786, /* GL_MAP2_VERTEX_4 */ - 750, /* GL_MAP1_GRID_DOMAIN */ - 751, /* GL_MAP1_GRID_SEGMENTS */ - 777, /* GL_MAP2_GRID_DOMAIN */ - 778, /* GL_MAP2_GRID_SEGMENTS */ - 1643, /* GL_TEXTURE_1D */ - 1645, /* GL_TEXTURE_2D */ - 483, /* GL_FEEDBACK_BUFFER_POINTER */ - 484, /* GL_FEEDBACK_BUFFER_SIZE */ - 485, /* GL_FEEDBACK_BUFFER_TYPE */ - 1438, /* GL_SELECTION_BUFFER_POINTER */ - 1439, /* GL_SELECTION_BUFFER_SIZE */ - 1762, /* GL_TEXTURE_WIDTH */ - 1725, /* GL_TEXTURE_HEIGHT */ - 1680, /* GL_TEXTURE_COMPONENTS */ - 1664, /* GL_TEXTURE_BORDER_COLOR */ - 1663, /* GL_TEXTURE_BORDER */ - 386, /* GL_DONT_CARE */ - 481, /* GL_FASTEST */ - 1027, /* GL_NICEST */ + 800, /* GL_MAP1_COLOR_4 */ + 803, /* GL_MAP1_INDEX */ + 804, /* GL_MAP1_NORMAL */ + 805, /* GL_MAP1_TEXTURE_COORD_1 */ + 806, /* GL_MAP1_TEXTURE_COORD_2 */ + 807, /* GL_MAP1_TEXTURE_COORD_3 */ + 808, /* GL_MAP1_TEXTURE_COORD_4 */ + 809, /* GL_MAP1_VERTEX_3 */ + 810, /* GL_MAP1_VERTEX_4 */ + 827, /* GL_MAP2_COLOR_4 */ + 830, /* GL_MAP2_INDEX */ + 831, /* GL_MAP2_NORMAL */ + 832, /* GL_MAP2_TEXTURE_COORD_1 */ + 833, /* GL_MAP2_TEXTURE_COORD_2 */ + 834, /* GL_MAP2_TEXTURE_COORD_3 */ + 835, /* GL_MAP2_TEXTURE_COORD_4 */ + 836, /* GL_MAP2_VERTEX_3 */ + 837, /* GL_MAP2_VERTEX_4 */ + 801, /* GL_MAP1_GRID_DOMAIN */ + 802, /* GL_MAP1_GRID_SEGMENTS */ + 828, /* GL_MAP2_GRID_DOMAIN */ + 829, /* GL_MAP2_GRID_SEGMENTS */ + 1751, /* GL_TEXTURE_1D */ + 1753, /* GL_TEXTURE_2D */ + 503, /* GL_FEEDBACK_BUFFER_POINTER */ + 504, /* GL_FEEDBACK_BUFFER_SIZE */ + 505, /* GL_FEEDBACK_BUFFER_TYPE */ + 1540, /* GL_SELECTION_BUFFER_POINTER */ + 1541, /* GL_SELECTION_BUFFER_SIZE */ + 1885, /* GL_TEXTURE_WIDTH */ + 1847, /* GL_TEXTURE_HEIGHT */ + 1791, /* GL_TEXTURE_COMPONENTS */ + 1775, /* GL_TEXTURE_BORDER_COLOR */ + 1774, /* GL_TEXTURE_BORDER */ + 406, /* GL_DONT_CARE */ + 501, /* GL_FASTEST */ + 1097, /* GL_NICEST */ 48, /* GL_AMBIENT */ - 383, /* GL_DIFFUSE */ - 1488, /* GL_SPECULAR */ - 1191, /* GL_POSITION */ - 1491, /* GL_SPOT_DIRECTION */ - 1492, /* GL_SPOT_EXPONENT */ - 1490, /* GL_SPOT_CUTOFF */ - 276, /* GL_CONSTANT_ATTENUATION */ - 699, /* GL_LINEAR_ATTENUATION */ - 1292, /* GL_QUADRATIC_ATTENUATION */ - 245, /* GL_COMPILE */ - 246, /* GL_COMPILE_AND_EXECUTE */ - 121, /* GL_BYTE */ - 1804, /* GL_UNSIGNED_BYTE */ - 1453, /* GL_SHORT */ - 1816, /* GL_UNSIGNED_SHORT */ - 647, /* GL_INT */ - 1807, /* GL_UNSIGNED_INT */ - 490, /* GL_FLOAT */ + 403, /* GL_DIFFUSE */ + 1592, /* GL_SPECULAR */ + 1271, /* GL_POSITION */ + 1595, /* GL_SPOT_DIRECTION */ + 1596, /* GL_SPOT_EXPONENT */ + 1594, /* GL_SPOT_CUTOFF */ + 288, /* GL_CONSTANT_ATTENUATION */ + 748, /* GL_LINEAR_ATTENUATION */ + 1375, /* GL_QUADRATIC_ATTENUATION */ + 257, /* GL_COMPILE */ + 258, /* GL_COMPILE_AND_EXECUTE */ + 132, /* GL_BYTE */ + 1928, /* GL_UNSIGNED_BYTE */ + 1557, /* GL_SHORT */ + 1943, /* GL_UNSIGNED_SHORT */ + 694, /* GL_INT */ + 1931, /* GL_UNSIGNED_INT */ + 512, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ - 393, /* GL_DOUBLE */ - 605, /* GL_HALF_FLOAT */ - 133, /* GL_CLEAR */ + 413, /* GL_DOUBLE */ + 647, /* GL_HALF_FLOAT */ + 509, /* GL_FIXED */ + 144, /* GL_CLEAR */ 50, /* GL_AND */ 52, /* GL_AND_REVERSE */ - 300, /* GL_COPY */ + 313, /* GL_COPY */ 51, /* GL_AND_INVERTED */ - 1029, /* GL_NOOP */ - 1900, /* GL_XOR */ - 1092, /* GL_OR */ - 1030, /* GL_NOR */ - 471, /* GL_EQUIV */ - 675, /* GL_INVERT */ - 1095, /* GL_OR_REVERSE */ - 301, /* GL_COPY_INVERTED */ - 1094, /* GL_OR_INVERTED */ - 1020, /* GL_NAND */ - 1444, /* GL_SET */ - 468, /* GL_EMISSION */ - 1452, /* GL_SHININESS */ + 1100, /* GL_NOOP */ + 2036, /* GL_XOR */ + 1166, /* GL_OR */ + 1101, /* GL_NOR */ + 491, /* GL_EQUIV */ + 724, /* GL_INVERT */ + 1169, /* GL_OR_REVERSE */ + 314, /* GL_COPY_INVERTED */ + 1168, /* GL_OR_INVERTED */ + 1090, /* GL_NAND */ + 1546, /* GL_SET */ + 488, /* GL_EMISSION */ + 1556, /* GL_SHININESS */ 49, /* GL_AMBIENT_AND_DIFFUSE */ - 191, /* GL_COLOR_INDEXES */ - 970, /* GL_MODELVIEW */ - 1268, /* GL_PROJECTION */ - 1578, /* GL_TEXTURE */ - 148, /* GL_COLOR */ - 347, /* GL_DEPTH */ - 1514, /* GL_STENCIL */ - 190, /* GL_COLOR_INDEX */ - 1533, /* GL_STENCIL_INDEX */ - 360, /* GL_DEPTH_COMPONENT */ - 1321, /* GL_RED */ - 601, /* GL_GREEN */ - 90, /* GL_BLUE */ + 203, /* GL_COLOR_INDEXES */ + 1039, /* GL_MODELVIEW */ + 1350, /* GL_PROJECTION */ + 1686, /* GL_TEXTURE */ + 159, /* GL_COLOR */ + 361, /* GL_DEPTH */ + 1618, /* GL_STENCIL */ + 202, /* GL_COLOR_INDEX */ + 1638, /* GL_STENCIL_INDEX */ + 376, /* GL_DEPTH_COMPONENT */ + 1404, /* GL_RED */ + 643, /* GL_GREEN */ + 98, /* GL_BLUE */ 31, /* GL_ALPHA */ - 1360, /* GL_RGB */ - 1379, /* GL_RGBA */ - 727, /* GL_LUMINANCE */ - 748, /* GL_LUMINANCE_ALPHA */ - 73, /* GL_BITMAP */ - 1147, /* GL_POINT */ - 697, /* GL_LINE */ - 486, /* GL_FILL */ - 1331, /* GL_RENDER */ - 482, /* GL_FEEDBACK */ - 1437, /* GL_SELECT */ - 489, /* GL_FLAT */ - 1463, /* GL_SMOOTH */ - 676, /* GL_KEEP */ - 1353, /* GL_REPLACE */ - 629, /* GL_INCR */ - 343, /* GL_DECR */ - 1831, /* GL_VENDOR */ - 1350, /* GL_RENDERER */ - 1832, /* GL_VERSION */ - 475, /* GL_EXTENSIONS */ - 1402, /* GL_S */ - 1569, /* GL_T */ - 1308, /* GL_R */ - 1291, /* GL_Q */ - 1006, /* GL_MODULATE */ - 342, /* GL_DECAL */ - 1715, /* GL_TEXTURE_ENV_MODE */ - 1714, /* GL_TEXTURE_ENV_COLOR */ - 1713, /* GL_TEXTURE_ENV */ - 476, /* GL_EYE_LINEAR */ - 1053, /* GL_OBJECT_LINEAR */ - 1489, /* GL_SPHERE_MAP */ - 1717, /* GL_TEXTURE_GEN_MODE */ - 1055, /* GL_OBJECT_PLANE */ - 477, /* GL_EYE_PLANE */ - 1021, /* GL_NEAREST */ - 698, /* GL_LINEAR */ - 1025, /* GL_NEAREST_MIPMAP_NEAREST */ - 703, /* GL_LINEAR_MIPMAP_NEAREST */ - 1024, /* GL_NEAREST_MIPMAP_LINEAR */ - 702, /* GL_LINEAR_MIPMAP_LINEAR */ - 1738, /* GL_TEXTURE_MAG_FILTER */ - 1746, /* GL_TEXTURE_MIN_FILTER */ - 1764, /* GL_TEXTURE_WRAP_S */ - 1765, /* GL_TEXTURE_WRAP_T */ - 127, /* GL_CLAMP */ - 1352, /* GL_REPEAT */ - 1185, /* GL_POLYGON_OFFSET_UNITS */ - 1184, /* GL_POLYGON_OFFSET_POINT */ - 1183, /* GL_POLYGON_OFFSET_LINE */ - 1309, /* GL_R3_G3_B2 */ - 1828, /* GL_V2F */ - 1829, /* GL_V3F */ - 124, /* GL_C4UB_V2F */ - 125, /* GL_C4UB_V3F */ - 122, /* GL_C3F_V3F */ - 1018, /* GL_N3F_V3F */ - 123, /* GL_C4F_N3F_V3F */ - 1574, /* GL_T2F_V3F */ - 1576, /* GL_T4F_V4F */ - 1572, /* GL_T2F_C4UB_V3F */ - 1570, /* GL_T2F_C3F_V3F */ - 1573, /* GL_T2F_N3F_V3F */ - 1571, /* GL_T2F_C4F_N3F_V3F */ - 1575, /* GL_T4F_C4F_N3F_V4F */ - 140, /* GL_CLIP_PLANE0 */ - 141, /* GL_CLIP_PLANE1 */ - 142, /* GL_CLIP_PLANE2 */ - 143, /* GL_CLIP_PLANE3 */ - 144, /* GL_CLIP_PLANE4 */ - 145, /* GL_CLIP_PLANE5 */ - 682, /* GL_LIGHT0 */ - 683, /* GL_LIGHT1 */ - 684, /* GL_LIGHT2 */ - 685, /* GL_LIGHT3 */ - 686, /* GL_LIGHT4 */ - 687, /* GL_LIGHT5 */ - 688, /* GL_LIGHT6 */ - 689, /* GL_LIGHT7 */ - 606, /* GL_HINT_BIT */ - 278, /* GL_CONSTANT_COLOR */ - 1066, /* GL_ONE_MINUS_CONSTANT_COLOR */ - 273, /* GL_CONSTANT_ALPHA */ - 1064, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - 76, /* GL_BLEND_COLOR */ - 589, /* GL_FUNC_ADD */ - 954, /* GL_MIN */ - 858, /* GL_MAX */ - 81, /* GL_BLEND_EQUATION */ - 593, /* GL_FUNC_SUBTRACT */ - 591, /* GL_FUNC_REVERSE_SUBTRACT */ - 281, /* GL_CONVOLUTION_1D */ - 282, /* GL_CONVOLUTION_2D */ - 1440, /* GL_SEPARABLE_2D */ - 285, /* GL_CONVOLUTION_BORDER_MODE */ - 289, /* GL_CONVOLUTION_FILTER_SCALE */ - 287, /* GL_CONVOLUTION_FILTER_BIAS */ - 1322, /* GL_REDUCE */ - 291, /* GL_CONVOLUTION_FORMAT */ - 295, /* GL_CONVOLUTION_WIDTH */ - 293, /* GL_CONVOLUTION_HEIGHT */ - 874, /* GL_MAX_CONVOLUTION_WIDTH */ - 872, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1224, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1220, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1215, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1211, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1222, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1218, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1213, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1209, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 607, /* GL_HISTOGRAM */ - 1274, /* GL_PROXY_HISTOGRAM */ - 623, /* GL_HISTOGRAM_WIDTH */ - 613, /* GL_HISTOGRAM_FORMAT */ - 619, /* GL_HISTOGRAM_RED_SIZE */ - 615, /* GL_HISTOGRAM_GREEN_SIZE */ - 610, /* GL_HISTOGRAM_BLUE_SIZE */ - 608, /* GL_HISTOGRAM_ALPHA_SIZE */ - 617, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 621, /* GL_HISTOGRAM_SINK */ - 955, /* GL_MINMAX */ - 957, /* GL_MINMAX_FORMAT */ - 959, /* GL_MINMAX_SINK */ - 1577, /* GL_TABLE_TOO_LARGE_EXT */ - 1806, /* GL_UNSIGNED_BYTE_3_3_2 */ - 1818, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 1820, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 1813, /* GL_UNSIGNED_INT_8_8_8_8 */ - 1808, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1182, /* GL_POLYGON_OFFSET_FILL */ - 1181, /* GL_POLYGON_OFFSET_FACTOR */ - 1180, /* GL_POLYGON_OFFSET_BIAS */ - 1356, /* GL_RESCALE_NORMAL */ + 1455, /* GL_RGB */ + 1478, /* GL_RGBA */ + 778, /* GL_LUMINANCE */ + 799, /* GL_LUMINANCE_ALPHA */ + 74, /* GL_BITMAP */ + 1221, /* GL_POINT */ + 746, /* GL_LINE */ + 506, /* GL_FILL */ + 1415, /* GL_RENDER */ + 502, /* GL_FEEDBACK */ + 1539, /* GL_SELECT */ + 511, /* GL_FLAT */ + 1567, /* GL_SMOOTH */ + 725, /* GL_KEEP */ + 1448, /* GL_REPLACE */ + 676, /* GL_INCR */ + 357, /* GL_DECR */ + 1960, /* GL_VENDOR */ + 1445, /* GL_RENDERER */ + 1961, /* GL_VERSION */ + 495, /* GL_EXTENSIONS */ + 1503, /* GL_S */ + 1677, /* GL_T */ + 1391, /* GL_R */ + 1374, /* GL_Q */ + 1076, /* GL_MODULATE */ + 356, /* GL_DECAL */ + 1834, /* GL_TEXTURE_ENV_MODE */ + 1833, /* GL_TEXTURE_ENV_COLOR */ + 1832, /* GL_TEXTURE_ENV */ + 496, /* GL_EYE_LINEAR */ + 1127, /* GL_OBJECT_LINEAR */ + 1593, /* GL_SPHERE_MAP */ + 1837, /* GL_TEXTURE_GEN_MODE */ + 1129, /* GL_OBJECT_PLANE */ + 497, /* GL_EYE_PLANE */ + 1091, /* GL_NEAREST */ + 747, /* GL_LINEAR */ + 1095, /* GL_NEAREST_MIPMAP_NEAREST */ + 752, /* GL_LINEAR_MIPMAP_NEAREST */ + 1094, /* GL_NEAREST_MIPMAP_LINEAR */ + 751, /* GL_LINEAR_MIPMAP_LINEAR */ + 1860, /* GL_TEXTURE_MAG_FILTER */ + 1869, /* GL_TEXTURE_MIN_FILTER */ + 1888, /* GL_TEXTURE_WRAP_S */ + 1889, /* GL_TEXTURE_WRAP_T */ + 138, /* GL_CLAMP */ + 1447, /* GL_REPEAT */ + 1265, /* GL_POLYGON_OFFSET_UNITS */ + 1264, /* GL_POLYGON_OFFSET_POINT */ + 1263, /* GL_POLYGON_OFFSET_LINE */ + 1392, /* GL_R3_G3_B2 */ + 1957, /* GL_V2F */ + 1958, /* GL_V3F */ + 135, /* GL_C4UB_V2F */ + 136, /* GL_C4UB_V3F */ + 133, /* GL_C3F_V3F */ + 1088, /* GL_N3F_V3F */ + 134, /* GL_C4F_N3F_V3F */ + 1682, /* GL_T2F_V3F */ + 1684, /* GL_T4F_V4F */ + 1680, /* GL_T2F_C4UB_V3F */ + 1678, /* GL_T2F_C3F_V3F */ + 1681, /* GL_T2F_N3F_V3F */ + 1679, /* GL_T2F_C4F_N3F_V3F */ + 1683, /* GL_T4F_C4F_N3F_V4F */ + 151, /* GL_CLIP_PLANE0 */ + 152, /* GL_CLIP_PLANE1 */ + 153, /* GL_CLIP_PLANE2 */ + 154, /* GL_CLIP_PLANE3 */ + 155, /* GL_CLIP_PLANE4 */ + 156, /* GL_CLIP_PLANE5 */ + 731, /* GL_LIGHT0 */ + 732, /* GL_LIGHT1 */ + 733, /* GL_LIGHT2 */ + 734, /* GL_LIGHT3 */ + 735, /* GL_LIGHT4 */ + 736, /* GL_LIGHT5 */ + 737, /* GL_LIGHT6 */ + 738, /* GL_LIGHT7 */ + 651, /* GL_HINT_BIT */ + 290, /* GL_CONSTANT_COLOR */ + 1140, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 285, /* GL_CONSTANT_ALPHA */ + 1138, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 77, /* GL_BLEND_COLOR */ + 628, /* GL_FUNC_ADD */ + 1023, /* GL_MIN */ + 916, /* GL_MAX */ + 84, /* GL_BLEND_EQUATION */ + 634, /* GL_FUNC_SUBTRACT */ + 631, /* GL_FUNC_REVERSE_SUBTRACT */ + 293, /* GL_CONVOLUTION_1D */ + 294, /* GL_CONVOLUTION_2D */ + 1542, /* GL_SEPARABLE_2D */ + 297, /* GL_CONVOLUTION_BORDER_MODE */ + 301, /* GL_CONVOLUTION_FILTER_SCALE */ + 299, /* GL_CONVOLUTION_FILTER_BIAS */ + 1405, /* GL_REDUCE */ + 303, /* GL_CONVOLUTION_FORMAT */ + 307, /* GL_CONVOLUTION_WIDTH */ + 305, /* GL_CONVOLUTION_HEIGHT */ + 933, /* GL_MAX_CONVOLUTION_WIDTH */ + 931, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1304, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1300, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1295, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1291, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1302, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1298, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1293, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1289, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 652, /* GL_HISTOGRAM */ + 1357, /* GL_PROXY_HISTOGRAM */ + 668, /* GL_HISTOGRAM_WIDTH */ + 658, /* GL_HISTOGRAM_FORMAT */ + 664, /* GL_HISTOGRAM_RED_SIZE */ + 660, /* GL_HISTOGRAM_GREEN_SIZE */ + 655, /* GL_HISTOGRAM_BLUE_SIZE */ + 653, /* GL_HISTOGRAM_ALPHA_SIZE */ + 662, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 666, /* GL_HISTOGRAM_SINK */ + 1024, /* GL_MINMAX */ + 1026, /* GL_MINMAX_FORMAT */ + 1028, /* GL_MINMAX_SINK */ + 1685, /* GL_TABLE_TOO_LARGE_EXT */ + 1930, /* GL_UNSIGNED_BYTE_3_3_2 */ + 1946, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 1949, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 1940, /* GL_UNSIGNED_INT_8_8_8_8 */ + 1932, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1262, /* GL_POLYGON_OFFSET_FILL */ + 1261, /* GL_POLYGON_OFFSET_FACTOR */ + 1260, /* GL_POLYGON_OFFSET_BIAS */ + 1451, /* GL_RESCALE_NORMAL */ 36, /* GL_ALPHA4 */ 38, /* GL_ALPHA8 */ 32, /* GL_ALPHA12 */ 34, /* GL_ALPHA16 */ - 738, /* GL_LUMINANCE4 */ - 744, /* GL_LUMINANCE8 */ - 728, /* GL_LUMINANCE12 */ - 734, /* GL_LUMINANCE16 */ - 739, /* GL_LUMINANCE4_ALPHA4 */ - 742, /* GL_LUMINANCE6_ALPHA2 */ - 745, /* GL_LUMINANCE8_ALPHA8 */ - 731, /* GL_LUMINANCE12_ALPHA4 */ - 729, /* GL_LUMINANCE12_ALPHA12 */ - 735, /* GL_LUMINANCE16_ALPHA16 */ - 648, /* GL_INTENSITY */ - 653, /* GL_INTENSITY4 */ - 655, /* GL_INTENSITY8 */ - 649, /* GL_INTENSITY12 */ - 651, /* GL_INTENSITY16 */ - 1369, /* GL_RGB2_EXT */ - 1370, /* GL_RGB4 */ - 1373, /* GL_RGB5 */ - 1377, /* GL_RGB8 */ - 1361, /* GL_RGB10 */ - 1365, /* GL_RGB12 */ - 1367, /* GL_RGB16 */ - 1384, /* GL_RGBA2 */ - 1386, /* GL_RGBA4 */ - 1374, /* GL_RGB5_A1 */ - 1390, /* GL_RGBA8 */ - 1362, /* GL_RGB10_A2 */ - 1380, /* GL_RGBA12 */ - 1382, /* GL_RGBA16 */ - 1753, /* GL_TEXTURE_RED_SIZE */ - 1723, /* GL_TEXTURE_GREEN_SIZE */ - 1661, /* GL_TEXTURE_BLUE_SIZE */ - 1648, /* GL_TEXTURE_ALPHA_SIZE */ - 1736, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1727, /* GL_TEXTURE_INTENSITY_SIZE */ - 1354, /* GL_REPLACE_EXT */ - 1278, /* GL_PROXY_TEXTURE_1D */ - 1281, /* GL_PROXY_TEXTURE_2D */ - 1760, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1748, /* GL_TEXTURE_PRIORITY */ - 1755, /* GL_TEXTURE_RESIDENT */ - 1651, /* GL_TEXTURE_BINDING_1D */ - 1653, /* GL_TEXTURE_BINDING_2D */ - 1655, /* GL_TEXTURE_BINDING_3D */ - 1102, /* GL_PACK_SKIP_IMAGES */ - 1098, /* GL_PACK_IMAGE_HEIGHT */ - 1799, /* GL_UNPACK_SKIP_IMAGES */ - 1796, /* GL_UNPACK_IMAGE_HEIGHT */ - 1647, /* GL_TEXTURE_3D */ - 1284, /* GL_PROXY_TEXTURE_3D */ - 1710, /* GL_TEXTURE_DEPTH */ - 1763, /* GL_TEXTURE_WRAP_R */ - 859, /* GL_MAX_3D_TEXTURE_SIZE */ - 1833, /* GL_VERTEX_ARRAY */ - 1032, /* GL_NORMAL_ARRAY */ - 149, /* GL_COLOR_ARRAY */ - 633, /* GL_INDEX_ARRAY */ - 1688, /* GL_TEXTURE_COORD_ARRAY */ - 460, /* GL_EDGE_FLAG_ARRAY */ - 1839, /* GL_VERTEX_ARRAY_SIZE */ - 1841, /* GL_VERTEX_ARRAY_TYPE */ - 1840, /* GL_VERTEX_ARRAY_STRIDE */ - 1037, /* GL_NORMAL_ARRAY_TYPE */ - 1036, /* GL_NORMAL_ARRAY_STRIDE */ - 153, /* GL_COLOR_ARRAY_SIZE */ - 155, /* GL_COLOR_ARRAY_TYPE */ - 154, /* GL_COLOR_ARRAY_STRIDE */ - 638, /* GL_INDEX_ARRAY_TYPE */ - 637, /* GL_INDEX_ARRAY_STRIDE */ - 1692, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1694, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1693, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - 464, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 1838, /* GL_VERTEX_ARRAY_POINTER */ - 1035, /* GL_NORMAL_ARRAY_POINTER */ - 152, /* GL_COLOR_ARRAY_POINTER */ - 636, /* GL_INDEX_ARRAY_POINTER */ - 1691, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - 463, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 1011, /* GL_MULTISAMPLE */ - 1414, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1416, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1421, /* GL_SAMPLE_COVERAGE */ - 1418, /* GL_SAMPLE_BUFFERS */ - 1409, /* GL_SAMPLES */ - 1425, /* GL_SAMPLE_COVERAGE_VALUE */ - 1423, /* GL_SAMPLE_COVERAGE_INVERT */ - 196, /* GL_COLOR_MATRIX */ - 198, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 868, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1207, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1203, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1198, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1194, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1205, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1201, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1196, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1192, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1671, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1285, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1673, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - 80, /* GL_BLEND_DST_RGB */ - 89, /* GL_BLEND_SRC_RGB */ - 79, /* GL_BLEND_DST_ALPHA */ - 88, /* GL_BLEND_SRC_ALPHA */ - 202, /* GL_COLOR_TABLE */ - 1217, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1200, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1273, /* GL_PROXY_COLOR_TABLE */ - 1277, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1276, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - 226, /* GL_COLOR_TABLE_SCALE */ - 206, /* GL_COLOR_TABLE_BIAS */ - 211, /* GL_COLOR_TABLE_FORMAT */ - 228, /* GL_COLOR_TABLE_WIDTH */ - 223, /* GL_COLOR_TABLE_RED_SIZE */ - 214, /* GL_COLOR_TABLE_GREEN_SIZE */ - 208, /* GL_COLOR_TABLE_BLUE_SIZE */ - 203, /* GL_COLOR_TABLE_ALPHA_SIZE */ - 220, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - 217, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + 789, /* GL_LUMINANCE4 */ + 795, /* GL_LUMINANCE8 */ + 779, /* GL_LUMINANCE12 */ + 785, /* GL_LUMINANCE16 */ + 790, /* GL_LUMINANCE4_ALPHA4 */ + 793, /* GL_LUMINANCE6_ALPHA2 */ + 796, /* GL_LUMINANCE8_ALPHA8 */ + 782, /* GL_LUMINANCE12_ALPHA4 */ + 780, /* GL_LUMINANCE12_ALPHA12 */ + 786, /* GL_LUMINANCE16_ALPHA16 */ + 695, /* GL_INTENSITY */ + 700, /* GL_INTENSITY4 */ + 702, /* GL_INTENSITY8 */ + 696, /* GL_INTENSITY12 */ + 698, /* GL_INTENSITY16 */ + 1464, /* GL_RGB2_EXT */ + 1465, /* GL_RGB4 */ + 1468, /* GL_RGB5 */ + 1475, /* GL_RGB8 */ + 1456, /* GL_RGB10 */ + 1460, /* GL_RGB12 */ + 1462, /* GL_RGB16 */ + 1483, /* GL_RGBA2 */ + 1485, /* GL_RGBA4 */ + 1471, /* GL_RGB5_A1 */ + 1490, /* GL_RGBA8 */ + 1457, /* GL_RGB10_A2 */ + 1479, /* GL_RGBA12 */ + 1481, /* GL_RGBA16 */ + 1876, /* GL_TEXTURE_RED_SIZE */ + 1845, /* GL_TEXTURE_GREEN_SIZE */ + 1772, /* GL_TEXTURE_BLUE_SIZE */ + 1757, /* GL_TEXTURE_ALPHA_SIZE */ + 1858, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1849, /* GL_TEXTURE_INTENSITY_SIZE */ + 1449, /* GL_REPLACE_EXT */ + 1361, /* GL_PROXY_TEXTURE_1D */ + 1364, /* GL_PROXY_TEXTURE_2D */ + 1883, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1871, /* GL_TEXTURE_PRIORITY */ + 1878, /* GL_TEXTURE_RESIDENT */ + 1760, /* GL_TEXTURE_BINDING_1D */ + 1762, /* GL_TEXTURE_BINDING_2D */ + 1764, /* GL_TEXTURE_BINDING_3D */ + 1176, /* GL_PACK_SKIP_IMAGES */ + 1172, /* GL_PACK_IMAGE_HEIGHT */ + 1923, /* GL_UNPACK_SKIP_IMAGES */ + 1920, /* GL_UNPACK_IMAGE_HEIGHT */ + 1755, /* GL_TEXTURE_3D */ + 1367, /* GL_PROXY_TEXTURE_3D */ + 1829, /* GL_TEXTURE_DEPTH */ + 1886, /* GL_TEXTURE_WRAP_R */ + 917, /* GL_MAX_3D_TEXTURE_SIZE */ + 1962, /* GL_VERTEX_ARRAY */ + 1103, /* GL_NORMAL_ARRAY */ + 160, /* GL_COLOR_ARRAY */ + 680, /* GL_INDEX_ARRAY */ + 1799, /* GL_TEXTURE_COORD_ARRAY */ + 480, /* GL_EDGE_FLAG_ARRAY */ + 1968, /* GL_VERTEX_ARRAY_SIZE */ + 1970, /* GL_VERTEX_ARRAY_TYPE */ + 1969, /* GL_VERTEX_ARRAY_STRIDE */ + 1108, /* GL_NORMAL_ARRAY_TYPE */ + 1107, /* GL_NORMAL_ARRAY_STRIDE */ + 164, /* GL_COLOR_ARRAY_SIZE */ + 166, /* GL_COLOR_ARRAY_TYPE */ + 165, /* GL_COLOR_ARRAY_STRIDE */ + 685, /* GL_INDEX_ARRAY_TYPE */ + 684, /* GL_INDEX_ARRAY_STRIDE */ + 1803, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1805, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1804, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 484, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + 1967, /* GL_VERTEX_ARRAY_POINTER */ + 1106, /* GL_NORMAL_ARRAY_POINTER */ + 163, /* GL_COLOR_ARRAY_POINTER */ + 683, /* GL_INDEX_ARRAY_POINTER */ + 1802, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 483, /* GL_EDGE_FLAG_ARRAY_POINTER */ + 1081, /* GL_MULTISAMPLE */ + 1516, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1518, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1523, /* GL_SAMPLE_COVERAGE */ + 1520, /* GL_SAMPLE_BUFFERS */ + 1511, /* GL_SAMPLES */ + 1527, /* GL_SAMPLE_COVERAGE_VALUE */ + 1525, /* GL_SAMPLE_COVERAGE_INVERT */ + 208, /* GL_COLOR_MATRIX */ + 210, /* GL_COLOR_MATRIX_STACK_DEPTH */ + 927, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1287, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1283, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1278, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1274, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1285, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1281, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1276, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1272, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1782, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1368, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1784, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 82, /* GL_BLEND_DST_RGB */ + 96, /* GL_BLEND_SRC_RGB */ + 80, /* GL_BLEND_DST_ALPHA */ + 94, /* GL_BLEND_SRC_ALPHA */ + 214, /* GL_COLOR_TABLE */ + 1297, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1280, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1356, /* GL_PROXY_COLOR_TABLE */ + 1360, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1359, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 238, /* GL_COLOR_TABLE_SCALE */ + 218, /* GL_COLOR_TABLE_BIAS */ + 223, /* GL_COLOR_TABLE_FORMAT */ + 240, /* GL_COLOR_TABLE_WIDTH */ + 235, /* GL_COLOR_TABLE_RED_SIZE */ + 226, /* GL_COLOR_TABLE_GREEN_SIZE */ + 220, /* GL_COLOR_TABLE_BLUE_SIZE */ + 215, /* GL_COLOR_TABLE_ALPHA_SIZE */ + 232, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + 229, /* GL_COLOR_TABLE_INTENSITY_SIZE */ 71, /* GL_BGR */ 72, /* GL_BGRA */ - 882, /* GL_MAX_ELEMENTS_VERTICES */ - 881, /* GL_MAX_ELEMENTS_INDICES */ - 1726, /* GL_TEXTURE_INDEX_SIZE_EXT */ - 146, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1164, /* GL_POINT_SIZE_MIN */ - 1160, /* GL_POINT_SIZE_MAX */ - 1154, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1150, /* GL_POINT_DISTANCE_ATTENUATION */ - 128, /* GL_CLAMP_TO_BORDER */ - 131, /* GL_CLAMP_TO_EDGE */ - 1747, /* GL_TEXTURE_MIN_LOD */ - 1745, /* GL_TEXTURE_MAX_LOD */ - 1650, /* GL_TEXTURE_BASE_LEVEL */ - 1744, /* GL_TEXTURE_MAX_LEVEL */ - 626, /* GL_IGNORE_BORDER_HP */ - 277, /* GL_CONSTANT_BORDER_HP */ - 1355, /* GL_REPLICATE_BORDER_HP */ - 283, /* GL_CONVOLUTION_BORDER_COLOR */ - 1061, /* GL_OCCLUSION_TEST_HP */ - 1062, /* GL_OCCLUSION_TEST_RESULT_HP */ - 700, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1665, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1667, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1669, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1670, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1668, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1666, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 863, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 864, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1227, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1229, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1226, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1228, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1734, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1735, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1733, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - 595, /* GL_GENERATE_MIPMAP */ - 596, /* GL_GENERATE_MIPMAP_HINT */ - 533, /* GL_FOG_OFFSET_SGIX */ - 534, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1679, /* GL_TEXTURE_COMPARE_SGIX */ - 1678, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1730, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1722, /* GL_TEXTURE_GEQUAL_R_SGIX */ - 361, /* GL_DEPTH_COMPONENT16 */ - 364, /* GL_DEPTH_COMPONENT24 */ - 367, /* GL_DEPTH_COMPONENT32 */ - 307, /* GL_CULL_VERTEX_EXT */ - 309, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - 308, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 1897, /* GL_WRAP_BORDER_SUN */ - 1672, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 693, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1456, /* GL_SINGLE_COLOR */ - 1442, /* GL_SEPARATE_SPECULAR_COLOR */ - 1451, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - 544, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ - 545, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - 552, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - 547, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - 543, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ - 542, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ - 546, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - 553, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - 565, /* GL_FRAMEBUFFER_DEFAULT */ - 581, /* GL_FRAMEBUFFER_UNDEFINED */ - 374, /* GL_DEPTH_STENCIL_ATTACHMENT */ - 632, /* GL_INDEX */ - 1805, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 1821, /* GL_UNSIGNED_SHORT_5_6_5 */ - 1822, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 1819, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 1817, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 1814, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 1812, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1742, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1743, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1741, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 962, /* GL_MIRRORED_REPEAT */ - 1397, /* GL_RGB_S3TC */ - 1372, /* GL_RGB4_S3TC */ - 1395, /* GL_RGBA_S3TC */ - 1389, /* GL_RGBA4_S3TC */ - 1393, /* GL_RGBA_DXT5_S3TC */ - 1387, /* GL_RGBA4_DXT5_S3TC */ - 265, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - 260, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - 261, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - 262, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1023, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1022, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 701, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - 520, /* GL_FOG_COORDINATE_SOURCE */ - 512, /* GL_FOG_COORD */ - 536, /* GL_FRAGMENT_DEPTH */ - 313, /* GL_CURRENT_FOG_COORD */ - 519, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - 518, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - 517, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - 514, /* GL_FOG_COORDINATE_ARRAY */ - 200, /* GL_COLOR_SUM */ - 333, /* GL_CURRENT_SECONDARY_COLOR */ - 1434, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1436, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1435, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1433, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1430, /* GL_SECONDARY_COLOR_ARRAY */ - 331, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ + 942, /* GL_MAX_ELEMENTS_VERTICES */ + 941, /* GL_MAX_ELEMENTS_INDICES */ + 1848, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 157, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + 1243, /* GL_POINT_SIZE_MIN */ + 1239, /* GL_POINT_SIZE_MAX */ + 1228, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1224, /* GL_POINT_DISTANCE_ATTENUATION */ + 139, /* GL_CLAMP_TO_BORDER */ + 142, /* GL_CLAMP_TO_EDGE */ + 1870, /* GL_TEXTURE_MIN_LOD */ + 1868, /* GL_TEXTURE_MAX_LOD */ + 1759, /* GL_TEXTURE_BASE_LEVEL */ + 1867, /* GL_TEXTURE_MAX_LEVEL */ + 671, /* GL_IGNORE_BORDER_HP */ + 289, /* GL_CONSTANT_BORDER_HP */ + 1450, /* GL_REPLICATE_BORDER_HP */ + 295, /* GL_CONVOLUTION_BORDER_COLOR */ + 1135, /* GL_OCCLUSION_TEST_HP */ + 1136, /* GL_OCCLUSION_TEST_RESULT_HP */ + 749, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1776, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1778, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1780, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1781, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1779, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1777, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 922, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 923, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1307, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1309, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1306, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1308, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1856, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1857, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1855, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 637, /* GL_GENERATE_MIPMAP */ + 638, /* GL_GENERATE_MIPMAP_HINT */ + 555, /* GL_FOG_OFFSET_SGIX */ + 556, /* GL_FOG_OFFSET_VALUE_SGIX */ + 1790, /* GL_TEXTURE_COMPARE_SGIX */ + 1789, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1852, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1844, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 377, /* GL_DEPTH_COMPONENT16 */ + 381, /* GL_DEPTH_COMPONENT24 */ + 385, /* GL_DEPTH_COMPONENT32 */ + 320, /* GL_CULL_VERTEX_EXT */ + 322, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + 321, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + 2032, /* GL_WRAP_BORDER_SUN */ + 1783, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 742, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1560, /* GL_SINGLE_COLOR */ + 1544, /* GL_SEPARATE_SPECULAR_COLOR */ + 1555, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 567, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + 568, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + 577, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + 570, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + 566, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + 565, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + 569, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + 578, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + 595, /* GL_FRAMEBUFFER_DEFAULT */ + 619, /* GL_FRAMEBUFFER_UNDEFINED */ + 393, /* GL_DEPTH_STENCIL_ATTACHMENT */ + 679, /* GL_INDEX */ + 1929, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 1950, /* GL_UNSIGNED_SHORT_5_6_5 */ + 1951, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 1947, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 1944, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 1941, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 1938, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1865, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1866, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1864, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 1031, /* GL_MIRRORED_REPEAT */ + 1498, /* GL_RGB_S3TC */ + 1467, /* GL_RGB4_S3TC */ + 1496, /* GL_RGBA_S3TC */ + 1489, /* GL_RGBA4_S3TC */ + 1494, /* GL_RGBA_DXT5_S3TC */ + 1486, /* GL_RGBA4_DXT5_S3TC */ + 277, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + 272, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + 273, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + 274, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + 1093, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1092, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 750, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 542, /* GL_FOG_COORDINATE_SOURCE */ + 534, /* GL_FOG_COORD */ + 558, /* GL_FRAGMENT_DEPTH */ + 326, /* GL_CURRENT_FOG_COORD */ + 541, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + 540, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + 539, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + 536, /* GL_FOG_COORDINATE_ARRAY */ + 212, /* GL_COLOR_SUM */ + 347, /* GL_CURRENT_SECONDARY_COLOR */ + 1536, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1538, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1537, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1535, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1532, /* GL_SECONDARY_COLOR_ARRAY */ + 345, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 28, /* GL_ALIASED_POINT_SIZE_RANGE */ 27, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1579, /* GL_TEXTURE0 */ - 1581, /* GL_TEXTURE1 */ - 1603, /* GL_TEXTURE2 */ - 1625, /* GL_TEXTURE3 */ - 1631, /* GL_TEXTURE4 */ - 1633, /* GL_TEXTURE5 */ - 1635, /* GL_TEXTURE6 */ - 1637, /* GL_TEXTURE7 */ - 1639, /* GL_TEXTURE8 */ - 1641, /* GL_TEXTURE9 */ - 1582, /* GL_TEXTURE10 */ - 1584, /* GL_TEXTURE11 */ - 1586, /* GL_TEXTURE12 */ - 1588, /* GL_TEXTURE13 */ - 1590, /* GL_TEXTURE14 */ - 1592, /* GL_TEXTURE15 */ - 1594, /* GL_TEXTURE16 */ - 1596, /* GL_TEXTURE17 */ - 1598, /* GL_TEXTURE18 */ - 1600, /* GL_TEXTURE19 */ - 1604, /* GL_TEXTURE20 */ - 1606, /* GL_TEXTURE21 */ - 1608, /* GL_TEXTURE22 */ - 1610, /* GL_TEXTURE23 */ - 1612, /* GL_TEXTURE24 */ - 1614, /* GL_TEXTURE25 */ - 1616, /* GL_TEXTURE26 */ - 1618, /* GL_TEXTURE27 */ - 1620, /* GL_TEXTURE28 */ - 1622, /* GL_TEXTURE29 */ - 1626, /* GL_TEXTURE30 */ - 1628, /* GL_TEXTURE31 */ + 1687, /* GL_TEXTURE0 */ + 1689, /* GL_TEXTURE1 */ + 1711, /* GL_TEXTURE2 */ + 1733, /* GL_TEXTURE3 */ + 1739, /* GL_TEXTURE4 */ + 1741, /* GL_TEXTURE5 */ + 1743, /* GL_TEXTURE6 */ + 1745, /* GL_TEXTURE7 */ + 1747, /* GL_TEXTURE8 */ + 1749, /* GL_TEXTURE9 */ + 1690, /* GL_TEXTURE10 */ + 1692, /* GL_TEXTURE11 */ + 1694, /* GL_TEXTURE12 */ + 1696, /* GL_TEXTURE13 */ + 1698, /* GL_TEXTURE14 */ + 1700, /* GL_TEXTURE15 */ + 1702, /* GL_TEXTURE16 */ + 1704, /* GL_TEXTURE17 */ + 1706, /* GL_TEXTURE18 */ + 1708, /* GL_TEXTURE19 */ + 1712, /* GL_TEXTURE20 */ + 1714, /* GL_TEXTURE21 */ + 1716, /* GL_TEXTURE22 */ + 1718, /* GL_TEXTURE23 */ + 1720, /* GL_TEXTURE24 */ + 1722, /* GL_TEXTURE25 */ + 1724, /* GL_TEXTURE26 */ + 1726, /* GL_TEXTURE27 */ + 1728, /* GL_TEXTURE28 */ + 1730, /* GL_TEXTURE29 */ + 1734, /* GL_TEXTURE30 */ + 1736, /* GL_TEXTURE31 */ 18, /* GL_ACTIVE_TEXTURE */ - 134, /* GL_CLIENT_ACTIVE_TEXTURE */ - 937, /* GL_MAX_TEXTURE_UNITS */ - 1782, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1785, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1787, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1779, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1561, /* GL_SUBTRACT */ - 922, /* GL_MAX_RENDERBUFFER_SIZE */ - 248, /* GL_COMPRESSED_ALPHA */ - 252, /* GL_COMPRESSED_LUMINANCE */ - 253, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - 250, /* GL_COMPRESSED_INTENSITY */ - 256, /* GL_COMPRESSED_RGB */ - 257, /* GL_COMPRESSED_RGBA */ - 1686, /* GL_TEXTURE_COMPRESSION_HINT */ - 1751, /* GL_TEXTURE_RECTANGLE_ARB */ - 1658, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1288, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 920, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - 373, /* GL_DEPTH_STENCIL */ - 1809, /* GL_UNSIGNED_INT_24_8 */ - 933, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1740, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 934, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1716, /* GL_TEXTURE_FILTER_CONTROL */ - 1731, /* GL_TEXTURE_LOD_BIAS */ - 233, /* GL_COMBINE4 */ - 927, /* GL_MAX_SHININESS_NV */ - 928, /* GL_MAX_SPOT_EXPONENT_NV */ - 630, /* GL_INCR_WRAP */ - 344, /* GL_DECR_WRAP */ - 982, /* GL_MODELVIEW1_ARB */ - 1038, /* GL_NORMAL_MAP */ - 1327, /* GL_REFLECTION_MAP */ - 1695, /* GL_TEXTURE_CUBE_MAP */ - 1656, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1703, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1697, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1705, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1699, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1707, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1701, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1286, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 876, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 1017, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 528, /* GL_FOG_DISTANCE_MODE_NV */ - 479, /* GL_EYE_RADIAL_NV */ - 478, /* GL_EYE_PLANE_ABSOLUTE_NV */ - 232, /* GL_COMBINE */ - 239, /* GL_COMBINE_RGB */ - 234, /* GL_COMBINE_ALPHA */ - 1398, /* GL_RGB_SCALE */ + 145, /* GL_CLIENT_ACTIVE_TEXTURE */ + 1001, /* GL_MAX_TEXTURE_UNITS */ + 1906, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1909, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1911, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1903, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1669, /* GL_SUBTRACT */ + 984, /* GL_MAX_RENDERBUFFER_SIZE */ + 260, /* GL_COMPRESSED_ALPHA */ + 264, /* GL_COMPRESSED_LUMINANCE */ + 265, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + 262, /* GL_COMPRESSED_INTENSITY */ + 268, /* GL_COMPRESSED_RGB */ + 269, /* GL_COMPRESSED_RGBA */ + 1797, /* GL_TEXTURE_COMPRESSION_HINT */ + 1874, /* GL_TEXTURE_RECTANGLE_ARB */ + 1769, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1371, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 982, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 392, /* GL_DEPTH_STENCIL */ + 1934, /* GL_UNSIGNED_INT_24_8 */ + 996, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1863, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 998, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1835, /* GL_TEXTURE_FILTER_CONTROL */ + 1853, /* GL_TEXTURE_LOD_BIAS */ + 245, /* GL_COMBINE4 */ + 990, /* GL_MAX_SHININESS_NV */ + 991, /* GL_MAX_SPOT_EXPONENT_NV */ + 677, /* GL_INCR_WRAP */ + 358, /* GL_DECR_WRAP */ + 1051, /* GL_MODELVIEW1_ARB */ + 1109, /* GL_NORMAL_MAP */ + 1410, /* GL_REFLECTION_MAP */ + 1807, /* GL_TEXTURE_CUBE_MAP */ + 1766, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1819, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1809, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1822, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1812, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1825, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1815, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1369, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 935, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 1087, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 550, /* GL_FOG_DISTANCE_MODE_NV */ + 499, /* GL_EYE_RADIAL_NV */ + 498, /* GL_EYE_PLANE_ABSOLUTE_NV */ + 244, /* GL_COMBINE */ + 251, /* GL_COMBINE_RGB */ + 246, /* GL_COMBINE_ALPHA */ + 1499, /* GL_RGB_SCALE */ 24, /* GL_ADD_SIGNED */ - 659, /* GL_INTERPOLATE */ - 272, /* GL_CONSTANT */ - 1233, /* GL_PRIMARY_COLOR */ - 1230, /* GL_PREVIOUS */ - 1471, /* GL_SOURCE0_RGB */ - 1477, /* GL_SOURCE1_RGB */ - 1483, /* GL_SOURCE2_RGB */ - 1487, /* GL_SOURCE3_RGB_NV */ - 1468, /* GL_SOURCE0_ALPHA */ - 1474, /* GL_SOURCE1_ALPHA */ - 1480, /* GL_SOURCE2_ALPHA */ - 1486, /* GL_SOURCE3_ALPHA_NV */ - 1075, /* GL_OPERAND0_RGB */ - 1081, /* GL_OPERAND1_RGB */ - 1087, /* GL_OPERAND2_RGB */ - 1091, /* GL_OPERAND3_RGB_NV */ - 1072, /* GL_OPERAND0_ALPHA */ - 1078, /* GL_OPERAND1_ALPHA */ - 1084, /* GL_OPERAND2_ALPHA */ - 1090, /* GL_OPERAND3_ALPHA_NV */ - 109, /* GL_BUFFER_OBJECT_APPLE */ - 1834, /* GL_VERTEX_ARRAY_BINDING */ - 1749, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 1750, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 1901, /* GL_YCBCR_422_APPLE */ - 1823, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 1825, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1759, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1552, /* GL_STORAGE_PRIVATE_APPLE */ - 1551, /* GL_STORAGE_CACHED_APPLE */ - 1553, /* GL_STORAGE_SHARED_APPLE */ - 1458, /* GL_SLICE_ACCUM_SUN */ - 1296, /* GL_QUAD_MESH_SUN */ - 1791, /* GL_TRIANGLE_MESH_SUN */ - 1873, /* GL_VERTEX_PROGRAM_ARB */ - 1884, /* GL_VERTEX_STATE_PROGRAM_NV */ - 1860, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 1866, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 1868, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 1870, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - 335, /* GL_CURRENT_VERTEX_ATTRIB */ - 1247, /* GL_PROGRAM_LENGTH_ARB */ - 1261, /* GL_PROGRAM_STRING_ARB */ - 1004, /* GL_MODELVIEW_PROJECTION_NV */ - 625, /* GL_IDENTITY_NV */ - 673, /* GL_INVERSE_NV */ - 1784, /* GL_TRANSPOSE_NV */ - 674, /* GL_INVERSE_TRANSPOSE_NV */ - 906, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 905, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 812, /* GL_MATRIX0_NV */ - 824, /* GL_MATRIX1_NV */ - 836, /* GL_MATRIX2_NV */ - 840, /* GL_MATRIX3_NV */ - 842, /* GL_MATRIX4_NV */ - 844, /* GL_MATRIX5_NV */ - 846, /* GL_MATRIX6_NV */ - 848, /* GL_MATRIX7_NV */ - 319, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - 316, /* GL_CURRENT_MATRIX_ARB */ - 1876, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - 1879, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1259, /* GL_PROGRAM_PARAMETER_NV */ - 1864, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1263, /* GL_PROGRAM_TARGET_NV */ - 1260, /* GL_PROGRAM_RESIDENT_NV */ - 1768, /* GL_TRACK_MATRIX_NV */ - 1769, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 1874, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1241, /* GL_PROGRAM_ERROR_POSITION_ARB */ - 357, /* GL_DEPTH_CLAMP */ - 1842, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 1849, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 1850, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 1851, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 1852, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 1853, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 1854, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 1855, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 1856, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 1857, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 1843, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 1844, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 1845, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 1846, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 1847, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 1848, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 760, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 767, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 768, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 769, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 770, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 771, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 772, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 773, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 774, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 775, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 761, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 762, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 763, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 764, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 765, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 766, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 787, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 794, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 795, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 796, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 797, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 798, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 799, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1240, /* GL_PROGRAM_BINDING_ARB */ - 801, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 802, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 788, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 789, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 790, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 791, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 792, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 793, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1684, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1681, /* GL_TEXTURE_COMPRESSED */ - 1043, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - 270, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 952, /* GL_MAX_VERTEX_UNITS_ARB */ + 706, /* GL_INTERPOLATE */ + 284, /* GL_CONSTANT */ + 1313, /* GL_PRIMARY_COLOR */ + 1310, /* GL_PREVIOUS */ + 1575, /* GL_SOURCE0_RGB */ + 1581, /* GL_SOURCE1_RGB */ + 1587, /* GL_SOURCE2_RGB */ + 1591, /* GL_SOURCE3_RGB_NV */ + 1572, /* GL_SOURCE0_ALPHA */ + 1578, /* GL_SOURCE1_ALPHA */ + 1584, /* GL_SOURCE2_ALPHA */ + 1590, /* GL_SOURCE3_ALPHA_NV */ + 1149, /* GL_OPERAND0_RGB */ + 1155, /* GL_OPERAND1_RGB */ + 1161, /* GL_OPERAND2_RGB */ + 1165, /* GL_OPERAND3_RGB_NV */ + 1146, /* GL_OPERAND0_ALPHA */ + 1152, /* GL_OPERAND1_ALPHA */ + 1158, /* GL_OPERAND2_ALPHA */ + 1164, /* GL_OPERAND3_ALPHA_NV */ + 120, /* GL_BUFFER_OBJECT_APPLE */ + 1963, /* GL_VERTEX_ARRAY_BINDING */ + 1872, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 1873, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 2037, /* GL_YCBCR_422_APPLE */ + 1952, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 1954, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1882, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1660, /* GL_STORAGE_PRIVATE_APPLE */ + 1659, /* GL_STORAGE_CACHED_APPLE */ + 1661, /* GL_STORAGE_SHARED_APPLE */ + 1562, /* GL_SLICE_ACCUM_SUN */ + 1379, /* GL_QUAD_MESH_SUN */ + 1915, /* GL_TRIANGLE_MESH_SUN */ + 2002, /* GL_VERTEX_PROGRAM_ARB */ + 2013, /* GL_VERTEX_STATE_PROGRAM_NV */ + 1989, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 1995, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 1997, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 1999, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 349, /* GL_CURRENT_VERTEX_ATTRIB */ + 1329, /* GL_PROGRAM_LENGTH_ARB */ + 1343, /* GL_PROGRAM_STRING_ARB */ + 1074, /* GL_MODELVIEW_PROJECTION_NV */ + 670, /* GL_IDENTITY_NV */ + 722, /* GL_INVERSE_NV */ + 1908, /* GL_TRANSPOSE_NV */ + 723, /* GL_INVERSE_TRANSPOSE_NV */ + 968, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 967, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 863, /* GL_MATRIX0_NV */ + 875, /* GL_MATRIX1_NV */ + 887, /* GL_MATRIX2_NV */ + 891, /* GL_MATRIX3_NV */ + 893, /* GL_MATRIX4_NV */ + 895, /* GL_MATRIX5_NV */ + 897, /* GL_MATRIX6_NV */ + 899, /* GL_MATRIX7_NV */ + 332, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + 329, /* GL_CURRENT_MATRIX_ARB */ + 2005, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 2008, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1341, /* GL_PROGRAM_PARAMETER_NV */ + 1993, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1345, /* GL_PROGRAM_TARGET_NV */ + 1342, /* GL_PROGRAM_RESIDENT_NV */ + 1892, /* GL_TRACK_MATRIX_NV */ + 1893, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 2003, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1323, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 373, /* GL_DEPTH_CLAMP */ + 1971, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 1978, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 1979, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 1980, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 1981, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 1982, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 1983, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 1984, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 1985, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 1986, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 1972, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 1973, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 1974, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 1975, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 1976, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 1977, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 811, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 818, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 819, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 820, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 821, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 822, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 823, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 824, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 825, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 826, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 812, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 813, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 814, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 815, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 816, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 817, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 838, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 845, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 846, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 847, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 848, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 849, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 850, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1322, /* GL_PROGRAM_BINDING_ARB */ + 852, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 853, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 839, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 840, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 841, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 842, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 843, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 844, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1795, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1792, /* GL_TEXTURE_COMPRESSED */ + 1115, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 282, /* GL_COMPRESSED_TEXTURE_FORMATS */ + 1018, /* GL_MAX_VERTEX_UNITS_ARB */ 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 1896, /* GL_WEIGHT_SUM_UNITY_ARB */ - 1872, /* GL_VERTEX_BLEND_ARB */ - 337, /* GL_CURRENT_WEIGHT_ARB */ - 1895, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 1894, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 1893, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 1892, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 1889, /* GL_WEIGHT_ARRAY_ARB */ - 387, /* GL_DOT3_RGB */ - 388, /* GL_DOT3_RGBA */ - 264, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - 259, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 1012, /* GL_MULTISAMPLE_3DFX */ - 1419, /* GL_SAMPLE_BUFFERS_3DFX */ - 1410, /* GL_SAMPLES_3DFX */ - 993, /* GL_MODELVIEW2_ARB */ - 996, /* GL_MODELVIEW3_ARB */ - 997, /* GL_MODELVIEW4_ARB */ - 998, /* GL_MODELVIEW5_ARB */ - 999, /* GL_MODELVIEW6_ARB */ - 1000, /* GL_MODELVIEW7_ARB */ - 1001, /* GL_MODELVIEW8_ARB */ - 1002, /* GL_MODELVIEW9_ARB */ - 972, /* GL_MODELVIEW10_ARB */ - 973, /* GL_MODELVIEW11_ARB */ - 974, /* GL_MODELVIEW12_ARB */ - 975, /* GL_MODELVIEW13_ARB */ - 976, /* GL_MODELVIEW14_ARB */ - 977, /* GL_MODELVIEW15_ARB */ - 978, /* GL_MODELVIEW16_ARB */ - 979, /* GL_MODELVIEW17_ARB */ - 980, /* GL_MODELVIEW18_ARB */ - 981, /* GL_MODELVIEW19_ARB */ - 983, /* GL_MODELVIEW20_ARB */ - 984, /* GL_MODELVIEW21_ARB */ - 985, /* GL_MODELVIEW22_ARB */ - 986, /* GL_MODELVIEW23_ARB */ - 987, /* GL_MODELVIEW24_ARB */ - 988, /* GL_MODELVIEW25_ARB */ - 989, /* GL_MODELVIEW26_ARB */ - 990, /* GL_MODELVIEW27_ARB */ - 991, /* GL_MODELVIEW28_ARB */ - 992, /* GL_MODELVIEW29_ARB */ - 994, /* GL_MODELVIEW30_ARB */ - 995, /* GL_MODELVIEW31_ARB */ - 392, /* GL_DOT3_RGB_EXT */ - 390, /* GL_DOT3_RGBA_EXT */ - 966, /* GL_MIRROR_CLAMP_EXT */ - 969, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 1007, /* GL_MODULATE_ADD_ATI */ - 1008, /* GL_MODULATE_SIGNED_ADD_ATI */ - 1009, /* GL_MODULATE_SUBTRACT_ATI */ - 1902, /* GL_YCBCR_MESA */ - 1099, /* GL_PACK_INVERT_MESA */ - 340, /* GL_DEBUG_OBJECT_MESA */ - 341, /* GL_DEBUG_PRINT_MESA */ - 339, /* GL_DEBUG_ASSERT_MESA */ - 111, /* GL_BUFFER_SIZE */ - 113, /* GL_BUFFER_USAGE */ - 117, /* GL_BUMP_ROT_MATRIX_ATI */ - 118, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ - 116, /* GL_BUMP_NUM_TEX_UNITS_ATI */ - 120, /* GL_BUMP_TEX_UNITS_ATI */ - 452, /* GL_DUDV_ATI */ - 451, /* GL_DU8DV8_ATI */ - 115, /* GL_BUMP_ENVMAP_ATI */ - 119, /* GL_BUMP_TARGET_ATI */ - 1519, /* GL_STENCIL_BACK_FUNC */ - 1517, /* GL_STENCIL_BACK_FAIL */ - 1521, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1523, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - 537, /* GL_FRAGMENT_PROGRAM_ARB */ - 1238, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1266, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1265, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1250, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1256, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1255, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 895, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 918, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 917, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 908, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 914, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 913, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 878, /* GL_MAX_DRAW_BUFFERS */ - 396, /* GL_DRAW_BUFFER0 */ - 399, /* GL_DRAW_BUFFER1 */ - 420, /* GL_DRAW_BUFFER2 */ - 423, /* GL_DRAW_BUFFER3 */ - 426, /* GL_DRAW_BUFFER4 */ - 429, /* GL_DRAW_BUFFER5 */ - 432, /* GL_DRAW_BUFFER6 */ - 435, /* GL_DRAW_BUFFER7 */ - 438, /* GL_DRAW_BUFFER8 */ - 441, /* GL_DRAW_BUFFER9 */ - 400, /* GL_DRAW_BUFFER10 */ - 403, /* GL_DRAW_BUFFER11 */ - 406, /* GL_DRAW_BUFFER12 */ - 409, /* GL_DRAW_BUFFER13 */ - 412, /* GL_DRAW_BUFFER14 */ - 415, /* GL_DRAW_BUFFER15 */ - 82, /* GL_BLEND_EQUATION_ALPHA */ - 857, /* GL_MATRIX_PALETTE_ARB */ - 889, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 892, /* GL_MAX_PALETTE_MATRICES_ARB */ - 322, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 851, /* GL_MATRIX_INDEX_ARRAY_ARB */ - 317, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 853, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 855, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 854, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 852, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1711, /* GL_TEXTURE_DEPTH_SIZE */ - 380, /* GL_DEPTH_TEXTURE_MODE */ - 1676, /* GL_TEXTURE_COMPARE_MODE */ - 1674, /* GL_TEXTURE_COMPARE_FUNC */ - 243, /* GL_COMPARE_R_TO_TEXTURE */ - 1171, /* GL_POINT_SPRITE */ - 297, /* GL_COORD_REPLACE */ - 1175, /* GL_POINT_SPRITE_R_MODE_NV */ - 1300, /* GL_QUERY_COUNTER_BITS */ - 324, /* GL_CURRENT_QUERY */ - 1303, /* GL_QUERY_RESULT */ - 1305, /* GL_QUERY_RESULT_AVAILABLE */ - 946, /* GL_MAX_VERTEX_ATTRIBS */ - 1862, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - 378, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - 377, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 929, /* GL_MAX_TEXTURE_COORDS */ - 931, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1243, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1245, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1244, /* GL_PROGRAM_FORMAT_ARB */ - 1761, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - 355, /* GL_DEPTH_BOUNDS_TEST_EXT */ - 354, /* GL_DEPTH_BOUNDS_EXT */ + 2031, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2001, /* GL_VERTEX_BLEND_ARB */ + 351, /* GL_CURRENT_WEIGHT_ARB */ + 2029, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2027, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2025, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2023, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2018, /* GL_WEIGHT_ARRAY_ARB */ + 407, /* GL_DOT3_RGB */ + 408, /* GL_DOT3_RGBA */ + 276, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + 271, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + 1082, /* GL_MULTISAMPLE_3DFX */ + 1521, /* GL_SAMPLE_BUFFERS_3DFX */ + 1512, /* GL_SAMPLES_3DFX */ + 1062, /* GL_MODELVIEW2_ARB */ + 1065, /* GL_MODELVIEW3_ARB */ + 1066, /* GL_MODELVIEW4_ARB */ + 1067, /* GL_MODELVIEW5_ARB */ + 1068, /* GL_MODELVIEW6_ARB */ + 1069, /* GL_MODELVIEW7_ARB */ + 1070, /* GL_MODELVIEW8_ARB */ + 1071, /* GL_MODELVIEW9_ARB */ + 1041, /* GL_MODELVIEW10_ARB */ + 1042, /* GL_MODELVIEW11_ARB */ + 1043, /* GL_MODELVIEW12_ARB */ + 1044, /* GL_MODELVIEW13_ARB */ + 1045, /* GL_MODELVIEW14_ARB */ + 1046, /* GL_MODELVIEW15_ARB */ + 1047, /* GL_MODELVIEW16_ARB */ + 1048, /* GL_MODELVIEW17_ARB */ + 1049, /* GL_MODELVIEW18_ARB */ + 1050, /* GL_MODELVIEW19_ARB */ + 1052, /* GL_MODELVIEW20_ARB */ + 1053, /* GL_MODELVIEW21_ARB */ + 1054, /* GL_MODELVIEW22_ARB */ + 1055, /* GL_MODELVIEW23_ARB */ + 1056, /* GL_MODELVIEW24_ARB */ + 1057, /* GL_MODELVIEW25_ARB */ + 1058, /* GL_MODELVIEW26_ARB */ + 1059, /* GL_MODELVIEW27_ARB */ + 1060, /* GL_MODELVIEW28_ARB */ + 1061, /* GL_MODELVIEW29_ARB */ + 1063, /* GL_MODELVIEW30_ARB */ + 1064, /* GL_MODELVIEW31_ARB */ + 412, /* GL_DOT3_RGB_EXT */ + 410, /* GL_DOT3_RGBA_EXT */ + 1035, /* GL_MIRROR_CLAMP_EXT */ + 1038, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 1077, /* GL_MODULATE_ADD_ATI */ + 1078, /* GL_MODULATE_SIGNED_ADD_ATI */ + 1079, /* GL_MODULATE_SUBTRACT_ATI */ + 2038, /* GL_YCBCR_MESA */ + 1173, /* GL_PACK_INVERT_MESA */ + 354, /* GL_DEBUG_OBJECT_MESA */ + 355, /* GL_DEBUG_PRINT_MESA */ + 353, /* GL_DEBUG_ASSERT_MESA */ + 122, /* GL_BUFFER_SIZE */ + 124, /* GL_BUFFER_USAGE */ + 128, /* GL_BUMP_ROT_MATRIX_ATI */ + 129, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ + 127, /* GL_BUMP_NUM_TEX_UNITS_ATI */ + 131, /* GL_BUMP_TEX_UNITS_ATI */ + 472, /* GL_DUDV_ATI */ + 471, /* GL_DU8DV8_ATI */ + 126, /* GL_BUMP_ENVMAP_ATI */ + 130, /* GL_BUMP_TARGET_ATI */ + 1117, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + 1320, /* GL_PROGRAM_BINARY_FORMATS_OES */ + 1624, /* GL_STENCIL_BACK_FUNC */ + 1622, /* GL_STENCIL_BACK_FAIL */ + 1626, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1628, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 559, /* GL_FRAGMENT_PROGRAM_ARB */ + 1318, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1348, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1347, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1332, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1338, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1337, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 957, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 980, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 979, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 970, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 976, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 975, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 938, /* GL_MAX_DRAW_BUFFERS */ + 416, /* GL_DRAW_BUFFER0 */ + 419, /* GL_DRAW_BUFFER1 */ + 440, /* GL_DRAW_BUFFER2 */ + 443, /* GL_DRAW_BUFFER3 */ + 446, /* GL_DRAW_BUFFER4 */ + 449, /* GL_DRAW_BUFFER5 */ + 452, /* GL_DRAW_BUFFER6 */ + 455, /* GL_DRAW_BUFFER7 */ + 458, /* GL_DRAW_BUFFER8 */ + 461, /* GL_DRAW_BUFFER9 */ + 420, /* GL_DRAW_BUFFER10 */ + 423, /* GL_DRAW_BUFFER11 */ + 426, /* GL_DRAW_BUFFER12 */ + 429, /* GL_DRAW_BUFFER13 */ + 432, /* GL_DRAW_BUFFER14 */ + 435, /* GL_DRAW_BUFFER15 */ + 85, /* GL_BLEND_EQUATION_ALPHA */ + 914, /* GL_MATRIX_PALETTE_ARB */ + 950, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 953, /* GL_MAX_PALETTE_MATRICES_ARB */ + 335, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + 902, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 330, /* GL_CURRENT_MATRIX_INDEX_ARB */ + 907, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 911, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 909, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 905, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1830, /* GL_TEXTURE_DEPTH_SIZE */ + 400, /* GL_DEPTH_TEXTURE_MODE */ + 1787, /* GL_TEXTURE_COMPARE_MODE */ + 1785, /* GL_TEXTURE_COMPARE_FUNC */ + 255, /* GL_COMPARE_R_TO_TEXTURE */ + 1250, /* GL_POINT_SPRITE */ + 309, /* GL_COORD_REPLACE */ + 1255, /* GL_POINT_SPRITE_R_MODE_NV */ + 1383, /* GL_QUERY_COUNTER_BITS */ + 338, /* GL_CURRENT_QUERY */ + 1386, /* GL_QUERY_RESULT */ + 1388, /* GL_QUERY_RESULT_AVAILABLE */ + 1011, /* GL_MAX_VERTEX_ATTRIBS */ + 1991, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 398, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + 397, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + 992, /* GL_MAX_TEXTURE_COORDS */ + 994, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1325, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1327, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1326, /* GL_PROGRAM_FORMAT_ARB */ + 1884, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 371, /* GL_DEPTH_BOUNDS_TEST_EXT */ + 370, /* GL_DEPTH_BOUNDS_EXT */ 53, /* GL_ARRAY_BUFFER */ - 465, /* GL_ELEMENT_ARRAY_BUFFER */ + 485, /* GL_ELEMENT_ARRAY_BUFFER */ 54, /* GL_ARRAY_BUFFER_BINDING */ - 466, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 1836, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1033, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - 150, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 634, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1689, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - 461, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1431, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - 515, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 1890, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 1858, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1246, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 901, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1252, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 910, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1264, /* GL_PROGRAM_TEMPORARIES_ARB */ - 916, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1254, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 912, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1258, /* GL_PROGRAM_PARAMETERS_ARB */ - 915, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1253, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 911, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1239, /* GL_PROGRAM_ATTRIBS_ARB */ - 896, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1251, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 909, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1237, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 894, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1249, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 907, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 902, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 898, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1267, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1781, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1317, /* GL_READ_ONLY */ - 1898, /* GL_WRITE_ONLY */ - 1319, /* GL_READ_WRITE */ - 102, /* GL_BUFFER_ACCESS */ - 105, /* GL_BUFFER_MAPPED */ - 107, /* GL_BUFFER_MAP_POINTER */ - 1767, /* GL_TIME_ELAPSED_EXT */ - 811, /* GL_MATRIX0_ARB */ - 823, /* GL_MATRIX1_ARB */ - 835, /* GL_MATRIX2_ARB */ - 839, /* GL_MATRIX3_ARB */ - 841, /* GL_MATRIX4_ARB */ - 843, /* GL_MATRIX5_ARB */ - 845, /* GL_MATRIX6_ARB */ - 847, /* GL_MATRIX7_ARB */ - 849, /* GL_MATRIX8_ARB */ - 850, /* GL_MATRIX9_ARB */ - 813, /* GL_MATRIX10_ARB */ - 814, /* GL_MATRIX11_ARB */ - 815, /* GL_MATRIX12_ARB */ - 816, /* GL_MATRIX13_ARB */ - 817, /* GL_MATRIX14_ARB */ - 818, /* GL_MATRIX15_ARB */ - 819, /* GL_MATRIX16_ARB */ - 820, /* GL_MATRIX17_ARB */ - 821, /* GL_MATRIX18_ARB */ - 822, /* GL_MATRIX19_ARB */ - 825, /* GL_MATRIX20_ARB */ - 826, /* GL_MATRIX21_ARB */ - 827, /* GL_MATRIX22_ARB */ - 828, /* GL_MATRIX23_ARB */ - 829, /* GL_MATRIX24_ARB */ - 830, /* GL_MATRIX25_ARB */ - 831, /* GL_MATRIX26_ARB */ - 832, /* GL_MATRIX27_ARB */ - 833, /* GL_MATRIX28_ARB */ - 834, /* GL_MATRIX29_ARB */ - 837, /* GL_MATRIX30_ARB */ - 838, /* GL_MATRIX31_ARB */ - 1556, /* GL_STREAM_DRAW */ - 1558, /* GL_STREAM_READ */ - 1554, /* GL_STREAM_COPY */ - 1510, /* GL_STATIC_DRAW */ - 1512, /* GL_STATIC_READ */ - 1508, /* GL_STATIC_COPY */ - 455, /* GL_DYNAMIC_DRAW */ - 457, /* GL_DYNAMIC_READ */ - 453, /* GL_DYNAMIC_COPY */ - 1139, /* GL_PIXEL_PACK_BUFFER */ - 1143, /* GL_PIXEL_UNPACK_BUFFER */ - 1140, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1144, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - 348, /* GL_DEPTH24_STENCIL8 */ - 1757, /* GL_TEXTURE_STENCIL_SIZE */ - 1709, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 897, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 900, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 904, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 903, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 860, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - 1547, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 486, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + 1965, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1104, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 161, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + 681, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 1800, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 481, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + 1533, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 537, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + 2019, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 1987, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1328, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 963, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1334, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 972, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1346, /* GL_PROGRAM_TEMPORARIES_ARB */ + 978, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1336, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 974, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1340, /* GL_PROGRAM_PARAMETERS_ARB */ + 977, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1335, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 973, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1319, /* GL_PROGRAM_ATTRIBS_ARB */ + 958, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1333, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 971, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1317, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 956, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1331, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 969, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 964, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 960, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1349, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1905, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1400, /* GL_READ_ONLY */ + 2033, /* GL_WRITE_ONLY */ + 1402, /* GL_READ_WRITE */ + 110, /* GL_BUFFER_ACCESS */ + 114, /* GL_BUFFER_MAPPED */ + 117, /* GL_BUFFER_MAP_POINTER */ + 1891, /* GL_TIME_ELAPSED_EXT */ + 862, /* GL_MATRIX0_ARB */ + 874, /* GL_MATRIX1_ARB */ + 886, /* GL_MATRIX2_ARB */ + 890, /* GL_MATRIX3_ARB */ + 892, /* GL_MATRIX4_ARB */ + 894, /* GL_MATRIX5_ARB */ + 896, /* GL_MATRIX6_ARB */ + 898, /* GL_MATRIX7_ARB */ + 900, /* GL_MATRIX8_ARB */ + 901, /* GL_MATRIX9_ARB */ + 864, /* GL_MATRIX10_ARB */ + 865, /* GL_MATRIX11_ARB */ + 866, /* GL_MATRIX12_ARB */ + 867, /* GL_MATRIX13_ARB */ + 868, /* GL_MATRIX14_ARB */ + 869, /* GL_MATRIX15_ARB */ + 870, /* GL_MATRIX16_ARB */ + 871, /* GL_MATRIX17_ARB */ + 872, /* GL_MATRIX18_ARB */ + 873, /* GL_MATRIX19_ARB */ + 876, /* GL_MATRIX20_ARB */ + 877, /* GL_MATRIX21_ARB */ + 878, /* GL_MATRIX22_ARB */ + 879, /* GL_MATRIX23_ARB */ + 880, /* GL_MATRIX24_ARB */ + 881, /* GL_MATRIX25_ARB */ + 882, /* GL_MATRIX26_ARB */ + 883, /* GL_MATRIX27_ARB */ + 884, /* GL_MATRIX28_ARB */ + 885, /* GL_MATRIX29_ARB */ + 888, /* GL_MATRIX30_ARB */ + 889, /* GL_MATRIX31_ARB */ + 1664, /* GL_STREAM_DRAW */ + 1666, /* GL_STREAM_READ */ + 1662, /* GL_STREAM_COPY */ + 1614, /* GL_STATIC_DRAW */ + 1616, /* GL_STATIC_READ */ + 1612, /* GL_STATIC_COPY */ + 475, /* GL_DYNAMIC_DRAW */ + 477, /* GL_DYNAMIC_READ */ + 473, /* GL_DYNAMIC_COPY */ + 1213, /* GL_PIXEL_PACK_BUFFER */ + 1217, /* GL_PIXEL_UNPACK_BUFFER */ + 1214, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1218, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 362, /* GL_DEPTH24_STENCIL8 */ + 1880, /* GL_TEXTURE_STENCIL_SIZE */ + 1828, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 959, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 962, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 966, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 965, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 919, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + 1655, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 17, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 967, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1412, /* GL_SAMPLES_PASSED */ - 110, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ - 104, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 1330, /* GL_RELEASED_APPLE */ - 1887, /* GL_VOLATILE_APPLE */ - 1358, /* GL_RETAINED_APPLE */ - 1794, /* GL_UNDEFINED_APPLE */ - 1290, /* GL_PURGEABLE_APPLE */ - 538, /* GL_FRAGMENT_SHADER */ - 1882, /* GL_VERTEX_SHADER */ - 1257, /* GL_PROGRAM_OBJECT_ARB */ - 1445, /* GL_SHADER_OBJECT_ARB */ - 885, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 950, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 944, /* GL_MAX_VARYING_FLOATS */ - 948, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 870, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1059, /* GL_OBJECT_TYPE_ARB */ - 1447, /* GL_SHADER_TYPE */ - 503, /* GL_FLOAT_VEC2 */ - 505, /* GL_FLOAT_VEC3 */ - 507, /* GL_FLOAT_VEC4 */ - 662, /* GL_INT_VEC2 */ - 664, /* GL_INT_VEC3 */ - 666, /* GL_INT_VEC4 */ - 94, /* GL_BOOL */ - 96, /* GL_BOOL_VEC2 */ - 98, /* GL_BOOL_VEC3 */ - 100, /* GL_BOOL_VEC4 */ - 491, /* GL_FLOAT_MAT2 */ - 495, /* GL_FLOAT_MAT3 */ - 499, /* GL_FLOAT_MAT4 */ - 1403, /* GL_SAMPLER_1D */ - 1405, /* GL_SAMPLER_2D */ - 1407, /* GL_SAMPLER_3D */ - 1408, /* GL_SAMPLER_CUBE */ - 1404, /* GL_SAMPLER_1D_SHADOW */ - 1406, /* GL_SAMPLER_2D_SHADOW */ - 493, /* GL_FLOAT_MAT2x3 */ - 494, /* GL_FLOAT_MAT2x4 */ - 497, /* GL_FLOAT_MAT3x2 */ - 498, /* GL_FLOAT_MAT3x4 */ - 501, /* GL_FLOAT_MAT4x2 */ - 502, /* GL_FLOAT_MAT4x3 */ - 346, /* GL_DELETE_STATUS */ - 247, /* GL_COMPILE_STATUS */ - 718, /* GL_LINK_STATUS */ - 1830, /* GL_VALIDATE_STATUS */ - 646, /* GL_INFO_LOG_LENGTH */ + 1036, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1514, /* GL_SAMPLES_PASSED */ + 1237, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + 1236, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + 1235, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + 1073, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1352, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1862, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + 121, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ + 113, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ + 1414, /* GL_RELEASED_APPLE */ + 2016, /* GL_VOLATILE_APPLE */ + 1453, /* GL_RETAINED_APPLE */ + 1918, /* GL_UNDEFINED_APPLE */ + 1373, /* GL_PURGEABLE_APPLE */ + 560, /* GL_FRAGMENT_SHADER */ + 2011, /* GL_VERTEX_SHADER */ + 1339, /* GL_PROGRAM_OBJECT_ARB */ + 1549, /* GL_SHADER_OBJECT_ARB */ + 945, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 1015, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 1008, /* GL_MAX_VARYING_FLOATS */ + 1013, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 929, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1133, /* GL_OBJECT_TYPE_ARB */ + 1551, /* GL_SHADER_TYPE */ + 525, /* GL_FLOAT_VEC2 */ + 527, /* GL_FLOAT_VEC3 */ + 529, /* GL_FLOAT_VEC4 */ + 710, /* GL_INT_VEC2 */ + 712, /* GL_INT_VEC3 */ + 714, /* GL_INT_VEC4 */ + 102, /* GL_BOOL */ + 104, /* GL_BOOL_VEC2 */ + 106, /* GL_BOOL_VEC3 */ + 108, /* GL_BOOL_VEC4 */ + 513, /* GL_FLOAT_MAT2 */ + 517, /* GL_FLOAT_MAT3 */ + 521, /* GL_FLOAT_MAT4 */ + 1504, /* GL_SAMPLER_1D */ + 1506, /* GL_SAMPLER_2D */ + 1508, /* GL_SAMPLER_3D */ + 1510, /* GL_SAMPLER_CUBE */ + 1505, /* GL_SAMPLER_1D_SHADOW */ + 1507, /* GL_SAMPLER_2D_SHADOW */ + 515, /* GL_FLOAT_MAT2x3 */ + 516, /* GL_FLOAT_MAT2x4 */ + 519, /* GL_FLOAT_MAT3x2 */ + 520, /* GL_FLOAT_MAT3x4 */ + 523, /* GL_FLOAT_MAT4x2 */ + 524, /* GL_FLOAT_MAT4x3 */ + 360, /* GL_DELETE_STATUS */ + 259, /* GL_COMPILE_STATUS */ + 767, /* GL_LINK_STATUS */ + 1959, /* GL_VALIDATE_STATUS */ + 693, /* GL_INFO_LOG_LENGTH */ 56, /* GL_ATTACHED_SHADERS */ 20, /* GL_ACTIVE_UNIFORMS */ 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1446, /* GL_SHADER_SOURCE_LENGTH */ + 1550, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ - 540, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1449, /* GL_SHADING_LANGUAGE_VERSION */ - 323, /* GL_CURRENT_PROGRAM */ - 1108, /* GL_PALETTE4_RGB8_OES */ - 1110, /* GL_PALETTE4_RGBA8_OES */ - 1106, /* GL_PALETTE4_R5_G6_B5_OES */ - 1109, /* GL_PALETTE4_RGBA4_OES */ - 1107, /* GL_PALETTE4_RGB5_A1_OES */ - 1113, /* GL_PALETTE8_RGB8_OES */ - 1115, /* GL_PALETTE8_RGBA8_OES */ - 1111, /* GL_PALETTE8_R5_G6_B5_OES */ - 1114, /* GL_PALETTE8_RGBA4_OES */ - 1112, /* GL_PALETTE8_RGB5_A1_OES */ - 628, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 627, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1815, /* GL_UNSIGNED_NORMALIZED */ - 1644, /* GL_TEXTURE_1D_ARRAY_EXT */ - 1279, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - 1646, /* GL_TEXTURE_2D_ARRAY_EXT */ - 1282, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - 1652, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - 1654, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - 1502, /* GL_SRGB */ - 1503, /* GL_SRGB8 */ - 1505, /* GL_SRGB_ALPHA */ - 1504, /* GL_SRGB8_ALPHA8 */ - 1462, /* GL_SLUMINANCE_ALPHA */ - 1461, /* GL_SLUMINANCE8_ALPHA8 */ - 1459, /* GL_SLUMINANCE */ - 1460, /* GL_SLUMINANCE8 */ - 268, /* GL_COMPRESSED_SRGB */ - 269, /* GL_COMPRESSED_SRGB_ALPHA */ - 266, /* GL_COMPRESSED_SLUMINANCE */ - 267, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 1778, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - 1773, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - 943, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - 1777, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - 1775, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - 1774, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - 1236, /* GL_PRIMITIVES_GENERATED_EXT */ - 1776, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - 1310, /* GL_RASTERIZER_DISCARD_EXT */ - 941, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - 942, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - 658, /* GL_INTERLEAVED_ATTRIBS_EXT */ - 1441, /* GL_SEPARATE_ATTRIBS_EXT */ - 1772, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - 1771, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - 1173, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 726, /* GL_LOWER_LEFT */ - 1827, /* GL_UPPER_LEFT */ - 1525, /* GL_STENCIL_BACK_REF */ - 1526, /* GL_STENCIL_BACK_VALUE_MASK */ - 1527, /* GL_STENCIL_BACK_WRITEMASK */ - 445, /* GL_DRAW_FRAMEBUFFER_BINDING */ - 1334, /* GL_RENDERBUFFER_BINDING */ - 1313, /* GL_READ_FRAMEBUFFER */ - 444, /* GL_DRAW_FRAMEBUFFER */ - 1314, /* GL_READ_FRAMEBUFFER_BINDING */ - 1345, /* GL_RENDERBUFFER_SAMPLES */ - 550, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - 548, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - 559, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - 555, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - 557, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - 563, /* GL_FRAMEBUFFER_COMPLETE */ - 567, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - 574, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - 572, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - 569, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - 573, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - 570, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ - 578, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ - 582, /* GL_FRAMEBUFFER_UNSUPPORTED */ - 580, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 866, /* GL_MAX_COLOR_ATTACHMENTS */ - 156, /* GL_COLOR_ATTACHMENT0 */ - 158, /* GL_COLOR_ATTACHMENT1 */ - 172, /* GL_COLOR_ATTACHMENT2 */ - 174, /* GL_COLOR_ATTACHMENT3 */ - 176, /* GL_COLOR_ATTACHMENT4 */ - 178, /* GL_COLOR_ATTACHMENT5 */ - 180, /* GL_COLOR_ATTACHMENT6 */ - 182, /* GL_COLOR_ATTACHMENT7 */ - 184, /* GL_COLOR_ATTACHMENT8 */ - 186, /* GL_COLOR_ATTACHMENT9 */ - 159, /* GL_COLOR_ATTACHMENT10 */ - 161, /* GL_COLOR_ATTACHMENT11 */ - 163, /* GL_COLOR_ATTACHMENT12 */ - 165, /* GL_COLOR_ATTACHMENT13 */ - 167, /* GL_COLOR_ATTACHMENT14 */ - 169, /* GL_COLOR_ATTACHMENT15 */ - 350, /* GL_DEPTH_ATTACHMENT */ - 1515, /* GL_STENCIL_ATTACHMENT */ - 541, /* GL_FRAMEBUFFER */ - 1332, /* GL_RENDERBUFFER */ - 1348, /* GL_RENDERBUFFER_WIDTH */ - 1340, /* GL_RENDERBUFFER_HEIGHT */ - 1342, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1542, /* GL_STENCIL_INDEX_EXT */ - 1534, /* GL_STENCIL_INDEX1 */ - 1538, /* GL_STENCIL_INDEX4 */ - 1540, /* GL_STENCIL_INDEX8 */ - 1535, /* GL_STENCIL_INDEX16 */ - 1344, /* GL_RENDERBUFFER_RED_SIZE */ - 1339, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1336, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1333, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1337, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1347, /* GL_RENDERBUFFER_STENCIL_SIZE */ - 576, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 924, /* GL_MAX_SAMPLES */ - 1307, /* GL_QUERY_WAIT_NV */ - 1302, /* GL_QUERY_NO_WAIT_NV */ - 1299, /* GL_QUERY_BY_REGION_WAIT_NV */ - 1298, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - 1294, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ - 487, /* GL_FIRST_VERTEX_CONVENTION */ - 677, /* GL_LAST_VERTEX_CONVENTION */ - 1271, /* GL_PROVOKING_VERTEX */ - 303, /* GL_COPY_READ_BUFFER */ - 304, /* GL_COPY_WRITE_BUFFER */ - 1396, /* GL_RGBA_SNORM */ - 1392, /* GL_RGBA8_SNORM */ - 1455, /* GL_SIGNED_NORMALIZED */ - 926, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - 1058, /* GL_OBJECT_TYPE */ - 1563, /* GL_SYNC_CONDITION */ - 1568, /* GL_SYNC_STATUS */ - 1565, /* GL_SYNC_FLAGS */ - 1564, /* GL_SYNC_FENCE */ - 1567, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - 1803, /* GL_UNSIGNALED */ - 1454, /* GL_SIGNALED */ + 562, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + 1553, /* GL_SHADING_LANGUAGE_VERSION */ + 337, /* GL_CURRENT_PROGRAM */ + 1182, /* GL_PALETTE4_RGB8_OES */ + 1184, /* GL_PALETTE4_RGBA8_OES */ + 1180, /* GL_PALETTE4_R5_G6_B5_OES */ + 1183, /* GL_PALETTE4_RGBA4_OES */ + 1181, /* GL_PALETTE4_RGB5_A1_OES */ + 1187, /* GL_PALETTE8_RGB8_OES */ + 1189, /* GL_PALETTE8_RGBA8_OES */ + 1185, /* GL_PALETTE8_R5_G6_B5_OES */ + 1188, /* GL_PALETTE8_RGBA4_OES */ + 1186, /* GL_PALETTE8_RGB5_A1_OES */ + 675, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + 673, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 1234, /* GL_POINT_SIZE_ARRAY_OES */ + 1806, /* GL_TEXTURE_CROP_RECT_OES */ + 903, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + 1233, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + 1942, /* GL_UNSIGNED_NORMALIZED */ + 1752, /* GL_TEXTURE_1D_ARRAY_EXT */ + 1362, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + 1754, /* GL_TEXTURE_2D_ARRAY_EXT */ + 1365, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + 1761, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + 1763, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + 1606, /* GL_SRGB */ + 1607, /* GL_SRGB8 */ + 1609, /* GL_SRGB_ALPHA */ + 1608, /* GL_SRGB8_ALPHA8 */ + 1566, /* GL_SLUMINANCE_ALPHA */ + 1565, /* GL_SLUMINANCE8_ALPHA8 */ + 1563, /* GL_SLUMINANCE */ + 1564, /* GL_SLUMINANCE8 */ + 280, /* GL_COMPRESSED_SRGB */ + 281, /* GL_COMPRESSED_SRGB_ALPHA */ + 278, /* GL_COMPRESSED_SLUMINANCE */ + 279, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ + 1902, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + 1897, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + 1007, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + 1901, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + 1899, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + 1898, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + 1316, /* GL_PRIMITIVES_GENERATED_EXT */ + 1900, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + 1393, /* GL_RASTERIZER_DISCARD_EXT */ + 1005, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + 1006, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + 705, /* GL_INTERLEAVED_ATTRIBS_EXT */ + 1543, /* GL_SEPARATE_ATTRIBS_EXT */ + 1896, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + 1895, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + 1252, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 775, /* GL_LOWER_LEFT */ + 1956, /* GL_UPPER_LEFT */ + 1630, /* GL_STENCIL_BACK_REF */ + 1631, /* GL_STENCIL_BACK_VALUE_MASK */ + 1632, /* GL_STENCIL_BACK_WRITEMASK */ + 465, /* GL_DRAW_FRAMEBUFFER_BINDING */ + 1419, /* GL_RENDERBUFFER_BINDING */ + 1396, /* GL_READ_FRAMEBUFFER */ + 464, /* GL_DRAW_FRAMEBUFFER */ + 1397, /* GL_READ_FRAMEBUFFER_BINDING */ + 1438, /* GL_RENDERBUFFER_SAMPLES */ + 574, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + 571, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + 586, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + 581, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + 584, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + 592, /* GL_FRAMEBUFFER_COMPLETE */ + 597, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + 609, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + 606, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 601, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 607, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 603, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ + 614, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ + 620, /* GL_FRAMEBUFFER_UNSUPPORTED */ + 618, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 925, /* GL_MAX_COLOR_ATTACHMENTS */ + 167, /* GL_COLOR_ATTACHMENT0 */ + 170, /* GL_COLOR_ATTACHMENT1 */ + 184, /* GL_COLOR_ATTACHMENT2 */ + 186, /* GL_COLOR_ATTACHMENT3 */ + 188, /* GL_COLOR_ATTACHMENT4 */ + 190, /* GL_COLOR_ATTACHMENT5 */ + 192, /* GL_COLOR_ATTACHMENT6 */ + 194, /* GL_COLOR_ATTACHMENT7 */ + 196, /* GL_COLOR_ATTACHMENT8 */ + 198, /* GL_COLOR_ATTACHMENT9 */ + 171, /* GL_COLOR_ATTACHMENT10 */ + 173, /* GL_COLOR_ATTACHMENT11 */ + 175, /* GL_COLOR_ATTACHMENT12 */ + 177, /* GL_COLOR_ATTACHMENT13 */ + 179, /* GL_COLOR_ATTACHMENT14 */ + 181, /* GL_COLOR_ATTACHMENT15 */ + 365, /* GL_DEPTH_ATTACHMENT */ + 1619, /* GL_STENCIL_ATTACHMENT */ + 564, /* GL_FRAMEBUFFER */ + 1416, /* GL_RENDERBUFFER */ + 1442, /* GL_RENDERBUFFER_WIDTH */ + 1429, /* GL_RENDERBUFFER_HEIGHT */ + 1432, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1650, /* GL_STENCIL_INDEX_EXT */ + 1639, /* GL_STENCIL_INDEX1 */ + 1644, /* GL_STENCIL_INDEX4 */ + 1647, /* GL_STENCIL_INDEX8 */ + 1640, /* GL_STENCIL_INDEX16 */ + 1436, /* GL_RENDERBUFFER_RED_SIZE */ + 1427, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1422, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1417, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1424, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1440, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 612, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + 987, /* GL_MAX_SAMPLES */ + 1842, /* GL_TEXTURE_GEN_STR_OES */ + 648, /* GL_HALF_FLOAT_OES */ + 1470, /* GL_RGB565_OES */ + 776, /* GL_LOW_FLOAT */ + 1021, /* GL_MEDIUM_FLOAT */ + 649, /* GL_HIGH_FLOAT */ + 777, /* GL_LOW_INT */ + 1022, /* GL_MEDIUM_INT */ + 650, /* GL_HIGH_INT */ + 1933, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + 709, /* GL_INT_10_10_10_2_OES */ + 1547, /* GL_SHADER_BINARY_FORMATS */ + 1118, /* GL_NUM_SHADER_BINARY_FORMATS */ + 1548, /* GL_SHADER_COMPILER */ + 1017, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + 1010, /* GL_MAX_VARYING_VECTORS */ + 947, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + 1390, /* GL_QUERY_WAIT_NV */ + 1385, /* GL_QUERY_NO_WAIT_NV */ + 1382, /* GL_QUERY_BY_REGION_WAIT_NV */ + 1381, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + 1377, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + 507, /* GL_FIRST_VERTEX_CONVENTION */ + 726, /* GL_LAST_VERTEX_CONVENTION */ + 1354, /* GL_PROVOKING_VERTEX */ + 316, /* GL_COPY_READ_BUFFER */ + 317, /* GL_COPY_WRITE_BUFFER */ + 1497, /* GL_RGBA_SNORM */ + 1493, /* GL_RGBA8_SNORM */ + 1559, /* GL_SIGNED_NORMALIZED */ + 989, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1132, /* GL_OBJECT_TYPE */ + 1671, /* GL_SYNC_CONDITION */ + 1676, /* GL_SYNC_STATUS */ + 1673, /* GL_SYNC_FLAGS */ + 1672, /* GL_SYNC_FENCE */ + 1675, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 1927, /* GL_UNSIGNALED */ + 1558, /* GL_SIGNALED */ 46, /* GL_ALREADY_SIGNALED */ - 1766, /* GL_TIMEOUT_EXPIRED */ - 271, /* GL_CONDITION_SATISFIED */ - 1888, /* GL_WAIT_FAILED */ - 472, /* GL_EVAL_BIT */ - 1311, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 720, /* GL_LIST_BIT */ - 1660, /* GL_TEXTURE_BIT */ - 1427, /* GL_SCISSOR_BIT */ + 1890, /* GL_TIMEOUT_EXPIRED */ + 283, /* GL_CONDITION_SATISFIED */ + 2017, /* GL_WAIT_FAILED */ + 492, /* GL_EVAL_BIT */ + 1394, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 769, /* GL_LIST_BIT */ + 1771, /* GL_TEXTURE_BIT */ + 1529, /* GL_SCISSOR_BIT */ 29, /* GL_ALL_ATTRIB_BITS */ - 1014, /* GL_MULTISAMPLE_BIT */ + 1084, /* GL_MULTISAMPLE_BIT */ 30, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; @@ -5279,7 +5581,7 @@ const char *_mesa_lookup_enum_by_nr( int nr ) } else { /* this is not re-entrant safe, no big deal here */ - sprintf(token_tmp, "0x%x", nr); + _mesa_snprintf(token_tmp, sizeof(token_tmp), "0x%x", nr); return token_tmp; } } diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py new file mode 100644 index 0000000000..8f08a3a6f9 --- /dev/null +++ b/src/mesa/main/es_generator.py @@ -0,0 +1,730 @@ +#************************************************************************* +# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. +# All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# TUNGSTEN GRAPHICS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +#************************************************************************* + + +import sys, os +import APIspecutil as apiutil + +# These dictionary entries are used for automatic conversion. +# The string will be used as a format string with the conversion +# variable. +Converters = { + 'GLfloat': { + 'GLdouble': "(GLdouble) (%s)", + 'GLfixed' : "(GLint) (%s * 65536)", + }, + 'GLfixed': { + 'GLfloat': "(GLfloat) (%s / 65536.0f)", + 'GLdouble': "(GLdouble) (%s / 65536.0)", + }, + 'GLdouble': { + 'GLfloat': "(GLfloat) (%s)", + 'GLfixed': "(GLfixed) (%s * 65536)", + }, + 'GLclampf': { + 'GLclampd': "(GLclampd) (%s)", + 'GLclampx': "(GLclampx) (%s * 65536)", + }, + 'GLclampx': { + 'GLclampf': "(GLclampf) (%s / 65536.0f)", + 'GLclampd': "(GLclampd) (%s / 65536.0)", + }, + 'GLubyte': { + 'GLfloat': "(GLfloat) (%s / 255.0f)", + }, +} + +def GetBaseType(type): + typeTokens = type.split(' ') + baseType = None + typeModifiers = [] + for t in typeTokens: + if t in ['const', '*']: + typeModifiers.append(t) + else: + baseType = t + return (baseType, typeModifiers) + +def ConvertValue(value, fromType, toType): + """Returns a string that represents the given parameter string, + type-converted if necessary.""" + + if not Converters.has_key(fromType): + print >> sys.stderr, "No base converter for type '%s' found. Ignoring." % fromType + return value + + if not Converters[fromType].has_key(toType): + print >> sys.stderr, "No converter found for type '%s' to type '%s'. Ignoring." % (fromType, toType) + return value + + # This part is simple. Return the proper conversion. + conversionString = Converters[fromType][toType] + return conversionString % value + +FormatStrings = { + 'GLenum' : '0x%x', + 'GLfloat' : '%f', + 'GLint' : '%d', + 'GLbitfield' : '0x%x', +} +def GetFormatString(type): + if FormatStrings.has_key(type): + return FormatStrings[type] + else: + return None + + +###################################################################### +# Version-specific values to be used in the main script +# header: which header file to include +# api: what text specifies an API-level function +VersionSpecificValues = { + 'GLES1.1' : { + 'description' : 'GLES1.1 functions', + 'header' : 'GLES/gl.h', + 'extheader' : 'GLES/glext.h', + 'shortname' : 'es1' + }, + 'GLES2.0': { + 'description' : 'GLES2.0 functions', + 'header' : 'GLES2/gl2.h', + 'extheader' : 'GLES2/gl2ext.h', + 'shortname' : 'es2' + } +} + + +###################################################################### +# Main code for the script begins here. + +# Get the name of the program (without the directory part) for use in +# error messages. +program = os.path.basename(sys.argv[0]) + +# Set default values +verbose = 0 +functionList = "APIspec.xml" +version = "GLES1.1" + +# Allow for command-line switches +import getopt, time +options = "hvV:S:" +try: + optlist, args = getopt.getopt(sys.argv[1:], options) +except getopt.GetoptError, message: + sys.stderr.write("%s: %s. Use -h for help.\n" % (program, message)) + sys.exit(1) + +for option, optarg in optlist: + if option == "-h": + sys.stderr.write("Usage: %s [-%s]\n" % (program, options)) + sys.stderr.write("Parse an API specification file and generate wrapper functions for a given GLES version\n") + sys.stderr.write("-h gives help\n") + sys.stderr.write("-v is verbose\n") + sys.stderr.write("-V specifies GLES version to generate [%s]:\n" % version) + for key in VersionSpecificValues.keys(): + sys.stderr.write(" %s - %s\n" % (key, VersionSpecificValues[key]['description'])) + sys.stderr.write("-S specifies API specification file to use [%s]\n" % functionList) + sys.exit(1) + elif option == "-v": + verbose += 1 + elif option == "-V": + version = optarg + elif option == "-S": + functionList = optarg + +# Beyond switches, we support no further command-line arguments +if len(args) > 0: + sys.stderr.write("%s: only switch arguments are supported - use -h for help\n" % program) + sys.exit(1) + +# If we don't have a valid version, abort. +if not VersionSpecificValues.has_key(version): + sys.stderr.write("%s: version '%s' is not valid - use -h for help\n" % (program, version)) + sys.exit(1) + +# Grab the version-specific items we need to use +versionHeader = VersionSpecificValues[version]['header'] +versionExtHeader = VersionSpecificValues[version]['extheader'] +shortname = VersionSpecificValues[version]['shortname'] + +# If we get to here, we're good to go. The "version" parameter +# directs GetDispatchedFunctions to only allow functions from +# that "category" (version in our parlance). This allows +# functions with different declarations in different categories +# to exist (glTexImage2D, for example, is different between +# GLES1 and GLES2). +keys = apiutil.GetAllFunctions(functionList, version) + +allSpecials = apiutil.AllSpecials() + +print """/* DO NOT EDIT ************************************************* + * THIS FILE AUTOMATICALLY GENERATED BY THE %s SCRIPT + * API specification file: %s + * GLES version: %s + * date: %s + */ +""" % (program, functionList, version, time.strftime("%Y-%m-%d %H:%M:%S")) + +# The headers we choose are version-specific. +print """ +#include "%s" +#include "%s" +""" % (versionHeader, versionExtHeader) + +# Everyone needs these types. +print """ +/* These types are needed for the Mesa veneer, but are not defined in + * the standard GLES headers. + */ +typedef double GLdouble; +typedef double GLclampd; + +/* This type is normally in glext.h, but needed here */ +typedef char GLchar; + +/* Mesa error handling requires these */ +extern void *_mesa_get_current_context(void); +extern void _mesa_error(void *ctx, GLenum error, const char *fmtString, ... ); + +#include "main/compiler.h" +#include "main/api_exec.h" +#include "main/remap.h" + +#ifdef IN_DRI_DRIVER +#define _GLAPI_USE_REMAP_TABLE +#endif + +#include "es/glapi/glapi-%s/glapi/glapitable.h" +#include "es/glapi/glapi-%s/glapi/glapioffsets.h" +#include "es/glapi/glapi-%s/glapi/glapidispatch.h" + +#if FEATURE_remap_table + +#define need_MESA_remap_table + +#include "es/glapi/glapi-%s/main/remap_helper.h" + +void +_mesa_init_remap_table_%s(void) +{ + _mesa_do_init_remap_table(_mesa_function_pool, + driDispatchRemapTable_size, + MESA_remap_table_functions); +} + +void +_mesa_map_static_functions_%s(void) +{ +} + +#endif + +typedef void (*_glapi_proc)(void); /* generic function pointer */ +""" % (shortname, shortname, shortname, shortname, shortname, shortname); + +# Finally we get to the all-important functions +print """/************************************************************* + * Generated functions begin here + */ +""" +for funcName in keys: + if verbose > 0: sys.stderr.write("%s: processing function %s\n" % (program, funcName)) + + # start figuring out what this function will look like. + returnType = apiutil.ReturnType(funcName) + props = apiutil.Properties(funcName) + params = apiutil.Parameters(funcName) + declarationString = apiutil.MakeDeclarationString(params) + + # In case of error, a function may have to return. Make + # sure we have valid return values in this case. + if returnType == "void": + errorReturn = "return" + elif returnType == "GLboolean": + errorReturn = "return GL_FALSE" + else: + errorReturn = "return (%s) 0" % returnType + + # These are the output of this large calculation block. + # passthroughDeclarationString: a typed set of parameters that + # will be used to create the "extern" reference for the + # underlying Mesa or support function. Note that as generated + # these have an extra ", " at the beginning, which will be + # removed before use. + # + # passthroughDeclarationString: an untyped list of parameters + # that will be used to call the underlying Mesa or support + # function (including references to converted parameters). + # This will also be generated with an extra ", " at the + # beginning, which will be removed before use. + # + # variables: C code to create any local variables determined to + # be necessary. + # conversionCodeOutgoing: C code to convert application parameters + # to a necessary type before calling the underlying support code. + # May be empty if no conversion is required. + # conversionCodeIncoming: C code to do the converse: convert + # values returned by underlying Mesa code to the types needed + # by the application. + # Note that *either* the conversionCodeIncoming will be used (for + # generated query functions), *or* the conversionCodeOutgoing will + # be used (for generated non-query functions), never both. + passthroughFuncName = "" + passthroughDeclarationString = "" + passthroughCallString = "" + prefixOverride = None + variables = [] + conversionCodeOutgoing = [] + conversionCodeIncoming = [] + switchCode = [] + + # Calculate the name of the underlying support function to call. + # By default, the passthrough function is named _mesa_<funcName>. + # We're allowed to override the prefix and/or the function name + # for each function record, though. The "ConversionFunction" + # utility is poorly named, BTW... + if funcName in allSpecials: + # perform checks and pass through + funcPrefix = "_check_" + aliasprefix = "_es_" + else: + funcPrefix = "_es_" + aliasprefix = apiutil.AliasPrefix(funcName) + alias = apiutil.ConversionFunction(funcName) + prefixOverride = apiutil.FunctionPrefix(funcName) + if prefixOverride != "_mesa_": + aliasprefix = apiutil.FunctionPrefix(funcName) + if not alias: + # There may still be a Mesa alias for the function + if apiutil.Alias(funcName): + passthroughFuncName = "%s%s" % (aliasprefix, apiutil.Alias(funcName)) + else: + passthroughFuncName = "%s%s" % (aliasprefix, funcName) + else: # a specific alias is provided + passthroughFuncName = "%s%s" % (aliasprefix, alias) + + # Look at every parameter: each one may have only specific + # allowed values, or dependent parameters to check, or + # variant-sized vector arrays to calculate + for (paramName, paramType, paramMaxVecSize, paramConvertToType, paramValidValues, paramValueConversion) in params: + # We'll need this below if we're doing conversions + (paramBaseType, paramTypeModifiers) = GetBaseType(paramType) + + # Conversion management. + # We'll handle three cases, easiest to hardest: a parameter + # that doesn't require conversion, a scalar parameter that + # requires conversion, and a vector parameter that requires + # conversion. + if paramConvertToType == None: + # Unconverted parameters are easy, whether they're vector + # or scalar - just add them to the call list. No conversions + # or anything to worry about. + passthroughDeclarationString += ", %s %s" % (paramType, paramName) + passthroughCallString += ", %s" % paramName + + elif paramMaxVecSize == 0: # a scalar parameter that needs conversion + # A scalar to hold a converted parameter + variables.append(" %s converted_%s;" % (paramConvertToType, paramName)) + + # Outgoing conversion depends on whether we have to conditionally + # perform value conversion. + if paramValueConversion == "none": + conversionCodeOutgoing.append(" converted_%s = (%s) %s;" % (paramName, paramConvertToType, paramName)) + elif paramValueConversion == "some": + # We'll need a conditional variable to keep track of + # whether we're converting values or not. + if (" int convert_%s_value = 1;" % paramName) not in variables: + variables.append(" int convert_%s_value = 1;" % paramName) + + # Write code based on that conditional. + conversionCodeOutgoing.append(" if (convert_%s_value) {" % paramName) + conversionCodeOutgoing.append(" converted_%s = %s;" % (paramName, ConvertValue(paramName, paramBaseType, paramConvertToType))) + conversionCodeOutgoing.append(" } else {") + conversionCodeOutgoing.append(" converted_%s = (%s) %s;" % (paramName, paramConvertToType, paramName)) + conversionCodeOutgoing.append(" }") + else: # paramValueConversion == "all" + conversionCodeOutgoing.append(" converted_%s = %s;" % (paramName, ConvertValue(paramName, paramBaseType, paramConvertToType))) + + # Note that there can be no incoming conversion for a + # scalar parameter; changing the scalar will only change + # the local value, and won't ultimately change anything + # that passes back to the application. + + # Call strings. The unusual " ".join() call will join the + # array of parameter modifiers with spaces as separators. + passthroughDeclarationString += ", %s %s %s" % (paramConvertToType, " ".join(paramTypeModifiers), paramName) + passthroughCallString += ", converted_%s" % paramName + + else: # a vector parameter that needs conversion + # We'll need an index variable for conversions + if " register unsigned int i;" not in variables: + variables.append(" register unsigned int i;") + + # This variable will hold the (possibly variant) size of + # this array needing conversion. By default, we'll set + # it to the maximal size (which is correct for functions + # with a constant-sized vector parameter); for true + # variant arrays, we'll modify it with other code. + variables.append(" unsigned int n_%s = %d;" % (paramName, paramMaxVecSize)) + + # This array will hold the actual converted values. + variables.append(" %s converted_%s[%d];" % (paramConvertToType, paramName, paramMaxVecSize)) + + # Again, we choose the conversion code based on whether we + # have to always convert values, never convert values, or + # conditionally convert values. + if paramValueConversion == "none": + conversionCodeOutgoing.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeOutgoing.append(" converted_%s[i] = (%s) %s[i];" % (paramName, paramConvertToType, paramName)) + conversionCodeOutgoing.append(" }") + elif paramValueConversion == "some": + # We'll need a conditional variable to keep track of + # whether we're converting values or not. + if (" int convert_%s_value = 1;" % paramName) not in variables: + variables.append(" int convert_%s_value = 1;" % paramName) + # Write code based on that conditional. + conversionCodeOutgoing.append(" if (convert_%s_value) {" % paramName) + conversionCodeOutgoing.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeOutgoing.append(" converted_%s[i] = %s;" % (paramName, ConvertValue("%s[i]" % paramName, paramBaseType, paramConvertToType))) + conversionCodeOutgoing.append(" }") + conversionCodeOutgoing.append(" } else {") + conversionCodeOutgoing.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeOutgoing.append(" converted_%s[i] = (%s) %s[i];" % (paramName, paramConvertToType, paramName)) + conversionCodeOutgoing.append(" }") + conversionCodeOutgoing.append(" }") + else: # paramValueConversion == "all" + conversionCodeOutgoing.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeOutgoing.append(" converted_%s[i] = %s;" % (paramName, ConvertValue("%s[i]" % paramName, paramBaseType, paramConvertToType))) + + conversionCodeOutgoing.append(" }") + + # If instead we need an incoming conversion (i.e. results + # from Mesa have to be converted before handing back + # to the application), this is it. Fortunately, we don't + # have to worry about conditional value conversion - the + # functions that do (e.g. glGetFixedv()) are handled + # specially, outside this code generation. + # + # Whether we use incoming conversion or outgoing conversion + # is determined later - we only ever use one or the other. + + if paramValueConversion == "none": + conversionCodeIncoming.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeIncoming.append(" %s[i] = (%s) converted_%s[i];" % (paramName, paramConvertToType, paramName)) + conversionCodeIncoming.append(" }") + elif paramValueConversion == "some": + # We'll need a conditional variable to keep track of + # whether we're converting values or not. + if (" int convert_%s_value = 1;" % paramName) not in variables: + variables.append(" int convert_%s_value = 1;" % paramName) + + # Write code based on that conditional. + conversionCodeIncoming.append(" if (convert_%s_value) {" % paramName) + conversionCodeIncoming.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeIncoming.append(" %s[i] = %s;" % (paramName, ConvertValue("converted_%s[i]" % paramName, paramConvertToType, paramBaseType))) + conversionCodeIncoming.append(" }") + conversionCodeIncoming.append(" } else {") + conversionCodeIncoming.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeIncoming.append(" %s[i] = (%s) converted_%s[i];" % (paramName, paramBaseType, paramName)) + conversionCodeIncoming.append(" }") + conversionCodeIncoming.append(" }") + else: # paramValueConversion == "all" + conversionCodeIncoming.append(" for (i = 0; i < n_%s; i++) {" % paramName) + conversionCodeIncoming.append(" %s[i] = %s;" % (paramName, ConvertValue("converted_%s[i]" % paramName, paramConvertToType, paramBaseType))) + conversionCodeIncoming.append(" }") + + # Call strings. The unusual " ".join() call will join the + # array of parameter modifiers with spaces as separators. + passthroughDeclarationString += ", %s %s %s" % (paramConvertToType, " ".join(paramTypeModifiers), paramName) + passthroughCallString += ", converted_%s" % paramName + + # endif conversion management + + # Parameter checking. If the parameter has a specific list of + # valid values, we have to make sure that the passed-in values + # match these, or we make an error. + if len(paramValidValues) > 0: + # We're about to make a big switch statement with an + # error at the end. By default, the error is GL_INVALID_ENUM, + # unless we find a "case" statement in the middle with a + # non-GLenum value. + errorDefaultCase = "GL_INVALID_ENUM" + + # This parameter has specific valid values. Make a big + # switch statement to handle it. Note that the original + # parameters are always what is checked, not the + # converted parameters. + switchCode.append(" switch(%s) {" % paramName) + + for valueIndex in range(len(paramValidValues)): + (paramValue, dependentVecSize, dependentParamName, dependentValidValues, errorCode, valueConvert) = paramValidValues[valueIndex] + + # We're going to need information on the dependent param + # as well. + if dependentParamName: + depParamIndex = apiutil.FindParamIndex(params, dependentParamName) + if depParamIndex == None: + sys.stderr.write("%s: can't find dependent param '%s' for function '%s'\n" % (program, dependentParamName, funcName)) + + (depParamName, depParamType, depParamMaxVecSize, depParamConvertToType, depParamValidValues, depParamValueConversion) = params[depParamIndex] + else: + (depParamName, depParamType, depParamMaxVecSize, depParamConvertToType, depParamValidValues, depParamValueConversion) = (None, None, None, None, [], None) + + # This is a sneaky trick. It's valid syntax for a parameter + # that is *not* going to be converted to be declared + # with a dependent vector size; but in this case, the + # dependent vector size is unused and unnecessary. + # So check for this and ignore the dependent vector size + # if the parameter is not going to be converted. + if depParamConvertToType: + usedDependentVecSize = dependentVecSize + else: + usedDependentVecSize = None + + # We'll peek ahead at the next parameter, to see whether + # we can combine cases + if valueIndex + 1 < len(paramValidValues) : + (nextParamValue, nextDependentVecSize, nextDependentParamName, nextDependentValidValues, nextErrorCode, nextValueConvert) = paramValidValues[valueIndex + 1] + if depParamConvertToType: + usedNextDependentVecSize = nextDependentVecSize + else: + usedNextDependentVecSize = None + + # Create a case for this value. As a mnemonic, + # if we have a dependent vector size that we're ignoring, + # add it as a comment. + if usedDependentVecSize == None and dependentVecSize != None: + switchCode.append(" case %s: /* size %s */" % (paramValue, dependentVecSize)) + else: + switchCode.append(" case %s:" % paramValue) + + # If this is not a GLenum case, then switch our error + # if no value is matched to be GL_INVALID_VALUE instead + # of GL_INVALID_ENUM. (Yes, this does get confused + # if there are both values and GLenums in the same + # switch statement, which shouldn't happen.) + if paramValue[0:3] != "GL_": + errorDefaultCase = "GL_INVALID_VALUE" + + # If all the remaining parameters are identical to the + # next set, then we're done - we'll just create the + # official code on the next pass through, and the two + # cases will share the code. + if valueIndex + 1 < len(paramValidValues) and usedDependentVecSize == usedNextDependentVecSize and dependentParamName == nextDependentParamName and dependentValidValues == nextDependentValidValues and errorCode == nextErrorCode and valueConvert == nextValueConvert: + continue + + # Otherwise, we'll have to generate code for this case. + # Start off with a check: if there is a dependent parameter, + # and a list of valid values for that parameter, we need + # to generate an error if something other than one + # of those values is passed. + if len(dependentValidValues) > 0: + conditional="" + + # If the parameter being checked is actually an array, + # check only its first element. + if depParamMaxVecSize == 0: + valueToCheck = dependentParamName + else: + valueToCheck = "%s[0]" % dependentParamName + + for v in dependentValidValues: + conditional += " && %s != %s" % (valueToCheck, v) + switchCode.append(" if (%s) {" % conditional[4:]) + if errorCode == None: + errorCode = "GL_INVALID_ENUM" + switchCode.append(' _mesa_error(_mesa_get_current_context(), %s, "gl%s(%s=0x%s)", %s);' % (errorCode, funcName, paramName, "%x", paramName)) + switchCode.append(" %s;" % errorReturn) + switchCode.append(" }") + # endif there are dependent valid values + + # The dependent parameter may require conditional + # value conversion. If it does, and we don't want + # to convert values, we'll have to generate code for that + if depParamValueConversion == "some" and valueConvert == "noconvert": + switchCode.append(" convert_%s_value = 0;" % dependentParamName) + + # If there's a dependent vector size for this parameter + # that we're actually going to use (i.e. we need conversion), + # mark it. + if usedDependentVecSize: + switchCode.append(" n_%s = %s;" % (dependentParamName, dependentVecSize)) + + # In all cases, break out of the switch if any valid + # value is found. + switchCode.append(" break;") + + + # Need a default case to catch all the other, invalid + # parameter values. These will all generate errors. + switchCode.append(" default:") + if errorCode == None: + errorCode = "GL_INVALID_ENUM" + formatString = GetFormatString(paramType) + if formatString == None: + switchCode.append(' _mesa_error(_mesa_get_current_context(), %s, "gl%s(%s)");' % (errorCode, funcName, paramName)) + else: + switchCode.append(' _mesa_error(_mesa_get_current_context(), %s, "gl%s(%s=%s)", %s);' % (errorCode, funcName, paramName, formatString, paramName)) + switchCode.append(" %s;" % errorReturn) + + # End of our switch code. + switchCode.append(" }") + + # endfor every recognized parameter value + + # endfor every param + + # Here, the passthroughDeclarationString and passthroughCallString + # are complete; remove the extra ", " at the front of each. + passthroughDeclarationString = passthroughDeclarationString[2:] + passthroughCallString = passthroughCallString[2:] + + # The Mesa functions are scattered across all the Mesa + # header files. The easiest way to manage declarations + # is to create them ourselves. + if funcName in allSpecials: + print "/* this function is special and is defined elsewhere */" + print "extern %s GLAPIENTRY %s(%s);" % (returnType, passthroughFuncName, passthroughDeclarationString) + + # A function may be a core function (i.e. it exists in + # the core specification), a core addition (extension + # functions added officially to the core), a required + # extension (usually an extension for an earlier version + # that has been officially adopted), or an optional extension. + # + # Core functions have a simple category (e.g. "GLES1.1"); + # we generate only a simple callback for them. + # + # Core additions have two category listings, one simple + # and one compound (e.g. ["GLES1.1", "GLES1.1:OES_fixed_point"]). + # We generate the core function, and also an extension function. + # + # Required extensions and implemented optional extensions + # have a single compound category "GLES1.1:OES_point_size_array". + # For these we generate just the extension function. + for categorySpec in apiutil.Categories(funcName): + compoundCategory = categorySpec.split(":") + + # This category isn't for us, if the base category doesn't match + # our version + if compoundCategory[0] != version: + continue + + # Otherwise, determine if we're writing code for a core + # function (no suffix) or an extension function. + if len(compoundCategory) == 1: + # This is a core function + extensionName = None + extensionSuffix = "" + else: + # This is an extension function. We'll need to append + # the extension suffix. + extensionName = compoundCategory[1] + extensionSuffix = extensionName.split("_")[0] + fullFuncName = funcPrefix + funcName + extensionSuffix + + # Now the generated function. The text used to mark an API-level + # function, oddly, is version-specific. + if extensionName: + print "/* Extension %s */" % extensionName + + if (not variables and + not switchCode and + not conversionCodeOutgoing and + not conversionCodeIncoming): + # pass through directly + print "#define %s %s" % (fullFuncName, passthroughFuncName) + print + continue + + print "static %s %s(%s)" % (returnType, fullFuncName, declarationString) + print "{" + + # Start printing our code pieces. Start with any local + # variables we need. This unusual syntax joins the + # lines in the variables[] array with the "\n" separator. + if len(variables) > 0: + print "\n".join(variables) + "\n" + + # If there's any sort of parameter checking or variable + # array sizing, the switch code will contain it. + if len(switchCode) > 0: + print "\n".join(switchCode) + "\n" + + # In the case of an outgoing conversion (i.e. parameters must + # be converted before calling the underlying Mesa function), + # use the appropriate code. + if "get" not in props and len(conversionCodeOutgoing) > 0: + print "\n".join(conversionCodeOutgoing) + "\n" + + # Call the Mesa function. Note that there are very few functions + # that return a value (i.e. returnType is not "void"), and that + # none of them require incoming translation; so we're safe + # to generate code that directly returns in those cases, + # even though it's not completely independent. + + if returnType == "void": + print " %s(%s);" % (passthroughFuncName, passthroughCallString) + else: + print " return %s(%s);" % (passthroughFuncName, passthroughCallString) + + # If the function is one that returns values (i.e. "get" in props), + # it might return values of a different type than we need, that + # require conversion before passing back to the application. + if "get" in props and len(conversionCodeIncoming) > 0: + print "\n".join(conversionCodeIncoming) + + # All done. + print "}" + print + # end for each category provided for a function + +# end for each function + +print """ +struct _glapi_table * +_mesa_create_exec_table_%s(void) +{ + struct _glapi_table *exec; + exec = _mesa_alloc_dispatch_table(sizeof *exec); + if (exec == NULL) + return NULL; + +""" % shortname + +for func in keys: + prefix = "_es_" if func not in allSpecials else "_check_" + for spec in apiutil.Categories(func): + ext = spec.split(":") + # version does not match + if ext.pop(0) != version: + continue + entry = func + if ext: + suffix = ext[0].split("_")[0] + entry += suffix + print " SET_%s(exec, %s%s);" % (entry, prefix, entry) +print "" +print " return exec;" +print "}" diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 208069c1db..4c8d4ccfa2 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -495,7 +495,6 @@ _mesa_enable_2_1_extensions(GLcontext *ctx) } - /** * Either enable or disable the named extension. * \return GL_TRUE for success, GL_FALSE if invalid extension name @@ -681,8 +680,8 @@ _mesa_init_extensions( GLcontext *ctx ) * Construct the GL_EXTENSIONS string. Called the first time that * glGetString(GL_EXTENSIONS) is called. */ -GLubyte * -_mesa_make_extension_string( GLcontext *ctx ) +static GLubyte * +compute_extensions( GLcontext *ctx ) { const char *extraExt = get_extension_override(ctx); GLuint extStrLen = 0; @@ -727,6 +726,206 @@ _mesa_make_extension_string( GLcontext *ctx ) return (GLubyte *) s; } +static size_t +append_extension(GLubyte **str, const char *ext) +{ + GLubyte *s = *str; + size_t len = strlen(ext); + + if (s) { + memcpy(s, ext, len); + s[len++] = ' '; + s[len] = '\0'; + + *str += len; + } + else { + len++; + } + + return len; +} + + +static size_t +make_extension_string_es1(const GLcontext *ctx, GLubyte *str) +{ + size_t len = 0; + + /* Core additions */ + len += append_extension(&str, "GL_OES_byte_coordinates"); + len += append_extension(&str, "GL_OES_fixed_point"); + len += append_extension(&str, "GL_OES_single_precision"); + len += append_extension(&str, "GL_OES_matrix_get"); + + /* 1.1 required extensions */ + len += append_extension(&str, "GL_OES_read_format"); + len += append_extension(&str, "GL_OES_compressed_paletted_texture"); + len += append_extension(&str, "GL_OES_point_size_array"); + len += append_extension(&str, "GL_OES_point_sprite"); + + /* 1.1 deprecated extensions */ + len += append_extension(&str, "GL_OES_query_matrix"); + +#if FEATURE_OES_draw_texture + if (ctx->Extensions.OES_draw_texture) + len += append_extension(&str, "GL_OES_draw_texture"); +#endif + + if (ctx->Extensions.EXT_blend_equation_separate) + len += append_extension(&str, "GL_OES_blend_equation_separate"); + if (ctx->Extensions.EXT_blend_func_separate) + len += append_extension(&str, "GL_OES_blend_func_separate"); + if (ctx->Extensions.EXT_blend_subtract) + len += append_extension(&str, "GL_OES_blend_subtract"); + + if (ctx->Extensions.EXT_stencil_wrap) + len += append_extension(&str, "GL_OES_stencil_wrap"); + + if (ctx->Extensions.ARB_texture_cube_map) + len += append_extension(&str, "GL_OES_texture_cube_map"); + if (ctx->Extensions.ARB_texture_env_crossbar) + len += append_extension(&str, "GL_OES_texture_env_crossbar"); + if (ctx->Extensions.ARB_texture_mirrored_repeat) + len += append_extension(&str, "GL_OES_texture_mirrored_repeat"); + + if (ctx->Extensions.ARB_framebuffer_object) { + len += append_extension(&str, "GL_OES_framebuffer_object"); + len += append_extension(&str, "GL_OES_depth24"); + len += append_extension(&str, "GL_OES_depth32"); + len += append_extension(&str, "GL_OES_fbo_render_mipmap"); + len += append_extension(&str, "GL_OES_rgb8_rgba8"); + len += append_extension(&str, "GL_OES_stencil1"); + len += append_extension(&str, "GL_OES_stencil4"); + len += append_extension(&str, "GL_OES_stencil8"); + } + + if (ctx->Extensions.EXT_vertex_array) + len += append_extension(&str, "GL_OES_element_index_uint"); + if (ctx->Extensions.ARB_vertex_buffer_object) + len += append_extension(&str, "GL_OES_mapbuffer"); + if (ctx->Extensions.EXT_texture_filter_anisotropic) + len += append_extension(&str, "GL_EXT_texture_filter_anisotropic"); + + /* some applications check this for NPOT support */ + if (ctx->Extensions.ARB_texture_non_power_of_two) + len += append_extension(&str, "GL_ARB_texture_non_power_of_two"); + + if (ctx->Extensions.EXT_texture_compression_s3tc) + len += append_extension(&str, "GL_EXT_texture_compression_dxt1"); + if (ctx->Extensions.EXT_texture_lod_bias) + len += append_extension(&str, "GL_EXT_texture_lod_bias"); + if (ctx->Extensions.EXT_blend_minmax) + len += append_extension(&str, "GL_EXT_blend_minmax"); + if (ctx->Extensions.EXT_multi_draw_arrays) + len += append_extension(&str, "GL_EXT_multi_draw_arrays"); + +#if FEATURE_OES_EGL_image + if (ctx->Extensions.OES_EGL_image) + len += append_extension(&str, "GL_OES_EGL_image"); +#endif + + return len; +} + + +static GLubyte * +compute_extensions_es1(const GLcontext *ctx) +{ + GLubyte *s; + unsigned int len; + + len = make_extension_string_es1(ctx, NULL); + s = malloc(len + 1); + if (!s) + return NULL; + make_extension_string_es1(ctx, s); + + return s; +} + +static size_t +make_extension_string_es2(const GLcontext *ctx, GLubyte *str) +{ + size_t len = 0; + + len += append_extension(&str, "GL_OES_compressed_paletted_texture"); + + if (ctx->Extensions.ARB_framebuffer_object) { + len += append_extension(&str, "GL_OES_depth24"); + len += append_extension(&str, "GL_OES_depth32"); + len += append_extension(&str, "GL_OES_fbo_render_mipmap"); + len += append_extension(&str, "GL_OES_rgb8_rgba8"); + len += append_extension(&str, "GL_OES_stencil1"); + len += append_extension(&str, "GL_OES_stencil4"); + } + + if (ctx->Extensions.EXT_vertex_array) + len += append_extension(&str, "GL_OES_element_index_uint"); + if (ctx->Extensions.ARB_vertex_buffer_object) + len += append_extension(&str, "GL_OES_mapbuffer"); + + if (ctx->Extensions.EXT_texture3D) + len += append_extension(&str, "GL_OES_texture_3D"); + if (ctx->Extensions.ARB_texture_non_power_of_two) + len += append_extension(&str, "GL_OES_texture_npot"); + if (ctx->Extensions.EXT_texture_filter_anisotropic) + len += append_extension(&str, "GL_EXT_texture_filter_anisotropic"); + + len += append_extension(&str, "GL_EXT_texture_type_2_10_10_10_REV"); + if (ctx->Extensions.ARB_depth_texture) + len += append_extension(&str, "GL_OES_depth_texture"); + if (ctx->Extensions.EXT_packed_depth_stencil) + len += append_extension(&str, "GL_OES_packed_depth_stencil"); + if (ctx->Extensions.ARB_fragment_shader) + len += append_extension(&str, "GL_OES_standard_derivatives"); + + if (ctx->Extensions.EXT_texture_compression_s3tc) + len += append_extension(&str, "GL_EXT_texture_compression_dxt1"); + if (ctx->Extensions.EXT_blend_minmax) + len += append_extension(&str, "GL_EXT_blend_minmax"); + if (ctx->Extensions.EXT_multi_draw_arrays) + len += append_extension(&str, "GL_EXT_multi_draw_arrays"); + +#if FEATURE_OES_EGL_image + if (ctx->Extensions.OES_EGL_image) + len += append_extension(&str, "GL_OES_EGL_image"); +#endif + + return len; +} + +static GLubyte * +compute_extensions_es2(GLcontext *ctx) +{ + GLubyte *s; + unsigned int len; + + len = make_extension_string_es2(ctx, NULL); + s = malloc(len + 1); + if (!s) + return NULL; + make_extension_string_es2(ctx, s); + + return s; +} + + +GLubyte * +_mesa_make_extension_string(GLcontext *ctx) +{ + switch (ctx->API) { + case API_OPENGL: + return compute_extensions(ctx); + case API_OPENGLES2: + return compute_extensions_es2(ctx); + case API_OPENGLES: + return compute_extensions_es1(ctx); + default: + assert(0); + return NULL; + } +} /** * Return number of enabled extensions. diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 8d44246618..201a023246 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -1110,7 +1110,22 @@ _mesa_RenderbufferStorageMultisample(GLenum target, GLsizei samples, renderbuffer_storage(target, internalFormat, width, height, samples); } +void GLAPIENTRY +_es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, + GLsizei width, GLsizei height) +{ + switch (internalFormat) { + case GL_RGB565: + /* XXX this confuses GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + /* choose a closest format */ + internalFormat = GL_RGB5; + break; + default: + break; + } + renderbuffer_storage(target, internalFormat, width, height, 0); +} void GLAPIENTRY _mesa_GetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params) diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h index 28f75dfca7..40a18f8341 100644 --- a/src/mesa/main/fbobject.h +++ b/src/mesa/main/fbobject.h @@ -89,6 +89,10 @@ _mesa_RenderbufferStorageMultisample(GLenum target, GLsizei samples, GLsizei width, GLsizei height); extern void GLAPIENTRY +_es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, + GLsizei width, GLsizei height); + +extern void GLAPIENTRY _mesa_EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image); extern void GLAPIENTRY diff --git a/src/mesa/main/get.h b/src/mesa/main/get.h index cc426fc0f6..47e549e396 100644 --- a/src/mesa/main/get.h +++ b/src/mesa/main/get.h @@ -71,4 +71,27 @@ _mesa_GetStringi(GLenum name, GLuint index); extern GLenum GLAPIENTRY _mesa_GetError( void ); + +extern void GLAPIENTRY +_es1_GetBooleanv( GLenum pname, GLboolean *params ); + +extern void GLAPIENTRY +_es1_GetFloatv( GLenum pname, GLfloat *params ); + +extern void GLAPIENTRY +_es1_GetIntegerv( GLenum pname, GLint *params ); + +extern void GLAPIENTRY +_es1_GetFixedv( GLenum pname, GLfixed *params ); + + +extern void GLAPIENTRY +_es2_GetBooleanv( GLenum pname, GLboolean *params ); + +extern void GLAPIENTRY +_es2_GetFloatv( GLenum pname, GLfloat *params ); + +extern void GLAPIENTRY +_es2_GetIntegerv( GLenum pname, GLint *params ); + #endif diff --git a/src/mesa/main/get_gen_es.py b/src/mesa/main/get_gen_es.py new file mode 100644 index 0000000000..5fadfee841 --- /dev/null +++ b/src/mesa/main/get_gen_es.py @@ -0,0 +1,807 @@ +#!/usr/bin/env python + +# Mesa 3-D graphics library +# +# Copyright (C) 1999-2006 Brian Paul All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +# This script is used to generate the get.c file: +# python get_gen.py > get.c + + +import string +import sys + + +GLint = 1 +GLenum = 2 +GLfloat = 3 +GLdouble = 4 +GLboolean = 5 +GLfloatN = 6 # A normalized value, such as a color or depth range +GLfixed = 7 + + +TypeStrings = { + GLint : "GLint", + GLenum : "GLenum", + GLfloat : "GLfloat", + GLdouble : "GLdouble", + GLboolean : "GLboolean", + GLfixed : "GLfixed" +} + + +# Each entry is a tuple of: +# - the GL state name, such as GL_CURRENT_COLOR +# - the state datatype, one of GLint, GLfloat, GLboolean or GLenum +# - list of code fragments to get the state, such as ["ctx->Foo.Bar"] +# - optional extra code or empty string +# - optional extensions to check, or None +# + +# Present in ES 1.x and 2.x: +StateVars_common = [ + ( "GL_ALPHA_BITS", GLint, ["ctx->DrawBuffer->Visual.alphaBits"], + "", None ), + ( "GL_BLEND", GLboolean, ["ctx->Color.BlendEnabled"], "", None ), + ( "GL_BLEND_SRC", GLenum, ["ctx->Color.BlendSrcRGB"], "", None ), + ( "GL_BLUE_BITS", GLint, ["ctx->DrawBuffer->Visual.blueBits"], "", None ), + ( "GL_COLOR_CLEAR_VALUE", GLfloatN, + [ "ctx->Color.ClearColor[0]", + "ctx->Color.ClearColor[1]", + "ctx->Color.ClearColor[2]", + "ctx->Color.ClearColor[3]" ], "", None ), + ( "GL_COLOR_WRITEMASK", GLint, + [ "ctx->Color.ColorMask[RCOMP] ? 1 : 0", + "ctx->Color.ColorMask[GCOMP] ? 1 : 0", + "ctx->Color.ColorMask[BCOMP] ? 1 : 0", + "ctx->Color.ColorMask[ACOMP] ? 1 : 0" ], "", None ), + ( "GL_CULL_FACE", GLboolean, ["ctx->Polygon.CullFlag"], "", None ), + ( "GL_CULL_FACE_MODE", GLenum, ["ctx->Polygon.CullFaceMode"], "", None ), + ( "GL_DEPTH_BITS", GLint, ["ctx->DrawBuffer->Visual.depthBits"], + "", None ), + ( "GL_DEPTH_CLEAR_VALUE", GLfloatN, ["ctx->Depth.Clear"], "", None ), + ( "GL_DEPTH_FUNC", GLenum, ["ctx->Depth.Func"], "", None ), + ( "GL_DEPTH_RANGE", GLfloatN, + [ "ctx->Viewport.Near", "ctx->Viewport.Far" ], "", None ), + ( "GL_DEPTH_TEST", GLboolean, ["ctx->Depth.Test"], "", None ), + ( "GL_DEPTH_WRITEMASK", GLboolean, ["ctx->Depth.Mask"], "", None ), + ( "GL_DITHER", GLboolean, ["ctx->Color.DitherFlag"], "", None ), + ( "GL_FRONT_FACE", GLenum, ["ctx->Polygon.FrontFace"], "", None ), + ( "GL_GREEN_BITS", GLint, ["ctx->DrawBuffer->Visual.greenBits"], + "", None ), + ( "GL_LINE_WIDTH", GLfloat, ["ctx->Line.Width"], "", None ), + ( "GL_ALIASED_LINE_WIDTH_RANGE", GLfloat, + ["ctx->Const.MinLineWidth", + "ctx->Const.MaxLineWidth"], "", None ), + ( "GL_MAX_ELEMENTS_INDICES", GLint, ["ctx->Const.MaxArrayLockSize"], "", None ), + ( "GL_MAX_ELEMENTS_VERTICES", GLint, ["ctx->Const.MaxArrayLockSize"], "", None ), + + ( "GL_MAX_TEXTURE_SIZE", GLint, ["1 << (ctx->Const.MaxTextureLevels - 1)"], "", None ), + ( "GL_MAX_VIEWPORT_DIMS", GLint, + ["ctx->Const.MaxViewportWidth", "ctx->Const.MaxViewportHeight"], + "", None ), + ( "GL_PACK_ALIGNMENT", GLint, ["ctx->Pack.Alignment"], "", None ), + ( "GL_ALIASED_POINT_SIZE_RANGE", GLfloat, + ["ctx->Const.MinPointSize", + "ctx->Const.MaxPointSize"], "", None ), + ( "GL_POLYGON_OFFSET_FACTOR", GLfloat, ["ctx->Polygon.OffsetFactor "], "", None ), + ( "GL_POLYGON_OFFSET_UNITS", GLfloat, ["ctx->Polygon.OffsetUnits "], "", None ), + ( "GL_RED_BITS", GLint, ["ctx->DrawBuffer->Visual.redBits"], "", None ), + ( "GL_SCISSOR_BOX", GLint, + ["ctx->Scissor.X", + "ctx->Scissor.Y", + "ctx->Scissor.Width", + "ctx->Scissor.Height"], "", None ), + ( "GL_SCISSOR_TEST", GLboolean, ["ctx->Scissor.Enabled"], "", None ), + ( "GL_STENCIL_BITS", GLint, ["ctx->DrawBuffer->Visual.stencilBits"], "", None ), + ( "GL_STENCIL_CLEAR_VALUE", GLint, ["ctx->Stencil.Clear"], "", None ), + ( "GL_STENCIL_FAIL", GLenum, + ["ctx->Stencil.FailFunc[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_STENCIL_FUNC", GLenum, + ["ctx->Stencil.Function[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_STENCIL_PASS_DEPTH_FAIL", GLenum, + ["ctx->Stencil.ZFailFunc[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_STENCIL_PASS_DEPTH_PASS", GLenum, + ["ctx->Stencil.ZPassFunc[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_STENCIL_REF", GLint, + ["ctx->Stencil.Ref[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_STENCIL_TEST", GLboolean, ["ctx->Stencil.Enabled"], "", None ), + ( "GL_STENCIL_VALUE_MASK", GLint, + ["ctx->Stencil.ValueMask[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_STENCIL_WRITEMASK", GLint, + ["ctx->Stencil.WriteMask[ctx->Stencil.ActiveFace]"], "", None ), + ( "GL_SUBPIXEL_BITS", GLint, ["ctx->Const.SubPixelBits"], "", None ), + ( "GL_TEXTURE_BINDING_2D", GLint, + ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_2D_INDEX]->Name"], "", None ), + ( "GL_UNPACK_ALIGNMENT", GLint, ["ctx->Unpack.Alignment"], "", None ), + ( "GL_VIEWPORT", GLint, [ "ctx->Viewport.X", "ctx->Viewport.Y", + "ctx->Viewport.Width", "ctx->Viewport.Height" ], "", None ), + + # GL_ARB_multitexture + ( "GL_ACTIVE_TEXTURE_ARB", GLint, + [ "GL_TEXTURE0_ARB + ctx->Texture.CurrentUnit"], "", ["ARB_multitexture"] ), + + # Note that all the OES_* extensions require that the Mesa + # "struct gl_extensions" include a member with the name of + # the extension. That structure does not yet include OES + # extensions (and we're not sure whether it will). If + # it does, all the OES_* extensions below should mark the + # dependency. + + # OES_texture_cube_map + ( "GL_TEXTURE_BINDING_CUBE_MAP_ARB", GLint, + ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_CUBE_INDEX]->Name"], + "", None), + ( "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB", GLint, + ["(1 << (ctx->Const.MaxCubeTextureLevels - 1))"], + "", None), + + # OES_blend_subtract + ( "GL_BLEND_SRC_RGB_EXT", GLenum, ["ctx->Color.BlendSrcRGB"], "", None), + ( "GL_BLEND_DST_RGB_EXT", GLenum, ["ctx->Color.BlendDstRGB"], "", None), + ( "GL_BLEND_SRC_ALPHA_EXT", GLenum, ["ctx->Color.BlendSrcA"], "", None), + ( "GL_BLEND_DST_ALPHA_EXT", GLenum, ["ctx->Color.BlendDstA"], "", None), + + # GL_BLEND_EQUATION_RGB, which is what we're really after, + # is defined identically to GL_BLEND_EQUATION. + ( "GL_BLEND_EQUATION", GLenum, ["ctx->Color.BlendEquationRGB "], "", None), + ( "GL_BLEND_EQUATION_ALPHA_EXT", GLenum, ["ctx->Color.BlendEquationA "], + "", None), + + # GL_ARB_texture_compression */ +# ( "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB", GLint, +# ["_mesa_get_compressed_formats(ctx, NULL, GL_FALSE)"], +# "", ["ARB_texture_compression"] ), +# ( "GL_COMPRESSED_TEXTURE_FORMATS_ARB", GLenum, +# [], +# """GLint formats[100]; +# GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE); +# ASSERT(n <= 100); +# for (i = 0; i < n; i++) +# params[i] = ENUM_TO_INT(formats[i]);""", +# ["ARB_texture_compression"] ), + + # GL_ARB_multisample + ( "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB", GLboolean, + ["ctx->Multisample.SampleAlphaToCoverage"], "", ["ARB_multisample"] ), + ( "GL_SAMPLE_COVERAGE_ARB", GLboolean, + ["ctx->Multisample.SampleCoverage"], "", ["ARB_multisample"] ), + ( "GL_SAMPLE_COVERAGE_VALUE_ARB", GLfloat, + ["ctx->Multisample.SampleCoverageValue"], "", ["ARB_multisample"] ), + ( "GL_SAMPLE_COVERAGE_INVERT_ARB", GLboolean, + ["ctx->Multisample.SampleCoverageInvert"], "", ["ARB_multisample"] ), + ( "GL_SAMPLE_BUFFERS_ARB", GLint, + ["ctx->DrawBuffer->Visual.sampleBuffers"], "", ["ARB_multisample"] ), + ( "GL_SAMPLES_ARB", GLint, + ["ctx->DrawBuffer->Visual.samples"], "", ["ARB_multisample"] ), + + + # GL_SGIS_generate_mipmap + ( "GL_GENERATE_MIPMAP_HINT_SGIS", GLenum, ["ctx->Hint.GenerateMipmap"], + "", ["SGIS_generate_mipmap"] ), + + # GL_ARB_vertex_buffer_object + ( "GL_ARRAY_BUFFER_BINDING_ARB", GLint, + ["ctx->Array.ArrayBufferObj->Name"], "", ["ARB_vertex_buffer_object"] ), + # GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB - not supported + ( "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB", GLint, + ["ctx->Array.ElementArrayBufferObj->Name"], + "", ["ARB_vertex_buffer_object"] ), + + # GL_OES_read_format + ( "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES", GLint, + ["_mesa_get_color_read_type(ctx)"], "", ["OES_read_format"] ), + ( "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES", GLint, + ["_mesa_get_color_read_format(ctx)"], "", ["OES_read_format"] ), + + # GL_OES_framebuffer_object + ( "GL_FRAMEBUFFER_BINDING_EXT", GLint, ["ctx->DrawBuffer->Name"], "", + None), + ( "GL_RENDERBUFFER_BINDING_EXT", GLint, + ["ctx->CurrentRenderbuffer ? ctx->CurrentRenderbuffer->Name : 0"], "", + None), + ( "GL_MAX_RENDERBUFFER_SIZE_EXT", GLint, + ["ctx->Const.MaxRenderbufferSize"], "", + None), + + # OpenGL ES 1/2 special: + ( "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB", GLint, + [ "ARRAY_SIZE(compressed_formats)" ], + "", + None ), + + ("GL_COMPRESSED_TEXTURE_FORMATS_ARB", GLint, + [], + """ + int i; + for (i = 0; i < ARRAY_SIZE(compressed_formats); i++) { + params[i] = compressed_formats[i]; + }""", + None ), + + ( "GL_POLYGON_OFFSET_FILL", GLboolean, ["ctx->Polygon.OffsetFill"], "", None ), + +] + +# Only present in ES 1.x: +StateVars_es1 = [ + ( "GL_MAX_LIGHTS", GLint, ["ctx->Const.MaxLights"], "", None ), + ( "GL_LIGHT0", GLboolean, ["ctx->Light.Light[0].Enabled"], "", None ), + ( "GL_LIGHT1", GLboolean, ["ctx->Light.Light[1].Enabled"], "", None ), + ( "GL_LIGHT2", GLboolean, ["ctx->Light.Light[2].Enabled"], "", None ), + ( "GL_LIGHT3", GLboolean, ["ctx->Light.Light[3].Enabled"], "", None ), + ( "GL_LIGHT4", GLboolean, ["ctx->Light.Light[4].Enabled"], "", None ), + ( "GL_LIGHT5", GLboolean, ["ctx->Light.Light[5].Enabled"], "", None ), + ( "GL_LIGHT6", GLboolean, ["ctx->Light.Light[6].Enabled"], "", None ), + ( "GL_LIGHT7", GLboolean, ["ctx->Light.Light[7].Enabled"], "", None ), + ( "GL_LIGHTING", GLboolean, ["ctx->Light.Enabled"], "", None ), + ( "GL_LIGHT_MODEL_AMBIENT", GLfloatN, + ["ctx->Light.Model.Ambient[0]", + "ctx->Light.Model.Ambient[1]", + "ctx->Light.Model.Ambient[2]", + "ctx->Light.Model.Ambient[3]"], "", None ), + ( "GL_LIGHT_MODEL_TWO_SIDE", GLboolean, ["ctx->Light.Model.TwoSide"], "", None ), + ( "GL_ALPHA_TEST", GLboolean, ["ctx->Color.AlphaEnabled"], "", None ), + ( "GL_ALPHA_TEST_FUNC", GLenum, ["ctx->Color.AlphaFunc"], "", None ), + ( "GL_ALPHA_TEST_REF", GLfloatN, ["ctx->Color.AlphaRef"], "", None ), + ( "GL_BLEND_DST", GLenum, ["ctx->Color.BlendDstRGB"], "", None ), + ( "GL_MAX_CLIP_PLANES", GLint, ["ctx->Const.MaxClipPlanes"], "", None ), + ( "GL_CLIP_PLANE0", GLboolean, + [ "(ctx->Transform.ClipPlanesEnabled >> 0) & 1" ], "", None ), + ( "GL_CLIP_PLANE1", GLboolean, + [ "(ctx->Transform.ClipPlanesEnabled >> 1) & 1" ], "", None ), + ( "GL_CLIP_PLANE2", GLboolean, + [ "(ctx->Transform.ClipPlanesEnabled >> 2) & 1" ], "", None ), + ( "GL_CLIP_PLANE3", GLboolean, + [ "(ctx->Transform.ClipPlanesEnabled >> 3) & 1" ], "", None ), + ( "GL_CLIP_PLANE4", GLboolean, + [ "(ctx->Transform.ClipPlanesEnabled >> 4) & 1" ], "", None ), + ( "GL_CLIP_PLANE5", GLboolean, + [ "(ctx->Transform.ClipPlanesEnabled >> 5) & 1" ], "", None ), + ( "GL_COLOR_MATERIAL", GLboolean, + ["ctx->Light.ColorMaterialEnabled"], "", None ), + ( "GL_CURRENT_COLOR", GLfloatN, + [ "ctx->Current.Attrib[VERT_ATTRIB_COLOR0][0]", + "ctx->Current.Attrib[VERT_ATTRIB_COLOR0][1]", + "ctx->Current.Attrib[VERT_ATTRIB_COLOR0][2]", + "ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3]" ], + "FLUSH_CURRENT(ctx, 0);", None ), + ( "GL_CURRENT_NORMAL", GLfloatN, + [ "ctx->Current.Attrib[VERT_ATTRIB_NORMAL][0]", + "ctx->Current.Attrib[VERT_ATTRIB_NORMAL][1]", + "ctx->Current.Attrib[VERT_ATTRIB_NORMAL][2]"], + "FLUSH_CURRENT(ctx, 0);", None ), + ( "GL_CURRENT_TEXTURE_COORDS", GLfloat, + ["ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][0]", + "ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][1]", + "ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][2]", + "ctx->Current.Attrib[VERT_ATTRIB_TEX0 + texUnit][3]"], + "const GLuint texUnit = ctx->Texture.CurrentUnit;", None ), + ( "GL_DISTANCE_ATTENUATION_EXT", GLfloat, + ["ctx->Point.Params[0]", + "ctx->Point.Params[1]", + "ctx->Point.Params[2]"], "", None ), + ( "GL_FOG", GLboolean, ["ctx->Fog.Enabled"], "", None ), + ( "GL_FOG_COLOR", GLfloatN, + [ "ctx->Fog.Color[0]", + "ctx->Fog.Color[1]", + "ctx->Fog.Color[2]", + "ctx->Fog.Color[3]" ], "", None ), + ( "GL_FOG_DENSITY", GLfloat, ["ctx->Fog.Density"], "", None ), + ( "GL_FOG_END", GLfloat, ["ctx->Fog.End"], "", None ), + ( "GL_FOG_HINT", GLenum, ["ctx->Hint.Fog"], "", None ), + ( "GL_FOG_MODE", GLenum, ["ctx->Fog.Mode"], "", None ), + ( "GL_FOG_START", GLfloat, ["ctx->Fog.Start"], "", None ), + ( "GL_LINE_SMOOTH", GLboolean, ["ctx->Line.SmoothFlag"], "", None ), + ( "GL_LINE_SMOOTH_HINT", GLenum, ["ctx->Hint.LineSmooth"], "", None ), + ( "GL_LINE_WIDTH_RANGE", GLfloat, + ["ctx->Const.MinLineWidthAA", + "ctx->Const.MaxLineWidthAA"], "", None ), + ( "GL_COLOR_LOGIC_OP", GLboolean, ["ctx->Color.ColorLogicOpEnabled"], "", None ), + ( "GL_LOGIC_OP_MODE", GLenum, ["ctx->Color.LogicOp"], "", None ), + ( "GL_MATRIX_MODE", GLenum, ["ctx->Transform.MatrixMode"], "", None ), + + ( "GL_MAX_MODELVIEW_STACK_DEPTH", GLint, ["MAX_MODELVIEW_STACK_DEPTH"], "", None ), + ( "GL_MAX_PROJECTION_STACK_DEPTH", GLint, ["MAX_PROJECTION_STACK_DEPTH"], "", None ), + ( "GL_MAX_TEXTURE_STACK_DEPTH", GLint, ["MAX_TEXTURE_STACK_DEPTH"], "", None ), + ( "GL_MODELVIEW_MATRIX", GLfloat, + [ "matrix[0]", "matrix[1]", "matrix[2]", "matrix[3]", + "matrix[4]", "matrix[5]", "matrix[6]", "matrix[7]", + "matrix[8]", "matrix[9]", "matrix[10]", "matrix[11]", + "matrix[12]", "matrix[13]", "matrix[14]", "matrix[15]" ], + "const GLfloat *matrix = ctx->ModelviewMatrixStack.Top->m;", None ), + ( "GL_MODELVIEW_STACK_DEPTH", GLint, ["ctx->ModelviewMatrixStack.Depth + 1"], "", None ), + ( "GL_NORMALIZE", GLboolean, ["ctx->Transform.Normalize"], "", None ), + ( "GL_PACK_SKIP_IMAGES_EXT", GLint, ["ctx->Pack.SkipImages"], "", None ), + ( "GL_PERSPECTIVE_CORRECTION_HINT", GLenum, + ["ctx->Hint.PerspectiveCorrection"], "", None ), + ( "GL_POINT_SIZE", GLfloat, ["ctx->Point.Size"], "", None ), + ( "GL_POINT_SIZE_RANGE", GLfloat, + ["ctx->Const.MinPointSizeAA", + "ctx->Const.MaxPointSizeAA"], "", None ), + ( "GL_POINT_SMOOTH", GLboolean, ["ctx->Point.SmoothFlag"], "", None ), + ( "GL_POINT_SMOOTH_HINT", GLenum, ["ctx->Hint.PointSmooth"], "", None ), + ( "GL_POINT_SIZE_MIN_EXT", GLfloat, ["ctx->Point.MinSize"], "", None ), + ( "GL_POINT_SIZE_MAX_EXT", GLfloat, ["ctx->Point.MaxSize"], "", None ), + ( "GL_POINT_FADE_THRESHOLD_SIZE_EXT", GLfloat, + ["ctx->Point.Threshold"], "", None ), + ( "GL_PROJECTION_MATRIX", GLfloat, + [ "matrix[0]", "matrix[1]", "matrix[2]", "matrix[3]", + "matrix[4]", "matrix[5]", "matrix[6]", "matrix[7]", + "matrix[8]", "matrix[9]", "matrix[10]", "matrix[11]", + "matrix[12]", "matrix[13]", "matrix[14]", "matrix[15]" ], + "const GLfloat *matrix = ctx->ProjectionMatrixStack.Top->m;", None ), + ( "GL_PROJECTION_STACK_DEPTH", GLint, + ["ctx->ProjectionMatrixStack.Depth + 1"], "", None ), + ( "GL_RESCALE_NORMAL", GLboolean, + ["ctx->Transform.RescaleNormals"], "", None ), + ( "GL_SHADE_MODEL", GLenum, ["ctx->Light.ShadeModel"], "", None ), + ( "GL_TEXTURE_2D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_2D)"], "", None ), + ( "GL_TEXTURE_MATRIX", GLfloat, + ["matrix[0]", "matrix[1]", "matrix[2]", "matrix[3]", + "matrix[4]", "matrix[5]", "matrix[6]", "matrix[7]", + "matrix[8]", "matrix[9]", "matrix[10]", "matrix[11]", + "matrix[12]", "matrix[13]", "matrix[14]", "matrix[15]" ], + "const GLfloat *matrix = ctx->TextureMatrixStack[ctx->Texture.CurrentUnit].Top->m;", None ), + ( "GL_TEXTURE_STACK_DEPTH", GLint, + ["ctx->TextureMatrixStack[ctx->Texture.CurrentUnit].Depth + 1"], "", None ), + ( "GL_VERTEX_ARRAY", GLboolean, ["ctx->Array.ArrayObj->Vertex.Enabled"], "", None ), + ( "GL_VERTEX_ARRAY_SIZE", GLint, ["ctx->Array.ArrayObj->Vertex.Size"], "", None ), + ( "GL_VERTEX_ARRAY_TYPE", GLenum, ["ctx->Array.ArrayObj->Vertex.Type"], "", None ), + ( "GL_VERTEX_ARRAY_STRIDE", GLint, ["ctx->Array.ArrayObj->Vertex.Stride"], "", None ), + ( "GL_NORMAL_ARRAY", GLenum, ["ctx->Array.ArrayObj->Normal.Enabled"], "", None ), + ( "GL_NORMAL_ARRAY_TYPE", GLenum, ["ctx->Array.ArrayObj->Normal.Type"], "", None ), + ( "GL_NORMAL_ARRAY_STRIDE", GLint, ["ctx->Array.ArrayObj->Normal.Stride"], "", None ), + ( "GL_COLOR_ARRAY", GLboolean, ["ctx->Array.ArrayObj->Color.Enabled"], "", None ), + ( "GL_COLOR_ARRAY_SIZE", GLint, ["ctx->Array.ArrayObj->Color.Size"], "", None ), + ( "GL_COLOR_ARRAY_TYPE", GLenum, ["ctx->Array.ArrayObj->Color.Type"], "", None ), + ( "GL_COLOR_ARRAY_STRIDE", GLint, ["ctx->Array.ArrayObj->Color.Stride"], "", None ), + ( "GL_TEXTURE_COORD_ARRAY", GLboolean, + ["ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Enabled"], "", None ), + ( "GL_TEXTURE_COORD_ARRAY_SIZE", GLint, + ["ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Size"], "", None ), + ( "GL_TEXTURE_COORD_ARRAY_TYPE", GLenum, + ["ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Type"], "", None ), + ( "GL_TEXTURE_COORD_ARRAY_STRIDE", GLint, + ["ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].Stride"], "", None ), + # GL_ARB_multitexture + ( "GL_MAX_TEXTURE_UNITS_ARB", GLint, + ["ctx->Const.MaxTextureUnits"], "", ["ARB_multitexture"] ), + ( "GL_CLIENT_ACTIVE_TEXTURE_ARB", GLint, + ["GL_TEXTURE0_ARB + ctx->Array.ActiveTexture"], "", ["ARB_multitexture"] ), + # OES_texture_cube_map + ( "GL_TEXTURE_CUBE_MAP_ARB", GLboolean, + ["_mesa_IsEnabled(GL_TEXTURE_CUBE_MAP_ARB)"], "", None), + ( "GL_TEXTURE_GEN_STR_OES", GLboolean, + # S, T, and R are always set at the same time + ["((ctx->Texture.Unit[ctx->Texture.CurrentUnit].TexGenEnabled & S_BIT) ? 1 : 0)"], "", None), + # ARB_multisample + ( "GL_MULTISAMPLE_ARB", GLboolean, + ["ctx->Multisample.Enabled"], "", ["ARB_multisample"] ), + ( "GL_SAMPLE_ALPHA_TO_ONE_ARB", GLboolean, + ["ctx->Multisample.SampleAlphaToOne"], "", ["ARB_multisample"] ), + + ( "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB", GLint, + ["ctx->Array.ArrayObj->Vertex.BufferObj->Name"], "", ["ARB_vertex_buffer_object"] ), + ( "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB", GLint, + ["ctx->Array.ArrayObj->Normal.BufferObj->Name"], "", ["ARB_vertex_buffer_object"] ), + ( "GL_COLOR_ARRAY_BUFFER_BINDING_ARB", GLint, + ["ctx->Array.ArrayObj->Color.BufferObj->Name"], "", ["ARB_vertex_buffer_object"] ), + ( "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB", GLint, + ["ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture].BufferObj->Name"], + "", ["ARB_vertex_buffer_object"] ), + + # OES_point_sprite + ( "GL_POINT_SPRITE_NV", GLboolean, ["ctx->Point.PointSprite"], # == GL_POINT_SPRITE_ARB + "", None), + + # GL_ARB_fragment_shader + ( "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", GLint, + ["ctx->Const.FragmentProgram.MaxUniformComponents"], "", + ["ARB_fragment_shader"] ), + + # GL_ARB_vertex_shader + ( "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB", GLint, + ["ctx->Const.VertexProgram.MaxUniformComponents"], "", + ["ARB_vertex_shader"] ), + ( "GL_MAX_VARYING_FLOATS_ARB", GLint, + ["ctx->Const.MaxVarying * 4"], "", ["ARB_vertex_shader"] ), + + # OES_matrix_get + ( "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES", GLint, [], + """ + /* See GL_OES_matrix_get */ + { + const GLfloat *matrix = ctx->ModelviewMatrixStack.Top->m; + memcpy(params, matrix, 16 * sizeof(GLint)); + }""", + None), + + ( "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES", GLint, [], + """ + /* See GL_OES_matrix_get */ + { + const GLfloat *matrix = ctx->ProjectionMatrixStack.Top->m; + memcpy(params, matrix, 16 * sizeof(GLint)); + }""", + None), + + ( "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES", GLint, [], + """ + /* See GL_OES_matrix_get */ + { + const GLfloat *matrix = + ctx->TextureMatrixStack[ctx->Texture.CurrentUnit].Top->m; + memcpy(params, matrix, 16 * sizeof(GLint)); + }""", + None), + + # OES_point_size_array + ("GL_POINT_SIZE_ARRAY_OES", GLboolean, + ["ctx->Array.ArrayObj->PointSize.Enabled"], "", None), + ("GL_POINT_SIZE_ARRAY_TYPE_OES", GLenum, + ["ctx->Array.ArrayObj->PointSize.Type"], "", None), + ("GL_POINT_SIZE_ARRAY_STRIDE_OES", GLint, + ["ctx->Array.ArrayObj->PointSize.Stride"], "", None), + ("GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES", GLint, + ["ctx->Array.ArrayObj->PointSize.BufferObj->Name"], "", None), + + # GL_EXT_texture_lod_bias + ( "GL_MAX_TEXTURE_LOD_BIAS_EXT", GLfloat, + ["ctx->Const.MaxTextureLodBias"], "", ["EXT_texture_lod_bias"]), + + # GL_EXT_texture_filter_anisotropic + ( "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", GLfloat, + ["ctx->Const.MaxTextureMaxAnisotropy"], "", ["EXT_texture_filter_anisotropic"]), + +] + +# Only present in ES 2.x: +StateVars_es2 = [ + # XXX These entries are not spec'ed for GLES 2, but are + # needed for Mesa's GLSL: + ( "GL_MAX_LIGHTS", GLint, ["ctx->Const.MaxLights"], "", None ), + ( "GL_MAX_CLIP_PLANES", GLint, ["ctx->Const.MaxClipPlanes"], "", None ), + ( "GL_MAX_TEXTURE_COORDS_ARB", GLint, # == GL_MAX_TEXTURE_COORDS_NV + ["ctx->Const.MaxTextureCoordUnits"], "", + ["ARB_fragment_program", "NV_fragment_program"] ), + ( "GL_MAX_DRAW_BUFFERS_ARB", GLint, + ["ctx->Const.MaxDrawBuffers"], "", ["ARB_draw_buffers"] ), + ( "GL_BLEND_COLOR_EXT", GLfloatN, + [ "ctx->Color.BlendColor[0]", + "ctx->Color.BlendColor[1]", + "ctx->Color.BlendColor[2]", + "ctx->Color.BlendColor[3]"], "", None ), + + # This is required for GLES2, but also needed for GLSL: + ( "GL_MAX_TEXTURE_IMAGE_UNITS_ARB", GLint, # == GL_MAX_TEXTURE_IMAGE_UNI + ["ctx->Const.MaxTextureImageUnits"], "", + ["ARB_fragment_program", "NV_fragment_program"] ), + + ( "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB", GLint, + ["ctx->Const.MaxVertexTextureImageUnits"], "", ["ARB_vertex_shader"] ), + ( "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB", GLint, + ["MAX_COMBINED_TEXTURE_IMAGE_UNITS"], "", ["ARB_vertex_shader"] ), + + # GL_ARB_shader_objects + # Actually, this token isn't part of GL_ARB_shader_objects, but is + # close enough for now. + ( "GL_CURRENT_PROGRAM", GLint, + ["ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0"], + "", ["ARB_shader_objects"] ), + + # OpenGL 2.0 + ( "GL_STENCIL_BACK_FUNC", GLenum, ["ctx->Stencil.Function[1]"], "", None ), + ( "GL_STENCIL_BACK_VALUE_MASK", GLint, ["ctx->Stencil.ValueMask[1]"], "", None ), + ( "GL_STENCIL_BACK_WRITEMASK", GLint, ["ctx->Stencil.WriteMask[1]"], "", None ), + ( "GL_STENCIL_BACK_REF", GLint, ["ctx->Stencil.Ref[1]"], "", None ), + ( "GL_STENCIL_BACK_FAIL", GLenum, ["ctx->Stencil.FailFunc[1]"], "", None ), + ( "GL_STENCIL_BACK_PASS_DEPTH_FAIL", GLenum, ["ctx->Stencil.ZFailFunc[1]"], "", None ), + ( "GL_STENCIL_BACK_PASS_DEPTH_PASS", GLenum, ["ctx->Stencil.ZPassFunc[1]"], "", None ), + + ( "GL_MAX_VERTEX_ATTRIBS_ARB", GLint, + ["ctx->Const.VertexProgram.MaxAttribs"], "", ["ARB_vertex_program"] ), + + # OES_texture_3D + ( "GL_TEXTURE_BINDING_3D", GLint, + ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].CurrentTex[TEXTURE_3D_INDEX]->Name"], "", None), + ( "GL_MAX_3D_TEXTURE_SIZE", GLint, ["1 << (ctx->Const.Max3DTextureLevels - 1)"], "", None), + + # OES_standard_derivatives + ( "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB", GLenum, + ["ctx->Hint.FragmentShaderDerivative"], "", ["ARB_fragment_shader"] ), + + # Unique to ES 2 (not in full GL) + ( "GL_MAX_FRAGMENT_UNIFORM_VECTORS", GLint, + ["ctx->Const.FragmentProgram.MaxUniformComponents / 4"], "", None), + ( "GL_MAX_VARYING_VECTORS", GLint, + ["ctx->Const.MaxVarying"], "", None), + ( "GL_MAX_VERTEX_UNIFORM_VECTORS", GLint, + ["ctx->Const.VertexProgram.MaxUniformComponents / 4"], "", None), + ( "GL_SHADER_COMPILER", GLint, ["1"], "", None), + # OES_get_program_binary + ( "GL_NUM_SHADER_BINARY_FORMATS", GLint, ["0"], "", None), + ( "GL_SHADER_BINARY_FORMATS", GLint, [], "", None), +] + + + +def ConversionFunc(fromType, toType): + """Return the name of the macro to convert between two data types.""" + if fromType == toType: + return "" + elif fromType == GLfloat and toType == GLint: + return "IROUND" + elif fromType == GLfloatN and toType == GLfloat: + return "" + elif fromType == GLint and toType == GLfloat: # but not GLfloatN! + return "(GLfloat)" + else: + if fromType == GLfloatN: + fromType = GLfloat + fromStr = TypeStrings[fromType] + fromStr = string.upper(fromStr[2:]) + toStr = TypeStrings[toType] + toStr = string.upper(toStr[2:]) + return fromStr + "_TO_" + toStr + + +def EmitGetFunction(stateVars, returnType, API): + """Emit the code to implement glGetBooleanv, glGetIntegerv or glGetFloatv.""" + assert (returnType == GLboolean or + returnType == GLint or + returnType == GLfloat or + returnType == GLfixed) + + strType = TypeStrings[returnType] + # Capitalize first letter of return type + if returnType == GLint: + function = "_es%d_GetIntegerv" % API + elif returnType == GLboolean: + function = "_es%d_GetBooleanv" % API + elif returnType == GLfloat: + function = "_es%d_GetFloatv" % API + elif returnType == GLfixed: + function = "_es%d_GetFixedv" % API + else: + abort() + + print "void GLAPIENTRY" + print "%s( GLenum pname, %s *params )" % (function, strType) + print "{" + print " GET_CURRENT_CONTEXT(ctx);" + print " ASSERT_OUTSIDE_BEGIN_END(ctx);" + print "" + print " if (!params)" + print " return;" + print "" + print " if (ctx->NewState)" + print " _mesa_update_state(ctx);" + print "" + print " switch (pname) {" + + for (name, varType, state, optionalCode, extensions) in stateVars: + print " case " + name + ":" + if extensions: + if len(extensions) == 1: + print (' CHECK_EXT1(%s, "%s");' % + (extensions[0], function)) + elif len(extensions) == 2: + print (' CHECK_EXT2(%s, %s, "%s");' % + (extensions[0], extensions[1], function)) + elif len(extensions) == 3: + print (' CHECK_EXT3(%s, %s, %s, "%s");' % + (extensions[0], extensions[1], extensions[2], function)) + else: + assert len(extensions) == 4 + print (' CHECK_EXT4(%s, %s, %s, %s, "%s");' % + (extensions[0], extensions[1], extensions[2], extensions[3], function)) + if optionalCode: + print " {" + print " " + optionalCode + conversion = ConversionFunc(varType, returnType) + n = len(state) + for i in range(n): + if conversion: + print " params[%d] = %s(%s);" % (i, conversion, state[i]) + else: + print " params[%d] = %s;" % (i, state[i]) + if optionalCode: + print " }" + print " break;" + + print " default:" + print ' _mesa_error(ctx, GL_INVALID_ENUM, "gl%s(pname=0x%%x)", pname);' % function + print " }" + print "}" + print "" + return + + + +def EmitHeader(): + """Print the get.c file header.""" + print """ +/*** + *** NOTE!!! DO NOT EDIT THIS FILE!!! IT IS GENERATED BY get_gen.py + ***/ + +#include "main/glheader.h" +#include "main/context.h" +#include "main/enable.h" +#include "main/extensions.h" +#include "main/fbobject.h" +#include "main/get.h" +#include "main/macros.h" +#include "main/mtypes.h" +#include "main/state.h" +#include "main/texcompress.h" +#include "main/framebuffer.h" + + +/* ES1 tokens that should be in gl.h but aren't */ +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 + + +/* ES2 special tokens */ +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_SHADER_COMPILER 0x8DFA +#define GL_PLATFORM_BINARY 0x8D63 +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 + + +#ifndef GL_OES_matrix_get +#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D +#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E +#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F +#endif + +#ifndef GL_OES_compressed_paletted_texture +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 +#endif + +/* GL_OES_texture_cube_map */ +#ifndef GL_OES_texture_cube_map +#define GL_TEXTURE_GEN_STR_OES 0x8D60 +#endif + +#define FLOAT_TO_BOOLEAN(X) ( (X) ? GL_TRUE : GL_FALSE ) +#define FLOAT_TO_FIXED(F) ( ((F) * 65536.0f > INT_MAX) ? INT_MAX : \\ + ((F) * 65536.0f < INT_MIN) ? INT_MIN : \\ + (GLint) ((F) * 65536.0f) ) + +#define INT_TO_BOOLEAN(I) ( (I) ? GL_TRUE : GL_FALSE ) +#define INT_TO_FIXED(I) ( ((I) > SHRT_MAX) ? INT_MAX : \\ + ((I) < SHRT_MIN) ? INT_MIN : \\ + (GLint) ((I) * 65536) ) + +#define BOOLEAN_TO_INT(B) ( (GLint) (B) ) +#define BOOLEAN_TO_FLOAT(B) ( (B) ? 1.0F : 0.0F ) +#define BOOLEAN_TO_FIXED(B) ( (GLint) ((B) ? 1 : 0) << 16 ) + +#define ENUM_TO_FIXED(E) (E) + + +/* + * Check if named extension is enabled, if not generate error and return. + */ +#define CHECK_EXT1(EXT1, FUNC) \\ + if (!ctx->Extensions.EXT1) { \\ + _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \\ + return; \\ + } + +/* + * Check if either of two extensions is enabled. + */ +#define CHECK_EXT2(EXT1, EXT2, FUNC) \\ + if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \\ + _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \\ + return; \\ + } + +/* + * Check if either of three extensions is enabled. + */ +#define CHECK_EXT3(EXT1, EXT2, EXT3, FUNC) \\ + if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2 && \\ + !ctx->Extensions.EXT3) { \\ + _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \\ + return; \\ + } + +/* + * Check if either of four extensions is enabled. + */ +#define CHECK_EXT4(EXT1, EXT2, EXT3, EXT4, FUNC) \\ + if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2 && \\ + !ctx->Extensions.EXT3 && !ctx->Extensions.EXT4) { \\ + _mesa_error(ctx, GL_INVALID_ENUM, FUNC "(0x%x)", (int) pname); \\ + return; \\ + } + + + +/** + * List of compressed texture formats supported by ES. + */ +static GLenum compressed_formats[] = { + GL_PALETTE4_RGB8_OES, + GL_PALETTE4_RGBA8_OES, + GL_PALETTE4_R5_G6_B5_OES, + GL_PALETTE4_RGBA4_OES, + GL_PALETTE4_RGB5_A1_OES, + GL_PALETTE8_RGB8_OES, + GL_PALETTE8_RGBA8_OES, + GL_PALETTE8_R5_G6_B5_OES, + GL_PALETTE8_RGBA4_OES, + GL_PALETTE8_RGB5_A1_OES +}; + +#define ARRAY_SIZE(A) (sizeof(A) / sizeof(A[0])) + +""" + return + + +def EmitAll(stateVars, API): + EmitHeader() + EmitGetFunction(stateVars, GLboolean, API) + EmitGetFunction(stateVars, GLfloat, API) + EmitGetFunction(stateVars, GLint, API) + if API == 1: + EmitGetFunction(stateVars, GLfixed, API) + + +def main(args): + # Determine whether to generate ES1 or ES2 queries + if len(args) > 1 and args[1] == "1": + API = 1 + elif len(args) > 1 and args[1] == "2": + API = 2 + else: + API = 1 + #print "len args = %d API = %d" % (len(args), API) + + if API == 1: + vars = StateVars_common + StateVars_es1 + else: + vars = StateVars_common + StateVars_es2 + + EmitAll(vars, API) + + +main(sys.argv) diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c index 51dd5f7795..e3a60fa6eb 100644 --- a/src/mesa/main/getstring.c +++ b/src/mesa/main/getstring.c @@ -30,6 +30,30 @@ #include "enums.h" #include "extensions.h" +static const GLubyte * +shading_laguage_version(GLcontext *ctx) +{ + switch (ctx->API) { +#if FEATURE_ARB_shading_language_100 + case API_OPENGL: + if (ctx->Extensions.ARB_shading_language_120) + return (const GLubyte *) "1.20"; + else if (ctx->Extensions.ARB_shading_language_100) + return (const GLubyte *) "1.10"; + goto error; +#endif + + case API_OPENGLES2: + return (const GLubyte *) "OpenGL ES GLSL ES 1.0.16"; + + case API_OPENGLES: + default: + error: + _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" ); + return (const GLubyte *) 0; + } +} + /** * Query string-valued state. The return value should _not_ be freed by @@ -74,13 +98,9 @@ _mesa_GetString( GLenum name ) if (!ctx->Extensions.String) ctx->Extensions.String = _mesa_make_extension_string(ctx); return (const GLubyte *) ctx->Extensions.String; -#if FEATURE_ARB_shading_language_100 - case GL_SHADING_LANGUAGE_VERSION_ARB: - if (ctx->Extensions.ARB_shading_language_120) - return (const GLubyte *) "1.20"; - else if (ctx->Extensions.ARB_shading_language_100) - return (const GLubyte *) "1.10"; - goto error; +#if FEATURE_ARB_shading_language_100 || FEATURE_ES2 + case GL_SHADING_LANGUAGE_VERSION: + return shading_laguage_version(ctx); #endif #if FEATURE_NV_fragment_program || FEATURE_ARB_fragment_program || \ FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program @@ -93,9 +113,6 @@ _mesa_GetString( GLenum name ) } /* FALL-THROUGH */ #endif -#if FEATURE_ARB_shading_language_100 - error: -#endif default: _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" ); return (const GLubyte *) 0; diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h index 77544c88c6..5b8e2f2d81 100644 --- a/src/mesa/main/glheader.h +++ b/src/mesa/main/glheader.h @@ -85,6 +85,27 @@ typedef void *GLeglImageOES; #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 #endif +/* GLES 2.0 tokens */ +#ifndef GL_RGB565 +#define GL_RGB565 0x8D62 +#endif + +#ifndef GL_TEXTURE_GEN_STR_OES +#define GL_TEXTURE_GEN_STR_OES 0x8D60 +#endif + +#ifndef GL_OES_compressed_paletted_texture +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 +#endif /** * Special, internal token diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 349d5f51e6..9640b79ea7 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1076,6 +1076,7 @@ typedef enum #define T_BIT 2 #define R_BIT 4 #define Q_BIT 8 +#define STR_BITS (S_BIT | T_BIT | R_BIT) /*@}*/ @@ -2869,6 +2870,14 @@ struct gl_dlist_state } Current; }; +/** + * Enum for the OpenGL APIs we know about and may support. + */ +typedef enum { + API_OPENGL, + API_OPENGLES, + API_OPENGLES2, +} gl_api; /** * Mesa rendering context. @@ -2887,6 +2896,7 @@ struct __GLcontextRec /** \name API function pointer tables */ /*@{*/ + gl_api API; struct _glapi_table *Save; /**< Display list save functions */ struct _glapi_table *Exec; /**< Execute functions */ struct _glapi_table *CurrentDispatch; /**< == Save or Exec !! */ diff --git a/src/mesa/main/querymatrix.c b/src/mesa/main/querymatrix.c new file mode 100644 index 0000000000..82b6fe7ab9 --- /dev/null +++ b/src/mesa/main/querymatrix.c @@ -0,0 +1,199 @@ +/************************************************************************** + * + * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + **************************************************************************/ + + +/** + * Code to implement GL_OES_query_matrix. See the spec at: + * http://www.khronos.org/registry/gles/extensions/OES/OES_query_matrix.txt + */ + + +#include <stdlib.h> +#include <math.h> +#include "GLES/gl.h" +#include "GLES/glext.h" + + +/** + * This is from the GL_OES_query_matrix extension specification: + * + * GLbitfield glQueryMatrixxOES( GLfixed mantissa[16], + * GLint exponent[16] ) + * mantissa[16] contains the contents of the current matrix in GLfixed + * format. exponent[16] contains the unbiased exponents applied to the + * matrix components, so that the internal representation of component i + * is close to mantissa[i] * 2^exponent[i]. The function returns a status + * word which is zero if all the components are valid. If + * status & (1<<i) != 0, the component i is invalid (e.g., NaN, Inf). + * The implementations are not required to keep track of overflows. In + * that case, the invalid bits are never set. + */ + +#define INT_TO_FIXED(x) ((GLfixed) ((x) << 16)) +#define FLOAT_TO_FIXED(x) ((GLfixed) ((x) * 65536.0)) + +#if defined(WIN32) || defined(_WIN32_WCE) +/* Oddly, the fpclassify() function doesn't exist in such a form + * on Windows. This is an implementation using slightly different + * lower-level Windows functions. + */ +#include <float.h> + +enum {FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL} +fpclassify(double x) +{ + switch(_fpclass(x)) { + case _FPCLASS_SNAN: /* signaling NaN */ + case _FPCLASS_QNAN: /* quiet NaN */ + return FP_NAN; + case _FPCLASS_NINF: /* negative infinity */ + case _FPCLASS_PINF: /* positive infinity */ + return FP_INFINITE; + case _FPCLASS_NN: /* negative normal */ + case _FPCLASS_PN: /* positive normal */ + return FP_NORMAL; + case _FPCLASS_ND: /* negative denormalized */ + case _FPCLASS_PD: /* positive denormalized */ + return FP_SUBNORMAL; + case _FPCLASS_NZ: /* negative zero */ + case _FPCLASS_PZ: /* positive zero */ + return FP_ZERO; + default: + /* Should never get here; but if we do, this will guarantee + * that the pattern is not treated like a number. + */ + return FP_NAN; + } +} +#endif + +extern GLbitfield GL_APIENTRY _es_QueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16]); + +/* The Mesa functions we'll need */ +extern void GL_APIENTRY _mesa_GetIntegerv(GLenum pname, GLint *params); +extern void GL_APIENTRY _mesa_GetFloatv(GLenum pname, GLfloat *params); + +GLbitfield GL_APIENTRY _es_QueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16]) +{ + GLfloat matrix[16]; + GLint tmp; + GLenum currentMode = GL_FALSE; + GLenum desiredMatrix = GL_FALSE; + /* The bitfield returns 1 for each component that is invalid (i.e. + * NaN or Inf). In case of error, everything is invalid. + */ + GLbitfield rv; + register unsigned int i; + unsigned int bit; + + /* This data structure defines the mapping between the current matrix + * mode and the desired matrix identifier. + */ + static struct { + GLenum currentMode; + GLenum desiredMatrix; + } modes[] = { + {GL_MODELVIEW, GL_MODELVIEW_MATRIX}, + {GL_PROJECTION, GL_PROJECTION_MATRIX}, + {GL_TEXTURE, GL_TEXTURE_MATRIX}, +#if 0 + /* this doesn't exist in GLES */ + {GL_COLOR, GL_COLOR_MATRIX}, +#endif + }; + + /* Call Mesa to get the current matrix in floating-point form. First, + * we have to figure out what the current matrix mode is. + */ + _mesa_GetIntegerv(GL_MATRIX_MODE, &tmp); + currentMode = (GLenum) tmp; + + /* The mode is either GL_FALSE, if for some reason we failed to query + * the mode, or a given mode from the above table. Search for the + * returned mode to get the desired matrix; if we don't find it, + * we can return immediately, as _mesa_GetInteger() will have + * logged the necessary error already. + */ + for (i = 0; i < sizeof(modes)/sizeof(modes[0]); i++) { + if (modes[i].currentMode == currentMode) { + desiredMatrix = modes[i].desiredMatrix; + break; + } + } + if (desiredMatrix == GL_FALSE) { + /* Early error means all values are invalid. */ + return 0xffff; + } + + /* Now pull the matrix itself. */ + _mesa_GetFloatv(desiredMatrix, matrix); + + rv = 0; + for (i = 0, bit = 1; i < 16; i++, bit<<=1) { + float normalizedFraction; + int exp; + + switch (fpclassify(matrix[i])) { + /* A "subnormal" or denormalized number is too small to be + * represented in normal format; but despite that it's a + * valid floating point number. FP_ZERO and FP_NORMAL + * are both valid as well. We should be fine treating + * these three cases as legitimate floating-point numbers. + */ + case FP_SUBNORMAL: + case FP_NORMAL: + case FP_ZERO: + normalizedFraction = (GLfloat)frexp(matrix[i], &exp); + mantissa[i] = FLOAT_TO_FIXED(normalizedFraction); + exponent[i] = (GLint) exp; + break; + + /* If the entry is not-a-number or an infinity, then the + * matrix component is invalid. The invalid flag for + * the component is already set; might as well set the + * other return values to known values. We'll set + * distinct values so that a savvy end user could determine + * whether the matrix component was a NaN or an infinity, + * but this is more useful for debugging than anything else + * since the standard doesn't specify any such magic + * values to return. + */ + case FP_NAN: + mantissa[i] = INT_TO_FIXED(0); + exponent[i] = (GLint) 0; + rv |= bit; + break; + + case FP_INFINITE: + /* Return +/- 1 based on whether it's a positive or + * negative infinity. + */ + if (matrix[i] > 0) { + mantissa[i] = INT_TO_FIXED(1); + } + else { + mantissa[i] = -INT_TO_FIXED(1); + } + exponent[i] = (GLint) 0; + rv |= bit; + break; + + /* We should never get here; but here's a catching case + * in case fpclassify() is returnings something unexpected. + */ + default: + mantissa[i] = INT_TO_FIXED(2); + exponent[i] = (GLint) 0; + rv |= bit; + break; + } + + } /* for each component */ + + /* All done */ + return rv; +} diff --git a/src/mesa/main/remap.c b/src/mesa/main/remap.c index bfceb43c97..2341f8488d 100644 --- a/src/mesa/main/remap.c +++ b/src/mesa/main/remap.c @@ -36,25 +36,18 @@ * a dynamic entry, or the corresponding static entry, in glapi. */ -#include "remap.h" -#include "imports.h" - -#include "main/dispatch.h" - +#include "mfeatures.h" #if FEATURE_remap_table - -#define need_MESA_remap_table -#include "main/remap_helper.h" +#include "remap.h" +#include "imports.h" +#include "glapi/glapi.h" #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) #define MAX_ENTRY_POINTS 16 - -/* this is global for quick access */ -int driDispatchRemapTable[driDispatchRemapTable_size]; - +static const char *_mesa_function_pool; /** * Return the spec string associated with the given function index. @@ -67,10 +60,7 @@ int driDispatchRemapTable[driDispatchRemapTable_size]; const char * _mesa_get_function_spec(GLint func_index) { - if (func_index < ARRAY_SIZE(_mesa_function_pool)) - return _mesa_function_pool + func_index; - else - return NULL; + return _mesa_function_pool + func_index; } @@ -162,32 +152,14 @@ _mesa_map_function_array(const struct gl_function_remap *func_array) /** - * Map the functions which are already static. - * - * When a extension function are incorporated into the ABI, the - * extension suffix is usually stripped. Mapping such functions - * makes sure the alternative names are available. - * - * Note that functions mapped by _mesa_init_remap_table() are - * excluded. - */ -void -_mesa_map_static_functions(void) -{ - /* Remap static functions which have alternative names and are in the ABI. - * This is to be on the safe side. glapi should have defined those names. - */ - _mesa_map_function_array(MESA_alt_functions); -} - - -/** * Initialize the remap table. This is called in one_time_init(). * The remap table needs to be initialized before calling the * CALL/GET/SET macros defined in main/dispatch.h. */ void -_mesa_init_remap_table(void) +_mesa_do_init_remap_table(const char *pool, + int size, + const struct gl_function_pool_remap *remap) { static GLboolean initialized = GL_FALSE; GLint i; @@ -195,15 +167,16 @@ _mesa_init_remap_table(void) if (initialized) return; initialized = GL_TRUE; + _mesa_function_pool = pool; /* initialize the remap table */ - for (i = 0; i < ARRAY_SIZE(driDispatchRemapTable); i++) { + for (i = 0; i < size; i++) { GLint offset; const char *spec; /* sanity check */ - ASSERT(i == MESA_remap_table_functions[i].remap_index); - spec = _mesa_function_pool + MESA_remap_table_functions[i].pool_index; + ASSERT(i == remap[i].remap_index); + spec = _mesa_function_pool + remap[i].pool_index; offset = _mesa_map_function_spec(spec); /* store the dispatch offset in the remap table */ diff --git a/src/mesa/main/remap.h b/src/mesa/main/remap.h index d080188d89..7afdee36f5 100644 --- a/src/mesa/main/remap.h +++ b/src/mesa/main/remap.h @@ -28,9 +28,17 @@ #define REMAP_H -#include "main/mtypes.h" +#include "main/mfeatures.h" -struct gl_function_remap; +struct gl_function_pool_remap { + int pool_index; + int remap_index; +}; + +struct gl_function_remap { + int func_index; + int dispatch_offset; /* for sanity check */ +}; #if FEATURE_remap_table @@ -39,9 +47,9 @@ extern int driDispatchRemapTable[]; extern const char * -_mesa_get_function_spec(GLint func_index); +_mesa_get_function_spec(int func_index); -extern GLint +extern int _mesa_map_function_spec(const char *spec); extern void @@ -51,17 +59,34 @@ extern void _mesa_map_static_functions(void); extern void +_mesa_map_static_functions_es1(void); + +extern void +_mesa_map_static_functions_es2(void); + +extern void +_mesa_do_init_remap_table(const char *pool, + int size, + const struct gl_function_pool_remap *remap); + +extern void _mesa_init_remap_table(void); +extern void +_mesa_init_remap_table_es1(void); + +extern void +_mesa_init_remap_table_es2(void); + #else /* FEATURE_remap_table */ static INLINE const char * -_mesa_get_function_spec(GLint func_index) +_mesa_get_function_spec(int func_index) { return NULL; } -static INLINE GLint +static INLINE int _mesa_map_function_spec(const char *spec) { return -1; @@ -77,11 +102,39 @@ _mesa_map_static_functions(void) { } + +static INLINE void +_mesa_map_static_functions_es1(void) +{ +} + +static INLINE void +_mesa_map_static_functions_es2(void) +{ +} + +static INLINE void +_mesa_do_init_remap_table(const char *pool, + int size, + const struct gl_function_pool_remap *remap) +{ +} + static INLINE void _mesa_init_remap_table(void) { } +static INLINE void +_mesa_init_remap_table_es1(void) +{ +} + +static INLINE void +_mesa_init_remap_table_es2(void) +{ +} + #endif /* FEATURE_remap_table */ diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h index 52edf67b54..2df11a454d 100644 --- a/src/mesa/main/remap_helper.h +++ b/src/mesa/main/remap_helper.h @@ -26,11 +26,7 @@ */ #include "main/dispatch.h" - -struct gl_function_remap { - GLint func_index; - GLint dispatch_offset; /* for sanity check */ -}; +#include "main/remap.h" /* this is internal to remap.c */ #ifdef need_MESA_remap_table @@ -4427,10 +4423,7 @@ static const char _mesa_function_pool[] = ; /* these functions need to be remapped */ -static const struct { - GLint pool_index; - GLint remap_index; -} MESA_remap_table_functions[] = { +static const struct gl_function_pool_remap MESA_remap_table_functions[] = { { 1461, AttachShader_remap_index }, { 8848, CreateProgram_remap_index }, { 20883, CreateShader_remap_index }, diff --git a/src/mesa/main/shaders.c b/src/mesa/main/shaders.c index f382680b44..863f878fea 100644 --- a/src/mesa/main/shaders.c +++ b/src/mesa/main/shaders.c @@ -485,7 +485,7 @@ _mesa_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, checksum = _mesa_str_checksum(source); - sprintf(filename, "newshader_%d", checksum); + _mesa_snprintf(filename, sizeof(filename), "newshader_%d", checksum); newSource = _mesa_read_shader(filename); if (newSource) { @@ -739,3 +739,31 @@ _mesa_ValidateProgramARB(GLhandleARB program) ctx->Driver.ValidateProgram(ctx, program); } +#ifdef FEATURE_ES2 + +void GLAPIENTRY +_mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, + GLint* range, GLint* precision) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__); +} + + +void GLAPIENTRY +_mesa_ReleaseShaderCompiler(void) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__); +} + + +void GLAPIENTRY +_mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, + const void* binary, GLint length) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__); +} + +#endif diff --git a/src/mesa/main/shaders.h b/src/mesa/main/shaders.h index 17339ccf62..6ab6d6bfea 100644 --- a/src/mesa/main/shaders.h +++ b/src/mesa/main/shaders.h @@ -232,5 +232,16 @@ extern void GLAPIENTRY _mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +/* GLES 2.0 */ +extern void GLAPIENTRY +_mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, + GLint* range, GLint* precision); + +extern void GLAPIENTRY +_mesa_ReleaseShaderCompiler(void); + +extern void GLAPIENTRY +_mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, + const void* binary, GLint length); #endif /* SHADERS_H */ diff --git a/src/mesa/main/texgen.c b/src/mesa/main/texgen.c index e70ea30290..108ea4cd42 100644 --- a/src/mesa/main/texgen.c +++ b/src/mesa/main/texgen.c @@ -192,6 +192,38 @@ _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param ) _mesa_TexGenfv( coord, pname, p ); } +#if FEATURE_ES1 + +void GLAPIENTRY +_es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) +{ + ASSERT(coord == GL_TEXTURE_GEN_STR_OES); + _mesa_GetTexGenfv(GL_S, pname, params); +} + + +void GLAPIENTRY +_es_TexGenf(GLenum coord, GLenum pname, GLfloat param) +{ + ASSERT(coord == GL_TEXTURE_GEN_STR_OES); + /* set S, T, and R at the same time */ + _mesa_TexGenf(GL_S, pname, param); + _mesa_TexGenf(GL_T, pname, param); + _mesa_TexGenf(GL_R, pname, param); +} + + +void GLAPIENTRY +_es_TexGenfv(GLenum coord, GLenum pname, const GLfloat *params) +{ + ASSERT(coord == GL_TEXTURE_GEN_STR_OES); + /* set S, T, and R at the same time */ + _mesa_TexGenfv(GL_S, pname, params); + _mesa_TexGenfv(GL_T, pname, params); + _mesa_TexGenfv(GL_R, pname, params); +} + +#endif static void GLAPIENTRY _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params ) diff --git a/src/mesa/main/texgen.h b/src/mesa/main/texgen.h index eb4626033a..397d89e630 100644 --- a/src/mesa/main/texgen.h +++ b/src/mesa/main/texgen.h @@ -52,6 +52,17 @@ _mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params ); extern void _mesa_init_texgen_dispatch(struct _glapi_table *disp); + +extern void GLAPIENTRY +_es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params); + +extern void GLAPIENTRY +_es_TexGenf(GLenum coord, GLenum pname, GLfloat param); + +extern void GLAPIENTRY +_es_TexGenfv(GLenum coord, GLenum pname, const GLfloat *params); + + #else /* FEATURE_texgen */ #define _MESA_INIT_TEXGEN_FUNCTIONS(driver, impl) do { } while (0) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index e0c5cf9c37..0b55097bd6 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -46,6 +46,7 @@ #include "texfetch.h" #include "teximage.h" #include "texstate.h" +#include "texpal.h" #include "mtypes.h" @@ -1279,8 +1280,8 @@ texture_error_check( GLcontext *ctx, GLenum target, if (type != GL_UNSIGNED_SHORT_8_8_MESA && type != GL_UNSIGNED_SHORT_8_8_REV_MESA) { char message[100]; - sprintf(message, - "glTexImage%d(format/type YCBCR mismatch", dimensions); + _mesa_snprintf(message, sizeof(message), + "glTexImage%d(format/type YCBCR mismatch", dimensions); _mesa_error(ctx, GL_INVALID_ENUM, message); return GL_TRUE; /* error */ } @@ -1295,9 +1296,9 @@ texture_error_check( GLcontext *ctx, GLenum target, if (border != 0) { if (!isProxy) { char message[100]; - sprintf(message, - "glTexImage%d(format=GL_YCBCR_MESA and border=%d)", - dimensions, border); + _mesa_snprintf(message, sizeof(message), + "glTexImage%d(format=GL_YCBCR_MESA and border=%d)", + dimensions, border); _mesa_error(ctx, GL_INVALID_VALUE, message); } return GL_TRUE; @@ -3380,7 +3381,6 @@ _mesa_CompressedTexImage1DARB(GLenum target, GLint level, } } - void GLAPIENTRY _mesa_CompressedTexImage2DARB(GLenum target, GLint level, GLenum internalFormat, GLsizei width, @@ -3396,6 +3396,24 @@ _mesa_CompressedTexImage2DARB(GLenum target, GLint level, _mesa_lookup_enum_by_nr(internalFormat), width, height, border, imageSize, data); +#if FEATURE_ES + switch (internalFormat) { + case GL_PALETTE4_RGB8_OES: + case GL_PALETTE4_RGBA8_OES: + case GL_PALETTE4_R5_G6_B5_OES: + case GL_PALETTE4_RGBA4_OES: + case GL_PALETTE4_RGB5_A1_OES: + case GL_PALETTE8_RGB8_OES: + case GL_PALETTE8_RGBA8_OES: + case GL_PALETTE8_R5_G6_B5_OES: + case GL_PALETTE8_RGBA4_OES: + case GL_PALETTE8_RGB5_A1_OES: + _mesa_cpal_compressed_teximage2d(target, level, internalFormat, + width, height, imageSize, data); + return; + } +#endif + if (target == GL_TEXTURE_2D || (ctx->Extensions.ARB_texture_cube_map && target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB && diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 2753b55c36..de37e34039 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -416,7 +416,7 @@ _mesa_test_texobj_completeness( const GLcontext *ctx, */ if ((baseLevel < 0) || (baseLevel >= MAX_TEXTURE_LEVELS)) { char s[100]; - sprintf(s, "base level = %d is invalid", baseLevel); + _mesa_snprintf(s, sizeof(s), "base level = %d is invalid", baseLevel); incomplete(t, s); t->_Complete = GL_FALSE; return; @@ -425,7 +425,7 @@ _mesa_test_texobj_completeness( const GLcontext *ctx, /* Always need the base level image */ if (!t->Image[0][baseLevel]) { char s[100]; - sprintf(s, "Image[baseLevel=%d] == NULL", baseLevel); + _mesa_snprintf(s, sizeof(s), "Image[baseLevel=%d] == NULL", baseLevel); incomplete(t, s); t->_Complete = GL_FALSE; return; diff --git a/src/mesa/main/texpal.c b/src/mesa/main/texpal.c new file mode 100644 index 0000000000..a25e7aa4ff --- /dev/null +++ b/src/mesa/main/texpal.c @@ -0,0 +1,204 @@ +/************************************************************************** + * + * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + **************************************************************************/ + + +/** + * Code to convert compressed/paletted texture images to ordinary images. + * See the GL_OES_compressed_paletted_texture spec at + * http://khronos.org/registry/gles/extensions/OES/OES_compressed_paletted_texture.txt + * + * XXX this makes it impossible to add hardware support... + */ + + +#include "glheader.h" +#include "compiler.h" /* for ASSERT */ +#include "context.h" +#include "mtypes.h" +#include "imports.h" +#include "pixelstore.h" +#include "teximage.h" +#include "texpal.h" + +#if FEATURE_ES + + +static const struct cpal_format_info { + GLenum cpal_format; + GLenum format; + GLenum type; + GLuint palette_size; + GLuint size; +} formats[] = { + { GL_PALETTE4_RGB8_OES, GL_RGB, GL_UNSIGNED_BYTE, 16, 3 }, + { GL_PALETTE4_RGBA8_OES, GL_RGBA, GL_UNSIGNED_BYTE, 16, 4 }, + { GL_PALETTE4_R5_G6_B5_OES, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 16, 2 }, + { GL_PALETTE4_RGBA4_OES, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 16, 2 }, + { GL_PALETTE4_RGB5_A1_OES, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 16, 2 }, + { GL_PALETTE8_RGB8_OES, GL_RGB, GL_UNSIGNED_BYTE, 256, 3 }, + { GL_PALETTE8_RGBA8_OES, GL_RGBA, GL_UNSIGNED_BYTE, 256, 4 }, + { GL_PALETTE8_R5_G6_B5_OES, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 256, 2 }, + { GL_PALETTE8_RGBA4_OES, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 256, 2 }, + { GL_PALETTE8_RGB5_A1_OES, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 256, 2 } +}; + + +/** + * Get a color/entry from the palette. + */ +static GLuint +get_palette_entry(const struct cpal_format_info *info, const GLubyte *palette, + GLuint index, GLubyte *pixel) +{ + memcpy(pixel, palette + info->size * index, info->size); + return info->size; +} + + +/** + * Convert paletted texture to color texture. + */ +static void +paletted_to_color(const struct cpal_format_info *info, const GLubyte *palette, + const void *indices, GLuint num_pixels, GLubyte *image) +{ + GLubyte *pix = image; + GLuint remain, i; + + if (info->palette_size == 16) { + /* 4 bits per index */ + const GLubyte *ind = (const GLubyte *) indices; + + /* two pixels per iteration */ + remain = num_pixels % 2; + for (i = 0; i < num_pixels / 2; i++) { + pix += get_palette_entry(info, palette, (ind[i] >> 4) & 0xf, pix); + pix += get_palette_entry(info, palette, ind[i] & 0xf, pix); + } + if (remain) { + get_palette_entry(info, palette, (ind[i] >> 4) & 0xf, pix); + } + } + else { + /* 8 bits per index */ + const GLubyte *ind = (const GLubyte *) indices; + for (i = 0; i < num_pixels; i++) + pix += get_palette_entry(info, palette, ind[i], pix); + } +} + + +static const struct cpal_format_info * +cpal_get_info(GLint level, GLenum internalFormat, + GLsizei width, GLsizei height, GLsizei imageSize) +{ + const struct cpal_format_info *info; + GLint lvl, num_levels; + GLsizei w, h, expect_size; + + info = &formats[internalFormat - GL_PALETTE4_RGB8_OES]; + ASSERT(info->cpal_format == internalFormat); + + if (level > 0) { + _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, + "glCompressedTexImage2D(level=%d)", level); + return NULL; + } + + num_levels = -level + 1; + expect_size = info->palette_size * info->size; + for (lvl = 0; lvl < num_levels; lvl++) { + w = width >> lvl; + if (!w) + w = 1; + h = height >> lvl; + if (!h) + h = 1; + + if (info->palette_size == 16) + expect_size += (w * h + 1) / 2; + else + expect_size += w * h; + } + if (expect_size > imageSize) { + _mesa_error(_mesa_get_current_context(), GL_INVALID_VALUE, + "glCompressedTexImage2D(imageSize=%d)", imageSize); + return NULL; + } + return info; +} + +/** + * Convert a call to glCompressedTexImage2D() where internalFormat is a + * compressed palette format into a regular GLubyte/RGBA glTexImage2D() call. + */ +void +_mesa_cpal_compressed_teximage2d(GLenum target, GLint level, + GLenum internalFormat, + GLsizei width, GLsizei height, + GLsizei imageSize, const void *palette) +{ + const struct cpal_format_info *info; + GLint lvl, num_levels; + const GLubyte *indices; + GLint saved_align, align; + GET_CURRENT_CONTEXT(ctx); + + info = cpal_get_info(level, internalFormat, width, height, imageSize); + if (!info) + return; + + info = &formats[internalFormat - GL_PALETTE4_RGB8_OES]; + ASSERT(info->cpal_format == internalFormat); + num_levels = -level + 1; + + /* first image follows the palette */ + indices = (const GLubyte *) palette + info->palette_size * info->size; + + saved_align = ctx->Unpack.Alignment; + align = saved_align; + + for (lvl = 0; lvl < num_levels; lvl++) { + GLsizei w, h; + GLuint num_texels; + GLubyte *image = NULL; + + w = width >> lvl; + if (!w) + w = 1; + h = height >> lvl; + if (!h) + h = 1; + num_texels = w * h; + if (w * info->size % align) { + _mesa_PixelStorei(GL_UNPACK_ALIGNMENT, 1); + align = 1; + } + + /* allocate and fill dest image buffer */ + if (palette) { + image = (GLubyte *) malloc(num_texels * info->size); + paletted_to_color(info, palette, indices, num_texels, image); + } + + _mesa_TexImage2D(target, lvl, info->format, w, h, 0, + info->format, info->type, image); + if (image) + free(image); + + /* advance index pointer to point to next src mipmap */ + if (info->palette_size == 16) + indices += (num_texels + 1) / 2; + else + indices += num_texels; + } + + if (saved_align != align) + _mesa_PixelStorei(GL_UNPACK_ALIGNMENT, saved_align); +} + +#endif diff --git a/src/mesa/main/texpal.h b/src/mesa/main/texpal.h new file mode 100644 index 0000000000..eeff5a9e24 --- /dev/null +++ b/src/mesa/main/texpal.h @@ -0,0 +1,38 @@ +/* + * Mesa 3-D graphics library + * Version: 7.8 + * + * Copyright (C) 1999-2010 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +#ifndef TEXPAL_H +#define TEXPAL_H + + +#include "main/glheader.h" +extern void +_mesa_cpal_compressed_teximage2d(GLenum target, GLint level, + GLenum internalFormat, + GLsizei width, GLsizei height, + GLsizei imageSize, const void *palette); + + +#endif /* TEXPAL_H */ diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index a39b680650..dea3019d0b 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -32,8 +32,11 @@ * Return major and minor version numbers. */ static void -compute_version(const GLcontext *ctx, GLuint *major, GLuint *minor) +compute_version(GLcontext *ctx) { + GLuint major, minor; + static const int max = 100; + const GLboolean ver_1_3 = (ctx->Extensions.ARB_multisample && ctx->Extensions.ARB_multitexture && ctx->Extensions.ARB_texture_border_clamp && @@ -85,31 +88,111 @@ compute_version(const GLcontext *ctx, GLuint *major, GLuint *minor) ctx->Extensions.EXT_pixel_buffer_object && ctx->Extensions.EXT_texture_sRGB); if (ver_2_1) { - *major = 2; - *minor = 1; + major = 2; + minor = 1; } else if (ver_2_0) { - *major = 2; - *minor = 0; + major = 2; + minor = 0; } else if (ver_1_5) { - *major = 1; - *minor = 5; + major = 1; + minor = 5; } else if (ver_1_4) { - *major = 1; - *minor = 4; + major = 1; + minor = 4; } else if (ver_1_3) { - *major = 1; - *minor = 3; + major = 1; + minor = 3; } else { - *major = 1; - *minor = 2; + major = 1; + minor = 2; + } + + ctx->VersionMajor = major; + ctx->VersionMinor = minor; + ctx->VersionString = (char *) malloc(max); + if (ctx->VersionString) { + _mesa_snprintf(ctx->VersionString, max, + "%u.%u Mesa " MESA_VERSION_STRING, + ctx->VersionMajor, ctx->VersionMinor); } } +static void +compute_version_es1(GLcontext *ctx) +{ + static const int max = 100; + + /* OpenGL ES 1.0 is derived from OpenGL 1.3 */ + const GLboolean ver_1_0 = (ctx->Extensions.ARB_multisample && + ctx->Extensions.ARB_multitexture && + ctx->Extensions.ARB_texture_compression && + ctx->Extensions.EXT_texture_env_add && + ctx->Extensions.ARB_texture_env_combine && + ctx->Extensions.ARB_texture_env_dot3); + /* OpenGL ES 1.1 is derived from OpenGL 1.5 */ + const GLboolean ver_1_1 = (ver_1_0 && + ctx->Extensions.EXT_point_parameters && + ctx->Extensions.SGIS_generate_mipmap && + ctx->Extensions.ARB_vertex_buffer_object); + + if (ver_1_1) { + ctx->VersionMajor = 1; + ctx->VersionMinor = 1; + } else if (ver_1_0) { + ctx->VersionMajor = 1; + ctx->VersionMinor = 0; + } else { + _mesa_problem(ctx, "Incomplete OpenGL ES 1.0 support."); + } + + ctx->VersionString = (char *) malloc(max); + if (ctx->VersionString) { + _mesa_snprintf(ctx->VersionString, max, + "OpenGL ES-CM 1.%d Mesa " MESA_VERSION_STRING, + ctx->VersionMinor); + } +} + +static void +compute_version_es2(GLcontext *ctx) +{ + static const int max = 100; + + /* OpenGL ES 2.0 is derived from OpenGL 2.0 */ + const GLboolean ver_2_0 = (ctx->Extensions.ARB_multisample && + ctx->Extensions.ARB_multitexture && + ctx->Extensions.ARB_texture_compression && + ctx->Extensions.ARB_texture_cube_map && + ctx->Extensions.ARB_texture_mirrored_repeat && + ctx->Extensions.EXT_blend_color && + ctx->Extensions.EXT_blend_func_separate && + ctx->Extensions.EXT_blend_minmax && + ctx->Extensions.EXT_blend_subtract && + ctx->Extensions.EXT_stencil_wrap && + ctx->Extensions.ARB_vertex_buffer_object && + ctx->Extensions.ARB_shader_objects && + ctx->Extensions.ARB_vertex_shader && + ctx->Extensions.ARB_fragment_shader && + ctx->Extensions.ARB_texture_non_power_of_two && + ctx->Extensions.EXT_blend_equation_separate); + if (ver_2_0) { + ctx->VersionMajor = 2; + ctx->VersionMinor = 0; + } else { + _mesa_problem(ctx, "Incomplete OpenGL ES 2.0 support."); + } + + ctx->VersionString = (char *) malloc(max); + if (ctx->VersionString) { + _mesa_snprintf(ctx->VersionString, max, + "OpenGL ES 2.0 Mesa " MESA_VERSION_STRING); + } +} /** * Set the context's VersionMajor, VersionMinor, VersionString fields. @@ -118,13 +201,16 @@ compute_version(const GLcontext *ctx, GLuint *major, GLuint *minor) void _mesa_compute_version(GLcontext *ctx) { - static const int max = 100; - - compute_version(ctx, &ctx->VersionMajor, &ctx->VersionMinor); - - ctx->VersionString = (char *) malloc(max); - if (ctx->VersionString) { - _mesa_snprintf(ctx->VersionString, max, "%u.%u Mesa " MESA_VERSION_STRING, - ctx->VersionMajor, ctx->VersionMinor); + switch (ctx->API) { + case API_OPENGL: + compute_version(ctx); + break; + case API_OPENGLES: + compute_version_es1(ctx); + break; + case API_OPENGLES2: + compute_version_es2(ctx); + break; } + } |