From: José Fonseca Date: Tue, 27 Sep 2011 08:21:38 +0000 (+0100) Subject: Move all API specs to a separate dir. X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=bd86a22d1a17fc33a32e80e48eec3b4338081a69;p=apitrace Move all API specs to a separate dir. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 9370f47..8c76790 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -188,7 +188,7 @@ include_directories ( add_custom_command ( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glproc.py > ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp - DEPENDS glproc.py dispatch.py wglapi.py glxapi.py cglapi.py glapi.py gltypes.py stdapi.py + DEPENDS glproc.py dispatch.py specs/wglapi.py specs/glxapi.py specs/cglapi.py specs/glapi.py specs/gltypes.py specs/stdapi.py ) if (WIN32) @@ -236,7 +236,7 @@ if (WIN32) add_custom_command ( OUTPUT ddrawtrace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/ddrawtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/ddrawtrace.cpp - DEPENDS ddrawtrace.py d3d.py d3dtypes.py d3dcaps.py ddraw.py trace.py winapi.py stdapi.py + DEPENDS ddrawtrace.py trace.py specs/d3d.py specs/d3dtypes.py specs/d3dcaps.py specs/ddraw.py specs/winapi.py specs/stdapi.py ) add_library (ddraw MODULE ddraw.def ddrawtrace.cpp) set_target_properties (ddraw @@ -253,7 +253,7 @@ if (WIN32) add_custom_command ( OUTPUT d3d8trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8trace.cpp - DEPENDS d3d8trace.py d3d8.py trace.py d3d8types.py d3d8caps.py winapi.py stdapi.py + DEPENDS d3d8trace.py trace.py specs/d3d8.py specs/d3d8types.py specs/d3d8caps.py specs/winapi.py specs/stdapi.py ) add_library (d3d8 MODULE d3d8.def d3d8trace.cpp d3dshader.cpp) set_target_properties (d3d8 @@ -270,7 +270,7 @@ if (WIN32) add_custom_command ( OUTPUT d3d9trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d9trace.cpp - DEPENDS d3d9trace.py d3d9.py trace.py d3d9types.py d3d9caps.py winapi.py stdapi.py + DEPENDS d3d9trace.py trace.py specs/d3d9.py specs/d3d9types.py specs/d3d9caps.py specs/winapi.py specs/stdapi.py ) add_library (d3d9 MODULE d3d9.def d3d9trace.cpp d3dshader.cpp) set_target_properties (d3d9 @@ -287,7 +287,7 @@ if (WIN32) add_custom_command ( OUTPUT d3d10trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10trace.cpp - DEPENDS d3d10trace.py d3d10misc.py d3d10.py dxgi.py winapi.py stdapi.py + DEPENDS d3d10trace.py trace.py d3d10misc.py specs/d3d10.py specs/dxgi.py specs/winapi.py specs/stdapi.py ) add_library (d3d10 MODULE d3d10.def d3d10trace.cpp) set_target_properties (d3d10 PROPERTIES PREFIX "") @@ -298,7 +298,7 @@ if (WIN32) add_custom_command ( OUTPUT wgltrace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wgltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/wgltrace.cpp - DEPENDS wgltrace.py gltrace.py trace.py wglapi.py wglenum.py glapi.py glparams.py gltypes.py winapi.py stdapi.py + DEPENDS wgltrace.py gltrace.py trace.py specs/wglapi.py specs/wglenum.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/winapi.py specs/stdapi.py ) add_library (wgltrace MODULE opengl32.def wgltrace.cpp @@ -321,7 +321,7 @@ elseif (APPLE) add_custom_command ( OUTPUT cgltrace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cgltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/cgltrace.cpp - DEPENDS cgltrace.py gltrace.py trace.py cglapi.py glapi.py glparams.py gltypes.py stdapi.py + DEPENDS cgltrace.py gltrace.py trace.py specs/cglapi.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/stdapi.py ) add_library (cgltrace SHARED @@ -347,7 +347,7 @@ else () add_custom_command ( OUTPUT glxtrace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glxtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glxtrace.cpp - DEPENDS glxtrace.py gltrace.py trace.py glxapi.py glapi.py glparams.py gltypes.py stdapi.py + DEPENDS glxtrace.py gltrace.py trace.py specs/glxapi.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/stdapi.py ) add_library (glxtrace SHARED @@ -380,13 +380,13 @@ endif () add_custom_command ( OUTPUT glretrace_gl.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glretrace_gl.cpp - DEPENDS glretrace.py retrace.py codegen.py glapi.py gltypes.py stdapi.py + DEPENDS glretrace.py retrace.py codegen.py specs/glapi.py specs/gltypes.py specs/stdapi.py ) add_custom_command ( OUTPUT glstate_params.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glstate.py > ${CMAKE_CURRENT_BINARY_DIR}/glstate_params.cpp - DEPENDS glstate.py glparams.py gltypes.py stdapi.py + DEPENDS glstate.py specs/glparams.py specs/gltypes.py specs/stdapi.py ) include_directories ( diff --git a/apigen/.gitignore b/apigen/.gitignore deleted file mode 100644 index 1dbc0cf..0000000 --- a/apigen/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -*.spec -*.tm -*.txt -*api.py -glparams.py -wglenum.py -!Makefile diff --git a/apigen/Makefile b/apigen/Makefile deleted file mode 100644 index 2ea2066..0000000 --- a/apigen/Makefile +++ /dev/null @@ -1,51 +0,0 @@ - -all: \ - download \ - glapi.py glxapi.py wglapi.py \ - glparams.py wglenum.py - -download: \ - enum.spec \ - enumext.spec \ - gl.spec \ - gl.tm \ - glxenum.spec \ - glxenumext.spec \ - glx.spec \ - glxext.spec \ - glx.tm \ - wglenum.spec \ - wglenumext.spec \ - wgl.spec \ - wglext.spec \ - wgl.tm - -%.spec: - wget -N http://www.opengl.org/registry/api/$@ - -%.tm: - wget -N http://www.opengl.org/registry/api/$@ - -glapi.py: glspec.py gl.tm gl.spec - python glspec.py gl gl.tm gl.spec > $@ - -glxapi.py: glspec.py glx.tm glx.spec glxext.spec - python glspec.py glX glx.tm glx.spec glxext.spec > $@ - -wglapi.py: glspec.py wgl.tm wgl.spec wglext.spec - python glspec.py wgl wgl.tm wgl.spec wglext.spec > $@ - -glparams.py: glparams.sed enum.spec sort.sh - sed -n -f glparams.sed enum.spec | ./sort.sh > $@ - -wglenum.py: wglenum.sh wglenumext.spec - ./wglenum.sh wglenumext.spec > $@ - -clean: - rm -f \ - glapi.py glxapi.py wglapi.py \ - glparams.py wglenum.py - -.PRECIOUS: %.spec %.tm - -.PHONY: download clean diff --git a/apigen/README b/apigen/README deleted file mode 100644 index 6df2a3d..0000000 --- a/apigen/README +++ /dev/null @@ -1,12 +0,0 @@ -This directory contains several helper scripts that facilitate the generation -of the API descriptions from specs and/or header files. - -The specs/headers are not expressive enough, which is why we can't just code -generate everything from them. - -For GL the typical procedure is to run - - make -B - -and then manually crossport new functions / enums to the files in the top dir -via a side-by-side diff tool, such as gvimdiff. diff --git a/apigen/cdecl.py b/apigen/cdecl.py deleted file mode 100755 index 4f36b3c..0000000 --- a/apigen/cdecl.py +++ /dev/null @@ -1,358 +0,0 @@ -#!/usr/bin/env python -########################################################################## -# -# Copyright 2011 Jose Fonseca -# 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 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. -# -##########################################################################/ - - -'''Script to parse C declarations and spew API definitions. -''' - - -import sys -import re -import optparse - - -class Parser: - - token_re = re.compile(r'(\w+|\s+|.)') - - multi_comment_re = re.compile(r'/\*.*?\*/', flags = re.DOTALL) - single_comment_re = re.compile(r'//.*',) - - def __init__(self): - self.tokens = [] - - def has_side_effects(self, name): - return True - - - def tokenize(self, s): - s = self.multi_comment_re.sub('', s) - s = self.single_comment_re.sub('', s) - self.tokens = self.token_re.split(s) - self.tokens = [token for token in self.tokens if self.filter_token(token)] - - def filter_token(self, token): - if not token or token.isspace(): - return False - if token.startswith('AVAILABLE_') or token.startswith('DEPRECATED_'): - return False - if token in ['FAR']: - return False - return True - - def lookahead(self, index = 0): - try: - return self.tokens[index] - except KeyError: - return None - - def match(self, *ref_tokens): - return self.lookahead() in ref_tokens - - def consume(self, *ref_tokens): - if not self.tokens: - raise Exception('unexpected EOF') - token = self.tokens.pop(0) - if ref_tokens and token not in ref_tokens: - raise Exception('token mismatch', token, ref_tokens) - return token - - def eof(self): - return not self.tokens - - - def parse(self, s): - self.tokenize(s) - - while not self.eof(): - #print self.tokens[0:10] - self.parse_declaration() - - def parse_declaration(self): - self.parse_tags() - if self.match('enum'): - self.parse_enum() - elif self.match('interface'): - self.parse_interface() - elif self.match('mask'): - self.parse_value('mask', 'Flags') - elif self.match('struct'): - self.parse_struct() - elif self.match('value'): - self.parse_value('value', 'FakeEnum') - elif self.match('typedef'): - self.parse_typedef() - else: - self.parse_prototype() - if not self.eof() and self.match(';'): - self.consume(';') - - def parse_typedef(self): - self.consume('typedef') - if self.lookahead(2) in (';', ','): - base_type = self.consume() - while True: - type = base_type - if self.match('*'): - self.consume() - type = 'Pointer(%s)' % type - name = self.consume() - print '%s = Alias("%s", %s)' % (name, name, type) - if self.match(','): - self.consume() - else: - break - else: - self.parse_declaration() - self.consume() - - def parse_enum(self): - self.consume('enum') - name = self.consume() - self.consume('{') - - print '%s = Enum("%s", [' % (name, name) - - #value = 0 - while self.lookahead() != '}': - name = self.consume() - if self.match('='): - self.consume('=') - value = self.consume() - if self.match(','): - self.consume(',') - tags = self.parse_tags() - #print ' "%s",\t# %s' % (name, value) - print ' "%s",' % (name,) - #value += 1 - self.consume('}') - - print '])' - print - - def parse_value(self, ref_token, constructor): - self.consume(ref_token) - type = self.consume() - name = self.consume() - self.consume('{') - - print '%s = %s(%s, [' % (name, constructor, type) - - while self.lookahead() != '}': - self.consume('#') - self.consume('define') - name = self.consume() - value = self.consume() - #print ' "%s",\t# %s' % (name, value) - print ' "%s",' % (name,) - self.consume('}') - - print '])' - print - - def parse_struct(self): - self.consume('struct') - name = self.consume() - self.consume('{') - - print '%s = Struct("%s", [' % (name, name) - - value = 0 - while self.lookahead() != '}': - type, name = self.parse_named_type() - if self.match(','): - self.consume(',') - self.consume(';') - print ' (%s, "%s"),' % (type, name) - value += 1 - self.consume('}') - - print '])' - print - - def parse_interface(self): - self.consume('interface') - name = self.consume() - if self.match(';'): - return - self.consume(':') - base = self.consume() - self.consume('{') - - print '%s = Interface("%s", %s)' % (name, name, base) - print '%s.methods += [' % (name,) - - while self.lookahead() != '}': - self.parse_prototype('Method') - self.consume(';') - self.consume('}') - - print ']' - print - - def parse_prototype(self, creator = 'Function'): - if self.match('extern'): - self.consume() - - ret = self.parse_type() - - if self.match('__stdcall'): - self.consume() - creator = 'StdFunction' - - name = self.consume() - extra = '' - if not self.has_side_effects(name): - extra += ', sideeffects=False' - name = name - - self.consume('(') - args = [] - if self.match('void') and self.tokens[1] == ')': - self.consume() - while self.lookahead() != ')': - arg = self.parse_arg() - args.append(arg) - if self.match(','): - self.consume() - self.consume() == ')' - - print ' %s(%s, "%s", [%s]%s),' % (creator, ret, name, ', '.join(args), extra) - - def parse_arg(self): - tags = self.parse_tags() - - type, name = self.parse_named_type() - - arg = '(%s, "%s")' % (type, name) - if 'out' in tags: - arg = 'Out' + arg - return arg - - def parse_tags(self): - tags = [] - if self.match('['): - self.consume() - while not self.match(']'): - tag = self.consume() - tags.append(tag) - self.consume(']') - return tags - - def parse_named_type(self): - type = self.parse_type() - name = self.consume() - if self.match('['): - self.consume() - length = self.consume() - self.consume(']') - type = 'Array(%s, "%s")' % (type, length) - return type, name - - int_tokens = ('unsigned', 'signed', 'int', 'long', 'short', 'char') - - type_table = { - 'float': 'Float', - 'double': 'Double', - 'int8_t': 'Int8', - 'uint8_t': 'UInt8', - 'int16_t': 'Int16', - 'uint16_t': 'UInt16', - 'int32_t': 'Int32', - 'uint32_t': 'UInt32', - 'int64_t' : 'Int64', - 'uint64_t': 'UInt64', - } - - def parse_type(self): - const = False - token = self.consume() - if token == 'const': - token = self.consume() - const = True - if token == 'void': - type = 'Void' - elif token in self.int_tokens: - unsigned = False - signed = False - long = 0 - short = 0 - char = False - while token in self.int_tokens: - if token == 'unsigned': - unsigned = True - if token == 'signed': - signed = True - if token == 'long': - long += 1 - if token == 'short': - short += 1 - if token == 'char': - char = False - if self.lookahead() in self.int_tokens: - token = self.consume() - else: - token = None - if char: - type = 'Char' - if signed: - type = 'S' + type - elif short: - type = 'Short' - elif long: - type = 'Long' * long - else: - type = 'Int' - if unsigned: - type = 'U' + type - else: - type = self.type_table.get(token, token) - if const: - type = 'Const(%s)' % type - while True: - if self.match('*'): - self.consume('*') - type = 'OpaquePointer(%s)' % type - elif self.match('const'): - self.consume('const') - type = 'Const(%s)' % type - else: - break - return type - - - - - - -def main(): - parser = Parser() - for arg in sys.argv[1:]: - parser.parse(open(arg, 'rt').read()) - - -if __name__ == '__main__': - main() diff --git a/apigen/glparams.sed b/apigen/glparams.sed deleted file mode 100644 index 8afde64..0000000 --- a/apigen/glparams.sed +++ /dev/null @@ -1,2 +0,0 @@ -s/^\s\+\(\w\+\)\s*=\s*\(0x\w\+\)\s\+#\s\+\([0-9]\+\)\s\+\([IF]\)\s*\(#.*\)\?$/ ("glGet",\t\4,\t\3,\t"GL_\1"),\t# \2/p -s/^\s\+\(\w\+\)\s*=\s*\(0x\w\+\)\s*\(#.*\)\?$/ ("",\tX,\t1,\t"GL_\1"),\t# \2/p diff --git a/apigen/glspec.py b/apigen/glspec.py deleted file mode 100755 index dbd20ce..0000000 --- a/apigen/glspec.py +++ /dev/null @@ -1,283 +0,0 @@ -#!/usr/bin/env python -########################################################################## -# -# Copyright 2010 VMware, Inc. -# 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 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. -# -##########################################################################/ - - -import sys -import re -import optparse - - -def stderr(x): - sys.stderr.write(str(x) + '\n') - - -class Parser: - - def __init__(self, stream): - pass - - -class LineParser: - """Base class for parsers that read line-based formats.""" - - def __init__(self, stream): - self._stream = stream - self._line = None - self._eof = False - # read lookahead - self.readline() - - def parse(self): - raise NotImplementedError - - def readline(self): - line = self._stream.readline() - if not line: - self._line = '' - self._eof = True - self._line = line.rstrip('\r\n') - - def lookahead(self): - assert self._line is not None - return self._line - - def consume(self): - assert self._line is not None - line = self._line - self.readline() - return line - - def eof(self): - assert self._line is not None - return self._eof - - def skip_whitespace(self): - while not self.eof() and self.match_whitespace() or self.match_comment(): - self.consume() - - def match_whitespace(self): - line = self.lookahead() - return not line.strip() - - def match_comment(self): - return False - - -class TypemapParser(LineParser): - - def parse(self): - typemap = {} - self.skip_whitespace() - while not self.eof(): - line = self.consume() - fields = [field.strip() for field in line.split(',')] - src = fields[0] - dst = fields[3] - if dst != '*': - typemap[src] = dst - self.skip_whitespace() - return typemap - - def match_comment(self): - line = self.lookahead() - return line.startswith('#') - - -class SpecParser(LineParser): - - property_re = re.compile(r'^\w+:') - prototype_re = re.compile(r'^(\w+)\((.*)\)$') - - def __init__(self, stream, prefix='', typemap = None): - LineParser.__init__(self, stream) - if typemap is None: - self.typemap = {} - else: - self.typemap = typemap - self.prefix = prefix - self.category = None - - def parse(self): - self.skip_whitespace() - while not self.eof(): - line = self.lookahead() - if self.property_re.match(line): - self.parse_property() - elif self.prototype_re.match(line): - self.parse_prototype() - else: - self.consume() - self.skip_whitespace() - - def parse_property(self): - line = self.consume() - name, value = line.split(':', 1) - if name == 'category': - values = value.split() - #self.prefix = values[0] - - get_function_re = re.compile(r'^(Get|Is|Are)[A-Z]\w+') - - def parse_prototype(self): - line = self.consume() - mo = self.prototype_re.match(line) - function_name, arg_names = mo.groups() - arg_names = [arg_name.strip() for arg_name in arg_names.split(',') if arg_name.strip()] - - extra = '' - if self.get_function_re.match(function_name): - extra += ', sideeffects=False' - function_name = self.prefix + function_name - - ret_type = 'Void' - arg_types = {} - category = None - line = self.lookahead() - while line.startswith('\t'): - fields = line.split(None, 2) - if fields[0] == 'return': - ret_type = self.parse_type(fields[1]) - elif fields[0] == 'param': - arg_name, arg_type = fields[1:3] - arg_types[fields[1]] = self.parse_arg(function_name, arg_name, arg_type) - elif fields[0] == 'category': - category = fields[1] - else: - pass - self.consume() - line = self.lookahead() - self.consume() - args = [arg_types[arg_name] for arg_name in arg_names] - - if category is not None: - if category == self.prefix: - category = self.prefix.upper() - else: - category = self.prefix.upper() + '_' + category - if category != self.category: - if self.category is not None: - print - print ' # %s' % category - self.category = category - - if self.prefix == 'wgl': - constructor = 'StdFunction' - else: - constructor = 'GlFunction' - - print ' %s(%s, "%s", [%s]%s),' % (constructor, ret_type, function_name, ', '.join(args), extra) - - array_re = re.compile(r'^array\s+\[(.*)\]$') - - string_typemap = { - 'GLchar': 'GLstring', - 'GLcharARB': 'GLstringARB', - } - - def parse_arg(self, function_name, arg_name, arg_type): - orig_type, inout, kind = arg_type.split(' ', 2) - - base_type = self.parse_type(orig_type) - - if kind == 'value': - arg_type = base_type - elif kind == 'reference': - if inout == 'in': - base_type = 'Const(%s)' % base_type - arg_type = 'Pointer(%s)' % base_type - elif kind.startswith("array"): - if inout == 'in': - base_type = 'Const(%s)' % base_type - - arg_type = 'OpaquePointer(%s)' % base_type - - if base_type in ('Void', 'void', 'GLvoid'): - constructor = 'Blob' - else: - constructor = 'Array' - - mo = self.array_re.match(kind) - if mo: - length = mo.group(1).strip() - if length == '': - try: - arg_type = self.string_typemap[base_type] - except KeyError: - pass - elif length == '1': - arg_type = 'Pointer(%s)' % base_type - elif length.find("COMPSIZE") == -1: - arg_type = '%s(%s, "%s")' % (constructor, base_type, length) - else: - length = length.replace("COMPSIZE", "__%s_size" % function_name) - length = length.replace("/", ", ") - arg_type = 'Opaque%s(%s, "%s")' % (constructor, base_type, length) - else: - assert False - - arg = '(%s, "%s")' % (arg_type, arg_name) - if inout == 'out': - arg = 'Out' + arg - return arg - - semantic_typemap = { - 'String': 'CString', - 'Texture': 'GLtexture', - } - - post_typemap = { - 'void': 'Void', - 'int': 'Int', - 'float': 'Float', - } - - def parse_type(self, type): - try: - return self.semantic_typemap[type] - except KeyError: - pass - type = self.typemap.get(type, type) - type = self.post_typemap.get(type, type) - return type - - def match_comment(self): - line = self.lookahead() - return line.startswith('#') - - -def main(): - prefix = sys.argv[1] - - parser = TypemapParser(open(sys.argv[2], 'rt')) - typemap = parser.parse() - - for arg in sys.argv[3:]: - parser = SpecParser(open(arg, 'rt'), prefix=prefix, typemap=typemap) - parser.parse() - - -if __name__ == '__main__': - main() diff --git a/apigen/gltxt.py b/apigen/gltxt.py deleted file mode 100755 index c6be7c1..0000000 --- a/apigen/gltxt.py +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -########################################################################## -# -# Copyright 2010 VMware, Inc. -# 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 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. -# -##########################################################################/ - - -import sys -import re -import optparse - - -def stderr(x): - sys.stderr.write(str(x) + '\n') - - -class Parser: - - def __init__(self, stream): - pass - - -class LineParser: - """Base class for parsers that read line-based formats.""" - - def __init__(self, stream): - self._stream = stream - self._line = None - self._eof = False - # read lookahead - self.readline() - - def parse(self): - raise NotImplementedError - - def readline(self): - line = self._stream.readline() - if not line: - self._line = '' - self._eof = True - self._line = line.rstrip('\r\n') - - def lookahead(self): - assert self._line is not None - return self._line - - def consume(self): - assert self._line is not None - line = self._line - self.readline() - return line - - def eof(self): - assert self._line is not None - return self._eof - - def skip_whitespace(self): - while not self.eof() and self.match_whitespace() or self.match_comment(): - self.consume() - - def match_whitespace(self): - line = self.lookahead() - return not line.strip() - - def match_comment(self): - return False - - -class TxtParser(LineParser): - - property_re = re.compile(r'^\w+:') - prototype_re = re.compile(r'^(\w+)\((.*)\)$') - - def __init__(self, stream, prefix=''): - LineParser.__init__(self, stream) - self.prefix = prefix - - def parse(self): - line = self.consume() - while not line.startswith("New Procedures and Functions"): - line = self.consume() - self.parse_procs() - - def parse_procs(self): - lines = [] - while True: - line = self.consume() - if not line.strip(): - continue - if not line.startswith(' '): - break - lines.append(line.strip()) - if line.endswith(';'): - self.parse_proc(' '.join(lines)) - lines = [] - - token_re = re.compile(r'(\w+|\s+|.)') - get_function_re = re.compile(r'^Get[A-Z]\w+') - - def parse_proc(self, prototype): - #print prototype - tokens = self.token_re.split(prototype) - self.tokens = [token for token in tokens if token.strip()] - #print self.tokens - - ret = self.parse_type() - - name = self.tokens.pop(0) - extra = '' - if self.get_function_re.match(name): - extra += ', sideeffects=False' - name = self.prefix + name - - assert self.tokens.pop(0) == '(' - args = [] - while self.tokens[0] != ')': - arg = self.parse_arg() - args.append(arg) - if self.tokens[0] == ',': - self.tokens.pop(0) - print ' GlFunction(%s, "%s", [%s]%s),' % (ret, name, ', '.join(args), extra) - - def parse_arg(self): - type = self.parse_type() - name = self.tokens.pop(0) - return '(%s, "%s")' % (type, name) - - def parse_type(self): - token = self.tokens.pop(0) - if token == 'const': - return 'Const(%s)' % self.parse_type() - if token == 'void': - type = 'Void' - else: - type = 'GL' + token - while self.tokens[0] == '*': - type = 'OpaquePointer(%s)' % type - self.tokens.pop(0) - return type - - -def main(): - for arg in sys.argv[1:]: - parser = TxtParser(open(arg, 'rt'), prefix='gl') - parser.parse() - - -if __name__ == '__main__': - main() diff --git a/apigen/reference-opengl-arb.sh b/apigen/reference-opengl-arb.sh deleted file mode 100755 index 670ba17..0000000 --- a/apigen/reference-opengl-arb.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Script to extract reference URLs for functions documented in OpenGL ARB specs - -extract_urls () { - for URL - do - lynx -dump "$URL" | sed -n -e '/^References$/,$s/^ *[0-9]\+\. \+//p' | sed -e 's/ /%20/g' - done -} - -extract_functions () { - sed -n -e '/^New Procedures and Functions$/,/^\w/ s/.* \(\w\+\)(.*$/\1/p' "$@" \ - | sed -e '/^[A-Z]/s/^/gl/' -} - -extract_urls http://www.opengl.org/registry/ \ -| grep '^http://www\.opengl\.org/registry/specs/ARB/.*\.txt$' \ -| sort -u \ -| while read URL -do - wget --quiet -O - $URL \ - | extract_functions \ - | while read FUNCTION - do - echo "$FUNCTION $URL" - done -done - - - diff --git a/apigen/reference-opengl-man.sh b/apigen/reference-opengl-man.sh deleted file mode 100755 index 20bdaa6..0000000 --- a/apigen/reference-opengl-man.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Script to extract reference URLS for functions documented in OpenGL man pages - -wget -N -r -np http://www.opengl.org/sdk/docs/{man,man2,man3,man4}/ - -find www.opengl.org -type f -name '*.xml' \ -| xargs grep -o '[^<]*' \ -| sed -e 's/<[^>]*>//g' -e 's@^\(.*\):\(.*\)$@\2\thttp://\1@' diff --git a/apigen/sort.sh b/apigen/sort.sh deleted file mode 100755 index 5cdc6a4..0000000 --- a/apigen/sort.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -sed -e 's/\(^.*#\) \(0x\w\+\)$/\2 \1/' "$@" | sort | sed -e 's/\(0x\w\+\) \(.*#\)$/\2 \1/' diff --git a/apigen/wglenum.sh b/apigen/wglenum.sh deleted file mode 100755 index 97f969d..0000000 --- a/apigen/wglenum.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -sed -n -e 's/^\s\+\(WGL_\S\+\)\s*=\s*\(0x2\w\w\w\)\s*$/\2 \1/p' "$@" \ -| sort -u \ -| sed -e 's/\(\S\+\)\s\+\(\S\+\)/ "\2",\t\t# \1/' diff --git a/cglapi.py b/cglapi.py deleted file mode 100644 index 1aac1b2..0000000 --- a/cglapi.py +++ /dev/null @@ -1,254 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""CGL API description.""" - - -from stdapi import * -from glapi import * -from glapi import glapi - -IOSurfaceRef = Opaque("IOSurfaceRef") -CGLContextObj = Opaque("CGLContextObj") -CGLPixelFormatObj = Opaque("CGLPixelFormatObj") -CGLRendererInfoObj = Opaque("CGLRendererInfoObj") -CGLPBufferObj = Opaque("CGLPBufferObj") -CGLShareGroup = Opaque("CGLShareGroup") -CGLShareGroupObj = Opaque("CGLShareGroupObj") -CGSConnectionID = Alias("CGSConnectionID", Int) -CGSWindowID = Alias("CGSWindowID", Int) -CGSSurfaceID = Alias("CGSSurfaceID", Int) - -CGLPixelFormatAttribute = Enum("CGLPixelFormatAttribute", [ - "kCGLPFAAllRenderers", - "kCGLPFADoubleBuffer", - "kCGLPFAStereo", - "kCGLPFAAuxBuffers", - "kCGLPFAColorSize", - "kCGLPFAAlphaSize", - "kCGLPFADepthSize", - "kCGLPFAStencilSize", - "kCGLPFAAccumSize", - "kCGLPFAMinimumPolicy", - "kCGLPFAMaximumPolicy", - "kCGLPFAOffScreen", - "kCGLPFAFullScreen", - "kCGLPFASampleBuffers", - "kCGLPFASamples", - "kCGLPFAAuxDepthStencil", - "kCGLPFAColorFloat", - "kCGLPFAMultisample", - "kCGLPFASupersample", - "kCGLPFASampleAlpha", - "kCGLPFARendererID", - "kCGLPFASingleRenderer", - "kCGLPFANoRecovery", - "kCGLPFAAccelerated", - "kCGLPFAClosestPolicy", - "kCGLPFABackingStore", - "kCGLPFAWindow", - "kCGLPFACompliant", - "kCGLPFADisplayMask", - "kCGLPFAPBuffer", - "kCGLPFARemotePBuffer", - "kCGLPFAAllowOfflineRenderers", - "kCGLPFAAcceleratedCompute", - "kCGLPFAVirtualScreenCount", - "kCGLPFARobust", - "kCGLPFAMPSafe", - "kCGLPFAMultiScreen", -]) - -CGLRendererProperty = Enum("CGLRendererProperty", [ - "kCGLRPOffScreen", - "kCGLRPFullScreen", - "kCGLRPRendererID", - "kCGLRPAccelerated", - "kCGLRPRobust", - "kCGLRPBackingStore", - "kCGLRPMPSafe", - "kCGLRPWindow", - "kCGLRPMultiScreen", - "kCGLRPCompliant", - "kCGLRPDisplayMask", - "kCGLRPBufferModes", - "kCGLRPColorModes", - "kCGLRPAccumModes", - "kCGLRPDepthModes", - "kCGLRPStencilModes", - "kCGLRPMaxAuxBuffers", - "kCGLRPMaxSampleBuffers", - "kCGLRPMaxSamples", - "kCGLRPSampleModes", - "kCGLRPSampleAlpha", - "kCGLRPVideoMemory", - "kCGLRPTextureMemory", - "kCGLRPGPUVertProcCapable", - "kCGLRPGPUFragProcCapable", - "kCGLRPRendererCount", - "kCGLRPOnline", - "kCGLRPAcceleratedCompute", -]) - -CGLContextEnable = Enum("CGLContextEnable", [ - "kCGLCESwapRectangle", - "kCGLCESwapLimit", - "kCGLCERasterization", - "kCGLCEStateValidation", - "kCGLCESurfaceBackingSize", - "kCGLCEDisplayListOptimization", - "kCGLCEMPEngine", -]) - -CGLContextParameter = Enum("CGLContextParameter", [ - "kCGLCPSwapRectangle", - "kCGLCPSwapInterval", - "kCGLCPDispatchTableSize", - "kCGLCPClientStorage", - "kCGLCPSurfaceTexture", - "kCGLCPSurfaceOrder", - "kCGLCPSurfaceOpacity", - "kCGLCPSurfaceBackingSize", - "kCGLCPSurfaceSurfaceVolatile", - "kCGLCPReclaimResources", - "kCGLCPCurrentRendererID", - "kCGLCPGPUVertexProcessing", - "kCGLCPGPUFragmentProcessing", - "kCGLCPHasDrawable", - "kCGLCPMPSwapsInFlight", -]) - -CGLGlobalOption = Enum("CGLGlobalOption", [ - "kCGLGOFormatCacheSize", - "kCGLGOClearFormatCache", - "kCGLGORetainRenderers", - "kCGLGOResetLibrary", - "kCGLGOUseErrorHandler", - "kCGLGOUseBuildCache", -]) - -CGLError = Enum("CGLError", [ - "kCGLNoError", - "kCGLBadAttribute", - "kCGLBadProperty", - "kCGLBadPixelFormat", - "kCGLBadRendererInfo", - "kCGLBadContext", - "kCGLBadDrawable", - "kCGLBadDisplay", - "kCGLBadState", - "kCGLBadValue", - "kCGLBadMatch", - "kCGLBadEnumeration", - "kCGLBadOffScreen", - "kCGLBadFullScreen", - "kCGLBadWindow", - "kCGLBadAddress", - "kCGLBadCodeModule", - "kCGLBadAlloc", - "kCGLBadConnection", -]) - -CGLContextObj = Opaque("CGLContextObj") - -cglapi = API("CGL") - -cglapi.add_functions([ - # CGLCurrent.h, libGL.dylib - Function(CGLError, "CGLSetCurrentContext", [(CGLContextObj, "ctx")]), - Function(CGLContextObj, "CGLGetCurrentContext", []), - - # OpenGL.h, OpenGL framework - Function(CGLError, "CGLChoosePixelFormat", [(OpaquePointer(Const(CGLPixelFormatAttribute)), "attribs"), (OpaquePointer(CGLPixelFormatObj), "pix"), (OpaquePointer(GLint), "npix")]), - Function(CGLError, "CGLDestroyPixelFormat", [(CGLPixelFormatObj, "pix")]), - Function(CGLError, "CGLDescribePixelFormat", [(CGLPixelFormatObj, "pix"), (GLint, "pix_num"), (CGLPixelFormatAttribute, "attrib"), (OpaquePointer(GLint), "value")]), - Function(Void, "CGLReleasePixelFormat", [(CGLPixelFormatObj, "pix")]), - Function(CGLPixelFormatObj, "CGLRetainPixelFormat", [(CGLPixelFormatObj, "pix")]), - Function(GLuint, "CGLGetPixelFormatRetainCount", [(CGLPixelFormatObj, "pix")]), - Function(CGLError, "CGLQueryRendererInfo", [(GLuint, "display_mask"), (OpaquePointer(CGLRendererInfoObj), "rend"), (OpaquePointer(GLint), "nrend")]), - Function(CGLError, "CGLDestroyRendererInfo", [(CGLRendererInfoObj, "rend")]), - Function(CGLError, "CGLDescribeRenderer", [(CGLRendererInfoObj, "rend"), (GLint, "rend_num"), (CGLRendererProperty, "prop"), (OpaquePointer(GLint), "value")]), - Function(CGLError, "CGLCreateContext", [(CGLPixelFormatObj, "pix"), (CGLContextObj, "share"), (OpaquePointer(CGLContextObj), "ctx")]), - Function(CGLError, "CGLDestroyContext", [(CGLContextObj, "ctx")]), - Function(CGLError, "CGLCopyContext", [(CGLContextObj, "src"), (CGLContextObj, "dst"), (GLbitfield, "mask")]), - Function(CGLContextObj, "CGLRetainContext", [(CGLContextObj, "ctx")]), - Function(Void, "CGLReleaseContext", [(CGLContextObj, "ctx")]), - Function(GLuint, "CGLGetContextRetainCount", [(CGLContextObj, "ctx")]), - Function(CGLPixelFormatObj, "CGLGetPixelFormat", [(CGLContextObj, "ctx")]), - Function(CGLError, "CGLCreatePBuffer", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "target"), (GLenum, "internalFormat"), (GLint, "max_level"), (OpaquePointer(CGLPBufferObj), "pbuffer")]), - Function(CGLError, "CGLDestroyPBuffer", [(CGLPBufferObj, "pbuffer")]), - Function(CGLError, "CGLDescribePBuffer", [(CGLPBufferObj, "obj"), (OpaquePointer(GLsizei), "width"), (OpaquePointer(GLsizei), "height"), (OpaquePointer(GLenum), "target"), (OpaquePointer(GLenum), "internalFormat"), (OpaquePointer(GLint), "mipmap")]), - Function(CGLError, "CGLTexImagePBuffer", [(CGLContextObj, "ctx"), (CGLPBufferObj, "pbuffer"), (GLenum, "source")]), - Function(CGLPBufferObj, "CGLRetainPBuffer", [(CGLPBufferObj, "pbuffer")]), - Function(Void, "CGLReleasePBuffer", [(CGLPBufferObj, "pbuffer")]), - Function(GLuint, "CGLGetPBufferRetainCount", [(CGLPBufferObj, "pbuffer")]), - Function(CGLError, "CGLSetOffScreen", [(CGLContextObj, "ctx"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "rowbytes"), (OpaquePointer(Void), "baseaddr")]), - Function(CGLError, "CGLGetOffScreen", [(CGLContextObj, "ctx"), (OpaquePointer(GLsizei), "width"), (OpaquePointer(GLsizei), "height"), (OpaquePointer(GLint), "rowbytes"), (OpaquePointer(OpaquePointer(Void)), "baseaddr")]), - Function(CGLError, "CGLSetFullScreen", [(CGLContextObj, "ctx")]), - Function(CGLError, "CGLSetFullScreenOnDisplay", [(CGLContextObj, "ctx"), (GLuint, "display_mask")]), - Function(CGLError, "CGLSetPBuffer", [(CGLContextObj, "ctx"), (CGLPBufferObj, "pbuffer"), (GLenum, "face"), (GLint, "level"), (GLint, "screen")]), - Function(CGLError, "CGLGetPBuffer", [(CGLContextObj, "ctx"), (OpaquePointer(CGLPBufferObj), "pbuffer"), (OpaquePointer(GLenum), "face"), (OpaquePointer(GLint), "level"), (OpaquePointer(GLint), "screen")]), - Function(CGLError, "CGLClearDrawable", [(CGLContextObj, "ctx")]), - Function(CGLError, "CGLFlushDrawable", [(CGLContextObj, "ctx")]), - Function(CGLError, "CGLEnable", [(CGLContextObj, "ctx"), (CGLContextEnable, "pname")]), - Function(CGLError, "CGLDisable", [(CGLContextObj, "ctx"), (CGLContextEnable, "pname")]), - Function(CGLError, "CGLIsEnabled", [(CGLContextObj, "ctx"), (CGLContextEnable, "pname"), (OpaquePointer(GLint), "enable")]), - Function(CGLError, "CGLSetParameter", [(CGLContextObj, "ctx"), (CGLContextParameter, "pname"), (OpaquePointer(Const(GLint)), "params")]), - Function(CGLError, "CGLGetParameter", [(CGLContextObj, "ctx"), (CGLContextParameter, "pname"), (OpaquePointer(GLint), "params")]), - Function(CGLError, "CGLSetVirtualScreen", [(CGLContextObj, "ctx"), (GLint, "screen")]), - Function(CGLError, "CGLGetVirtualScreen", [(CGLContextObj, "ctx"), (OpaquePointer(GLint), "screen")]), - Function(CGLError, "CGLSetGlobalOption", [(CGLGlobalOption, "pname"), (OpaquePointer(Const(GLint)), "params")]), - Function(CGLError, "CGLGetGlobalOption", [(CGLGlobalOption, "pname"), (OpaquePointer(GLint), "params")]), - Function(CGLError, "CGLSetOption", [(CGLGlobalOption, "pname"), (GLint, "param")]), - Function(CGLError, "CGLGetOption", [(CGLGlobalOption, "pname"), (OpaquePointer(GLint), "param")]), - Function(CGLError, "CGLLockContext", [(CGLContextObj, "ctx")]), - Function(CGLError, "CGLUnlockContext", [(CGLContextObj, "ctx")]), - Function(Void, "CGLGetVersion", [(OpaquePointer(GLint), "majorvers"), (OpaquePointer(GLint), "minorvers")]), - Function(Const(CString), "CGLErrorString", [(CGLError, "error")]), - - # CGLIOSurface.h, OpenGL framework - Function(CGLError, "CGLTexImageIOSurface2D", [(CGLContextObj, "ctx"), (GLenum, "target"), (GLenum, "internal_format"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (IOSurfaceRef, "ioSurface"), (GLuint, "plane")]), - - # CGLDevice.h, OpenGL framework - Function(CGLShareGroupObj, "CGLGetShareGroup", [(CGLContextObj, "ctx")]), - - # Undocumented, OpenGL framework - Function(CGLError, "CGLSetSurface", [(CGLContextObj, "ctx"), (CGSConnectionID, "cid"), (CGSWindowID, "wid"), (CGSSurfaceID, "sid")]), - Function(CGLError, "CGLGetSurface", [(CGLContextObj, "ctx"), (OpaquePointer(CGSConnectionID), "cid"), (OpaquePointer(CGSWindowID), "wid"), (OpaquePointer(CGSSurfaceID), "sid")]), - Function(CGLError, "CGLUpdateContext", [(CGLContextObj, "ctx")]), - # XXX: Confirm CGLOpenCLMuxLockDown - Function(CGLError, "CGLOpenCLMuxLockDown", []), - # FIXME: CGLAreContextsShared - # FIXME: CGLBackDispatch - # FIXME: CGLFrontDispatch - # FIXME: CGLGetNextContext - # FIXME: CGLRestoreDispatch - # FIXME: CGLRestoreDispatchFunction - # FIXME: CGLSelectDispatch - # FIXME: CGLSelectDispatchBounded - # FIXME: CGLSelectDispatchFunction - # FIXME: CGLSetPBufferVolatileState -]) - diff --git a/cgltrace.py b/cgltrace.py index 92626f3..d2b52ef 100644 --- a/cgltrace.py +++ b/cgltrace.py @@ -27,9 +27,9 @@ """Cgl tracing generator.""" -from stdapi import API -from glapi import glapi -from cglapi import cglapi +from specs.stdapi import API +from specs.glapi import glapi +from specs.cglapi import cglapi from gltrace import GlTracer diff --git a/d3d.py b/d3d.py deleted file mode 100644 index 857e5b3..0000000 --- a/d3d.py +++ /dev/null @@ -1,475 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d.h""" - -from winapi import * -from ddraw import * -from d3dtypes import * -from d3dcaps import * - -def OutPointer(type): - return Out(Pointer(type), "out") - -d3dnextFlags = Flags(DWORD, [ - "D3DNEXT_NEXT", - "D3DNEXT_HEAD", - "D3DNEXT_TAIL", -]) - -direct3dFlags = Flags(DWORD, [ - "DIRECT3D_VERSION", -]) - -d3ddpFlags = Flags(DWORD, [ - "D3DDP_WAIT", - "D3DDP_OUTOFORDER", - "D3DDP_DONOTCLIP", - "D3DDP_DONOTUPDATEEXTENTS", - "D3DDP_DONOTLIGHT", -]) - -HRESULT = Enum("HRESULT", [ - "D3D_OK", - "D3DERR_BADMAJORVERSION", - "D3DERR_BADMINORVERSION", - "D3DERR_INVALID_DEVICE", - "D3DERR_INITFAILED", - "D3DERR_DEVICEAGGREGATED", - "D3DERR_EXECUTE_CREATE_FAILED", - "D3DERR_EXECUTE_DESTROY_FAILED", - "D3DERR_EXECUTE_LOCK_FAILED", - "D3DERR_EXECUTE_UNLOCK_FAILED", - "D3DERR_EXECUTE_LOCKED", - "D3DERR_EXECUTE_NOT_LOCKED", - "D3DERR_EXECUTE_FAILED", - "D3DERR_EXECUTE_CLIPPED_FAILED", - "D3DERR_TEXTURE_NO_SUPPORT", - "D3DERR_TEXTURE_CREATE_FAILED", - "D3DERR_TEXTURE_DESTROY_FAILED", - "D3DERR_TEXTURE_LOCK_FAILED", - "D3DERR_TEXTURE_UNLOCK_FAILED", - "D3DERR_TEXTURE_LOAD_FAILED", - "D3DERR_TEXTURE_SWAP_FAILED", - "D3DERR_TEXTURE_LOCKED", - "D3DERR_TEXTURE_NOT_LOCKED", - "D3DERR_TEXTURE_GETSURF_FAILED", - "D3DERR_MATRIX_CREATE_FAILED", - "D3DERR_MATRIX_DESTROY_FAILED", - "D3DERR_MATRIX_SETDATA_FAILED", - "D3DERR_MATRIX_GETDATA_FAILED", - "D3DERR_SETVIEWPORTDATA_FAILED", - "D3DERR_INVALIDCURRENTVIEWPORT", - "D3DERR_INVALIDPRIMITIVETYPE", - "D3DERR_INVALIDVERTEXTYPE", - "D3DERR_TEXTURE_BADSIZE", - "D3DERR_INVALIDRAMPTEXTURE", - "D3DERR_MATERIAL_CREATE_FAILED", - "D3DERR_MATERIAL_DESTROY_FAILED", - "D3DERR_MATERIAL_SETDATA_FAILED", - "D3DERR_MATERIAL_GETDATA_FAILED", - "D3DERR_INVALIDPALETTE", - "D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY", - "D3DERR_ZBUFF_NEEDS_VIDEOMEMORY", - "D3DERR_SURFACENOTINVIDMEM", - "D3DERR_LIGHT_SET_FAILED", - "D3DERR_LIGHTHASVIEWPORT", - "D3DERR_LIGHTNOTINTHISVIEWPORT", - "D3DERR_SCENE_IN_SCENE", - "D3DERR_SCENE_NOT_IN_SCENE", - "D3DERR_SCENE_BEGIN_FAILED", - "D3DERR_SCENE_END_FAILED", - "D3DERR_INBEGIN", - "D3DERR_NOTINBEGIN", - "D3DERR_NOVIEWPORTS", - "D3DERR_VIEWPORTDATANOTSET", - "D3DERR_VIEWPORTHASNODEVICE", - "D3DERR_NOCURRENTVIEWPORT", - "D3DERR_INVALIDVERTEXFORMAT", - "D3DERR_COLORKEYATTACHED", - "D3DERR_VERTEXBUFFEROPTIMIZED", - "D3DERR_VBUF_CREATE_FAILED", - "D3DERR_VERTEXBUFFERLOCKED", - "D3DERR_VERTEXBUFFERUNLOCKFAILED", - "D3DERR_ZBUFFER_NOTPRESENT", - "D3DERR_STENCILBUFFER_NOTPRESENT", - "D3DERR_WRONGTEXTUREFORMAT", - "D3DERR_UNSUPPORTEDCOLOROPERATION", - "D3DERR_UNSUPPORTEDCOLORARG", - "D3DERR_UNSUPPORTEDALPHAOPERATION", - "D3DERR_UNSUPPORTEDALPHAARG", - "D3DERR_TOOMANYOPERATIONS", - "D3DERR_CONFLICTINGTEXTUREFILTER", - "D3DERR_UNSUPPORTEDFACTORVALUE", - "D3DERR_CONFLICTINGRENDERSTATE", - "D3DERR_UNSUPPORTEDTEXTUREFILTER", - "D3DERR_TOOMANYPRIMITIVES", - "D3DERR_INVALIDMATRIX", - "D3DERR_TOOMANYVERTICES", - "D3DERR_CONFLICTINGTEXTUREPALETTE", - "D3DERR_INVALIDSTATEBLOCK", - "D3DERR_INBEGINSTATEBLOCK", - "D3DERR_NOTINBEGINSTATEBLOCK", -]) - -IDirect3D = Interface("IDirect3D", IUnknown) -IDirect3D2 = Interface("IDirect3D2", IUnknown) -IDirect3D3 = Interface("IDirect3D3", IUnknown) -IDirect3D7 = Interface("IDirect3D7", IUnknown) -IDirect3DDevice = Interface("IDirect3DDevice", IUnknown) -IDirect3DDevice2 = Interface("IDirect3DDevice2", IUnknown) -IDirect3DDevice3 = Interface("IDirect3DDevice3", IUnknown) -IDirect3DDevice7 = Interface("IDirect3DDevice7", IUnknown) -IDirect3DExecuteBuffer = Interface("IDirect3DExecuteBuffer", IUnknown) -IDirect3DLight = Interface("IDirect3DLight", IUnknown) -IDirect3DMaterial = Interface("IDirect3DMaterial", IUnknown) -IDirect3DMaterial2 = Interface("IDirect3DMaterial2", IUnknown) -IDirect3DMaterial3 = Interface("IDirect3DMaterial3", IUnknown) -IDirect3DTexture = Interface("IDirect3DTexture", IUnknown) -IDirect3DTexture2 = Interface("IDirect3DTexture2", IUnknown) -IDirect3DViewport = Interface("IDirect3DViewport", IUnknown) -IDirect3DViewport2 = Interface("IDirect3DViewport2", IDirect3DViewport) -IDirect3DViewport3 = Interface("IDirect3DViewport3", IDirect3DViewport2) -IDirect3DVertexBuffer = Interface("IDirect3DVertexBuffer", IUnknown) -IDirect3DVertexBuffer7 = Interface("IDirect3DVertexBuffer7", IUnknown) - -LPUNKNOWN = WrapPointer(IUnknown) - -LPDIRECT3D = WrapPointer(IDirect3D) -LPDIRECT3DDEVICE = WrapPointer(IDirect3DDevice) -LPDIRECT3DEXECUTEBUFFER = WrapPointer(IDirect3DExecuteBuffer) -LPDIRECT3DLIGHT = WrapPointer(IDirect3DLight) -LPDIRECT3DMATERIAL = WrapPointer(IDirect3DMaterial) -LPDIRECT3DTEXTURE = WrapPointer(IDirect3DTexture) -LPDIRECT3DVIEWPORT = WrapPointer(IDirect3DViewport) - -LPDIRECT3D2 = WrapPointer(IDirect3D2) -LPDIRECT3DDEVICE2 = WrapPointer(IDirect3DDevice2) -LPDIRECT3DMATERIAL2 = WrapPointer(IDirect3DMaterial2) -LPDIRECT3DTEXTURE2 = WrapPointer(IDirect3DTexture2) -LPDIRECT3DVIEWPORT2 = WrapPointer(IDirect3DViewport2) - -LPDIRECT3D3 = WrapPointer(IDirect3D3) -LPDIRECT3DDEVICE3 = WrapPointer(IDirect3DDevice3) -LPDIRECT3DMATERIAL3 = WrapPointer(IDirect3DMaterial3) -LPDIRECT3DVIEWPORT3 = WrapPointer(IDirect3DViewport3) -LPDIRECT3DVERTEXBUFFER = WrapPointer(IDirect3DVertexBuffer) - -LPDIRECT3D7 = WrapPointer(IDirect3D7) -LPDIRECT3DDEVICE7 = WrapPointer(IDirect3DDevice7) -LPDIRECT3DVERTEXBUFFER7 = WrapPointer(IDirect3DVertexBuffer7) - -IDirect3D.methods += [ - Method(HRESULT, "Initialize", [(REFCLSID, "riid")]), - Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), - Method(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL), "lplpDirect3DMaterial"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT), "lplpD3DViewport"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), (LPD3DFINDDEVICERESULT, "lplpD3DDevice")]), -] - -IDirect3D2.methods += [ - Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), - Method(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL2), "lplpDirect3DMaterial2"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpD3DViewport2"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), (LPD3DFINDDEVICERESULT, "lpD3DFDR")]), - Method(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE2), "lplpD3DDevice2")]), -] - -IDirect3D3.methods += [ - Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), - Method(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL3), "lplpDirect3DMaterial3"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpD3DViewport3"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), Out(LPD3DFINDDEVICERESULT, "lpD3DFDR")]), - Method(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE4, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE3), "lplpD3DDevice3"), (LPUNKNOWN, "lpUnk")]), - Method(HRESULT, "CreateVertexBuffer", [(LPD3DVERTEXBUFFERDESC, "lpD3DVertBufDesc"), Out(Pointer(LPDIRECT3DVERTEXBUFFER), "lplpD3DVertBuf"), (DWORD, "dwFlags"), (LPUNKNOWN, "lpUnk")]), - Method(HRESULT, "EnumZBufferFormats", [(REFCLSID, "riidDevice"), (LPD3DENUMPIXELFORMATSCALLBACK, "lpEnumCallback"), (LPVOID, "lpContext")]), - Method(HRESULT, "EvictManagedTextures", []), -] - -IDirect3D7.methods += [ - Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK7, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), - Method(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE7, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE7), "lplpD3DDevice")]), - Method(HRESULT, "CreateVertexBuffer", [(LPD3DVERTEXBUFFERDESC, "lpD3DVertBufDesc"), Out(Pointer(LPDIRECT3DVERTEXBUFFER7), "lplpD3DVertBuf"), (DWORD, "dwFlags")]), - Method(HRESULT, "EnumZBufferFormats", [(REFCLSID, "riidDevice"), (LPD3DENUMPIXELFORMATSCALLBACK, "lpEnumCallback"), (LPVOID, "lpContext")]), - Method(HRESULT, "EvictManagedTextures", []), -] - -IDirect3DDevice.methods += [ - Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D"), (LPGUID, "lpGUID"), (LPD3DDEVICEDESC, "lpD3DDVDesc")]), - Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")]), - Method(HRESULT, "SwapTextureHandles", [(LPDIRECT3DTEXTURE, "lpD3Dtex1"), (LPDIRECT3DTEXTURE, "lpD3DTex2")]), - Method(HRESULT, "CreateExecuteBuffer", [(LPD3DEXECUTEBUFFERDESC, "lpDesc"), Out(Pointer(LPDIRECT3DEXECUTEBUFFER), "lplpDirect3DExecuteBuffer"), (LPUNKNOWN, "pUnkOuter")]), - Method(HRESULT, "GetStats", [(LPD3DSTATS, "lpD3DStats")]), - Method(HRESULT, "Execute", [(LPDIRECT3DEXECUTEBUFFER, "lpDirect3DExecuteBuffer"), (LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), (DWORD, "dwFlags")]), - Method(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport")]), - Method(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport")]), - Method(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), Out(Pointer(LPDIRECT3DVIEWPORT), "lplpDirect3DViewport"), (DWORD, "dwFlags")]), - Method(HRESULT, "Pick", [(LPDIRECT3DEXECUTEBUFFER, "lpDirect3DExecuteBuffer"), (LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), (DWORD, "dwFlags"), (LPD3DRECT, "lpRect")]), - Method(HRESULT, "GetPickRecords", [(LPDWORD, "lpCount"), (LPD3DPICKRECORD, "lpD3DPickRec")]), - Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMTEXTUREFORMATSCALLBACK, "lpD3DEnumTextureProc"), (LPVOID, "lpArg")]), - Method(HRESULT, "CreateMatrix", [Out(LPD3DMATRIXHANDLE, "lpD3DMatHandle")]), - Method(HRESULT, "SetMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle"), (Const(LPD3DMATRIX), "lpD3DMatrix")]), - Method(HRESULT, "GetMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle"), Out(LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "DeleteMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle")]), - Method(HRESULT, "BeginScene", []), - Method(HRESULT, "EndScene", []), - Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D), "lplpDirect3D")]), -] - -IDirect3DDevice2.methods += [ - Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")]), - Method(HRESULT, "SwapTextureHandles", [(LPDIRECT3DTEXTURE2, "lpD3DTex1"), (LPDIRECT3DTEXTURE2, "lpD3DTex2")]), - Method(HRESULT, "GetStats", [Out(LPD3DSTATS, "lpD3DStats")]), - Method(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), - Method(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), - Method(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2"), Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpDirect3DViewport2"), (DWORD, "dwFlags")]), - Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMTEXTUREFORMATSCALLBACK, "lpD3DEnumTextureProc"), (LPVOID, "lpArg")]), - Method(HRESULT, "BeginScene", []), - Method(HRESULT, "EndScene", []), - Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D2), "lplpDirect3D2")]), - Method(HRESULT, "SetCurrentViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), - Method(HRESULT, "GetCurrentViewport", [Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpDirect3DViewport2")]), - Method(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE, "lpNewRenderTarget"), (DWORD, "dwFlags")]), - Method(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpRenderTarget")]), - Method(HRESULT, "Begin", [(D3DPRIMITIVETYPE, "d3dpt"), (D3DVERTEXTYPE, "dwVertexTypeDesc"), (DWORD, "dwFlags")]), - Method(HRESULT, "BeginIndexed", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), - Method(HRESULT, "Vertex", [(LPVOID, "lpVertexType")]), - Method(HRESULT, "Index", [(WORD, "wVertexIndex")]), - Method(HRESULT, "End", [(DWORD, "dwFlags")]), - Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")]), - Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), - Method(HRESULT, "GetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), Out(LPDWORD, "lpdwLightState")]), - Method(HRESULT, "SetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), (DWORD, "dwLightState")]), - Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "dwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), - Method(HRESULT, "GetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), -] - -IDirect3DDevice3.methods += [ - Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")]), - Method(HRESULT, "GetStats", [Out(LPD3DSTATS, "lpD3DStats")]), - Method(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), - Method(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), - Method(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3"), Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpDirect3DViewport3"), (DWORD, "dwFlags")]), - Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMPIXELFORMATSCALLBACK, "lpD3DEnumPixelProc"), (LPVOID, "lpArg")]), - Method(HRESULT, "BeginScene", []), - Method(HRESULT, "EndScene", []), - Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D3), "lplpDirect3D3")]), - Method(HRESULT, "SetCurrentViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), - Method(HRESULT, "GetCurrentViewport", [Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpDirect3DViewport3")]), - Method(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE4, "lpNewRenderTarget"), (DWORD, "dwFlags")]), - Method(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpRenderTarget")]), - Method(HRESULT, "Begin", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexTypeDesc"), (DWORD, "dwFlags")]), - Method(HRESULT, "BeginIndexed", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), - Method(HRESULT, "Vertex", [(LPVOID, "lpVertexType")]), - Method(HRESULT, "Index", [(WORD, "wVertexIndex")]), - Method(HRESULT, "End", [(DWORD, "dwFlags")]), - Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")]), - Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), - Method(HRESULT, "GetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), Out(LPDWORD, "lpdwLightState")]), - Method(HRESULT, "SetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), (DWORD, "dwLightState")]), - Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "dwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), - Method(HRESULT, "GetClipStatus", [Out(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), - Method(HRESULT, "DrawPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (LPWORD, "lpIndex"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER, "lpD3DVertexBuf"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "ComputeSphereVisibility", [(LPD3DVECTOR, "lpCenters"), (LPD3DVALUE, "lpRadii"), (DWORD, "dwNumSpheres"), (DWORD, "dwFlags"), (LPDWORD, "lpdwReturnValues")]), - Method(HRESULT, "GetTexture", [(DWORD, "dwStage"), Out(Pointer(LPDIRECT3DTEXTURE2), "lplpTexture2")]), - Method(HRESULT, "SetTexture", [(DWORD, "dwStage"), (LPDIRECT3DTEXTURE2, "lpTexture2")]), - Method(HRESULT, "GetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), Out(LPDWORD, "lpdwState")]), - Method(HRESULT, "SetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), (DWORD, "dwState")]), - Method(HRESULT, "ValidateDevice", [(LPDWORD, "lpdwPasses")]), -] - -IDirect3DDevice7.methods += [ - Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC7, "lpD3DHELDevDesc")]), - Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMPIXELFORMATSCALLBACK, "lpD3DEnumPixelProc"), (LPVOID, "lpArg")]), - Method(HRESULT, "BeginScene", []), - Method(HRESULT, "EndScene", []), - Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D7), "lplpDirect3D3")]), - Method(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE7, "lpNewRenderTarget"), (DWORD, "dwFlags")]), - Method(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpRenderTarget")]), - Method(HRESULT, "Clear", [(DWORD, "dwCount"), (LPD3DRECT, "lpRects"), (DWORD, "dwFlags"), (D3DCOLOR, "dwColor"), (D3DVALUE, "dvZ"), (DWORD, "dwStencil")]), - Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "SetViewport", [(LPD3DVIEWPORT7, "lpData")]), - Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), - Method(HRESULT, "GetViewport", [Out(LPD3DVIEWPORT7, "lpData")]), - Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL7, "lpMat")]), - Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL7, "lpMat")]), - Method(HRESULT, "SetLight", [(DWORD, "dwLightIndex"), (LPD3DLIGHT7, "lpLight")]), - Method(HRESULT, "GetLight", [(DWORD, "dwLightIndex"), (LPD3DLIGHT7, "lpLight")]), - Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), - Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")]), - Method(HRESULT, "BeginStateBlock", []), - Method(HRESULT, "EndStateBlock", [Out(LPDWORD, "lpdwBlockHandle")]), - Method(HRESULT, "PreLoad", [(LPDIRECTDRAWSURFACE7, "lpddsTexture")]), - Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "dwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), - Method(HRESULT, "GetClipStatus", [Out(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), - Method(HRESULT, "DrawPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (LPWORD, "lpIndex"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER7, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), - Method(HRESULT, "DrawIndexedPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER7, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), - Method(HRESULT, "ComputeSphereVisibility", [(LPD3DVECTOR, "lpCenters"), (LPD3DVALUE, "lpRadii"), (DWORD, "dwNumSpheres"), (DWORD, "dwFlags"), (LPDWORD, "lpdwReturnValues")]), - Method(HRESULT, "GetTexture", [(DWORD, "dwStage"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lpTexture")]), - Method(HRESULT, "SetTexture", [(DWORD, "dwStage"), (LPDIRECTDRAWSURFACE7, "lpTexture")]), - Method(HRESULT, "GetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), Out(LPDWORD, "lpdwState")]), - Method(HRESULT, "SetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), (DWORD, "dwState")]), - Method(HRESULT, "ValidateDevice", [Out(LPDWORD, "lpdwPasses")]), - Method(HRESULT, "ApplyStateBlock", [(DWORD, "dwBlockHandle")]), - Method(HRESULT, "CaptureStateBlock", [(DWORD, "dwBlockHandle")]), - Method(HRESULT, "DeleteStateBlock", [(DWORD, "dwBlockHandle")]), - Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "d3dsbType"), Out(LPDWORD, "lpdwBlockHandle")]), - Method(HRESULT, "Load", [(LPDIRECTDRAWSURFACE7, "lpDestTex"), (LPPOINT, "lpDestPoint"), (LPDIRECTDRAWSURFACE7, "lpSrcTex"), (LPRECT, "lprcSrcRect"), (DWORD, "dwFlags")]), - Method(HRESULT, "LightEnable", [(DWORD, "dwLightIndex"), (BOOL, "bEnable")]), - Method(HRESULT, "GetLightEnable", [(DWORD, "dwLightIndex"), Out(Pointer(BOOL), "pbEnable")]), - Method(HRESULT, "SetClipPlane", [(DWORD, "dwIndex"), (Pointer(D3DVALUE), "pPlaneEquation")]), - Method(HRESULT, "GetClipPlane", [(DWORD, "dwIndex"), Out(Pointer(D3DVALUE), "pPlaneEquation")]), - Method(HRESULT, "GetInfo", [(DWORD, "dwDevInfoID"), Out(LPVOID, "pDevInfoStruct"), (DWORD, "dwSize")]), -] - -IDirect3DExecuteBuffer.methods += [ - Method(HRESULT, "Initialize", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), (LPD3DEXECUTEBUFFERDESC, "lpDesc")]), - Method(HRESULT, "Lock", [(LPD3DEXECUTEBUFFERDESC, "lpDesc")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "SetExecuteData", [(LPD3DEXECUTEDATA, "lpData")]), - Method(HRESULT, "GetExecuteData", [Out(LPD3DEXECUTEDATA, "lpData")]), - Method(HRESULT, "Validate", [(LPDWORD, "lpdwOffset"), (LPD3DVALIDATECALLBACK, "lpFunc"), (LPVOID, "lpUserArg"), (DWORD, "dwReserved")]), - Method(HRESULT, "Optimize", [(DWORD, "dwDummy")]), -] - -IDirect3DLight.methods += [ - Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), - Method(HRESULT, "SetLight", [(LPD3DLIGHT, "lpLight")]), - Method(HRESULT, "GetLight", [Out(LPD3DLIGHT, "lpLight")]), -] - -IDirect3DMaterial.methods += [ - Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), - Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), - Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")]), - Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), - Method(HRESULT, "Reserve", []), - Method(HRESULT, "Unreserve", []), -] - -IDirect3DMaterial2.methods += [ - Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), - Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")]), - Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE2, "lpDirect3DDevice2"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), -] - -IDirect3DMaterial3.methods += [ - Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), - Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")]), - Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE3, "lpDirect3DDevice3"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), -] - -IDirect3DTexture.methods += [ - Method(HRESULT, "Initialize", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), (LPDIRECTDRAWSURFACE, "lpDDSurface")]), - Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), Out(LPD3DTEXTUREHANDLE, "lpHandle")]), - Method(HRESULT, "PaletteChanged", [(DWORD, "dwStart"), (DWORD, "dwCount")]), - Method(HRESULT, "Load", [(LPDIRECT3DTEXTURE, "lpD3DTexture")]), - Method(HRESULT, "Unload", []), -] - -IDirect3DTexture2.methods += [ - Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE2, "lpDirect3DDevice2"), Out(LPD3DTEXTUREHANDLE, "lpHandle")]), - Method(HRESULT, "PaletteChanged", [(DWORD, "dwStart"), (DWORD, "dwCount")]), - Method(HRESULT, "Load", [(LPDIRECT3DTEXTURE2, "lpD3DTexture2")]), -] - -IDirect3DViewport.methods += [ - Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), - Method(HRESULT, "GetViewport", [Out(LPD3DVIEWPORT, "lpData")]), - Method(HRESULT, "SetViewport", [(LPD3DVIEWPORT, "lpData")]), - Method(HRESULT, "TransformVertices", [(DWORD, "dwVertexCount"), (LPD3DTRANSFORMDATA, "lpData"), (DWORD, "dwFlags"), (LPDWORD, "lpOffScreen")]), - Method(HRESULT, "LightElements", [(DWORD, "dwElementCount"), (LPD3DLIGHTDATA, "lpData")]), - Method(HRESULT, "SetBackground", [(D3DMATERIALHANDLE, "hMat")]), - Method(HRESULT, "GetBackground", [Out(LPD3DMATERIALHANDLE, "lphMat"), Out(LPBOOL, "lpValid")]), - Method(HRESULT, "SetBackgroundDepth", [(LPDIRECTDRAWSURFACE, "lpDDSurface")]), - Method(HRESULT, "GetBackgroundDepth", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), Out(LPBOOL, "lpValid")]), - Method(HRESULT, "Clear", [(DWORD, "dwCount"), (LPD3DRECT, "lpRects"), (DWORD, "dwFlags")]), - Method(HRESULT, "AddLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight")]), - Method(HRESULT, "DeleteLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight")]), - Method(HRESULT, "NextLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight"), Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (DWORD, "dwFlags")]), -] - -IDirect3DViewport2.methods += [ - Method(HRESULT, "GetViewport2", [Out(LPD3DVIEWPORT2, "lpData")]), - Method(HRESULT, "SetViewport2", [(LPD3DVIEWPORT2, "lpData")]), -] - -IDirect3DViewport3.methods += [ - Method(HRESULT, "SetBackgroundDepth2", [(LPDIRECTDRAWSURFACE4, "lpDDS")]), - Method(HRESULT, "GetBackgroundDepth2", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDS"), (LPBOOL, "lpValid")]), - Method(HRESULT, "Clear2", [(DWORD, "dwCount"), (LPD3DRECT, "lpRects"), (DWORD, "dwFlags"), (D3DCOLOR, "dwColor"), (D3DVALUE, "dvZ"), (DWORD, "dwStencil")]), -] - -IDirect3DVertexBuffer.methods += [ - Method(HRESULT, "Lock", [(DWORD, "dwFlags"), Out(Pointer(LPVOID), "lplpData"), (LPDWORD, "lpdwSize")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "ProcessVertices", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPDIRECT3DVERTEXBUFFER, "lpSrcBuffer"), (DWORD, "dwSrcIndex"), (LPDIRECT3DDEVICE3, "lpD3DDevice"), (DWORD, "dwFlags")]), - Method(HRESULT, "GetVertexBufferDesc", [Out(LPD3DVERTEXBUFFERDESC, "lpD3DVertexBufferDesc")]), - Method(HRESULT, "Optimize", [(LPDIRECT3DDEVICE3, "lpD3DDevice"), (DWORD, "dwFlags")]), -] - -IDirect3DVertexBuffer7.methods += [ - Method(HRESULT, "Lock", [(DWORD, "dwFlags"), Out(Pointer(LPVOID), "lplpData"), (LPDWORD, "lpdwSize")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "ProcessVertices", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPDIRECT3DVERTEXBUFFER7, "lpSrcBuffer"), (DWORD, "dwSrcIndex"), (LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), - Method(HRESULT, "GetVertexBufferDesc", [Out(LPD3DVERTEXBUFFERDESC, "lpD3DVertexBufferDesc")]), - Method(HRESULT, "Optimize", [(LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), - Method(HRESULT, "ProcessVerticesStrided", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpStrideData"), (DWORD, "dwVertexTypeDesc"), (LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), -] - -interfaces = [ - IDirectDraw, - IDirectDraw2, - IDirectDraw4, - IDirectDraw7, - IDirect3D, - IDirect3D2, - IDirect3D3, - IDirect3D7, -] - -ddraw.add_interfaces(interfaces) - diff --git a/d3d10.py b/d3d10.py deleted file mode 100644 index 8af7ee5..0000000 --- a/d3d10.py +++ /dev/null @@ -1,903 +0,0 @@ -########################################################################## -# -# Copyright 2011 Jose Fonseca -# 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 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. -# -##########################################################################/ - -from dxgi import * - -D3D10_BLEND = Enum("D3D10_BLEND", [ - "D3D10_BLEND_ZERO", - "D3D10_BLEND_ONE", - "D3D10_BLEND_SRC_COLOR", - "D3D10_BLEND_INV_SRC_COLOR", - "D3D10_BLEND_SRC_ALPHA", - "D3D10_BLEND_INV_SRC_ALPHA", - "D3D10_BLEND_DEST_ALPHA", - "D3D10_BLEND_INV_DEST_ALPHA", - "D3D10_BLEND_DEST_COLOR", - "D3D10_BLEND_INV_DEST_COLOR", - "D3D10_BLEND_SRC_ALPHA_SAT", - "D3D10_BLEND_BLEND_FACTOR", - "D3D10_BLEND_INV_BLEND_FACTOR", - "D3D10_BLEND_SRC1_COLOR", - "D3D10_BLEND_INV_SRC1_COLOR", - "D3D10_BLEND_SRC1_ALPHA", - "D3D10_BLEND_INV_SRC1_ALPHA", -]) - -D3D10_BLEND_OP = Enum("D3D10_BLEND_OP", [ - "D3D10_BLEND_OP_ADD", - "D3D10_BLEND_OP_SUBTRACT", - "D3D10_BLEND_OP_REV_SUBTRACT", - "D3D10_BLEND_OP_MIN", - "D3D10_BLEND_OP_MAX", -]) - -D3D10_BLEND_DESC = Struct("D3D10_BLEND_DESC", [ - (BOOL, "AlphaToCoverageEnable"), - (Array(BOOL, "8"), "BlendEnable"), - (D3D10_BLEND, "SrcBlend"), - (D3D10_BLEND, "DestBlend"), - (D3D10_BLEND_OP, "BlendOp"), - (D3D10_BLEND, "SrcBlendAlpha"), - (D3D10_BLEND, "DestBlendAlpha"), - (D3D10_BLEND_OP, "BlendOpAlpha"), - (Array(UINT8, "8"), "RenderTargetWriteMask"), -]) - -D3D10_DEPTH_WRITE_MASK = Enum("D3D10_DEPTH_WRITE_MASK", [ - "D3D10_DEPTH_WRITE_MASK_ZERO", - "D3D10_DEPTH_WRITE_MASK_ALL", -]) - -D3D10_COMPARISON_FUNC = Enum("D3D10_COMPARISON_FUNC", [ - "D3D10_COMPARISON_NEVER", - "D3D10_COMPARISON_LESS", - "D3D10_COMPARISON_EQUAL", - "D3D10_COMPARISON_LESS_EQUAL", - "D3D10_COMPARISON_GREATER", - "D3D10_COMPARISON_NOT_EQUAL", - "D3D10_COMPARISON_GREATER_EQUAL", - "D3D10_COMPARISON_ALWAYS", -]) - -D3D10_STENCIL_OP = Enum("D3D10_STENCIL_OP", [ - "D3D10_STENCIL_OP_KEEP", - "D3D10_STENCIL_OP_ZERO", - "D3D10_STENCIL_OP_REPLACE", - "D3D10_STENCIL_OP_INCR_SAT", - "D3D10_STENCIL_OP_DECR_SAT", - "D3D10_STENCIL_OP_INVERT", - "D3D10_STENCIL_OP_INCR", - "D3D10_STENCIL_OP_DECR", -]) - -D3D10_DEPTH_STENCILOP_DESC = Struct("D3D10_DEPTH_STENCILOP_DESC", [ - (D3D10_STENCIL_OP, "StencilFailOp"), - (D3D10_STENCIL_OP, "StencilDepthFailOp"), - (D3D10_STENCIL_OP, "StencilPassOp"), - (D3D10_COMPARISON_FUNC, "StencilFunc"), -]) - -D3D10_DEPTH_STENCIL_DESC = Struct("D3D10_DEPTH_STENCIL_DESC", [ - (BOOL, "DepthEnable"), - (D3D10_DEPTH_WRITE_MASK, "DepthWriteMask"), - (D3D10_COMPARISON_FUNC, "DepthFunc"), - (BOOL, "StencilEnable"), - (UINT8, "StencilReadMask"), - (UINT8, "StencilWriteMask"), - (D3D10_DEPTH_STENCILOP_DESC, "FrontFace"), - (D3D10_DEPTH_STENCILOP_DESC, "BackFace"), -]) - -D3D10_FILL_MODE = Enum("D3D10_FILL_MODE", [ - "D3D10_FILL_WIREFRAME", - "D3D10_FILL_SOLID", -]) - -D3D10_CULL_MODE = Enum("D3D10_CULL_MODE", [ - "D3D10_CULL_NONE", - "D3D10_CULL_FRONT", - "D3D10_CULL_BACK", -]) - -D3D10_RASTERIZER_DESC = Struct("D3D10_RASTERIZER_DESC", [ - (D3D10_FILL_MODE, "FillMode"), - (D3D10_CULL_MODE, "CullMode"), - (BOOL, "FrontCounterClockwise"), - (INT, "DepthBias"), - (FLOAT, "DepthBiasClamp"), - (FLOAT, "SlopeScaledDepthBias"), - (BOOL, "DepthClipEnable"), - (BOOL, "ScissorEnable"), - (BOOL, "MultisampleEnable"), - (BOOL, "AntialiasedLineEnable"), -]) - -D3D10_FILTER = Enum("D3D10_FILTER", [ - "D3D10_FILTER_MIN_MAG_MIP_POINT", - "D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR", - "D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT", - "D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR", - "D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT", - "D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR", - "D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT", - "D3D10_FILTER_MIN_MAG_MIP_LINEAR", - "D3D10_FILTER_ANISOTROPIC", - "D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT", - "D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR", - "D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT", - "D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR", - "D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT", - "D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR", - "D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT", - "D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR", - "D3D10_FILTER_COMPARISON_ANISOTROPIC", - "D3D10_FILTER_TEXT_1BIT", -]) - -D3D10_TEXTURE_ADDRESS_MODE = Enum("D3D10_TEXTURE_ADDRESS_MODE", [ - "D3D10_TEXTURE_ADDRESS_WRAP", - "D3D10_TEXTURE_ADDRESS_MIRROR", - "D3D10_TEXTURE_ADDRESS_CLAMP", - "D3D10_TEXTURE_ADDRESS_BORDER", - "D3D10_TEXTURE_ADDRESS_MIRROR_ONCE", -]) - -D3D10_SAMPLER_DESC = Struct("D3D10_SAMPLER_DESC", [ - (D3D10_FILTER, "Filter"), - (D3D10_TEXTURE_ADDRESS_MODE, "AddressU"), - (D3D10_TEXTURE_ADDRESS_MODE, "AddressV"), - (D3D10_TEXTURE_ADDRESS_MODE, "AddressW"), - (FLOAT, "MipLODBias"), - (UINT, "MaxAnisotropy"), - (D3D10_COMPARISON_FUNC, "ComparisonFunc"), - (Array(FLOAT, "4"), "BorderColor"), - (FLOAT, "MinLOD"), - (FLOAT, "MaxLOD"), -]) - -D3D10_COUNTER = Enum("D3D10_COUNTER", [ - "D3D10_COUNTER_GPU_IDLE", - "D3D10_COUNTER_VERTEX_PROCESSING", - "D3D10_COUNTER_GEOMETRY_PROCESSING", - "D3D10_COUNTER_PIXEL_PROCESSING", - "D3D10_COUNTER_OTHER_GPU_PROCESSING", - "D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION", - "D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION", - "D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION", - "D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION", - "D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION", - "D3D10_COUNTER_VS_MEMORY_LIMITED", - "D3D10_COUNTER_VS_COMPUTATION_LIMITED", - "D3D10_COUNTER_GS_MEMORY_LIMITED", - "D3D10_COUNTER_GS_COMPUTATION_LIMITED", - "D3D10_COUNTER_PS_MEMORY_LIMITED", - "D3D10_COUNTER_PS_COMPUTATION_LIMITED", - "D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE", - "D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE", - "D3D10_COUNTER_DEVICE_DEPENDENT_0", -]) - -D3D10_COUNTER_DESC = Struct("D3D10_COUNTER_DESC", [ - (D3D10_COUNTER, "Counter"), - (UINT, "MiscFlags"), -]) - -D3D10_COUNTER_TYPE = Enum("D3D10_COUNTER_TYPE", [ - "D3D10_COUNTER_TYPE_FLOAT32", - "D3D10_COUNTER_TYPE_UINT16", - "D3D10_COUNTER_TYPE_UINT32", - "D3D10_COUNTER_TYPE_UINT64", -]) - -D3D10_COUNTER_INFO = Struct("D3D10_COUNTER_INFO", [ - (D3D10_COUNTER, "LastDeviceDependentCounter"), - (UINT, "NumSimultaneousCounters"), - (UINT8, "NumDetectableParallelUnits"), -]) - -D3D10_RESOURCE_DIMENSION = Enum("D3D10_RESOURCE_DIMENSION", [ - "D3D10_RESOURCE_DIMENSION_UNKNOWN", - "D3D10_RESOURCE_DIMENSION_BUFFER", - "D3D10_RESOURCE_DIMENSION_TEXTURE1D", - "D3D10_RESOURCE_DIMENSION_TEXTURE2D", - "D3D10_RESOURCE_DIMENSION_TEXTURE3D", -]) - -D3D10_USAGE = Enum("D3D10_USAGE", [ - "D3D10_USAGE_DEFAULT", - "D3D10_USAGE_IMMUTABLE", - "D3D10_USAGE_DYNAMIC", - "D3D10_USAGE_STAGING", -]) - -D3D10_BIND_FLAG = Enum("D3D10_BIND_FLAG", [ - "D3D10_BIND_VERTEX_BUFFER", - "D3D10_BIND_INDEX_BUFFER", - "D3D10_BIND_CONSTANT_BUFFER", - "D3D10_BIND_SHADER_RESOURCE", - "D3D10_BIND_STREAM_OUTPUT", - "D3D10_BIND_RENDER_TARGET", - "D3D10_BIND_DEPTH_STENCIL", -]) - -D3D10_BUFFER_DESC = Struct("D3D10_BUFFER_DESC", [ - (UINT, "ByteWidth"), - (D3D10_USAGE, "Usage"), - (UINT, "BindFlags"), - (UINT, "CPUAccessFlags"), - (UINT, "MiscFlags"), -]) - -D3D10_MAP = Enum("D3D10_MAP", [ - "D3D10_MAP_READ", - "D3D10_MAP_WRITE", - "D3D10_MAP_READ_WRITE", - "D3D10_MAP_WRITE_DISCARD", - "D3D10_MAP_WRITE_NO_OVERWRITE", -]) - -D3D10_TEXTURE1D_DESC = Struct("D3D10_TEXTURE1D_DESC", [ - (UINT, "Width"), - (UINT, "MipLevels"), - (UINT, "ArraySize"), - (DXGI_FORMAT, "Format"), - (D3D10_USAGE, "Usage"), - (UINT, "BindFlags"), - (UINT, "CPUAccessFlags"), - (UINT, "MiscFlags"), -]) - -D3D10_TEXTURE2D_DESC = Struct("D3D10_TEXTURE2D_DESC", [ - (UINT, "Width"), - (UINT, "Height"), - (UINT, "MipLevels"), - (UINT, "ArraySize"), - (DXGI_FORMAT, "Format"), - (DXGI_SAMPLE_DESC, "SampleDesc"), - (D3D10_USAGE, "Usage"), - (UINT, "BindFlags"), - (UINT, "CPUAccessFlags"), - (UINT, "MiscFlags"), -]) - -D3D10_TEXTURE3D_DESC = Struct("D3D10_TEXTURE3D_DESC", [ - (UINT, "Width"), - (UINT, "Height"), - (UINT, "Depth"), - (UINT, "MipLevels"), - (DXGI_FORMAT, "Format"), - (D3D10_USAGE, "Usage"), - (UINT, "BindFlags"), - (UINT, "CPUAccessFlags"), - (UINT, "MiscFlags"), -]) - -D3D10_DSV_DIMENSION = Enum("D3D10_DSV_DIMENSION", [ - "D3D10_DSV_DIMENSION_UNKNOWN", - "D3D10_DSV_DIMENSION_TEXTURE1D", - "D3D10_DSV_DIMENSION_TEXTURE1DARRAY", - "D3D10_DSV_DIMENSION_TEXTURE2D", - "D3D10_DSV_DIMENSION_TEXTURE2DARRAY", - "D3D10_DSV_DIMENSION_TEXTURE2DMS", - "D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY", -]) - -D3D10_TEX1D_DSV = Struct("D3D10_TEX1D_DSV", [ - (UINT, "MipSlice"), -]) - -D3D10_TEX1D_ARRAY_DSV = Struct("D3D10_TEX1D_ARRAY_DSV", [ - (UINT, "MipSlice"), - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX2D_DSV = Struct("D3D10_TEX2D_DSV", [ - (UINT, "MipSlice"), -]) - -D3D10_TEX2D_ARRAY_DSV = Struct("D3D10_TEX2D_ARRAY_DSV", [ - (UINT, "MipSlice"), - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX2DMS_DSV = Struct("D3D10_TEX2DMS_DSV", [ - (UINT, "UnusedField_NothingToDefine"), -]) - -D3D10_TEX2DMS_ARRAY_DSV = Struct("D3D10_TEX2DMS_ARRAY_DSV", [ - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_DEPTH_STENCIL_VIEW_DESC = Struct("D3D10_DEPTH_STENCIL_VIEW_DESC", [ - (DXGI_FORMAT, "Format"), - (D3D10_DSV_DIMENSION, "ViewDimension"), - (D3D10_TEX1D_DSV, "Texture1D"), - (D3D10_TEX1D_ARRAY_DSV, "Texture1DArray"), - (D3D10_TEX2D_DSV, "Texture2D"), - (D3D10_TEX2D_ARRAY_DSV, "Texture2DArray"), - (D3D10_TEX2DMS_DSV, "Texture2DMS"), - (D3D10_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"), -]) - -D3D10_RTV_DIMENSION = Enum("D3D10_RTV_DIMENSION", [ - "D3D10_RTV_DIMENSION_UNKNOWN", - "D3D10_RTV_DIMENSION_BUFFER", - "D3D10_RTV_DIMENSION_TEXTURE1D", - "D3D10_RTV_DIMENSION_TEXTURE1DARRAY", - "D3D10_RTV_DIMENSION_TEXTURE2D", - "D3D10_RTV_DIMENSION_TEXTURE2DARRAY", - "D3D10_RTV_DIMENSION_TEXTURE2DMS", - "D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY", - "D3D10_RTV_DIMENSION_TEXTURE3D", -]) - -D3D10_BUFFER_RTV = Struct("D3D10_BUFFER_RTV", [ - (UINT, "ElementOffset"), - (UINT, "ElementWidth"), -]) - -D3D10_TEX1D_RTV = Struct("D3D10_TEX1D_RTV", [ - (UINT, "MipSlice"), -]) - -D3D10_TEX1D_ARRAY_RTV = Struct("D3D10_TEX1D_ARRAY_RTV", [ - (UINT, "MipSlice"), - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX2D_RTV = Struct("D3D10_TEX2D_RTV", [ - (UINT, "MipSlice"), -]) - -D3D10_TEX2D_ARRAY_RTV = Struct("D3D10_TEX2D_ARRAY_RTV", [ - (UINT, "MipSlice"), - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX2DMS_RTV = Struct("D3D10_TEX2DMS_RTV", [ - (UINT, "UnusedField_NothingToDefine"), -]) - -D3D10_TEX2DMS_ARRAY_RTV = Struct("D3D10_TEX2DMS_ARRAY_RTV", [ - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX3D_RTV = Struct("D3D10_TEX3D_RTV", [ - (UINT, "MipSlice"), - (UINT, "FirstWSlice"), - (UINT, "WSize"), -]) - -D3D10_RENDER_TARGET_VIEW_DESC = Struct("D3D10_RENDER_TARGET_VIEW_DESC", [ - (DXGI_FORMAT, "Format"), - (D3D10_RTV_DIMENSION, "ViewDimension"), - (D3D10_BUFFER_RTV, "Buffer"), - (D3D10_TEX1D_RTV, "Texture1D"), - (D3D10_TEX1D_ARRAY_RTV, "Texture1DArray"), - (D3D10_TEX2D_RTV, "Texture2D"), - (D3D10_TEX2D_ARRAY_RTV, "Texture2DArray"), - (D3D10_TEX2DMS_RTV, "Texture2DMS"), - (D3D10_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"), - (D3D10_TEX3D_RTV, "Texture3D"), -]) - -D3D10_SRV_DIMENSION = Enum("D3D10_SRV_DIMENSION", [ - "D3D10_SRV_DIMENSION_UNKNOWN", - "D3D10_SRV_DIMENSION_BUFFER", - "D3D10_SRV_DIMENSION_TEXTURE1D", - "D3D10_SRV_DIMENSION_TEXTURE1DARRAY", - "D3D10_SRV_DIMENSION_TEXTURE2D", - "D3D10_SRV_DIMENSION_TEXTURE2DARRAY", - "D3D10_SRV_DIMENSION_TEXTURE2DMS", - "D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY", - "D3D10_SRV_DIMENSION_TEXTURE3D", - "D3D10_SRV_DIMENSION_TEXTURECUBE", -]) - -D3D10_BUFFER_SRV = Struct("D3D10_BUFFER_SRV", [ - (UINT, "ElementOffset"), - (UINT, "ElementWidth"), -]) - -D3D10_TEX1D_SRV = Struct("D3D10_TEX1D_SRV", [ - (UINT, "MostDetailedMip"), - (UINT, "MipLevels"), -]) - -D3D10_TEX1D_ARRAY_SRV = Struct("D3D10_TEX1D_ARRAY_SRV", [ - (UINT, "MostDetailedMip"), - (UINT, "MipLevels"), - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX2D_SRV = Struct("D3D10_TEX2D_SRV", [ - (UINT, "MostDetailedMip"), - (UINT, "MipLevels"), -]) - -D3D10_TEX2D_ARRAY_SRV = Struct("D3D10_TEX2D_ARRAY_SRV", [ - (UINT, "MostDetailedMip"), - (UINT, "MipLevels"), - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX2DMS_SRV = Struct("D3D10_TEX2DMS_SRV", [ - (UINT, "UnusedField_NothingToDefine"), -]) - -D3D10_TEX2DMS_ARRAY_SRV = Struct("D3D10_TEX2DMS_ARRAY_SRV", [ - (UINT, "FirstArraySlice"), - (UINT, "ArraySize"), -]) - -D3D10_TEX3D_SRV = Struct("D3D10_TEX3D_SRV", [ - (UINT, "MostDetailedMip"), - (UINT, "MipLevels"), -]) - -D3D10_TEXCUBE_SRV = Struct("D3D10_TEXCUBE_SRV", [ - (UINT, "MostDetailedMip"), - (UINT, "MipLevels"), -]) - -D3D10_SHADER_RESOURCE_VIEW_DESC = Struct("D3D10_SHADER_RESOURCE_VIEW_DESC", [ - (DXGI_FORMAT, "Format"), - (D3D10_SRV_DIMENSION, "ViewDimension"), - (D3D10_BUFFER_SRV, "Buffer"), - (D3D10_TEX1D_SRV, "Texture1D"), - (D3D10_TEX1D_ARRAY_SRV, "Texture1DArray"), - (D3D10_TEX2D_SRV, "Texture2D"), - (D3D10_TEX2D_ARRAY_SRV, "Texture2DArray"), - (D3D10_TEX2DMS_SRV, "Texture2DMS"), - (D3D10_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"), - (D3D10_TEX3D_SRV, "Texture3D"), - (D3D10_TEXCUBE_SRV, "TextureCube"), -]) - -D3D10_BOX = Struct("D3D10_BOX", [ - (UINT, "left"), - (UINT, "top"), - (UINT, "front"), - (UINT, "right"), - (UINT, "bottom"), - (UINT, "back"), -]) - -D3D10_SUBRESOURCE_DATA = Struct("D3D10_SUBRESOURCE_DATA", [ - (OpaquePointer(Const(Void)), "pSysMem"), - (UINT, "SysMemPitch"), - (UINT, "SysMemSlicePitch"), -]) - -D3D10_SO_DECLARATION_ENTRY = Struct("D3D10_SO_DECLARATION_ENTRY", [ - (LPCSTR, "SemanticName"), - (UINT, "SemanticIndex"), - (BYTE, "StartComponent"), - (BYTE, "ComponentCount"), - (BYTE, "OutputSlot"), -]) - -D3D10_INPUT_CLASSIFICATION = Enum("D3D10_INPUT_CLASSIFICATION", [ - "D3D10_INPUT_PER_VERTEX_DATA", - "D3D10_INPUT_PER_INSTANCE_DATA", -]) - -D3D10_INPUT_ELEMENT_DESC = Struct("D3D10_INPUT_ELEMENT_DESC", [ - (LPCSTR, "SemanticName"), - (UINT, "SemanticIndex"), - (DXGI_FORMAT, "Format"), - (UINT, "InputSlot"), - (UINT, "AlignedByteOffset"), - (D3D10_INPUT_CLASSIFICATION, "InputSlotClass"), - (UINT, "InstanceDataStepRate"), -]) - -D3D10_QUERY = Enum("D3D10_QUERY", [ - "D3D10_QUERY_EVENT", - "D3D10_QUERY_OCCLUSION", - "D3D10_QUERY_TIMESTAMP", - "D3D10_QUERY_TIMESTAMP_DISJOINT", - "D3D10_QUERY_PIPELINE_STATISTICS", - "D3D10_QUERY_OCCLUSION_PREDICATE", - "D3D10_QUERY_SO_STATISTICS", - "D3D10_QUERY_SO_OVERFLOW_PREDICATE", -]) - -D3D10_QUERY_DESC = Struct("D3D10_QUERY_DESC", [ - (D3D10_QUERY, "Query"), - (UINT, "MiscFlags"), -]) - -D3D10_PRIMITIVE_TOPOLOGY = Enum("D3D10_PRIMITIVE_TOPOLOGY", [ - "D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED", - "D3D10_PRIMITIVE_TOPOLOGY_POINTLIST", - "D3D10_PRIMITIVE_TOPOLOGY_LINELIST", - "D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP", - "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST", - "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP", - "D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ", - "D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ", - "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ", - "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ", -]) - -D3D10_PRIMITIVE = Enum("D3D10_PRIMITIVE", [ - "D3D10_PRIMITIVE_UNDEFINED", - "D3D10_PRIMITIVE_POINT", - "D3D10_PRIMITIVE_LINE", - "D3D10_PRIMITIVE_TRIANGLE", - "D3D10_PRIMITIVE_LINE_ADJ", - "D3D10_PRIMITIVE_TRIANGLE_ADJ", -]) - -D3D10_RECT = Alias("D3D10_RECT", RECT) -D3D10_VIEWPORT = Struct("D3D10_VIEWPORT", [ - (INT, "TopLeftX"), - (INT, "TopLeftY"), - (UINT, "Width"), - (UINT, "Height"), - (FLOAT, "MinDepth"), - (FLOAT, "MaxDepth"), -]) - -D3D10_MAPPED_TEXTURE2D = Struct("D3D10_MAPPED_TEXTURE2D", [ - (OpaquePointer(Void), "pData"), - (UINT, "RowPitch"), -]) - -D3D10_MAPPED_TEXTURE3D = Struct("D3D10_MAPPED_TEXTURE3D", [ - (OpaquePointer(Void), "pData"), - (UINT, "RowPitch"), - (UINT, "DepthPitch"), -]) - -D3D10_CPU_ACCESS_FLAG = Enum("D3D10_CPU_ACCESS_FLAG", [ - "D3D10_CPU_ACCESS_WRITE", - "D3D10_CPU_ACCESS_READ", -]) - -D3D10_RESOURCE_MISC_FLAG = Enum("D3D10_RESOURCE_MISC_FLAG", [ - "D3D10_RESOURCE_MISC_GENERATE_MIPS", - "D3D10_RESOURCE_MISC_SHARED", - "D3D10_RESOURCE_MISC_TEXTURECUBE", - "D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX", - "D3D10_RESOURCE_MISC_GDI_COMPATIBLE", -]) - -D3D10_MAP_FLAG = Enum("D3D10_MAP_FLAG", [ - "D3D10_MAP_FLAG_DO_NOT_WAIT", -]) - -D3D10_CLEAR_FLAG = Enum("D3D10_CLEAR_FLAG", [ - "D3D10_CLEAR_DEPTH", - "D3D10_CLEAR_STENCIL", -]) - -D3D10_COLOR_WRITE_ENABLE = Enum("D3D10_COLOR_WRITE_ENABLE", [ - "D3D10_COLOR_WRITE_ENABLE_RED", - "D3D10_COLOR_WRITE_ENABLE_GREEN", - "D3D10_COLOR_WRITE_ENABLE_BLUE", - "D3D10_COLOR_WRITE_ENABLE_ALPHA", - "D3D10_COLOR_WRITE_ENABLE_ALL", - "D3D10_COLOR_WRITE_ENABLE_RED", - "|", - "D3D10_COLOR_WRITE_ENABLE_GREEN", - "|", - "D3D10_COLOR_WRITE_ENABLE_BLUE", - "|", - "D3D10_COLOR_WRITE_ENABLE_ALPHA", - ")", -]) - -D3D10_TEXTURECUBE_FACE = Enum("D3D10_TEXTURECUBE_FACE", [ - "D3D10_TEXTURECUBE_FACE_POSITIVE_X", - "D3D10_TEXTURECUBE_FACE_NEGATIVE_X", - "D3D10_TEXTURECUBE_FACE_POSITIVE_Y", - "D3D10_TEXTURECUBE_FACE_NEGATIVE_Y", - "D3D10_TEXTURECUBE_FACE_POSITIVE_Z", - "D3D10_TEXTURECUBE_FACE_NEGATIVE_Z", -]) - -D3D10_ASYNC_GETDATA_FLAG = Enum("D3D10_ASYNC_GETDATA_FLAG", [ - "D3D10_ASYNC_GETDATA_DONOTFLUSH", -]) - -D3D10_FILTER_TYPE = Enum("D3D10_FILTER_TYPE", [ - "D3D10_FILTER_TYPE_POINT", - "D3D10_FILTER_TYPE_LINEAR", -]) - -D3D10_QUERY_MISC_FLAG = Enum("D3D10_QUERY_MISC_FLAG", [ - "D3D10_QUERY_MISC_PREDICATEHINT", -]) - -D3D10_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D10_QUERY_DATA_TIMESTAMP_DISJOINT", [ - (UINT64, "Frequency"), - (BOOL, "Disjoint"), -]) - -D3D10_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D10_QUERY_DATA_PIPELINE_STATISTICS", [ - (UINT64, "IAVertices"), - (UINT64, "IAPrimitives"), - (UINT64, "VSInvocations"), - (UINT64, "GSInvocations"), - (UINT64, "GSPrimitives"), - (UINT64, "CInvocations"), - (UINT64, "CPrimitives"), - (UINT64, "PSInvocations"), -]) - -D3D10_QUERY_DATA_SO_STATISTICS = Struct("D3D10_QUERY_DATA_SO_STATISTICS", [ - (UINT64, "NumPrimitivesWritten"), - (UINT64, "PrimitivesStorageNeeded"), -]) - -D3D10_CREATE_DEVICE_FLAG = Enum("D3D10_CREATE_DEVICE_FLAG", [ - "D3D10_CREATE_DEVICE_SINGLETHREADED", - "D3D10_CREATE_DEVICE_DEBUG", - "D3D10_CREATE_DEVICE_SWITCH_TO_REF", - "D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS", - "D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP", - "D3D10_CREATE_DEVICE_BGRA_SUPPORT", - "D3D10_CREATE_DEVICE_STRICT_VALIDATION", -]) - -ID3D10DeviceChild = Interface("ID3D10DeviceChild", IUnknown) -ID3D10Resource = Interface("ID3D10Resource", ID3D10DeviceChild) -ID3D10Buffer = Interface("ID3D10Buffer", ID3D10Resource) -ID3D10Texture1D = Interface("ID3D10Texture1D", ID3D10Resource) -ID3D10Texture2D = Interface("ID3D10Texture2D", ID3D10Resource) -ID3D10Texture3D = Interface("ID3D10Texture3D", ID3D10Resource) -ID3D10View = Interface("ID3D10View", ID3D10DeviceChild) -ID3D10DepthStencilView = Interface("ID3D10DepthStencilView", ID3D10View) -ID3D10RenderTargetView = Interface("ID3D10RenderTargetView", ID3D10View) -ID3D10ShaderResourceView = Interface("ID3D10ShaderResourceView", ID3D10View) -ID3D10BlendState = Interface("ID3D10BlendState", ID3D10DeviceChild) -ID3D10DepthStencilState = Interface("ID3D10DepthStencilState", ID3D10DeviceChild) -ID3D10GeometryShader = Interface("ID3D10GeometryShader", ID3D10DeviceChild) -ID3D10InputLayout = Interface("ID3D10InputLayout", ID3D10DeviceChild) -ID3D10PixelShader = Interface("ID3D10PixelShader", ID3D10DeviceChild) -ID3D10RasterizerState = Interface("ID3D10RasterizerState", ID3D10DeviceChild) -ID3D10SamplerState = Interface("ID3D10SamplerState", ID3D10DeviceChild) -ID3D10VertexShader = Interface("ID3D10VertexShader", ID3D10DeviceChild) -ID3D10Asynchronous = Interface("ID3D10Asynchronous", ID3D10DeviceChild) -ID3D10Counter = Interface("ID3D10Counter", ID3D10Asynchronous) -ID3D10Query = Interface("ID3D10Query", ID3D10Asynchronous) -ID3D10Predicate = Interface("ID3D10Predicate", ID3D10Query) -ID3D10Device = Interface("ID3D10Device", IUnknown) -ID3D10Multithread = Interface("ID3D10Multithread", IUnknown) - -ID3D10DeviceChild.methods += [ - Method(Void, "GetDevice", [Out(OpaquePointer(OpaquePointer(ID3D10Device)), "ppDevice")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(OpaquePointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaquePointer(Const(Void)), "pData")]), - Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]), -] - -ID3D10Resource.methods += [ - Method(Void, "GetType", [Out(OpaquePointer(D3D10_RESOURCE_DIMENSION), "rType")]), - Method(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]), - Method(UINT, "GetEvictionPriority", []), -] - -ID3D10Buffer.methods += [ - Method(HRESULT, "Map", [(D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(OpaquePointer(Void)), "ppData")]), - Method(Void, "Unmap", []), - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_BUFFER_DESC), "pDesc")]), -] - -ID3D10Texture1D.methods += [ - Method(HRESULT, "Map", [(UINT, "Subresource"), (D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(OpaquePointer(Void)), "ppData")]), - Method(Void, "Unmap", [(UINT, "Subresource")]), - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_TEXTURE1D_DESC), "pDesc")]), -] - -ID3D10Texture2D.methods += [ - Method(HRESULT, "Map", [(UINT, "Subresource"), (D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(D3D10_MAPPED_TEXTURE2D), "pMappedTex2D")]), - Method(Void, "Unmap", [(UINT, "Subresource")]), - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_TEXTURE2D_DESC), "pDesc")]), -] - -ID3D10Texture3D.methods += [ - Method(HRESULT, "Map", [(UINT, "Subresource"), (D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(D3D10_MAPPED_TEXTURE3D), "pMappedTex3D")]), - Method(Void, "Unmap", [(UINT, "Subresource")]), - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_TEXTURE3D_DESC), "pDesc")]), -] - -ID3D10View.methods += [ - Method(Void, "GetResource", [Out(OpaquePointer(OpaquePointer(ID3D10Resource)), "ppResource")]), -] - -ID3D10DepthStencilView.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_DEPTH_STENCIL_VIEW_DESC), "pDesc")]), -] - -ID3D10RenderTargetView.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_RENDER_TARGET_VIEW_DESC), "pDesc")]), -] - -ID3D10ShaderResourceView.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_SHADER_RESOURCE_VIEW_DESC), "pDesc")]), -] - -ID3D10BlendState.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_BLEND_DESC), "pDesc")]), -] - -ID3D10DepthStencilState.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_DEPTH_STENCIL_DESC), "pDesc")]), -] - -ID3D10GeometryShader.methods += [ -] - -ID3D10InputLayout.methods += [ -] - -ID3D10PixelShader.methods += [ -] - -ID3D10RasterizerState.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_RASTERIZER_DESC), "pDesc")]), -] - -ID3D10SamplerState.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_SAMPLER_DESC), "pDesc")]), -] - -ID3D10VertexShader.methods += [ -] - -ID3D10Asynchronous.methods += [ - Method(Void, "Begin", []), - Method(Void, "End", []), - Method(HRESULT, "GetData", [Out(OpaquePointer(Void), "pData"), (UINT, "DataSize"), (UINT, "GetDataFlags")]), - Method(UINT, "GetDataSize", []), -] - -ID3D10Counter.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_COUNTER_DESC), "pDesc")]), -] - -ID3D10Query.methods += [ - Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_QUERY_DESC), "pDesc")]), -] - -ID3D10Predicate.methods += [ -] - -ID3D10Device.methods += [ - Method(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(OpaquePointer(ID3D10Buffer)), "NumBuffers"), "ppConstantBuffers")]), - Method(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(OpaquePointer(ID3D10ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]), - Method(Void, "PSSetShader", [(OpaquePointer(ID3D10PixelShader), "pPixelShader")]), - Method(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(OpaquePointer(ID3D10SamplerState)), "NumSamplers"), "ppSamplers")]), - Method(Void, "VSSetShader", [(OpaquePointer(ID3D10VertexShader), "pVertexShader")]), - Method(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]), - Method(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]), - Method(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppConstantBuffers")]), - Method(Void, "IASetInputLayout", [(OpaquePointer(ID3D10InputLayout), "pInputLayout")]), - Method(Void, "IASetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppVertexBuffers"), (OpaquePointer(Const(UINT)), "pStrides"), (OpaquePointer(Const(UINT)), "pOffsets")]), - Method(Void, "IASetIndexBuffer", [(OpaquePointer(ID3D10Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]), - Method(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]), - Method(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]), - Method(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppConstantBuffers")]), - Method(Void, "GSSetShader", [(OpaquePointer(ID3D10GeometryShader), "pShader")]), - Method(Void, "IASetPrimitiveTopology", [(D3D10_PRIMITIVE_TOPOLOGY, "Topology")]), - Method(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (OpaquePointer(Const(OpaquePointer(ID3D10ShaderResourceView))), "ppShaderResourceViews")]), - Method(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (OpaquePointer(Const(OpaquePointer(ID3D10SamplerState))), "ppSamplers")]), - Method(Void, "SetPredication", [(OpaquePointer(ID3D10Predicate), "pPredicate"), (BOOL, "PredicateValue")]), - Method(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (OpaquePointer(Const(OpaquePointer(ID3D10ShaderResourceView))), "ppShaderResourceViews")]), - Method(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (OpaquePointer(Const(OpaquePointer(ID3D10SamplerState))), "ppSamplers")]), - Method(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (OpaquePointer(Const(OpaquePointer(ID3D10RenderTargetView))), "ppRenderTargetViews"), (OpaquePointer(ID3D10DepthStencilView), "pDepthStencilView")]), - Method(Void, "OMSetBlendState", [(OpaquePointer(ID3D10BlendState), "pBlendState"), (Array(Const(FLOAT), "4"), "BlendFactor"), (UINT, "SampleMask")]), - Method(Void, "OMSetDepthStencilState", [(OpaquePointer(ID3D10DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]), - Method(Void, "SOSetTargets", [(UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppSOTargets"), (OpaquePointer(Const(UINT)), "pOffsets")]), - Method(Void, "DrawAuto", []), - Method(Void, "RSSetState", [(OpaquePointer(ID3D10RasterizerState), "pRasterizerState")]), - Method(Void, "RSSetViewports", [(UINT, "NumViewports"), (OpaquePointer(Const(D3D10_VIEWPORT)), "pViewports")]), - Method(Void, "RSSetScissorRects", [(UINT, "NumRects"), (OpaquePointer(Const(D3D10_RECT)), "pRects")]), - Method(Void, "CopySubresourceRegion", [(OpaquePointer(ID3D10Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (OpaquePointer(ID3D10Resource), "pSrcResource"), (UINT, "SrcSubresource"), (OpaquePointer(Const(D3D10_BOX)), "pSrcBox")]), - Method(Void, "CopyResource", [(OpaquePointer(ID3D10Resource), "pDstResource"), (OpaquePointer(ID3D10Resource), "pSrcResource")]), - Method(Void, "UpdateSubresource", [(OpaquePointer(ID3D10Resource), "pDstResource"), (UINT, "DstSubresource"), (OpaquePointer(Const(D3D10_BOX)), "pDstBox"), (OpaquePointer(Const(Void)), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch")]), - Method(Void, "ClearRenderTargetView", [(OpaquePointer(ID3D10RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), "4"), "ColorRGBA")]), - Method(Void, "ClearDepthStencilView", [(OpaquePointer(ID3D10DepthStencilView), "pDepthStencilView"), (UINT, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]), - Method(Void, "GenerateMips", [(OpaquePointer(ID3D10ShaderResourceView), "pShaderResourceView")]), - Method(Void, "ResolveSubresource", [(OpaquePointer(ID3D10Resource), "pDstResource"), (UINT, "DstSubresource"), (OpaquePointer(ID3D10Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]), - Method(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppConstantBuffers")]), - Method(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppShaderResourceViews")]), - Method(Void, "PSGetShader", [Out(OpaquePointer(OpaquePointer(ID3D10PixelShader)), "ppPixelShader")]), - Method(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplers")]), - Method(Void, "VSGetShader", [Out(OpaquePointer(OpaquePointer(ID3D10VertexShader)), "ppVertexShader")]), - Method(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppConstantBuffers")]), - Method(Void, "IAGetInputLayout", [Out(OpaquePointer(OpaquePointer(ID3D10InputLayout)), "ppInputLayout")]), - Method(Void, "IAGetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppVertexBuffers"), Out(OpaquePointer(UINT), "pStrides"), Out(OpaquePointer(UINT), "pOffsets")]), - Method(Void, "IAGetIndexBuffer", [Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "pIndexBuffer"), Out(OpaquePointer(DXGI_FORMAT), "Format"), Out(OpaquePointer(UINT), "Offset")]), - Method(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppConstantBuffers")]), - Method(Void, "GSGetShader", [Out(OpaquePointer(OpaquePointer(ID3D10GeometryShader)), "ppGeometryShader")]), - Method(Void, "IAGetPrimitiveTopology", [Out(OpaquePointer(D3D10_PRIMITIVE_TOPOLOGY), "pTopology")]), - Method(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppShaderResourceViews")]), - Method(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplers")]), - Method(Void, "GetPredication", [Out(OpaquePointer(OpaquePointer(ID3D10Predicate)), "ppPredicate"), Out(OpaquePointer(BOOL), "pPredicateValue")]), - Method(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppShaderResourceViews")]), - Method(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplers")]), - Method(Void, "OMGetRenderTargets", [(UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10RenderTargetView)), "ppRenderTargetViews"), Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilView)), "ppDepthStencilView")]), - Method(Void, "OMGetBlendState", [Out(OpaquePointer(OpaquePointer(ID3D10BlendState)), "ppBlendState"), Out(Array(FLOAT, "4"), "BlendFactor"), Out(OpaquePointer(UINT), "pSampleMask")]), - Method(Void, "OMGetDepthStencilState", [Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilState)), "ppDepthStencilState"), Out(OpaquePointer(UINT), "pStencilRef")]), - Method(Void, "SOGetTargets", [(UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppSOTargets"), Out(OpaquePointer(UINT), "pOffsets")]), - Method(Void, "RSGetState", [Out(OpaquePointer(OpaquePointer(ID3D10RasterizerState)), "ppRasterizerState")]), - Method(Void, "RSGetViewports", [Out(OpaquePointer(UINT), "NumViewports"), Out(OpaquePointer(D3D10_VIEWPORT), "pViewports")]), - Method(Void, "RSGetScissorRects", [Out(OpaquePointer(UINT), "NumRects"), Out(OpaquePointer(D3D10_RECT), "pRects")]), - Method(HRESULT, "GetDeviceRemovedReason", []), - Method(HRESULT, "SetExceptionMode", [(UINT, "RaiseFlags")]), - Method(UINT, "GetExceptionMode", []), - Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(OpaquePointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaquePointer(Const(Void)), "pData")]), - Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]), - Method(Void, "ClearState", []), - Method(Void, "Flush", []), - Method(HRESULT, "CreateBuffer", [(OpaquePointer(Const(D3D10_BUFFER_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppBuffer")]), - Method(HRESULT, "CreateTexture1D", [(OpaquePointer(Const(D3D10_TEXTURE1D_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Texture1D)), "ppTexture1D")]), - Method(HRESULT, "CreateTexture2D", [(OpaquePointer(Const(D3D10_TEXTURE2D_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Texture2D)), "ppTexture2D")]), - Method(HRESULT, "CreateTexture3D", [(OpaquePointer(Const(D3D10_TEXTURE3D_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Texture3D)), "ppTexture3D")]), - Method(HRESULT, "CreateShaderResourceView", [(OpaquePointer(ID3D10Resource), "pResource"), (OpaquePointer(Const(D3D10_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppSRView")]), - Method(HRESULT, "CreateRenderTargetView", [(OpaquePointer(ID3D10Resource), "pResource"), (OpaquePointer(Const(D3D10_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(OpaquePointer(OpaquePointer(ID3D10RenderTargetView)), "ppRTView")]), - Method(HRESULT, "CreateDepthStencilView", [(OpaquePointer(ID3D10Resource), "pResource"), (OpaquePointer(Const(D3D10_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilView)), "ppDepthStencilView")]), - Method(HRESULT, "CreateInputLayout", [(OpaquePointer(Const(D3D10_INPUT_ELEMENT_DESC)), "pInputElementDescs"), (UINT, "NumElements"), (OpaquePointer(Const(Void)), "pShaderBytecodeWithInputSignature"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10InputLayout)), "ppInputLayout")]), - Method(HRESULT, "CreateVertexShader", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10VertexShader)), "ppVertexShader")]), - Method(HRESULT, "CreateGeometryShader", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10GeometryShader)), "ppGeometryShader")]), - Method(HRESULT, "CreateGeometryShaderWithStreamOutput", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (OpaquePointer(Const(D3D10_SO_DECLARATION_ENTRY)), "pSODeclaration"), (UINT, "NumEntries"), (UINT, "OutputStreamStride"), Out(OpaquePointer(OpaquePointer(ID3D10GeometryShader)), "ppGeometryShader")]), - Method(HRESULT, "CreatePixelShader", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10PixelShader)), "ppPixelShader")]), - Method(HRESULT, "CreateBlendState", [(OpaquePointer(Const(D3D10_BLEND_DESC)), "pBlendStateDesc"), Out(OpaquePointer(OpaquePointer(ID3D10BlendState)), "ppBlendState")]), - Method(HRESULT, "CreateDepthStencilState", [(OpaquePointer(Const(D3D10_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilState)), "ppDepthStencilState")]), - Method(HRESULT, "CreateRasterizerState", [(OpaquePointer(Const(D3D10_RASTERIZER_DESC)), "pRasterizerDesc"), Out(OpaquePointer(OpaquePointer(ID3D10RasterizerState)), "ppRasterizerState")]), - Method(HRESULT, "CreateSamplerState", [(OpaquePointer(Const(D3D10_SAMPLER_DESC)), "pSamplerDesc"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplerState")]), - Method(HRESULT, "CreateQuery", [(OpaquePointer(Const(D3D10_QUERY_DESC)), "pQueryDesc"), Out(OpaquePointer(OpaquePointer(ID3D10Query)), "ppQuery")]), - Method(HRESULT, "CreatePredicate", [(OpaquePointer(Const(D3D10_QUERY_DESC)), "pPredicateDesc"), Out(OpaquePointer(OpaquePointer(ID3D10Predicate)), "ppPredicate")]), - Method(HRESULT, "CreateCounter", [(OpaquePointer(Const(D3D10_COUNTER_DESC)), "pCounterDesc"), Out(OpaquePointer(OpaquePointer(ID3D10Counter)), "ppCounter")]), - Method(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(OpaquePointer(UINT), "pFormatSupport")]), - Method(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(OpaquePointer(UINT), "pNumQualityLevels")]), - Method(Void, "CheckCounterInfo", [Out(OpaquePointer(D3D10_COUNTER_INFO), "pCounterInfo")]), - Method(HRESULT, "CheckCounter", [(OpaquePointer(Const(D3D10_COUNTER_DESC)), "pDesc"), Out(OpaquePointer(D3D10_COUNTER_TYPE), "pType"), Out(OpaquePointer(UINT), "pActiveCounters"), Out(LPSTR, "szName"), Out(OpaquePointer(UINT), "pNameLength"), Out(LPSTR, "szUnits"), Out(OpaquePointer(UINT), "pUnitsLength"), Out(LPSTR, "szDescription"), Out(OpaquePointer(UINT), "pDescriptionLength")]), - Method(UINT, "GetCreationFlags", []), - Method(HRESULT, "OpenSharedResource", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(OpaquePointer(OpaquePointer(Void)), "ppResource")]), - Method(Void, "SetTextFilterSize", [(UINT, "Width"), (UINT, "Height")]), - Method(Void, "GetTextFilterSize", [Out(OpaquePointer(UINT), "pWidth"), Out(OpaquePointer(UINT), "pHeight")]), -] - -ID3D10Multithread.methods += [ - Method(Void, "Enter", []), - Method(Void, "Leave", []), - Method(BOOL, "SetMultithreadProtected", [(BOOL, "bMTProtect")]), - Method(BOOL, "GetMultithreadProtected", []), -] - diff --git a/d3d10_1.py b/d3d10_1.py deleted file mode 100644 index ebf2896..0000000 --- a/d3d10_1.py +++ /dev/null @@ -1,77 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d10_1.h""" - -from winapi import * - -ID3D10Blob = Interface("ID3D10Blob", IUnknown) -LPD3D10BLOB = Pointer(ID3D10Blob) - -ID3D10Blob.methods += [ - Method(LPVOID, "GetBufferPointer", []), - Method(SIZE_T, "GetBufferSize", []), -] - -D3D10_DRIVER_TYPE = Enum("D3D10_DRIVER_TYPE", [ - "D3D10_DRIVER_TYPE_HARDWARE", - "D3D10_DRIVER_TYPE_REFERENCE", - "D3D10_DRIVER_TYPE_NULL", - "D3D10_DRIVER_TYPE_SOFTWARE", - "D3D10_DRIVER_TYPE_WARP", -]) - -D3D10_FEATURE_LEVEL1 = Enum("D3D10_FEATURE_LEVEL1", [ - "D3D10_FEATURE_LEVEL_10_0", - "D3D10_FEATURE_LEVEL_10_1", - "D3D10_FEATURE_LEVEL_9_1", - "D3D10_FEATURE_LEVEL_9_2", - "D3D10_FEATURE_LEVEL_9_3", -]) - -# TODO -IDXGIAdapter = Alias("IDXGIAdapter", Void) -ID3D10Device1 = Alias("ID3D10Device1", Void) -IDXGISwapChain = Alias("IDXGISwapChain", Void) -DXGI_SWAP_CHAIN_DESC = Alias("DXGI_SWAP_CHAIN_DESC", Void) - -d3d10_1 = Dll("d3d10") -d3d10_1.functions += [ - StdFunction(HRESULT, "D3D10CreateDevice1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (OutPointer(Pointer(ID3D10Device1)), "ppDevice")]), - StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), (OutPointer(Pointer(IDXGISwapChain)), "ppSwapChain"), (OutPointer(Pointer(ID3D10Device1)), "ppDevice")]), - StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), (OutPointer(LPD3D10BLOB), "ppBuffer")]), -] - -if __name__ == '__main__': - print '#include ' - print '#include ' - print - print '#include "compat.h"' - print - print '#include ' - print - print '#include "trace_writer.hpp"' - print - wrap() diff --git a/d3d10misc.py b/d3d10misc.py deleted file mode 100644 index 1e1580f..0000000 --- a/d3d10misc.py +++ /dev/null @@ -1,54 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d10misc.h""" - -from winapi import * -from d3d10 import * - - -ID3D10Blob = Interface("ID3D10Blob", IUnknown) -LPD3D10BLOB = Pointer(ID3D10Blob) - -ID3D10Blob.methods += [ - Method(LPVOID, "GetBufferPointer", []), - Method(SIZE_T, "GetBufferSize", []), -] - -D3D10_DRIVER_TYPE = Enum("D3D10_DRIVER_TYPE", [ - "D3D10_DRIVER_TYPE_HARDWARE", - "D3D10_DRIVER_TYPE_REFERENCE", - "D3D10_DRIVER_TYPE_NULL", - "D3D10_DRIVER_TYPE_SOFTWARE", - "D3D10_DRIVER_TYPE_WARP", -]) - - -d3d10 = API("d3d10") -d3d10.add_functions([ - StdFunction(HRESULT, "D3D10CreateDevice", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (UINT, "SDKVersion"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), - StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), Out(Pointer(Pointer(IDXGISwapChain)), "ppSwapChain"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), - StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), Out(Pointer(LPD3D10BLOB), "ppBuffer")]), -]) diff --git a/d3d10trace.py b/d3d10trace.py index 4cb7904..edcf38a 100644 --- a/d3d10trace.py +++ b/d3d10trace.py @@ -24,7 +24,7 @@ ##########################################################################/ -from d3d10misc import d3d10 +from specs.d3d10misc import d3d10 from trace import DllTracer diff --git a/d3d8.py b/d3d8.py deleted file mode 100644 index 0713696..0000000 --- a/d3d8.py +++ /dev/null @@ -1,282 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d8.h""" - -from winapi import * -from d3d8types import * -from d3d8caps import * - -HRESULT = Enum("HRESULT", [ - "D3D_OK", - "D3DERR_WRONGTEXTUREFORMAT", - "D3DERR_UNSUPPORTEDCOLOROPERATION", - "D3DERR_UNSUPPORTEDCOLORARG", - "D3DERR_UNSUPPORTEDALPHAOPERATION", - "D3DERR_UNSUPPORTEDALPHAARG", - "D3DERR_TOOMANYOPERATIONS", - "D3DERR_CONFLICTINGTEXTUREFILTER", - "D3DERR_UNSUPPORTEDFACTORVALUE", - "D3DERR_CONFLICTINGRENDERSTATE", - "D3DERR_UNSUPPORTEDTEXTUREFILTER", - "D3DERR_CONFLICTINGTEXTUREPALETTE", - "D3DERR_DRIVERINTERNALERROR", - "D3DERR_NOTFOUND", - "D3DERR_MOREDATA", - "D3DERR_DEVICELOST", - "D3DERR_DEVICENOTRESET", - "D3DERR_NOTAVAILABLE", - "D3DERR_OUTOFVIDEOMEMORY", - "D3DERR_INVALIDDEVICE", - "D3DERR_INVALIDCALL", - "D3DERR_DRIVERINVALIDCALL", -]) - -IDirect3D8 = Interface("IDirect3D8", IUnknown) -IDirect3DDevice8 = Interface("IDirect3DDevice8", IUnknown) -IDirect3DSwapChain8 = Interface("IDirect3DSwapChain8", IUnknown) -IDirect3DResource8 = Interface("IDirect3DResource8", IUnknown) -IDirect3DBaseTexture8 = Interface("IDirect3DBaseTexture8", IDirect3DResource8) -IDirect3DTexture8 = Interface("IDirect3DTexture8", IDirect3DBaseTexture8) -IDirect3DVolumeTexture8 = Interface("IDirect3DVolumeTexture8", IDirect3DBaseTexture8) -IDirect3DCubeTexture8 = Interface("IDirect3DCubeTexture8", IDirect3DBaseTexture8) -IDirect3DVertexBuffer8 = Interface("IDirect3DVertexBuffer8", IDirect3DResource8) -IDirect3DIndexBuffer8 = Interface("IDirect3DIndexBuffer8", IDirect3DResource8) -IDirect3DSurface8 = Interface("IDirect3DSurface8", IUnknown) -IDirect3DVolume8 = Interface("IDirect3DVolume8", IUnknown) - -PDIRECT3D8 = WrapPointer(IDirect3D8) -PDIRECT3DDEVICE8 = WrapPointer(IDirect3DDevice8) -PDIRECT3DSWAPCHAIN8 = WrapPointer(IDirect3DSwapChain8) -PDIRECT3DRESOURCE8 = WrapPointer(IDirect3DResource8) -PDIRECT3DBASETEXTURE8 = WrapPointer(IDirect3DBaseTexture8) -PDIRECT3DTEXTURE8 = WrapPointer(IDirect3DTexture8) -PDIRECT3DVOLUMETEXTURE8 = WrapPointer(IDirect3DVolumeTexture8) -PDIRECT3DCUBETEXTURE8 = WrapPointer(IDirect3DCubeTexture8) -PDIRECT3DVERTEXBUFFER8 = WrapPointer(IDirect3DVertexBuffer8) -PDIRECT3DINDEXBUFFER8 = WrapPointer(IDirect3DIndexBuffer8) -PDIRECT3DSURFACE8 = WrapPointer(IDirect3DSurface8) -PDIRECT3DVOLUME8 = WrapPointer(IDirect3DVolume8) - -IDirect3D8.methods += [ - Method(HRESULT, "RegisterSoftwareDevice", [(OpaquePointer(Void), "pInitializeFunction")]), - Method(UINT, "GetAdapterCount", []), - Method(HRESULT, "GetAdapterIdentifier", [(UINT, "Adapter"), (DWORD, "Flags"), Out(Pointer(D3DADAPTER_IDENTIFIER8), "pIdentifier")]), - Method(UINT, "GetAdapterModeCount", [(UINT, "Adapter")]), - Method(HRESULT, "EnumAdapterModes", [(UINT, "Adapter"), (UINT, "Mode"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "GetAdapterDisplayMode", [(UINT, "Adapter"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "CheckDeviceType", [(UINT, "Adapter"), (D3DDEVTYPE, "CheckType"), (D3DFORMAT, "DisplayFormat"), (D3DFORMAT, "BackBufferFormat"), (BOOL, "Windowed")]), - Method(HRESULT, "CheckDeviceFormat", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (DWORD, "Usage"), (D3DRESOURCETYPE, "RType"), (D3DFORMAT, "CheckFormat")]), - Method(HRESULT, "CheckDeviceMultiSampleType", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SurfaceFormat"), (BOOL, "Windowed"), (D3DMULTISAMPLE_TYPE, "MultiSampleType")]), - Method(HRESULT, "CheckDepthStencilMatch", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "RenderTargetFormat"), (D3DFORMAT, "DepthStencilFormat")]), - Method(HRESULT, "GetDeviceCaps", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), Out(Pointer(D3DCAPS8), "pCaps")]), - Method(HMONITOR, "GetAdapterMonitor", [(UINT, "Adapter")]), - Method(HRESULT, "CreateDevice", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (DWORD, "BehaviorFlags"), Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DDEVICE8), "ppReturnedDeviceInterface")]), -] - -IDirect3DDevice8.methods += [ - Method(HRESULT, "TestCooperativeLevel", []), - Method(UINT, "GetAvailableTextureMem", []), - Method(HRESULT, "ResourceManagerDiscardBytes", [(DWORD, "Bytes")]), - Method(HRESULT, "GetDirect3D", [Out(Pointer(PDIRECT3D8), "ppD3D8")]), - Method(HRESULT, "GetDeviceCaps", [Out(Pointer(D3DCAPS8), "pCaps")]), - Method(HRESULT, "GetDisplayMode", [Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "GetCreationParameters", [Out(Pointer(D3DDEVICE_CREATION_PARAMETERS), "pParameters")]), - Method(HRESULT, "SetCursorProperties", [(UINT, "XHotSpot"), (UINT, "YHotSpot"), (PDIRECT3DSURFACE8, "pCursorBitmap")]), - # XXX: There are different signatures of - # IDirect3DDevice8::SetCursorPosition depending on the DXSDK version - Method(Void, "SetCursorPosition", [(UINT, "XScreenSpace"), (UINT, "YScreenSpace"), (DWORD, "Flags")]), - Method(Void, "SetCursorPosition", [(Int, "X"), (Int, "Y"), (DWORD, "Flags")]), - Method(BOOL, "ShowCursor", [(BOOL, "bShow")]), - Method(HRESULT, "CreateAdditionalSwapChain", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DSWAPCHAIN8), "pSwapChain")]), - Method(HRESULT, "Reset", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]), - Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion")]), - Method(HRESULT, "GetBackBuffer", [(UINT, "BackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE8), "ppBackBuffer")]), - Method(HRESULT, "GetRasterStatus", [Out(Pointer(D3DRASTER_STATUS), "pRasterStatus")]), - Method(Void, "SetGammaRamp", [(DWORD, "Flags"), (ConstPointer(D3DGAMMARAMP), "pRamp")]), - Method(Void, "GetGammaRamp", [Out(Pointer(D3DGAMMARAMP), "pRamp")]), - Method(HRESULT, "CreateTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DTEXTURE8), "ppTexture")]), - Method(HRESULT, "CreateVolumeTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Depth"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVOLUMETEXTURE8), "ppVolumeTexture")]), - Method(HRESULT, "CreateCubeTexture", [(UINT, "EdgeLength"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DCUBETEXTURE8), "ppCubeTexture")]), - Method(HRESULT, "CreateVertexBuffer", [(UINT, "Length"), (DWORD, "Usage"), (DWORD, "FVF"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVERTEXBUFFER8), "ppVertexBuffer")]), - Method(HRESULT, "CreateIndexBuffer", [(UINT, "Length"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DINDEXBUFFER8), "ppIndexBuffer")]), - Method(HRESULT, "CreateRenderTarget", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (BOOL, "Lockable"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurface")]), - Method(HRESULT, "CreateDepthStencilSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurface")]), - Method(HRESULT, "CreateImageSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurface")]), - Method(HRESULT, "CopyRects", [(PDIRECT3DSURFACE8, "pSourceSurface"), (ConstPointer(RECT), "pSourceRectsArray"), (UINT, "cRects"), (PDIRECT3DSURFACE8, "pDestinationSurface"), (ConstPointer(POINT), "pDestPointsArray")]), - Method(HRESULT, "UpdateTexture", [(PDIRECT3DBASETEXTURE8, "pSourceTexture"), (PDIRECT3DBASETEXTURE8, "pDestinationTexture")]), - Method(HRESULT, "GetFrontBuffer", [(PDIRECT3DSURFACE8, "pDestSurface")]), - Method(HRESULT, "SetRenderTarget", [(PDIRECT3DSURFACE8, "pRenderTarget"), (PDIRECT3DSURFACE8, "pNewZStencil")]), - Method(HRESULT, "GetRenderTarget", [Out(Pointer(PDIRECT3DSURFACE8), "ppRenderTarget")]), - Method(HRESULT, "GetDepthStencilSurface", [Out(Pointer(PDIRECT3DSURFACE8), "ppZStencilSurface")]), - Method(HRESULT, "BeginScene", []), - Method(HRESULT, "EndScene", []), - Method(HRESULT, "Clear", [(DWORD, "Count"), (ConstPointer(D3DRECT), "pRects"), (D3DCLEAR, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]), - Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), - Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "State"), Out(Pointer(D3DMATRIX), "pMatrix")]), - Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), - Method(HRESULT, "SetViewport", [(ConstPointer(D3DVIEWPORT8), "pViewport")]), - Method(HRESULT, "GetViewport", [Out(Pointer(D3DVIEWPORT8), "pViewport")]), - Method(HRESULT, "SetMaterial", [(ConstPointer(D3DMATERIAL8), "pMaterial")]), - Method(HRESULT, "GetMaterial", [Out(Pointer(D3DMATERIAL8), "pMaterial")]), - Method(HRESULT, "SetLight", [(DWORD, "Index"), (ConstPointer(D3DLIGHT8), "pLight")]), - Method(HRESULT, "GetLight", [(DWORD, "Index"), Out(Pointer(D3DLIGHT8), "pLight")]), - Method(HRESULT, "LightEnable", [(DWORD, "Index"), (BOOL, "Enable")]), - Method(HRESULT, "GetLightEnable", [(DWORD, "Index"), Out(Pointer(BOOL), "pEnable")]), - Method(HRESULT, "SetClipPlane", [(DWORD, "Index"), (ConstPointer(Float), "pPlane")]), - Method(HRESULT, "GetClipPlane", [(DWORD, "Index"), Out(Pointer(Float), "pPlane")]), - Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "State"), (DWORD, "Value")]), - Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "State"), Out(Pointer(DWORD), "pValue")]), - Method(HRESULT, "BeginStateBlock", []), - Method(HRESULT, "EndStateBlock", [Out(Pointer(DWORD), "pToken")]), - Method(HRESULT, "ApplyStateBlock", [(DWORD, "Token")]), - Method(HRESULT, "CaptureStateBlock", [(DWORD, "Token")]), - Method(HRESULT, "DeleteStateBlock", [(DWORD, "Token")]), - Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "Type"), Out(Pointer(DWORD), "pToken")]), - Method(HRESULT, "SetClipStatus", [(ConstPointer(D3DCLIPSTATUS8), "pClipStatus")]), - Method(HRESULT, "GetClipStatus", [Out(Pointer(D3DCLIPSTATUS8), "pClipStatus")]), - Method(HRESULT, "GetTexture", [(DWORD, "Stage"), Out(Pointer(PDIRECT3DBASETEXTURE8), "ppTexture")]), - Method(HRESULT, "SetTexture", [(DWORD, "Stage"), (PDIRECT3DBASETEXTURE8, "pTexture")]), - Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]), - Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (DWORD, "Value")]), - Method(HRESULT, "ValidateDevice", [Out(Pointer(DWORD), "pNumPasses")]), - Method(HRESULT, "GetInfo", [(DWORD, "DevInfoID"), Out(OpaquePointer(Void), "pDevInfoStruct"), (DWORD, "DevInfoStructSize")]), - Method(HRESULT, "SetPaletteEntries", [(UINT, "PaletteNumber"), (ConstPointer(PALETTEENTRY), "pEntries")]), - Method(HRESULT, "GetPaletteEntries", [(UINT, "PaletteNumber"), Out(Pointer(PALETTEENTRY), "pEntries")]), - Method(HRESULT, "SetCurrentTexturePalette", [(UINT, "PaletteNumber")]), - Method(HRESULT, "GetCurrentTexturePalette", [Out(Pointer(UINT), "PaletteNumber")]), - Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "StartVertex"), (UINT, "PrimitiveCount")]), - Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "minIndex"), (UINT, "NumVertices"), (UINT, "startIndex"), (UINT, "primCount")]), - Method(HRESULT, "DrawPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), - Method(HRESULT, "DrawIndexedPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "MinVertexIndex"), (UINT, "NumVertexIndices"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pIndexData"), (D3DFORMAT, "IndexDataFormat"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), - Method(HRESULT, "ProcessVertices", [(UINT, "SrcStartIndex"), (UINT, "DestIndex"), (UINT, "VertexCount"), (PDIRECT3DVERTEXBUFFER8, "pDestBuffer"), (DWORD, "Flags")]), - Method(HRESULT, "CreateVertexShader", [(ConstPointer(DWORD), "pDeclaration"), (ConstPointer(DWORD), "pFunction"), Out(Pointer(DWORD), "pHandle"), (DWORD, "Usage")]), - Method(HRESULT, "SetVertexShader", [(DWORD, "Handle")]), - Method(HRESULT, "GetVertexShader", [Out(Pointer(DWORD), "pHandle")]), - Method(HRESULT, "DeleteVertexShader", [(DWORD, "Handle")]), - Method(HRESULT, "SetVertexShaderConstant", [(DWORD, "Register"), (OpaquePointer(Const(Void)), "pConstantData"), (DWORD, "ConstantCount")]), - Method(HRESULT, "GetVertexShaderConstant", [(DWORD, "Register"), Out(OpaquePointer(Void), "pConstantData"), (DWORD, "ConstantCount")]), - Method(HRESULT, "GetVertexShaderDeclaration", [(DWORD, "Handle"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "GetVertexShaderFunction", [(DWORD, "Handle"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "SetStreamSource", [(UINT, "StreamNumber"), (PDIRECT3DVERTEXBUFFER8, "pStreamData"), (UINT, "Stride")]), - Method(HRESULT, "GetStreamSource", [(UINT, "StreamNumber"), Out(Pointer(PDIRECT3DVERTEXBUFFER8), "ppStreamData"), Out(Pointer(UINT), "pStride")]), - Method(HRESULT, "SetIndices", [(PDIRECT3DINDEXBUFFER8, "pIndexData"), (UINT, "BaseVertexIndex")]), - Method(HRESULT, "GetIndices", [Out(Pointer(PDIRECT3DINDEXBUFFER8), "ppIndexData"), Out(Pointer(UINT), "pBaseVertexIndex")]), - Method(HRESULT, "CreatePixelShader", [(ConstPointer(DWORD), "pFunction"), Out(Pointer(DWORD), "pHandle")]), - Method(HRESULT, "SetPixelShader", [(DWORD, "Handle")]), - Method(HRESULT, "GetPixelShader", [Out(Pointer(DWORD), "pHandle")]), - Method(HRESULT, "DeletePixelShader", [(DWORD, "Handle")]), - Method(HRESULT, "SetPixelShaderConstant", [(DWORD, "Register"), (OpaquePointer(Const(Void)), "pConstantData"), (DWORD, "ConstantCount")]), - Method(HRESULT, "GetPixelShaderConstant", [(DWORD, "Register"), Out(OpaquePointer(Void), "pConstantData"), (DWORD, "ConstantCount")]), - Method(HRESULT, "GetPixelShaderFunction", [(DWORD, "Handle"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "DrawRectPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DRECTPATCH_INFO), "pRectPatchInfo")]), - Method(HRESULT, "DrawTriPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DTRIPATCH_INFO), "pTriPatchInfo")]), - Method(HRESULT, "DeletePatch", [(UINT, "Handle")]), -] - -IDirect3DSwapChain8.methods += [ - Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion")]), - Method(HRESULT, "GetBackBuffer", [(UINT, "BackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE8), "ppBackBuffer")]), -] - -IDirect3DResource8.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE8), "ppDevice")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), - Method(DWORD, "SetPriority", [(DWORD, "PriorityNew")]), - Method(DWORD, "GetPriority", []), - Method(Void, "PreLoad", []), - Method(D3DRESOURCETYPE, "GetType", []), -] - -IDirect3DBaseTexture8.methods += [ - Method(DWORD, "SetLOD", [(DWORD, "LODNew")]), - Method(DWORD, "GetLOD", []), - Method(DWORD, "GetLevelCount", []), -] - -IDirect3DTexture8.methods += [ - Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), - Method(HRESULT, "GetSurfaceLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurfaceLevel")]), - Method(HRESULT, "LockRect", [(UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (DWORD, "Flags")]), - Method(HRESULT, "UnlockRect", [(UINT, "Level")]), - Method(HRESULT, "AddDirtyRect", [(ConstPointer(RECT), "pDirtyRect")]), -] - -IDirect3DVolumeTexture8.methods += [ - Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DVOLUME_DESC), "pDesc")]), - Method(HRESULT, "GetVolumeLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DVOLUME8), "ppVolumeLevel")]), - Method(HRESULT, "LockBox", [(UINT, "Level"), Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (DWORD, "Flags")]), - Method(HRESULT, "UnlockBox", [(UINT, "Level")]), - Method(HRESULT, "AddDirtyBox", [(ConstPointer(D3DBOX), "pDirtyBox")]), -] - -IDirect3DCubeTexture8.methods += [ - Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), - Method(HRESULT, "GetCubeMapSurface", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE8), "ppCubeMapSurface")]), - Method(HRESULT, "LockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (DWORD, "Flags")]), - Method(HRESULT, "UnlockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level")]), - Method(HRESULT, "AddDirtyRect", [(D3DCUBEMAP_FACES, "FaceType"), (ConstPointer(RECT), "pDirtyRect")]), -] - -IDirect3DVertexBuffer8.methods += [ - Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(Pointer(BYTE)), "ppbData"), (DWORD, "Flags")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DVERTEXBUFFER_DESC), "pDesc")]), -] - -IDirect3DIndexBuffer8.methods += [ - Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(Pointer(BYTE)), "ppbData"), (DWORD, "Flags")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DINDEXBUFFER_DESC), "pDesc")]), -] - -IDirect3DSurface8.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE8), "ppDevice")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), - Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DSURFACE_DESC), "pDesc")]), - Method(HRESULT, "LockRect", [Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (DWORD, "Flags")]), - Method(HRESULT, "UnlockRect", []), -] - -IDirect3DVolume8.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE8), "ppDevice")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), - Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DVOLUME_DESC), "pDesc")]), - Method(HRESULT, "LockBox", [Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (DWORD, "Flags")]), - Method(HRESULT, "UnlockBox", []), -] - -d3d8 = API("d3d8") -d3d8.add_functions([ - StdFunction(PDIRECT3D8, "Direct3DCreate8", [(UINT, "SDKVersion")]), -]) diff --git a/d3d8caps.py b/d3d8caps.py deleted file mode 100644 index 87e7625..0000000 --- a/d3d8caps.py +++ /dev/null @@ -1,335 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d8caps.h""" - -from winapi import * -from d3d8types import * - -D3DCAPS = Flags(DWORD, [ - "D3DCAPS_READ_SCANLINE", -]) - -D3DCAPS2 = Flags(DWORD, [ - "D3DCAPS2_NO2DDURING3DSCENE", - "D3DCAPS2_FULLSCREENGAMMA", - "D3DCAPS2_CANRENDERWINDOWED", - "D3DCAPS2_CANCALIBRATEGAMMA", - "D3DCAPS2_RESERVED", - "D3DCAPS2_CANMANAGERESOURCE", - "D3DCAPS2_DYNAMICTEXTURES", -]) - -D3DCAPS3 = Flags(DWORD, [ - "D3DCAPS3_RESERVED", - "D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD", -]) - -D3DPRESENT_INTERVAL = Flags(DWORD, [ - "D3DPRESENT_INTERVAL_DEFAULT", - "D3DPRESENT_INTERVAL_ONE", - "D3DPRESENT_INTERVAL_TWO", - "D3DPRESENT_INTERVAL_THREE", - "D3DPRESENT_INTERVAL_FOUR", - "D3DPRESENT_INTERVAL_IMMEDIATE", -]) - -D3DCURSORCAPS = Flags(DWORD, [ - "D3DCURSORCAPS_COLOR", - "D3DCURSORCAPS_LOWRES", -]) - -D3DDEVCAPS = Flags(DWORD, [ - "D3DDEVCAPS_EXECUTESYSTEMMEMORY", - "D3DDEVCAPS_EXECUTEVIDEOMEMORY", - "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY", - "D3DDEVCAPS_TLVERTEXVIDEOMEMORY", - "D3DDEVCAPS_TEXTURESYSTEMMEMORY", - "D3DDEVCAPS_TEXTUREVIDEOMEMORY", - "D3DDEVCAPS_DRAWPRIMTLVERTEX", - "D3DDEVCAPS_CANRENDERAFTERFLIP", - "D3DDEVCAPS_TEXTURENONLOCALVIDMEM", - "D3DDEVCAPS_DRAWPRIMITIVES2", - "D3DDEVCAPS_SEPARATETEXTUREMEMORIES", - "D3DDEVCAPS_DRAWPRIMITIVES2EX", - "D3DDEVCAPS_HWTRANSFORMANDLIGHT", - "D3DDEVCAPS_CANBLTSYSTONONLOCAL", - "D3DDEVCAPS_HWRASTERIZATION", - "D3DDEVCAPS_PUREDEVICE", - "D3DDEVCAPS_QUINTICRTPATCHES", - "D3DDEVCAPS_RTPATCHES", - "D3DDEVCAPS_RTPATCHHANDLEZERO", - "D3DDEVCAPS_NPATCHES", -]) - -D3DPMISCCAPS = Flags(DWORD, [ - "D3DPMISCCAPS_MASKZ", - "D3DPMISCCAPS_LINEPATTERNREP", - "D3DPMISCCAPS_CULLNONE", - "D3DPMISCCAPS_CULLCW", - "D3DPMISCCAPS_CULLCCW", - "D3DPMISCCAPS_COLORWRITEENABLE", - "D3DPMISCCAPS_CLIPPLANESCALEDPOINTS", - "D3DPMISCCAPS_CLIPTLVERTS", - "D3DPMISCCAPS_TSSARGTEMP", - "D3DPMISCCAPS_BLENDOP", - "D3DPMISCCAPS_NULLREFERENCE", -]) - -D3DLINECAPS = Flags(DWORD, [ - "D3DLINECAPS_TEXTURE", - "D3DLINECAPS_ZTEST", - "D3DLINECAPS_BLEND", - "D3DLINECAPS_ALPHACMP", - "D3DLINECAPS_FOG", -]) - -D3DPRASTERCAPS = Flags(DWORD, [ - "D3DPRASTERCAPS_DITHER", - "D3DPRASTERCAPS_PAT", - "D3DPRASTERCAPS_ZTEST", - "D3DPRASTERCAPS_FOGVERTEX", - "D3DPRASTERCAPS_FOGTABLE", - "D3DPRASTERCAPS_ANTIALIASEDGES", - "D3DPRASTERCAPS_MIPMAPLODBIAS", - "D3DPRASTERCAPS_ZBIAS", - "D3DPRASTERCAPS_ZBUFFERLESSHSR", - "D3DPRASTERCAPS_FOGRANGE", - "D3DPRASTERCAPS_ANISOTROPY", - "D3DPRASTERCAPS_WBUFFER", - "D3DPRASTERCAPS_WFOG", - "D3DPRASTERCAPS_ZFOG", - "D3DPRASTERCAPS_COLORPERSPECTIVE", - "D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE", -]) - -D3DPCMPCAPS = Flags(DWORD, [ - "D3DPCMPCAPS_NEVER", - "D3DPCMPCAPS_LESS", - "D3DPCMPCAPS_EQUAL", - "D3DPCMPCAPS_LESSEQUAL", - "D3DPCMPCAPS_GREATER", - "D3DPCMPCAPS_NOTEQUAL", - "D3DPCMPCAPS_GREATEREQUAL", - "D3DPCMPCAPS_ALWAYS", -]) - -D3DPBLENDCAPS = Flags(DWORD, [ - "D3DPBLENDCAPS_ZERO", - "D3DPBLENDCAPS_ONE", - "D3DPBLENDCAPS_SRCCOLOR", - "D3DPBLENDCAPS_INVSRCCOLOR", - "D3DPBLENDCAPS_SRCALPHA", - "D3DPBLENDCAPS_INVSRCALPHA", - "D3DPBLENDCAPS_DESTALPHA", - "D3DPBLENDCAPS_INVDESTALPHA", - "D3DPBLENDCAPS_DESTCOLOR", - "D3DPBLENDCAPS_INVDESTCOLOR", - "D3DPBLENDCAPS_SRCALPHASAT", - "D3DPBLENDCAPS_BOTHSRCALPHA", - "D3DPBLENDCAPS_BOTHINVSRCALPHA", -]) - -D3DPSHADECAPS = Flags(DWORD, [ - "D3DPSHADECAPS_COLORGOURAUDRGB", - "D3DPSHADECAPS_SPECULARGOURAUDRGB", - "D3DPSHADECAPS_ALPHAGOURAUDBLEND", - "D3DPSHADECAPS_FOGGOURAUD", -]) - -D3DPTEXTURECAPS = Flags(DWORD, [ - "D3DPTEXTURECAPS_PERSPECTIVE", - "D3DPTEXTURECAPS_POW2", - "D3DPTEXTURECAPS_ALPHA", - "D3DPTEXTURECAPS_SQUAREONLY", - "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE", - "D3DPTEXTURECAPS_ALPHAPALETTE", - "D3DPTEXTURECAPS_NONPOW2CONDITIONAL", - "D3DPTEXTURECAPS_PROJECTED", - "D3DPTEXTURECAPS_CUBEMAP", - "D3DPTEXTURECAPS_VOLUMEMAP", - "D3DPTEXTURECAPS_MIPMAP", - "D3DPTEXTURECAPS_MIPVOLUMEMAP", - "D3DPTEXTURECAPS_MIPCUBEMAP", - "D3DPTEXTURECAPS_CUBEMAP_POW2", - "D3DPTEXTURECAPS_VOLUMEMAP_POW2", -]) - -D3DPTFILTERCAPS = Flags(DWORD, [ - "D3DPTFILTERCAPS_MINFPOINT", - "D3DPTFILTERCAPS_MINFLINEAR", - "D3DPTFILTERCAPS_MINFANISOTROPIC", - "D3DPTFILTERCAPS_MIPFPOINT", - "D3DPTFILTERCAPS_MIPFLINEAR", - "D3DPTFILTERCAPS_MAGFPOINT", - "D3DPTFILTERCAPS_MAGFLINEAR", - "D3DPTFILTERCAPS_MAGFANISOTROPIC", - "D3DPTFILTERCAPS_MAGFAFLATCUBIC", - "D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC", -]) - -D3DPTADDRESSCAPS = Flags(DWORD, [ - "D3DPTADDRESSCAPS_WRAP", - "D3DPTADDRESSCAPS_MIRROR", - "D3DPTADDRESSCAPS_CLAMP", - "D3DPTADDRESSCAPS_BORDER", - "D3DPTADDRESSCAPS_INDEPENDENTUV", - "D3DPTADDRESSCAPS_MIRRORONCE", -]) - -D3DSTENCILCAPS = Flags(DWORD, [ - "D3DSTENCILCAPS_KEEP", - "D3DSTENCILCAPS_ZERO", - "D3DSTENCILCAPS_REPLACE", - "D3DSTENCILCAPS_INCRSAT", - "D3DSTENCILCAPS_DECRSAT", - "D3DSTENCILCAPS_INVERT", - "D3DSTENCILCAPS_INCR", - "D3DSTENCILCAPS_DECR", -]) - -D3DTEXOPCAPS = Flags(DWORD, [ - "D3DTEXOPCAPS_DISABLE", - "D3DTEXOPCAPS_SELECTARG1", - "D3DTEXOPCAPS_SELECTARG2", - "D3DTEXOPCAPS_MODULATE", - "D3DTEXOPCAPS_MODULATE2X", - "D3DTEXOPCAPS_MODULATE4X", - "D3DTEXOPCAPS_ADD", - "D3DTEXOPCAPS_ADDSIGNED", - "D3DTEXOPCAPS_ADDSIGNED2X", - "D3DTEXOPCAPS_SUBTRACT", - "D3DTEXOPCAPS_ADDSMOOTH", - "D3DTEXOPCAPS_BLENDDIFFUSEALPHA", - "D3DTEXOPCAPS_BLENDTEXTUREALPHA", - "D3DTEXOPCAPS_BLENDFACTORALPHA", - "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM", - "D3DTEXOPCAPS_BLENDCURRENTALPHA", - "D3DTEXOPCAPS_PREMODULATE", - "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR", - "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA", - "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR", - "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA", - "D3DTEXOPCAPS_BUMPENVMAP", - "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE", - "D3DTEXOPCAPS_DOTPRODUCT3", - "D3DTEXOPCAPS_MULTIPLYADD", - "D3DTEXOPCAPS_LERP", -]) - -D3DFVFCAPS = Flags(DWORD, [ - "D3DFVFCAPS_TEXCOORDCOUNTMASK", - "D3DFVFCAPS_DONOTSTRIPELEMENTS", - "D3DFVFCAPS_PSIZE", -]) - -D3DVTXPCAPS = Flags(DWORD, [ - "D3DVTXPCAPS_TEXGEN", - "D3DVTXPCAPS_MATERIALSOURCE7", - "D3DVTXPCAPS_DIRECTIONALLIGHTS", - "D3DVTXPCAPS_POSITIONALLIGHTS", - "D3DVTXPCAPS_LOCALVIEWER", - "D3DVTXPCAPS_TWEENING", - "D3DVTXPCAPS_NO_VSDT_UBYTE4", -]) - -#D3DPS_VERSION = Enum("DWORD", [ -# "D3DPS_VERSION(0,0)", -# "D3DPS_VERSION(1,0)", -# "D3DPS_VERSION(1,1)", -# "D3DPS_VERSION(1,2)", -# "D3DPS_VERSION(1,3)", -# "D3DPS_VERSION(1,4)", -# "D3DPS_VERSION(2,0)", -# "D3DPS_VERSION(3,0)", -#]) -D3DPS_VERSION = DWORD - -#D3DVS_VERSION = Enum("DWORD", [ -# "D3DVS_VERSION(0,0)", -# "D3DVS_VERSION(1,0)", -# "D3DVS_VERSION(1,1)", -# "D3DVS_VERSION(2,0)", -# "D3DVS_VERSION(3,0)", -#]) -D3DVS_VERSION = DWORD - - -D3DCAPS8 = Struct("D3DCAPS8", [ - (D3DDEVTYPE, "DeviceType"), - (UINT, "AdapterOrdinal"), - (D3DCAPS, "Caps"), - (D3DCAPS2, "Caps2"), - (D3DCAPS3, "Caps3"), - (D3DPRESENT_INTERVAL, "PresentationIntervals"), - (D3DCURSORCAPS, "CursorCaps"), - (D3DDEVCAPS, "DevCaps"), - (D3DPMISCCAPS, "PrimitiveMiscCaps"), - (D3DPRASTERCAPS, "RasterCaps"), - (D3DPCMPCAPS, "ZCmpCaps"), - (D3DPBLENDCAPS, "SrcBlendCaps"), - (D3DPBLENDCAPS, "DestBlendCaps"), - (D3DPCMPCAPS, "AlphaCmpCaps"), - (D3DPSHADECAPS, "ShadeCaps"), - (D3DPTEXTURECAPS, "TextureCaps"), - (D3DPTFILTERCAPS, "TextureFilterCaps"), - (D3DPTFILTERCAPS, "CubeTextureFilterCaps"), - (D3DPTFILTERCAPS, "VolumeTextureFilterCaps"), - (D3DPTADDRESSCAPS, "TextureAddressCaps"), - (D3DPTADDRESSCAPS, "VolumeTextureAddressCaps"), - (D3DLINECAPS, "LineCaps"), - (DWORD, "MaxTextureWidth"), - (DWORD, "MaxTextureHeight"), - (DWORD, "MaxVolumeExtent"), - (DWORD, "MaxTextureRepeat"), - (DWORD, "MaxTextureAspectRatio"), - (DWORD, "MaxAnisotropy"), - (Float, "MaxVertexW"), - (Float, "GuardBandLeft"), - (Float, "GuardBandTop"), - (Float, "GuardBandRight"), - (Float, "GuardBandBottom"), - (Float, "ExtentsAdjust"), - (D3DSTENCILCAPS, "StencilCaps"), - (D3DFVFCAPS, "FVFCaps"), - (D3DTEXOPCAPS, "TextureOpCaps"), - (DWORD, "MaxTextureBlendStages"), - (DWORD, "MaxSimultaneousTextures"), - (D3DVTXPCAPS, "VertexProcessingCaps"), - (DWORD, "MaxActiveLights"), - (DWORD, "MaxUserClipPlanes"), - (DWORD, "MaxVertexBlendMatrices"), - (DWORD, "MaxVertexBlendMatrixIndex"), - (Float, "MaxPointSize"), - (DWORD, "MaxPrimitiveCount"), - (DWORD, "MaxVertexIndex"), - (DWORD, "MaxStreams"), - (DWORD, "MaxStreamStride"), - (D3DVS_VERSION, "VertexShaderVersion"), - (DWORD, "MaxVertexShaderConst"), - (D3DPS_VERSION, "PixelShaderVersion"), - (Float, "MaxPixelShaderValue"), -]) - diff --git a/d3d8trace.py b/d3d8trace.py index 236f56c..2b574fb 100644 --- a/d3d8trace.py +++ b/d3d8trace.py @@ -24,7 +24,7 @@ ##########################################################################/ -from d3d8 import d3d8 +from specs.d3d8 import d3d8 from trace import DllTracer diff --git a/d3d8types.py b/d3d8types.py deleted file mode 100644 index 6136d98..0000000 --- a/d3d8types.py +++ /dev/null @@ -1,1011 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d8types.h""" - -from winapi import * - -D3DCOLOR = Alias("D3DCOLOR", DWORD) - -D3DVECTOR = Struct("D3DVECTOR", [ - (Float, "x"), - (Float, "y"), - (Float, "z"), -]) - -D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ - (Float, "r"), - (Float, "g"), - (Float, "b"), - (Float, "a"), -]) - -D3DRECT = Struct("D3DRECT", [ - (LONG, "x1"), - (LONG, "y1"), - (LONG, "x2"), - (LONG, "y2"), -]) - -D3DMATRIX = Struct("D3DMATRIX", [ - (Array(Array(Float, "4"), "4"), "m"), -]) - -D3DVIEWPORT8 = Struct("D3DVIEWPORT8", [ - (DWORD, "X"), - (DWORD, "Y"), - (DWORD, "Width"), - (DWORD, "Height"), - (Float, "MinZ"), - (Float, "MaxZ"), -]) - -D3DCLIP = Flags(DWORD, [ - "D3DCLIPPLANE0", - "D3DCLIPPLANE1", - "D3DCLIPPLANE2", - "D3DCLIPPLANE3", - "D3DCLIPPLANE4", - "D3DCLIPPLANE5", -]) - -D3DCS = Flags(DWORD, [ - "D3DCS_ALL", - "D3DCS_LEFT", - "D3DCS_RIGHT", - "D3DCS_TOP", - "D3DCS_BOTTOM", - "D3DCS_FRONT", - "D3DCS_BACK", - "D3DCS_PLANE0", - "D3DCS_PLANE1", - "D3DCS_PLANE2", - "D3DCS_PLANE3", - "D3DCS_PLANE4", - "D3DCS_PLANE5", -]) - -D3DCLIPSTATUS8 = Struct("D3DCLIPSTATUS8", [ - (DWORD, "ClipUnion"), - (DWORD, "ClipIntersection"), -]) - -D3DMATERIAL8 = Struct("D3DMATERIAL8", [ - (D3DCOLORVALUE, "Diffuse"), - (D3DCOLORVALUE, "Ambient"), - (D3DCOLORVALUE, "Specular"), - (D3DCOLORVALUE, "Emissive"), - (Float, "Power"), -]) - -D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ - "D3DLIGHT_POINT", - "D3DLIGHT_SPOT", - "D3DLIGHT_DIRECTIONAL", -]) - -D3DLIGHT8 = Struct("D3DLIGHT8", [ - (D3DLIGHTTYPE, "Type"), - (D3DCOLORVALUE, "Diffuse"), - (D3DCOLORVALUE, "Specular"), - (D3DCOLORVALUE, "Ambient"), - (D3DVECTOR, "Position"), - (D3DVECTOR, "Direction"), - (Float, "Range"), - (Float, "Falloff"), - (Float, "Attenuation0"), - (Float, "Attenuation1"), - (Float, "Attenuation2"), - (Float, "Theta"), - (Float, "Phi"), -]) - -D3DCLEAR = Flags(DWORD, [ - "D3DCLEAR_TARGET", - "D3DCLEAR_ZBUFFER", - "D3DCLEAR_STENCIL", -]) - -D3DSHADEMODE = Enum("D3DSHADEMODE", [ - "D3DSHADE_FLAT", - "D3DSHADE_GOURAUD", - "D3DSHADE_PHONG", -]) - -D3DFILLMODE = Enum("D3DFILLMODE", [ - "D3DFILL_POINT", - "D3DFILL_WIREFRAME", - "D3DFILL_SOLID", -]) - -D3DLINEPATTERN = Struct("D3DLINEPATTERN", [ - (WORD, "wRepeatFactor"), - (WORD, "wLinePattern"), -]) - -D3DBLEND = Enum("D3DBLEND", [ - "D3DBLEND_ZERO", - "D3DBLEND_ONE", - "D3DBLEND_SRCCOLOR", - "D3DBLEND_INVSRCCOLOR", - "D3DBLEND_SRCALPHA", - "D3DBLEND_INVSRCALPHA", - "D3DBLEND_DESTALPHA", - "D3DBLEND_INVDESTALPHA", - "D3DBLEND_DESTCOLOR", - "D3DBLEND_INVDESTCOLOR", - "D3DBLEND_SRCALPHASAT", - "D3DBLEND_BOTHSRCALPHA", - "D3DBLEND_BOTHINVSRCALPHA", -]) - -D3DBLENDOP = Enum("D3DBLENDOP", [ - "D3DBLENDOP_ADD", - "D3DBLENDOP_SUBTRACT", - "D3DBLENDOP_REVSUBTRACT", - "D3DBLENDOP_MIN", - "D3DBLENDOP_MAX", -]) - -D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ - "D3DTADDRESS_WRAP", - "D3DTADDRESS_MIRROR", - "D3DTADDRESS_CLAMP", - "D3DTADDRESS_BORDER", - "D3DTADDRESS_MIRRORONCE", -]) - -D3DCULL = Enum("D3DCULL", [ - "D3DCULL_NONE", - "D3DCULL_CW", - "D3DCULL_CCW", -]) - -D3DCMPFUNC = Enum("D3DCMPFUNC", [ - "D3DCMP_NEVER", - "D3DCMP_LESS", - "D3DCMP_EQUAL", - "D3DCMP_LESSEQUAL", - "D3DCMP_GREATER", - "D3DCMP_NOTEQUAL", - "D3DCMP_GREATEREQUAL", - "D3DCMP_ALWAYS", -]) - -D3DSTENCILOP = Enum("D3DSTENCILOP", [ - "D3DSTENCILOP_KEEP", - "D3DSTENCILOP_ZERO", - "D3DSTENCILOP_REPLACE", - "D3DSTENCILOP_INCRSAT", - "D3DSTENCILOP_DECRSAT", - "D3DSTENCILOP_INVERT", - "D3DSTENCILOP_INCR", - "D3DSTENCILOP_DECR", -]) - -D3DFOGMODE = Enum("D3DFOGMODE", [ - "D3DFOG_NONE", - "D3DFOG_EXP", - "D3DFOG_EXP2", - "D3DFOG_LINEAR", -]) - -D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ - "D3DZB_FALSE", - "D3DZB_TRUE", - "D3DZB_USEW", -]) - -D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ - "D3DPT_POINTLIST", - "D3DPT_LINELIST", - "D3DPT_LINESTRIP", - "D3DPT_TRIANGLELIST", - "D3DPT_TRIANGLESTRIP", - "D3DPT_TRIANGLEFAN", -]) - -D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ - "D3DTS_VIEW", - "D3DTS_PROJECTION", - "D3DTS_TEXTURE0", - "D3DTS_TEXTURE1", - "D3DTS_TEXTURE2", - "D3DTS_TEXTURE3", - "D3DTS_TEXTURE4", - "D3DTS_TEXTURE5", - "D3DTS_TEXTURE6", - "D3DTS_TEXTURE7", -]) - -D3DTS = Flags(DWORD, [ - "D3DTS_WORLD", - "D3DTS_WORLD1", - "D3DTS_WORLD2", - "D3DTS_WORLD3", -]) - -D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ - "D3DRS_ZENABLE", - "D3DRS_FILLMODE", - "D3DRS_SHADEMODE", - "D3DRS_LINEPATTERN", - "D3DRS_ZWRITEENABLE", - "D3DRS_ALPHATESTENABLE", - "D3DRS_LASTPIXEL", - "D3DRS_SRCBLEND", - "D3DRS_DESTBLEND", - "D3DRS_CULLMODE", - "D3DRS_ZFUNC", - "D3DRS_ALPHAREF", - "D3DRS_ALPHAFUNC", - "D3DRS_DITHERENABLE", - "D3DRS_ALPHABLENDENABLE", - "D3DRS_FOGENABLE", - "D3DRS_SPECULARENABLE", - "D3DRS_ZVISIBLE", - "D3DRS_FOGCOLOR", - "D3DRS_FOGTABLEMODE", - "D3DRS_FOGSTART", - "D3DRS_FOGEND", - "D3DRS_FOGDENSITY", - "D3DRS_EDGEANTIALIAS", - "D3DRS_ZBIAS", - "D3DRS_RANGEFOGENABLE", - "D3DRS_STENCILENABLE", - "D3DRS_STENCILFAIL", - "D3DRS_STENCILZFAIL", - "D3DRS_STENCILPASS", - "D3DRS_STENCILFUNC", - "D3DRS_STENCILREF", - "D3DRS_STENCILMASK", - "D3DRS_STENCILWRITEMASK", - "D3DRS_TEXTUREFACTOR", - "D3DRS_WRAP0", - "D3DRS_WRAP1", - "D3DRS_WRAP2", - "D3DRS_WRAP3", - "D3DRS_WRAP4", - "D3DRS_WRAP5", - "D3DRS_WRAP6", - "D3DRS_WRAP7", - "D3DRS_CLIPPING", - "D3DRS_LIGHTING", - "D3DRS_AMBIENT", - "D3DRS_FOGVERTEXMODE", - "D3DRS_COLORVERTEX", - "D3DRS_LOCALVIEWER", - "D3DRS_NORMALIZENORMALS", - "D3DRS_DIFFUSEMATERIALSOURCE", - "D3DRS_SPECULARMATERIALSOURCE", - "D3DRS_AMBIENTMATERIALSOURCE", - "D3DRS_EMISSIVEMATERIALSOURCE", - "D3DRS_VERTEXBLEND", - "D3DRS_CLIPPLANEENABLE", - "D3DRS_SOFTWAREVERTEXPROCESSING", - "D3DRS_POINTSIZE", - "D3DRS_POINTSIZE_MIN", - "D3DRS_POINTSPRITEENABLE", - "D3DRS_POINTSCALEENABLE", - "D3DRS_POINTSCALE_A", - "D3DRS_POINTSCALE_B", - "D3DRS_POINTSCALE_C", - "D3DRS_MULTISAMPLEANTIALIAS", - "D3DRS_MULTISAMPLEMASK", - "D3DRS_PATCHEDGESTYLE", - "D3DRS_PATCHSEGMENTS", - "D3DRS_DEBUGMONITORTOKEN", - "D3DRS_POINTSIZE_MAX", - "D3DRS_INDEXEDVERTEXBLENDENABLE", - "D3DRS_COLORWRITEENABLE", - "D3DRS_TWEENFACTOR", - "D3DRS_BLENDOP", - "D3DRS_POSITIONORDER", - "D3DRS_NORMALORDER", -]) - -D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ - "D3DMCS_MATERIAL", - "D3DMCS_COLOR1", - "D3DMCS_COLOR2", -]) - -D3DWRAP = Flags(DWORD, [ - "D3DWRAP_U", - "D3DWRAP_V", - "D3DWRAP_W", -]) - -D3DWRAPCOORD = Flags(DWORD, [ - "D3DWRAPCOORD_0", - "D3DWRAPCOORD_1", - "D3DWRAPCOORD_2", - "D3DWRAPCOORD_3", -]) - -D3DCOLORWRITEENABLE = Flags(DWORD, [ - "D3DCOLORWRITEENABLE_RED", - "D3DCOLORWRITEENABLE_GREEN", - "D3DCOLORWRITEENABLE_BLUE", - "D3DCOLORWRITEENABLE_ALPHA", -]) - -D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ - "D3DTSS_COLOROP", - "D3DTSS_COLORARG1", - "D3DTSS_COLORARG2", - "D3DTSS_ALPHAOP", - "D3DTSS_ALPHAARG1", - "D3DTSS_ALPHAARG2", - "D3DTSS_BUMPENVMAT00", - "D3DTSS_BUMPENVMAT01", - "D3DTSS_BUMPENVMAT10", - "D3DTSS_BUMPENVMAT11", - "D3DTSS_TEXCOORDINDEX", - "D3DTSS_ADDRESSU", - "D3DTSS_ADDRESSV", - "D3DTSS_BORDERCOLOR", - "D3DTSS_MAGFILTER", - "D3DTSS_MINFILTER", - "D3DTSS_MIPFILTER", - "D3DTSS_MIPMAPLODBIAS", - "D3DTSS_MAXMIPLEVEL", - "D3DTSS_MAXANISOTROPY", - "D3DTSS_BUMPENVLSCALE", - "D3DTSS_BUMPENVLOFFSET", - "D3DTSS_TEXTURETRANSFORMFLAGS", - "D3DTSS_ADDRESSW", - "D3DTSS_COLORARG0", - "D3DTSS_ALPHAARG0", - "D3DTSS_RESULTARG", -]) - -D3DTSS = Flags(DWORD, [ - "D3DTSS_TCI_PASSTHRU", - "D3DTSS_TCI_CAMERASPACENORMAL", - "D3DTSS_TCI_CAMERASPACEPOSITION", - "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", -]) - -D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ - "D3DTOP_DISABLE", - "D3DTOP_SELECTARG1", - "D3DTOP_SELECTARG2", - "D3DTOP_MODULATE", - "D3DTOP_MODULATE2X", - "D3DTOP_MODULATE4X", - "D3DTOP_ADD", - "D3DTOP_ADDSIGNED", - "D3DTOP_ADDSIGNED2X", - "D3DTOP_SUBTRACT", - "D3DTOP_ADDSMOOTH", - "D3DTOP_BLENDDIFFUSEALPHA", - "D3DTOP_BLENDTEXTUREALPHA", - "D3DTOP_BLENDFACTORALPHA", - "D3DTOP_BLENDTEXTUREALPHAPM", - "D3DTOP_BLENDCURRENTALPHA", - "D3DTOP_PREMODULATE", - "D3DTOP_MODULATEALPHA_ADDCOLOR", - "D3DTOP_MODULATECOLOR_ADDALPHA", - "D3DTOP_MODULATEINVALPHA_ADDCOLOR", - "D3DTOP_MODULATEINVCOLOR_ADDALPHA", - "D3DTOP_BUMPENVMAP", - "D3DTOP_BUMPENVMAPLUMINANCE", - "D3DTOP_DOTPRODUCT3", - "D3DTOP_MULTIPLYADD", - "D3DTOP_LERP", -]) - -D3DTA = Flags(DWORD, [ - "D3DTA_SELECTMASK", - "D3DTA_DIFFUSE", - "D3DTA_CURRENT", - "D3DTA_TEXTURE", - "D3DTA_TFACTOR", - "D3DTA_SPECULAR", - "D3DTA_TEMP", - "D3DTA_COMPLEMENT", - "D3DTA_ALPHAREPLICATE", -]) - -D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [ - "D3DTEXF_NONE", - "D3DTEXF_POINT", - "D3DTEXF_LINEAR", - "D3DTEXF_ANISOTROPIC", - "D3DTEXF_FLATCUBIC", - "D3DTEXF_GAUSSIANCUBIC", -]) - -D3DPV = Flags(DWORD, [ - "D3DPV_DONOTCOPYDATA", -]) - -D3DFVF = Flags(DWORD, [ - "D3DFVF_RESERVED0", - "D3DFVF_POSITION_MASK", - "D3DFVF_XYZ", - "D3DFVF_XYZRHW", - "D3DFVF_XYZB1", - "D3DFVF_XYZB2", - "D3DFVF_XYZB3", - "D3DFVF_XYZB4", - "D3DFVF_XYZB5", - "D3DFVF_NORMAL", - "D3DFVF_PSIZE", - "D3DFVF_DIFFUSE", - "D3DFVF_SPECULAR", - "D3DFVF_TEXCOUNT_MASK", - "D3DFVF_TEXCOUNT_SHIFT", - "D3DFVF_TEX0", - "D3DFVF_TEX1", - "D3DFVF_TEX2", - "D3DFVF_TEX3", - "D3DFVF_TEX4", - "D3DFVF_TEX5", - "D3DFVF_TEX6", - "D3DFVF_TEX7", - "D3DFVF_TEX8", - "D3DFVF_LASTBETA_UBYTE4", - "D3DFVF_RESERVED2", - "D3DFVF_TEXCOORDSIZE3(0)", - "D3DFVF_TEXCOORDSIZE2(0)", - "D3DFVF_TEXCOORDSIZE4(0)", - "D3DFVF_TEXCOORDSIZE1(0)", - "D3DFVF_TEXCOORDSIZE3(1)", - "D3DFVF_TEXCOORDSIZE2(1)", - "D3DFVF_TEXCOORDSIZE4(1)", - "D3DFVF_TEXCOORDSIZE1(1)", - "D3DFVF_TEXCOORDSIZE3(2)", - "D3DFVF_TEXCOORDSIZE2(2)", - "D3DFVF_TEXCOORDSIZE4(2)", - "D3DFVF_TEXCOORDSIZE1(2)", - "D3DFVF_TEXCOORDSIZE3(3)", - "D3DFVF_TEXCOORDSIZE2(3)", - "D3DFVF_TEXCOORDSIZE4(3)", - "D3DFVF_TEXCOORDSIZE1(3)", -]) - -D3DVSD_TOKENTYPE = Enum("D3DVSD_TOKENTYPE", [ - "D3DVSD_TOKEN_NOP", - "D3DVSD_TOKEN_STREAM", - "D3DVSD_TOKEN_STREAMDATA", - "D3DVSD_TOKEN_TESSELLATOR", - "D3DVSD_TOKEN_CONSTMEM", - "D3DVSD_TOKEN_EXT", - "D3DVSD_TOKEN_END", -]) - -D3DVSDT = Flags(DWORD, [ - "D3DVSDT_FLOAT1", - "D3DVSDT_FLOAT2", - "D3DVSDT_FLOAT3", - "D3DVSDT_FLOAT4", - "D3DVSDT_D3DCOLOR", - "D3DVSDT_UBYTE4", - "D3DVSDT_SHORT2", - "D3DVSDT_SHORT4", - "D3DVSDE_POSITION", - "D3DVSDE_BLENDWEIGHT", - "D3DVSDE_BLENDINDICES", - "D3DVSDE_NORMAL", - "D3DVSDE_PSIZE", - "D3DVSDE_DIFFUSE", - "D3DVSDE_SPECULAR", - "D3DVSDE_TEXCOORD0", - "D3DVSDE_TEXCOORD1", - "D3DVSDE_TEXCOORD2", - "D3DVSDE_TEXCOORD3", - "D3DVSDE_TEXCOORD4", - "D3DVSDE_TEXCOORD5", - "D3DVSDE_TEXCOORD6", - "D3DVSDE_TEXCOORD7", - "D3DVSDE_POSITION2", - "D3DVSDE_NORMAL2", - "D3DDP_MAXTEXCOORD", - "D3DSI_OPCODE_MASK", -]) - -D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [ - "D3DSIO_NOP", - "D3DSIO_MOV", - "D3DSIO_ADD", - "D3DSIO_SUB", - "D3DSIO_MAD", - "D3DSIO_MUL", - "D3DSIO_RCP", - "D3DSIO_RSQ", - "D3DSIO_DP3", - "D3DSIO_DP4", - "D3DSIO_MIN", - "D3DSIO_MAX", - "D3DSIO_SLT", - "D3DSIO_SGE", - "D3DSIO_EXP", - "D3DSIO_LOG", - "D3DSIO_LIT", - "D3DSIO_DST", - "D3DSIO_LRP", - "D3DSIO_FRC", - "D3DSIO_M4x4", - "D3DSIO_M4x3", - "D3DSIO_M3x4", - "D3DSIO_M3x3", - "D3DSIO_M3x2", - "D3DSIO_TEXCOORD", - "D3DSIO_TEXKILL", - "D3DSIO_TEX", - "D3DSIO_TEXBEM", - "D3DSIO_TEXBEML", - "D3DSIO_TEXREG2AR", - "D3DSIO_TEXREG2GB", - "D3DSIO_TEXM3x2PAD", - "D3DSIO_TEXM3x2TEX", - "D3DSIO_TEXM3x3PAD", - "D3DSIO_TEXM3x3TEX", - "D3DSIO_TEXM3x3DIFF", - "D3DSIO_TEXM3x3SPEC", - "D3DSIO_TEXM3x3VSPEC", - "D3DSIO_EXPP", - "D3DSIO_LOGP", - "D3DSIO_CND", - "D3DSIO_DEF", - "D3DSIO_TEXREG2RGB", - "D3DSIO_TEXDP3TEX", - "D3DSIO_TEXM3x2DEPTH", - "D3DSIO_TEXDP3", - "D3DSIO_TEXM3x3", - "D3DSIO_TEXDEPTH", - "D3DSIO_CMP", - "D3DSIO_BEM", - "D3DSIO_PHASE", - "D3DSIO_COMMENT", - "D3DSIO_END", -]) - -D3DSP = Flags(DWORD, [ - "D3DSP_WRITEMASK_0", - "D3DSP_WRITEMASK_1", - "D3DSP_WRITEMASK_2", - "D3DSP_WRITEMASK_3", - "D3DSP_WRITEMASK_ALL", -]) - -D3DSHADER_PARAM_DSTMOD_TYPE = Enum("D3DSHADER_PARAM_DSTMOD_TYPE", [ - "D3DSPDM_NONE", - "D3DSPDM_SATURATE", -]) - -D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [ - "D3DSPR_TEMP", - "D3DSPR_INPUT", - "D3DSPR_CONST", - "D3DSPR_ADDR|D3DSPR_TEXTURE", - "D3DSPR_RASTOUT", - "D3DSPR_ATTROUT", - "D3DSPR_TEXCRDOUT", -]) - -D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [ - "D3DSRO_POSITION", - "D3DSRO_FOG", - "D3DSRO_POINT_SIZE", -]) - -D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [ - "D3DVS_ADDRMODE_ABSOLUTE", - "D3DVS_ADDRMODE_RELATIVE", -]) - -D3DVS = Flags(DWORD, [ - "D3DVS_X_X", - "D3DVS_X_Y", - "D3DVS_X_Z", - "D3DVS_X_W", - "D3DVS_Y_X", - "D3DVS_Y_Y", - "D3DVS_Y_Z", - "D3DVS_Y_W", - "D3DVS_Z_X", - "D3DVS_Z_Y", - "D3DVS_Z_Z", - "D3DVS_Z_W", - "D3DVS_W_X", - "D3DVS_W_Y", - "D3DVS_W_Z", - "D3DVS_W_W", - "D3DVS_NOSWIZZLE", -]) - -D3DSP = Flags(DWORD, [ - "D3DSP_NOSWIZZLE", - "D3DSP_REPLICATERED", - "D3DSP_REPLICATEGREEN", - "D3DSP_REPLICATEBLUE", - "D3DSP_REPLICATEALPHA", -]) - -D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [ - "D3DSPSM_NONE", - "D3DSPSM_NEG", - "D3DSPSM_BIAS", - "D3DSPSM_BIASNEG", - "D3DSPSM_SIGN", - "D3DSPSM_SIGNNEG", - "D3DSPSM_COMP", - "D3DSPSM_X2", - "D3DSPSM_X2NEG", - "D3DSPSM_DZ", - "D3DSPSM_DW", -]) - -D3DBASISTYPE = Enum("D3DBASISTYPE", [ - "D3DBASIS_BEZIER", - "D3DBASIS_BSPLINE", - "D3DBASIS_INTERPOLATE", -]) - -D3DORDERTYPE = Enum("D3DORDERTYPE", [ - "D3DORDER_LINEAR", - "D3DORDER_QUADRATIC", - "D3DORDER_CUBIC", - "D3DORDER_QUINTIC", -]) - -D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [ - "D3DPATCHEDGE_DISCRETE", - "D3DPATCHEDGE_CONTINUOUS", -]) - -D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ - "D3DSBT_ALL", - "D3DSBT_PIXELSTATE", - "D3DSBT_VERTEXSTATE", -]) - -D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ - "D3DVBF_DISABLE", - "D3DVBF_1WEIGHTS", - "D3DVBF_2WEIGHTS", - "D3DVBF_3WEIGHTS", - "D3DVBF_TWEENING", - "D3DVBF_0WEIGHTS", -]) - -D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ - "D3DTTFF_DISABLE", - "D3DTTFF_COUNT1", - "D3DTTFF_COUNT2", - "D3DTTFF_COUNT3", - "D3DTTFF_COUNT4", - "D3DTTFF_PROJECTED", -]) - -D3DDEVTYPE = Enum("D3DDEVTYPE", [ - "D3DDEVTYPE_HAL", - "D3DDEVTYPE_REF", - "D3DDEVTYPE_SW", -]) - -D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [ - "D3DMULTISAMPLE_NONE", - "D3DMULTISAMPLE_2_SAMPLES", - "D3DMULTISAMPLE_3_SAMPLES", - "D3DMULTISAMPLE_4_SAMPLES", - "D3DMULTISAMPLE_5_SAMPLES", - "D3DMULTISAMPLE_6_SAMPLES", - "D3DMULTISAMPLE_7_SAMPLES", - "D3DMULTISAMPLE_8_SAMPLES", - "D3DMULTISAMPLE_9_SAMPLES", - "D3DMULTISAMPLE_10_SAMPLES", - "D3DMULTISAMPLE_11_SAMPLES", - "D3DMULTISAMPLE_12_SAMPLES", - "D3DMULTISAMPLE_13_SAMPLES", - "D3DMULTISAMPLE_14_SAMPLES", - "D3DMULTISAMPLE_15_SAMPLES", - "D3DMULTISAMPLE_16_SAMPLES", -]) - -D3DFORMAT = Enum("D3DFORMAT", [ - "D3DFMT_UNKNOWN", - "D3DFMT_R8G8B8", - "D3DFMT_A8R8G8B8", - "D3DFMT_X8R8G8B8", - "D3DFMT_R5G6B5", - "D3DFMT_X1R5G5B5", - "D3DFMT_A1R5G5B5", - "D3DFMT_A4R4G4B4", - "D3DFMT_R3G3B2", - "D3DFMT_A8", - "D3DFMT_A8R3G3B2", - "D3DFMT_X4R4G4B4", - "D3DFMT_A2B10G10R10", - "D3DFMT_G16R16", - "D3DFMT_A8P8", - "D3DFMT_P8", - "D3DFMT_L8", - "D3DFMT_A8L8", - "D3DFMT_A4L4", - "D3DFMT_V8U8", - "D3DFMT_L6V5U5", - "D3DFMT_X8L8V8U8", - "D3DFMT_Q8W8V8U8", - "D3DFMT_V16U16", - "D3DFMT_W11V11U10", - "D3DFMT_A2W10V10U10", - "D3DFMT_UYVY", - "D3DFMT_YUY2", - "D3DFMT_DXT1", - "D3DFMT_DXT2", - "D3DFMT_DXT3", - "D3DFMT_DXT4", - "D3DFMT_DXT5", - "D3DFMT_D16_LOCKABLE", - "D3DFMT_D32", - "D3DFMT_D15S1", - "D3DFMT_D24S8", - "D3DFMT_D16", - "D3DFMT_D24X8", - "D3DFMT_D24X4S4", - "D3DFMT_VERTEXDATA", - "D3DFMT_INDEX16", - "D3DFMT_INDEX32", -]) - -D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [ - (UINT, "Width"), - (UINT, "Height"), - (UINT, "RefreshRate"), - (D3DFORMAT, "Format"), -]) - -D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [ - (UINT, "AdapterOrdinal"), - (D3DDEVTYPE, "DeviceType"), - (HWND, "hFocusWindow"), - (DWORD, "BehaviorFlags"), -]) - -D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [ - "D3DSWAPEFFECT_DISCARD", - "D3DSWAPEFFECT_FLIP", - "D3DSWAPEFFECT_COPY", - "D3DSWAPEFFECT_COPY_VSYNC", -]) - -D3DPOOL = Enum("D3DPOOL", [ - "D3DPOOL_DEFAULT", - "D3DPOOL_MANAGED", - "D3DPOOL_SYSTEMMEM", - "D3DPOOL_SCRATCH", -]) - -D3DPRESENT = Flags(DWORD, [ - "D3DPRESENT_RATE_DEFAULT", - "D3DPRESENT_RATE_UNLIMITED", -]) - -D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [ - (UINT, "BackBufferWidth"), - (UINT, "BackBufferHeight"), - (D3DFORMAT, "BackBufferFormat"), - (UINT, "BackBufferCount"), - (D3DMULTISAMPLE_TYPE, "MultiSampleType"), - (D3DSWAPEFFECT, "SwapEffect"), - (HWND, "hDeviceWindow"), - (BOOL, "Windowed"), - (BOOL, "EnableAutoDepthStencil"), - (D3DFORMAT, "AutoDepthStencilFormat"), - (DWORD, "Flags"), - (UINT, "FullScreen_RefreshRateInHz"), - (UINT, "FullScreen_PresentationInterval"), -]) - -D3DPRESENTFLAG = Flags(DWORD, [ - "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER", -]) - -D3DGAMMARAMP = Struct("D3DGAMMARAMP", [ - (Array(WORD, "256"), "red"), - (Array(WORD, "256"), "green"), - (Array(WORD, "256"), "blue"), -]) - -D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [ - "D3DBACKBUFFER_TYPE_MONO", - "D3DBACKBUFFER_TYPE_LEFT", - "D3DBACKBUFFER_TYPE_RIGHT", -]) - -D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [ - "D3DRTYPE_SURFACE", - "D3DRTYPE_VOLUME", - "D3DRTYPE_TEXTURE", - "D3DRTYPE_VOLUMETEXTURE", - "D3DRTYPE_CUBETEXTURE", - "D3DRTYPE_VERTEXBUFFER", - "D3DRTYPE_INDEXBUFFER", -]) - -D3DUSAGE = Flags(DWORD, [ - "D3DUSAGE_RENDERTARGET", - "D3DUSAGE_DEPTHSTENCIL", - "D3DUSAGE_WRITEONLY", - "D3DUSAGE_SOFTWAREPROCESSING", - "D3DUSAGE_DONOTCLIP", - "D3DUSAGE_POINTS", - "D3DUSAGE_RTPATCHES", - "D3DUSAGE_NPATCHES", - "D3DUSAGE_DYNAMIC", -]) - -D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [ - "D3DCUBEMAP_FACE_POSITIVE_X", - "D3DCUBEMAP_FACE_NEGATIVE_X", - "D3DCUBEMAP_FACE_POSITIVE_Y", - "D3DCUBEMAP_FACE_NEGATIVE_Y", - "D3DCUBEMAP_FACE_POSITIVE_Z", - "D3DCUBEMAP_FACE_NEGATIVE_Z", -]) - -D3DLOCK = Flags(DWORD, [ - "D3DLOCK_READONLY", - "D3DLOCK_DISCARD", - "D3DLOCK_NOOVERWRITE", - "D3DLOCK_NOSYSLOCK", - "D3DLOCK_NO_DIRTY_UPDATE", -]) - -D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Size"), - (DWORD, "FVF"), -]) - -D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Size"), -]) - -D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Size"), - (D3DMULTISAMPLE_TYPE, "MultiSampleType"), - (UINT, "Width"), - (UINT, "Height"), -]) - -D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Size"), - (UINT, "Width"), - (UINT, "Height"), - (UINT, "Depth"), -]) - -D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [ - (INT, "Pitch"), - (PVOID, "pBits"), -]) - -D3DBOX = Struct("D3DBOX", [ - (UINT, "Left"), - (UINT, "Top"), - (UINT, "Right"), - (UINT, "Bottom"), - (UINT, "Front"), - (UINT, "Back"), -]) - -D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [ - (INT, "RowPitch"), - (INT, "SlicePitch"), - (PVOID, "pBits"), -]) - -D3DRANGE = Struct("D3DRANGE", [ - (UINT, "Offset"), - (UINT, "Size"), -]) - -D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [ - (UINT, "StartVertexOffsetWidth"), - (UINT, "StartVertexOffsetHeight"), - (UINT, "Width"), - (UINT, "Height"), - (UINT, "Stride"), - (D3DBASISTYPE, "Basis"), - (D3DORDERTYPE, "Order"), -]) - -D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [ - (UINT, "StartVertexOffset"), - (UINT, "NumVertices"), - (D3DBASISTYPE, "Basis"), - (D3DORDERTYPE, "Order"), -]) - -D3DADAPTER_IDENTIFIER8 = Struct("D3DADAPTER_IDENTIFIER8", [ - (CString, "Driver"), - (CString, "Description"), - (LARGE_INTEGER, "DriverVersion"), - (DWORD, "VendorId"), - (DWORD, "DeviceId"), - (DWORD, "SubSysId"), - (DWORD, "Revision"), - (GUID, "DeviceIdentifier"), - (DWORD, "WHQLLevel"), -]) - -D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [ - (BOOL, "InVBlank"), - (UINT, "ScanLine"), -]) - -D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [ - "D3DDMT_ENABLE", - "D3DDMT_DISABLE", -]) - -D3DDEVINFOID = Flags(DWORD, [ - "D3DDEVINFOID_RESOURCEMANAGER", - "D3DDEVINFOID_VERTEXSTATS", -]) - -D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [ - (BOOL, "bThrashing"), - (DWORD, "ApproxBytesDownloaded"), - (DWORD, "NumEvicts"), - (DWORD, "NumVidCreates"), - (DWORD, "LastPri"), - (DWORD, "NumUsed"), - (DWORD, "NumUsedInVidMem"), - (DWORD, "WorkingSet"), - (DWORD, "WorkingSetBytes"), - (DWORD, "TotalManaged"), - (DWORD, "TotalBytes"), -]) - -D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [ - (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"), -]) - -D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [ - (DWORD, "NumRenderedTriangles"), - (DWORD, "NumExtraClippingTriangles"), -]) - diff --git a/d3d9.py b/d3d9.py deleted file mode 100644 index ffb643e..0000000 --- a/d3d9.py +++ /dev/null @@ -1,450 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d9.h""" - -from winapi import * -from d3d9types import * -from d3d9caps import * - - -D3DSHADER9 = Opaque("const DWORD *") - -D3DSPD = Flags(DWORD, [ - "D3DSPD_IUNKNOWN", -]) - -D3DCREATE = Flags(DWORD, [ - "D3DCREATE_FPU_PRESERVE", - "D3DCREATE_MULTITHREADED", - "D3DCREATE_PUREDEVICE", - "D3DCREATE_SOFTWARE_VERTEXPROCESSING", - "D3DCREATE_HARDWARE_VERTEXPROCESSING", - "D3DCREATE_MIXED_VERTEXPROCESSING", - "D3DCREATE_DISABLE_DRIVER_MANAGEMENT", - "D3DCREATE_ADAPTERGROUP_DEVICE", - "D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX", - "D3DCREATE_NOWINDOWCHANGES", - "D3DCREATE_DISABLE_PSGP_THREADING", - "D3DCREATE_ENABLE_PRESENTSTATS", - "D3DCREATE_DISABLE_PRINTSCREEN", - "D3DCREATE_SCREENSAVER", -]) - -D3DADAPTER = FakeEnum(DWORD, [ - "D3DADAPTER_DEFAULT", -]) - -D3DENUM = FakeEnum(DWORD, [ - "D3DENUM_WHQL_LEVEL", -]) - -D3DSGR = Flags(DWORD, [ - "D3DSGR_NO_CALIBRATION", - "D3DSGR_CALIBRATE", -]) - -D3DCURSOR = Flags(DWORD, [ - "D3DCURSOR_IMMEDIATE_UPDATE", -]) - -D3DPRESENT = Flags(DWORD, [ - "D3DPRESENT_DONOTWAIT", - "D3DPRESENT_LINEAR_CONTENT", - "D3DPRESENT_DONOTFLIP", - "D3DPRESENT_FLIPRESTART", - "D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR", -]) - -HRESULT = Enum("HRESULT", [ - "D3D_OK", - "D3DERR_WRONGTEXTUREFORMAT", - "D3DERR_UNSUPPORTEDCOLOROPERATION", - "D3DERR_UNSUPPORTEDCOLORARG", - "D3DERR_UNSUPPORTEDALPHAOPERATION", - "D3DERR_UNSUPPORTEDALPHAARG", - "D3DERR_TOOMANYOPERATIONS", - "D3DERR_CONFLICTINGTEXTUREFILTER", - "D3DERR_UNSUPPORTEDFACTORVALUE", - "D3DERR_CONFLICTINGRENDERSTATE", - "D3DERR_UNSUPPORTEDTEXTUREFILTER", - "D3DERR_CONFLICTINGTEXTUREPALETTE", - "D3DERR_DRIVERINTERNALERROR", - "D3DERR_NOTFOUND", - "D3DERR_MOREDATA", - "D3DERR_DEVICELOST", - "D3DERR_DEVICENOTRESET", - "D3DERR_NOTAVAILABLE", - "D3DERR_OUTOFVIDEOMEMORY", - "D3DERR_INVALIDDEVICE", - "D3DERR_INVALIDCALL", - "D3DERR_DRIVERINVALIDCALL", - "D3DERR_WASSTILLDRAWING", - "D3DOK_NOAUTOGEN", - "D3DERR_DEVICEREMOVED", - "S_NOT_RESIDENT", - "S_RESIDENT_IN_SHARED_MEMORY", - "S_PRESENT_MODE_CHANGED", - "S_PRESENT_OCCLUDED", - "D3DERR_DEVICEHUNG", -]) - -IDirect3D9 = Interface("IDirect3D9", IUnknown) -IDirect3DDevice9 = Interface("IDirect3DDevice9", IUnknown) -IDirect3DStateBlock9 = Interface("IDirect3DStateBlock9", IUnknown) -IDirect3DSwapChain9 = Interface("IDirect3DSwapChain9", IUnknown) -IDirect3DResource9 = Interface("IDirect3DResource9", IUnknown) -IDirect3DVertexDeclaration9 = Interface("IDirect3DVertexDeclaration9", IUnknown) -IDirect3DVertexShader9 = Interface("IDirect3DVertexShader9", IUnknown) -IDirect3DPixelShader9 = Interface("IDirect3DPixelShader9", IUnknown) -IDirect3DBaseTexture9 = Interface("IDirect3DBaseTexture9", IDirect3DResource9) -IDirect3DTexture9 = Interface("IDirect3DTexture9", IDirect3DBaseTexture9) -IDirect3DVolumeTexture9 = Interface("IDirect3DVolumeTexture9", IDirect3DBaseTexture9) -IDirect3DCubeTexture9 = Interface("IDirect3DCubeTexture9", IDirect3DBaseTexture9) -IDirect3DVertexBuffer9 = Interface("IDirect3DVertexBuffer9", IDirect3DResource9) -IDirect3DIndexBuffer9 = Interface("IDirect3DIndexBuffer9", IDirect3DResource9) -IDirect3DSurface9 = Interface("IDirect3DSurface9", IDirect3DResource9) -IDirect3DVolume9 = Interface("IDirect3DVolume9", IUnknown) -IDirect3DQuery9 = Interface("IDirect3DQuery9", IUnknown) -IDirect3D9Ex = Interface("IDirect3D9Ex", IDirect3D9) -IDirect3DDevice9Ex = Interface("IDirect3DDevice9Ex", IDirect3DDevice9) -IDirect3DSwapChain9Ex = Interface("IDirect3DSwapChain9Ex", IDirect3DSwapChain9) - -PDIRECT3D9 = WrapPointer(IDirect3D9) -PDIRECT3DDEVICE9 = WrapPointer(IDirect3DDevice9) -PDIRECT3DSTATEBLOCK9 = WrapPointer(IDirect3DStateBlock9) -PDIRECT3DSWAPCHAIN9 = WrapPointer(IDirect3DSwapChain9) -PDIRECT3DRESOURCE9 = WrapPointer(IDirect3DResource9) -PDIRECT3DVERTEXDECLARATION9 = WrapPointer(IDirect3DVertexDeclaration9) -PDIRECT3DVERTEXSHADER9 = WrapPointer(IDirect3DVertexShader9) -PDIRECT3DPIXELSHADER9 = WrapPointer(IDirect3DPixelShader9) -PDIRECT3DBASETEXTURE9 = WrapPointer(IDirect3DBaseTexture9) -PDIRECT3DTEXTURE9 = WrapPointer(IDirect3DTexture9) -PDIRECT3DVOLUMETEXTURE9 = WrapPointer(IDirect3DVolumeTexture9) -PDIRECT3DCUBETEXTURE9 = WrapPointer(IDirect3DCubeTexture9) -PDIRECT3DVERTEXBUFFER9 = WrapPointer(IDirect3DVertexBuffer9) -PDIRECT3DINDEXBUFFER9 = WrapPointer(IDirect3DIndexBuffer9) -PDIRECT3DSURFACE9 = WrapPointer(IDirect3DSurface9) -PDIRECT3DVOLUME9 = WrapPointer(IDirect3DVolume9) -PDIRECT3DQUERY9 = WrapPointer(IDirect3DQuery9) -PDIRECT3D9EX = WrapPointer(IDirect3D9Ex) -PDIRECT3DDEVICE9EX = WrapPointer(IDirect3DDevice9Ex) -PDIRECT3DSWAPCHAIN9EX = WrapPointer(IDirect3DSwapChain9Ex) - -IDirect3D9.methods += [ - Method(HRESULT, "RegisterSoftwareDevice", [(OpaquePointer(Void), "pInitializeFunction")]), - Method(UINT, "GetAdapterCount", []), - Method(HRESULT, "GetAdapterIdentifier", [(UINT, "Adapter"), (D3DENUM, "Flags"), Out(Pointer(D3DADAPTER_IDENTIFIER9), "pIdentifier")]), - Method(UINT, "GetAdapterModeCount", [(UINT, "Adapter"), (D3DFORMAT, "Format")]), - Method(HRESULT, "EnumAdapterModes", [(UINT, "Adapter"), (D3DFORMAT, "Format"), (UINT, "Mode"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "GetAdapterDisplayMode", [(UINT, "Adapter"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "CheckDeviceType", [(UINT, "Adapter"), (D3DDEVTYPE, "DevType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "BackBufferFormat"), (BOOL, "bWindowed")]), - Method(HRESULT, "CheckDeviceFormat", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DUSAGE, "Usage"), (D3DRESOURCETYPE, "RType"), (D3DFORMAT, "CheckFormat")]), - Method(HRESULT, "CheckDeviceMultiSampleType", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SurfaceFormat"), (BOOL, "Windowed"), (D3DMULTISAMPLE_TYPE, "MultiSampleType"), Out(Pointer(DWORD), "pQualityLevels")]), - Method(HRESULT, "CheckDepthStencilMatch", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "RenderTargetFormat"), (D3DFORMAT, "DepthStencilFormat")]), - Method(HRESULT, "CheckDeviceFormatConversion", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SourceFormat"), (D3DFORMAT, "TargetFormat")]), - Method(HRESULT, "GetDeviceCaps", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), Out(Pointer(D3DCAPS9), "pCaps")]), - Method(HMONITOR, "GetAdapterMonitor", [(UINT, "Adapter")]), - Method(HRESULT, "CreateDevice", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (D3DCREATE, "BehaviorFlags"), Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DDEVICE9), "ppReturnedDeviceInterface")]), -] - -IDirect3DDevice9.methods += [ - Method(HRESULT, "TestCooperativeLevel", []), - Method(UINT, "GetAvailableTextureMem", []), - Method(HRESULT, "EvictManagedResources", []), - Method(HRESULT, "GetDirect3D", [Out(Pointer(PDIRECT3D9), "ppD3D9")]), - Method(HRESULT, "GetDeviceCaps", [Out(Pointer(D3DCAPS9), "pCaps")]), - Method(HRESULT, "GetDisplayMode", [(UINT, "iSwapChain"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "GetCreationParameters", [Out(Pointer(D3DDEVICE_CREATION_PARAMETERS), "pParameters")]), - Method(HRESULT, "SetCursorProperties", [(UINT, "XHotSpot"), (UINT, "YHotSpot"), (PDIRECT3DSURFACE9, "pCursorBitmap")]), - Method(Void, "SetCursorPosition", [(Int, "X"), (Int, "Y"), (D3DCURSOR, "Flags")]), - Method(BOOL, "ShowCursor", [(BOOL, "bShow")]), - Method(HRESULT, "CreateAdditionalSwapChain", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DSWAPCHAIN9), "pSwapChain")]), - Method(HRESULT, "GetSwapChain", [(UINT, "iSwapChain"), Out(Pointer(PDIRECT3DSWAPCHAIN9), "pSwapChain")]), - Method(UINT, "GetNumberOfSwapChains", []), - Method(HRESULT, "Reset", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]), - Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion")]), - Method(HRESULT, "GetBackBuffer", [(UINT, "iSwapChain"), (UINT, "iBackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE9), "ppBackBuffer")]), - Method(HRESULT, "GetRasterStatus", [(UINT, "iSwapChain"), Out(Pointer(D3DRASTER_STATUS), "pRasterStatus")]), - Method(HRESULT, "SetDialogBoxMode", [(BOOL, "bEnableDialogs")]), - Method(Void, "SetGammaRamp", [(UINT, "iSwapChain"), (D3DSGR, "Flags"), (ConstPointer(D3DGAMMARAMP), "pRamp")]), - Method(Void, "GetGammaRamp", [(UINT, "iSwapChain"), Out(Pointer(D3DGAMMARAMP), "pRamp")]), - Method(HRESULT, "CreateTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Levels"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DTEXTURE9), "ppTexture"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "CreateVolumeTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Depth"), (UINT, "Levels"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVOLUMETEXTURE9), "ppVolumeTexture"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "CreateCubeTexture", [(UINT, "EdgeLength"), (UINT, "Levels"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DCUBETEXTURE9), "ppCubeTexture"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "CreateVertexBuffer", [(UINT, "Length"), (D3DUSAGE, "Usage"), (D3DFVF, "FVF"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVERTEXBUFFER9), "ppVertexBuffer"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "CreateIndexBuffer", [(UINT, "Length"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DINDEXBUFFER9), "ppIndexBuffer"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "CreateRenderTarget", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Lockable"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "CreateDepthStencilSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Discard"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "UpdateSurface", [(PDIRECT3DSURFACE9, "pSourceSurface"), (ConstPointer(RECT), "pSourceRect"), (PDIRECT3DSURFACE9, "pDestinationSurface"), (ConstPointer(POINT), "pDestPoint")]), - Method(HRESULT, "UpdateTexture", [(PDIRECT3DBASETEXTURE9, "pSourceTexture"), (PDIRECT3DBASETEXTURE9, "pDestinationTexture")]), - Method(HRESULT, "GetRenderTargetData", [(PDIRECT3DSURFACE9, "pRenderTarget"), (PDIRECT3DSURFACE9, "pDestSurface")]), - Method(HRESULT, "GetFrontBufferData", [(UINT, "iSwapChain"), (PDIRECT3DSURFACE9, "pDestSurface")]), - Method(HRESULT, "StretchRect", [(PDIRECT3DSURFACE9, "pSourceSurface"), (ConstPointer(RECT), "pSourceRect"), (PDIRECT3DSURFACE9, "pDestSurface"), (ConstPointer(RECT), "pDestRect"), (D3DTEXTUREFILTERTYPE, "Filter")]), - Method(HRESULT, "ColorFill", [(PDIRECT3DSURFACE9, "pSurface"), (ConstPointer(RECT), "pRect"), (D3DCOLOR, "color")]), - Method(HRESULT, "CreateOffscreenPlainSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle")]), - Method(HRESULT, "SetRenderTarget", [(DWORD, "RenderTargetIndex"), (PDIRECT3DSURFACE9, "pRenderTarget")]), - Method(HRESULT, "GetRenderTarget", [(DWORD, "RenderTargetIndex"), Out(Pointer(PDIRECT3DSURFACE9), "ppRenderTarget")]), - Method(HRESULT, "SetDepthStencilSurface", [(PDIRECT3DSURFACE9, "pNewZStencil")]), - Method(HRESULT, "GetDepthStencilSurface", [Out(Pointer(PDIRECT3DSURFACE9), "ppZStencilSurface")]), - Method(HRESULT, "BeginScene", []), - Method(HRESULT, "EndScene", []), - Method(HRESULT, "Clear", [(DWORD, "Count"), (ConstPointer(D3DRECT), "pRects"), (D3DCLEAR, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]), - Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), - Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "State"), Out(Pointer(D3DMATRIX), "pMatrix")]), - Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), - Method(HRESULT, "SetViewport", [(ConstPointer(D3DVIEWPORT9), "pViewport")]), - Method(HRESULT, "GetViewport", [Out(Pointer(D3DVIEWPORT9), "pViewport")]), - Method(HRESULT, "SetMaterial", [(ConstPointer(D3DMATERIAL9), "pMaterial")]), - Method(HRESULT, "GetMaterial", [Out(Pointer(D3DMATERIAL9), "pMaterial")]), - Method(HRESULT, "SetLight", [(DWORD, "Index"), (ConstPointer(D3DLIGHT9), "pLight")]), - Method(HRESULT, "GetLight", [(DWORD, "Index"), Out(Pointer(D3DLIGHT9), "pLight")]), - Method(HRESULT, "LightEnable", [(DWORD, "Index"), (BOOL, "Enable")]), - Method(HRESULT, "GetLightEnable", [(DWORD, "Index"), Out(Pointer(BOOL), "pEnable")]), - Method(HRESULT, "SetClipPlane", [(DWORD, "Index"), (ConstPointer(Float), "pPlane")]), - Method(HRESULT, "GetClipPlane", [(DWORD, "Index"), Out(Pointer(Float), "pPlane")]), - Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "State"), (DWORD, "Value")]), - Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "State"), Out(Pointer(DWORD), "pValue")]), - Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "Type"), Out(Pointer(PDIRECT3DSTATEBLOCK9), "ppSB")]), - Method(HRESULT, "BeginStateBlock", []), - Method(HRESULT, "EndStateBlock", [Out(Pointer(PDIRECT3DSTATEBLOCK9), "ppSB")]), - Method(HRESULT, "SetClipStatus", [(ConstPointer(D3DCLIPSTATUS9), "pClipStatus")]), - Method(HRESULT, "GetClipStatus", [Out(Pointer(D3DCLIPSTATUS9), "pClipStatus")]), - Method(HRESULT, "GetTexture", [(DWORD, "Stage"), Out(Pointer(PDIRECT3DBASETEXTURE9), "ppTexture")]), - Method(HRESULT, "SetTexture", [(DWORD, "Stage"), (PDIRECT3DBASETEXTURE9, "pTexture")]), - Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]), - Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (DWORD, "Value")]), - Method(HRESULT, "GetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]), - Method(HRESULT, "SetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), (DWORD, "Value")]), - Method(HRESULT, "ValidateDevice", [Out(Pointer(DWORD), "pNumPasses")]), - Method(HRESULT, "SetPaletteEntries", [(UINT, "PaletteNumber"), (ConstPointer(PALETTEENTRY), "pEntries")]), - Method(HRESULT, "GetPaletteEntries", [(UINT, "PaletteNumber"), Out(Pointer(PALETTEENTRY), "pEntries")]), - Method(HRESULT, "SetCurrentTexturePalette", [(UINT, "PaletteNumber")]), - Method(HRESULT, "GetCurrentTexturePalette", [Out(Pointer(UINT), "PaletteNumber")]), - Method(HRESULT, "SetScissorRect", [(ConstPointer(RECT), "pRect")]), - Method(HRESULT, "GetScissorRect", [Out(Pointer(RECT), "pRect")]), - Method(HRESULT, "SetSoftwareVertexProcessing", [(BOOL, "bSoftware")]), - Method(BOOL, "GetSoftwareVertexProcessing", []), - Method(HRESULT, "SetNPatchMode", [(Float, "nSegments")]), - Method(Float, "GetNPatchMode", []), - Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "StartVertex"), (UINT, "PrimitiveCount")]), - Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (INT, "BaseVertexIndex"), (UINT, "MinVertexIndex"), (UINT, "NumVertices"), (UINT, "startIndex"), (UINT, "primCount")]), - Method(HRESULT, "DrawPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), - Method(HRESULT, "DrawIndexedPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "MinVertexIndex"), (UINT, "NumVertices"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pIndexData"), (D3DFORMAT, "IndexDataFormat"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), - Method(HRESULT, "ProcessVertices", [(UINT, "SrcStartIndex"), (UINT, "DestIndex"), (UINT, "VertexCount"), (PDIRECT3DVERTEXBUFFER9, "pDestBuffer"), (PDIRECT3DVERTEXDECLARATION9, "pVertexDecl"), (D3DPV, "Flags")]), - Method(HRESULT, "CreateVertexDeclaration", [(ConstPointer(D3DVERTEXELEMENT9), "pVertexElements"), Out(Pointer(PDIRECT3DVERTEXDECLARATION9), "ppDecl")]), - Method(HRESULT, "SetVertexDeclaration", [(PDIRECT3DVERTEXDECLARATION9, "pDecl")]), - Method(HRESULT, "GetVertexDeclaration", [Out(Pointer(PDIRECT3DVERTEXDECLARATION9), "ppDecl")]), - Method(HRESULT, "SetFVF", [(D3DFVF, "FVF")]), - Method(HRESULT, "GetFVF", [Out(Pointer(D3DFVF), "pFVF")]), - Method(HRESULT, "CreateVertexShader", [(D3DSHADER9, "pFunction"), Out(Pointer(PDIRECT3DVERTEXSHADER9), "ppShader")]), - Method(HRESULT, "SetVertexShader", [(PDIRECT3DVERTEXSHADER9, "pShader")]), - Method(HRESULT, "GetVertexShader", [Out(Pointer(PDIRECT3DVERTEXSHADER9), "ppShader")]), - Method(HRESULT, "SetVertexShaderConstantF", [(UINT, "StartRegister"), (Array(Const(Float), "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), - Method(HRESULT, "GetVertexShaderConstantF", [(UINT, "StartRegister"), Out(Array(Float, "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), - Method(HRESULT, "SetVertexShaderConstantI", [(UINT, "StartRegister"), (Array(Const(Int), "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), - Method(HRESULT, "GetVertexShaderConstantI", [(UINT, "StartRegister"), Out(Array(Int, "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), - Method(HRESULT, "SetVertexShaderConstantB", [(UINT, "StartRegister"), (Array(Const(BOOL), "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), - Method(HRESULT, "GetVertexShaderConstantB", [(UINT, "StartRegister"), Out(Array(BOOL, "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), - Method(HRESULT, "SetStreamSource", [(UINT, "StreamNumber"), (PDIRECT3DVERTEXBUFFER9, "pStreamData"), (UINT, "OffsetInBytes"), (UINT, "Stride")]), - Method(HRESULT, "GetStreamSource", [(UINT, "StreamNumber"), Out(Pointer(PDIRECT3DVERTEXBUFFER9), "ppStreamData"), Out(Pointer(UINT), "pOffsetInBytes"), Out(Pointer(UINT), "pStride")]), - Method(HRESULT, "SetStreamSourceFreq", [(UINT, "StreamNumber"), (UINT, "Setting")]), - Method(HRESULT, "GetStreamSourceFreq", [(UINT, "StreamNumber"), Out(Pointer(UINT), "pSetting")]), - Method(HRESULT, "SetIndices", [(PDIRECT3DINDEXBUFFER9, "pIndexData")]), - Method(HRESULT, "GetIndices", [Out(Pointer(PDIRECT3DINDEXBUFFER9), "ppIndexData")]), - Method(HRESULT, "CreatePixelShader", [(D3DSHADER9, "pFunction"), Out(Pointer(PDIRECT3DPIXELSHADER9), "ppShader")]), - Method(HRESULT, "SetPixelShader", [(PDIRECT3DPIXELSHADER9, "pShader")]), - Method(HRESULT, "GetPixelShader", [Out(Pointer(PDIRECT3DPIXELSHADER9), "ppShader")]), - Method(HRESULT, "SetPixelShaderConstantF", [(UINT, "StartRegister"), (Array(Const(Float), "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), - Method(HRESULT, "GetPixelShaderConstantF", [(UINT, "StartRegister"), Out(Array(Float, "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), - Method(HRESULT, "SetPixelShaderConstantI", [(UINT, "StartRegister"), (Array(Const(Int), "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), - Method(HRESULT, "GetPixelShaderConstantI", [(UINT, "StartRegister"), Out(Array(Int, "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), - Method(HRESULT, "SetPixelShaderConstantB", [(UINT, "StartRegister"), (Array(Const(BOOL), "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), - Method(HRESULT, "GetPixelShaderConstantB", [(UINT, "StartRegister"), Out(Array(BOOL, "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), - Method(HRESULT, "DrawRectPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DRECTPATCH_INFO), "pRectPatchInfo")]), - Method(HRESULT, "DrawTriPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DTRIPATCH_INFO), "pTriPatchInfo")]), - Method(HRESULT, "DeletePatch", [(UINT, "Handle")]), - Method(HRESULT, "CreateQuery", [(D3DQUERYTYPE, "Type"), Out(Pointer(PDIRECT3DQUERY9), "ppQuery")]), -] - -IDirect3DStateBlock9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "Capture", []), - Method(HRESULT, "Apply", []), -] - -IDirect3DSwapChain9.methods += [ - Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion"), (D3DPRESENT, "dwFlags")]), - Method(HRESULT, "GetFrontBufferData", [(PDIRECT3DSURFACE9, "pDestSurface")]), - Method(HRESULT, "GetBackBuffer", [(UINT, "iBackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE9), "ppBackBuffer")]), - Method(HRESULT, "GetRasterStatus", [Out(Pointer(D3DRASTER_STATUS), "pRasterStatus")]), - Method(HRESULT, "GetDisplayMode", [Out(Pointer(D3DDISPLAYMODE), "pMode")]), - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "GetPresentParameters", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]), -] - -IDirect3DResource9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (D3DSPD, "Flags")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), - Method(D3D9_RESOURCE_PRIORITY, "SetPriority", [(D3D9_RESOURCE_PRIORITY, "PriorityNew")]), - Method(D3D9_RESOURCE_PRIORITY, "GetPriority", []), - Method(Void, "PreLoad", []), - Method(D3DRESOURCETYPE, "GetType", []), -] - -IDirect3DVertexDeclaration9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "GetDeclaration", [Out(Pointer(D3DVERTEXELEMENT9), "pElement"), Out(Pointer(UINT), "pNumElements")]), -] - -IDirect3DVertexShader9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "GetFunction", [Out(OpaquePointer(Void), "pData"), Out(Pointer(UINT), "pSizeOfData")]), -] - -IDirect3DPixelShader9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "GetFunction", [Out(OpaquePointer(Void), "pData"), Out(Pointer(UINT), "pSizeOfData")]), -] - -IDirect3DBaseTexture9.methods += [ - Method(DWORD, "SetLOD", [(DWORD, "LODNew")]), - Method(DWORD, "GetLOD", []), - Method(DWORD, "GetLevelCount", []), - Method(HRESULT, "SetAutoGenFilterType", [(D3DTEXTUREFILTERTYPE, "FilterType")]), - Method(D3DTEXTUREFILTERTYPE, "GetAutoGenFilterType", []), - Method(Void, "GenerateMipSubLevels", []), -] - -IDirect3DTexture9.methods += [ - Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), - Method(HRESULT, "GetSurfaceLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurfaceLevel")]), - Method(HRESULT, "LockRect", [(UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (D3DLOCK, "Flags")]), - Method(HRESULT, "UnlockRect", [(UINT, "Level")]), - Method(HRESULT, "AddDirtyRect", [(ConstPointer(RECT), "pDirtyRect")]), -] - -IDirect3DVolumeTexture9.methods += [ - Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DVOLUME_DESC), "pDesc")]), - Method(HRESULT, "GetVolumeLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DVOLUME9), "ppVolumeLevel")]), - Method(HRESULT, "LockBox", [(UINT, "Level"), Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (D3DLOCK, "Flags")]), - Method(HRESULT, "UnlockBox", [(UINT, "Level")]), - Method(HRESULT, "AddDirtyBox", [(ConstPointer(D3DBOX), "pDirtyBox")]), -] - -IDirect3DCubeTexture9.methods += [ - Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), - Method(HRESULT, "GetCubeMapSurface", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE9), "ppCubeMapSurface")]), - Method(HRESULT, "LockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (D3DLOCK, "Flags")]), - Method(HRESULT, "UnlockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level")]), - Method(HRESULT, "AddDirtyRect", [(D3DCUBEMAP_FACES, "FaceType"), (ConstPointer(RECT), "pDirtyRect")]), -] - -IDirect3DVertexBuffer9.methods += [ - Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(OpaquePointer(Void)), "ppbData"), (D3DLOCK, "Flags")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DVERTEXBUFFER_DESC), "pDesc")]), -] - -IDirect3DIndexBuffer9.methods += [ - Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(OpaquePointer(Void)), "ppbData"), (D3DLOCK, "Flags")]), - Method(HRESULT, "Unlock", []), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DINDEXBUFFER_DESC), "pDesc")]), -] - -IDirect3DSurface9.methods += [ - Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DSURFACE_DESC), "pDesc")]), - Method(HRESULT, "LockRect", [Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (D3DLOCK, "Flags")]), - Method(HRESULT, "UnlockRect", []), - Method(HRESULT, "GetDC", [Out(Pointer(HDC), "phdc")]), - Method(HRESULT, "ReleaseDC", [(HDC, "hdc")]), -] - -IDirect3DVolume9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (D3DSPD, "Flags")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), - Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), - Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), - Method(HRESULT, "GetDesc", [Out(Pointer(D3DVOLUME_DESC), "pDesc")]), - Method(HRESULT, "LockBox", [Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (D3DLOCK, "Flags")]), - Method(HRESULT, "UnlockBox", []), -] - -IDirect3DQuery9.methods += [ - Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), - Method(D3DQUERYTYPE, "GetType", []), - Method(DWORD, "GetDataSize", []), - Method(HRESULT, "Issue", [(D3DISSUE, "dwIssueFlags")]), - Method(HRESULT, "GetData", [Out(OpaquePointer(Void), "pData"), (DWORD, "dwSize"), (D3DGETDATA, "dwGetDataFlags")]), -] - -IDirect3D9Ex.methods += [ - Method(UINT, "GetAdapterModeCountEx", [(UINT, "Adapter"), (ConstPointer(D3DDISPLAYMODEFILTER), "pFilter") ]), - Method(HRESULT, "EnumAdapterModesEx", [(UINT, "Adapter"), (ConstPointer(D3DDISPLAYMODEFILTER), "pFilter"), (UINT, "Mode"), Out(Pointer(D3DDISPLAYMODEEX), "pMode")]), - Method(HRESULT, "GetAdapterDisplayModeEx", [(UINT, "Adapter"), Out(Pointer(D3DDISPLAYMODEEX), "pMode"), Out(Pointer(D3DDISPLAYROTATION), "pRotation")]), - Method(HRESULT, "CreateDeviceEx", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (D3DCREATE, "BehaviorFlags"), Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(D3DDISPLAYMODEEX), "pFullscreenDisplayMode"), Out(Pointer(PDIRECT3DDEVICE9EX), "ppReturnedDeviceInterface")]), - Method(HRESULT, "GetAdapterLUID", [(UINT, "Adapter"), Out(Pointer(LUID), "pLUID")]), -] - -IDirect3DDevice9Ex.methods += [ - Method(HRESULT, "SetConvolutionMonoKernel", [(UINT, "width"), (UINT, "height"), (Array(Float, "width"), "rows"), (Array(Float, "height"), "columns")]), - Method(HRESULT, "ComposeRects", [(PDIRECT3DSURFACE9, "pSrc"), (PDIRECT3DSURFACE9, "pDst"), (PDIRECT3DVERTEXBUFFER9, "pSrcRectDescs"), (UINT, "NumRects"), (PDIRECT3DVERTEXBUFFER9, "pDstRectDescs"), (D3DCOMPOSERECTSOP, "Operation"), (Int, "Xoffset"), (Int, "Yoffset")]), - Method(HRESULT, "PresentEx", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion"), (D3DPRESENT, "dwFlags")]), - Method(HRESULT, "GetGPUThreadPriority", [Out(Pointer(INT), "pPriority")]), - Method(HRESULT, "SetGPUThreadPriority", [(INT, "Priority")]), - Method(HRESULT, "WaitForVBlank", [(UINT, "iSwapChain")]), - Method(HRESULT, "CheckResourceResidency", [(Array(PDIRECT3DRESOURCE9, "NumResources"), "pResourceArray"), (UINT32, "NumResources")]), - Method(HRESULT, "SetMaximumFrameLatency", [(UINT, "MaxLatency")]), - Method(HRESULT, "GetMaximumFrameLatency", [Out(Pointer(UINT), "pMaxLatency")]), - Method(HRESULT, "CheckDeviceState", [(HWND, "hDestinationWindow")]), - Method(HRESULT, "CreateRenderTargetEx", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Lockable"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle"), (D3DUSAGE, "Usage")]), - Method(HRESULT, "CreateOffscreenPlainSurfaceEx", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle"), (D3DUSAGE, "Usage")]), - Method(HRESULT, "CreateDepthStencilSurfaceEx", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Discard"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle"), (D3DUSAGE, "Usage")]), - Method(HRESULT, "ResetEx", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(D3DDISPLAYMODEEX), "pFullscreenDisplayMode")]), - Method(HRESULT, "GetDisplayModeEx", [(UINT, "iSwapChain"), Out(Pointer(D3DDISPLAYMODEEX), "pMode"), Out(Pointer(D3DDISPLAYROTATION), "pRotation")]), -] - -IDirect3DSwapChain9Ex.methods += [ - Method(HRESULT, "GetLastPresentCount", [Out(Pointer(UINT), "pLastPresentCount")]), - Method(HRESULT, "GetPresentStats", [Out(Pointer(D3DPRESENTSTATS), "pPresentationStatistics")]), - Method(HRESULT, "GetDisplayModeEx", [Out(Pointer(D3DDISPLAYMODEEX), "pMode"), Out(Pointer(D3DDISPLAYROTATION), "pRotation")]), -] - -d3d9 = API("d3d9") -d3d9.add_functions([ - StdFunction(PDIRECT3D9, "Direct3DCreate9", [(UINT, "SDKVersion")], fail='NULL'), - StdFunction(HRESULT, "Direct3DCreate9Ex", [(UINT, "SDKVersion"), Out(Pointer(PDIRECT3D9EX), "ppD3D")], fail='D3DERR_NOTAVAILABLE'), - StdFunction(Int, "D3DPERF_BeginEvent", [(D3DCOLOR, "col"), (LPCWSTR, "wszName")], fail='-1'), - StdFunction(Int, "D3DPERF_EndEvent", [], fail='-1'), - StdFunction(Void, "D3DPERF_SetMarker", [(D3DCOLOR, "col"), (LPCWSTR, "wszName")]), - StdFunction(Void, "D3DPERF_SetRegion", [(D3DCOLOR, "col"), (LPCWSTR, "wszName")]), - StdFunction(BOOL, "D3DPERF_QueryRepeatFrame", [], fail='FALSE'), - StdFunction(Void, "D3DPERF_SetOptions", [(DWORD, "dwOptions")]), - StdFunction(DWORD, "D3DPERF_GetStatus", [], fail='0'), -]) diff --git a/d3d9caps.py b/d3d9caps.py deleted file mode 100644 index 1c0188f..0000000 --- a/d3d9caps.py +++ /dev/null @@ -1,421 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d9caps.h""" - -from winapi import * -from d3d9types import * - -D3DVS20CAPS = Flags(DWORD, [ - "D3DVS20CAPS_PREDICATION", -]) - -D3DVSHADERCAPS2_0 = Struct("D3DVSHADERCAPS2_0", [ - (D3DVS20CAPS, "Caps"), - (INT, "DynamicFlowControlDepth"), - (INT, "NumTemps"), - (INT, "StaticFlowControlDepth"), -]) - -D3DPS20CAPS = Flags(DWORD, [ - "D3DPS20CAPS_ARBITRARYSWIZZLE", - "D3DPS20CAPS_GRADIENTINSTRUCTIONS", - "D3DPS20CAPS_PREDICATION", - "D3DPS20CAPS_NODEPENDENTREADLIMIT", - "D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT", -]) - -D3DPSHADERCAPS2_0 = Struct("D3DPSHADERCAPS2_0", [ - (D3DPS20CAPS, "Caps"), - (INT, "DynamicFlowControlDepth"), - (INT, "NumTemps"), - (INT, "StaticFlowControlDepth"), - (INT, "NumInstructionSlots"), -]) - -D3DCAPS = Flags(DWORD, [ - "D3DCAPS_READ_SCANLINE", -]) - -D3DCAPS2 = Flags(DWORD, [ - "D3DCAPS2_FULLSCREENGAMMA", - "D3DCAPS2_CANCALIBRATEGAMMA", - "D3DCAPS2_RESERVED", - "D3DCAPS2_CANMANAGERESOURCE", - "D3DCAPS2_DYNAMICTEXTURES", - "D3DCAPS2_CANAUTOGENMIPMAP", - "D3DCAPS2_CANSHARERESOURCE", -]) - -D3DCAPS3 = Flags(DWORD, [ - "D3DCAPS3_RESERVED", - "D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD", - "D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION", - "D3DCAPS3_COPY_TO_VIDMEM", - "D3DCAPS3_COPY_TO_SYSTEMMEM", -]) - - -D3DPRESENT_INTERVAL = Flags(DWORD, [ - #"D3DPRESENT_INTERVAL_DEFAULT", # 0 - "D3DPRESENT_INTERVAL_ONE", - "D3DPRESENT_INTERVAL_TWO", - "D3DPRESENT_INTERVAL_THREE", - "D3DPRESENT_INTERVAL_FOUR", - "D3DPRESENT_INTERVAL_IMMEDIATE", -]) - -D3DCURSORCAPS = Flags(DWORD, [ - "D3DCURSORCAPS_COLOR", - "D3DCURSORCAPS_LOWRES", -]) - -D3DDEVCAPS = Flags(DWORD, [ - "D3DDEVCAPS_EXECUTESYSTEMMEMORY", - "D3DDEVCAPS_EXECUTEVIDEOMEMORY", - "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY", - "D3DDEVCAPS_TLVERTEXVIDEOMEMORY", - "D3DDEVCAPS_TEXTURESYSTEMMEMORY", - "D3DDEVCAPS_TEXTUREVIDEOMEMORY", - "D3DDEVCAPS_DRAWPRIMTLVERTEX", - "D3DDEVCAPS_CANRENDERAFTERFLIP", - "D3DDEVCAPS_TEXTURENONLOCALVIDMEM", - "D3DDEVCAPS_DRAWPRIMITIVES2", - "D3DDEVCAPS_SEPARATETEXTUREMEMORIES", - "D3DDEVCAPS_DRAWPRIMITIVES2EX", - "D3DDEVCAPS_HWTRANSFORMANDLIGHT", - "D3DDEVCAPS_CANBLTSYSTONONLOCAL", - "D3DDEVCAPS_HWRASTERIZATION", - "D3DDEVCAPS_PUREDEVICE", - "D3DDEVCAPS_QUINTICRTPATCHES", - "D3DDEVCAPS_RTPATCHES", - "D3DDEVCAPS_RTPATCHHANDLEZERO", - "D3DDEVCAPS_NPATCHES", -]) - -D3DPMISCCAPS = Flags(DWORD, [ - "D3DPMISCCAPS_MASKZ", - "D3DPMISCCAPS_CULLNONE", - "D3DPMISCCAPS_CULLCW", - "D3DPMISCCAPS_CULLCCW", - "D3DPMISCCAPS_COLORWRITEENABLE", - "D3DPMISCCAPS_CLIPPLANESCALEDPOINTS", - "D3DPMISCCAPS_CLIPTLVERTS", - "D3DPMISCCAPS_TSSARGTEMP", - "D3DPMISCCAPS_BLENDOP", - "D3DPMISCCAPS_NULLREFERENCE", - "D3DPMISCCAPS_INDEPENDENTWRITEMASKS", - "D3DPMISCCAPS_PERSTAGECONSTANT", - "D3DPMISCCAPS_FOGANDSPECULARALPHA", - "D3DPMISCCAPS_SEPARATEALPHABLEND", - "D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS", - "D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING", - "D3DPMISCCAPS_FOGVERTEXCLAMPED", - "D3DPMISCCAPS_POSTBLENDSRGBCONVERT", -]) - -D3DLINECAPS = Flags(DWORD, [ - "D3DLINECAPS_TEXTURE", - "D3DLINECAPS_ZTEST", - "D3DLINECAPS_BLEND", - "D3DLINECAPS_ALPHACMP", - "D3DLINECAPS_FOG", - "D3DLINECAPS_ANTIALIAS", -]) - -D3DPRASTERCAPS = Flags(DWORD, [ - "D3DPRASTERCAPS_DITHER", - "D3DPRASTERCAPS_ZTEST", - "D3DPRASTERCAPS_FOGVERTEX", - "D3DPRASTERCAPS_FOGTABLE", - "D3DPRASTERCAPS_MIPMAPLODBIAS", - "D3DPRASTERCAPS_ZBUFFERLESSHSR", - "D3DPRASTERCAPS_FOGRANGE", - "D3DPRASTERCAPS_ANISOTROPY", - "D3DPRASTERCAPS_WBUFFER", - "D3DPRASTERCAPS_WFOG", - "D3DPRASTERCAPS_ZFOG", - "D3DPRASTERCAPS_COLORPERSPECTIVE", - "D3DPRASTERCAPS_SCISSORTEST", - "D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS", - "D3DPRASTERCAPS_DEPTHBIAS", - "D3DPRASTERCAPS_MULTISAMPLE_TOGGLE", -]) - -D3DPCMPCAPS = Flags(DWORD, [ - "D3DPCMPCAPS_NEVER", - "D3DPCMPCAPS_LESS", - "D3DPCMPCAPS_EQUAL", - "D3DPCMPCAPS_LESSEQUAL", - "D3DPCMPCAPS_GREATER", - "D3DPCMPCAPS_NOTEQUAL", - "D3DPCMPCAPS_GREATEREQUAL", - "D3DPCMPCAPS_ALWAYS", -]) - -D3DPBLENDCAPS = Flags(DWORD, [ - "D3DPBLENDCAPS_ZERO", - "D3DPBLENDCAPS_ONE", - "D3DPBLENDCAPS_SRCCOLOR", - "D3DPBLENDCAPS_INVSRCCOLOR", - "D3DPBLENDCAPS_SRCALPHA", - "D3DPBLENDCAPS_INVSRCALPHA", - "D3DPBLENDCAPS_DESTALPHA", - "D3DPBLENDCAPS_INVDESTALPHA", - "D3DPBLENDCAPS_DESTCOLOR", - "D3DPBLENDCAPS_INVDESTCOLOR", - "D3DPBLENDCAPS_SRCALPHASAT", - "D3DPBLENDCAPS_BOTHSRCALPHA", - "D3DPBLENDCAPS_BOTHINVSRCALPHA", - "D3DPBLENDCAPS_BLENDFACTOR", - "D3DPBLENDCAPS_SRCCOLOR2", - "D3DPBLENDCAPS_INVSRCCOLOR2", -]) - -D3DPSHADECAPS = Flags(DWORD, [ - "D3DPSHADECAPS_COLORGOURAUDRGB", - "D3DPSHADECAPS_SPECULARGOURAUDRGB", - "D3DPSHADECAPS_ALPHAGOURAUDBLEND", - "D3DPSHADECAPS_FOGGOURAUD", -]) - -D3DPTEXTURECAPS = Flags(DWORD, [ - "D3DPTEXTURECAPS_PERSPECTIVE", - "D3DPTEXTURECAPS_POW2", - "D3DPTEXTURECAPS_ALPHA", - "D3DPTEXTURECAPS_SQUAREONLY", - "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE", - "D3DPTEXTURECAPS_ALPHAPALETTE", - "D3DPTEXTURECAPS_NONPOW2CONDITIONAL", - "D3DPTEXTURECAPS_PROJECTED", - "D3DPTEXTURECAPS_CUBEMAP", - "D3DPTEXTURECAPS_VOLUMEMAP", - "D3DPTEXTURECAPS_MIPMAP", - "D3DPTEXTURECAPS_MIPVOLUMEMAP", - "D3DPTEXTURECAPS_MIPCUBEMAP", - "D3DPTEXTURECAPS_CUBEMAP_POW2", - "D3DPTEXTURECAPS_VOLUMEMAP_POW2", - "D3DPTEXTURECAPS_NOPROJECTEDBUMPENV", -]) - -D3DPTFILTERCAPS = Flags(DWORD, [ - "D3DPTFILTERCAPS_MINFPOINT", - "D3DPTFILTERCAPS_MINFLINEAR", - "D3DPTFILTERCAPS_MINFANISOTROPIC", - "D3DPTFILTERCAPS_MINFPYRAMIDALQUAD", - "D3DPTFILTERCAPS_MINFGAUSSIANQUAD", - "D3DPTFILTERCAPS_MIPFPOINT", - "D3DPTFILTERCAPS_MIPFLINEAR", - "D3DPTFILTERCAPS_CONVOLUTIONMONO", - "D3DPTFILTERCAPS_MAGFPOINT", - "D3DPTFILTERCAPS_MAGFLINEAR", - "D3DPTFILTERCAPS_MAGFANISOTROPIC", - "D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD", - "D3DPTFILTERCAPS_MAGFGAUSSIANQUAD", -]) - -D3DPTADDRESSCAPS = Flags(DWORD, [ - "D3DPTADDRESSCAPS_WRAP", - "D3DPTADDRESSCAPS_MIRROR", - "D3DPTADDRESSCAPS_CLAMP", - "D3DPTADDRESSCAPS_BORDER", - "D3DPTADDRESSCAPS_INDEPENDENTUV", - "D3DPTADDRESSCAPS_MIRRORONCE", -]) - -D3DSTENCILCAPS = Flags(DWORD, [ - "D3DSTENCILCAPS_KEEP", - "D3DSTENCILCAPS_ZERO", - "D3DSTENCILCAPS_REPLACE", - "D3DSTENCILCAPS_INCRSAT", - "D3DSTENCILCAPS_DECRSAT", - "D3DSTENCILCAPS_INVERT", - "D3DSTENCILCAPS_INCR", - "D3DSTENCILCAPS_DECR", - "D3DSTENCILCAPS_TWOSIDED", -]) - -D3DTEXOPCAPS = Flags(DWORD, [ - "D3DTEXOPCAPS_DISABLE", - "D3DTEXOPCAPS_SELECTARG1", - "D3DTEXOPCAPS_SELECTARG2", - "D3DTEXOPCAPS_MODULATE", - "D3DTEXOPCAPS_MODULATE2X", - "D3DTEXOPCAPS_MODULATE4X", - "D3DTEXOPCAPS_ADD", - "D3DTEXOPCAPS_ADDSIGNED", - "D3DTEXOPCAPS_ADDSIGNED2X", - "D3DTEXOPCAPS_SUBTRACT", - "D3DTEXOPCAPS_ADDSMOOTH", - "D3DTEXOPCAPS_BLENDDIFFUSEALPHA", - "D3DTEXOPCAPS_BLENDTEXTUREALPHA", - "D3DTEXOPCAPS_BLENDFACTORALPHA", - "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM", - "D3DTEXOPCAPS_BLENDCURRENTALPHA", - "D3DTEXOPCAPS_PREMODULATE", - "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR", - "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA", - "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR", - "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA", - "D3DTEXOPCAPS_BUMPENVMAP", - "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE", - "D3DTEXOPCAPS_DOTPRODUCT3", - "D3DTEXOPCAPS_MULTIPLYADD", - "D3DTEXOPCAPS_LERP", -]) - -D3DFVFCAPS = Flags(DWORD, [ - "D3DFVFCAPS_TEXCOORDCOUNTMASK", - "D3DFVFCAPS_DONOTSTRIPELEMENTS", - "D3DFVFCAPS_PSIZE", -]) - -D3DVTXPCAPS = Flags(DWORD, [ - "D3DVTXPCAPS_TEXGEN", - "D3DVTXPCAPS_MATERIALSOURCE7", - "D3DVTXPCAPS_DIRECTIONALLIGHTS", - "D3DVTXPCAPS_POSITIONALLIGHTS", - "D3DVTXPCAPS_LOCALVIEWER", - "D3DVTXPCAPS_TWEENING", - "D3DVTXPCAPS_TEXGEN_SPHEREMAP", - "D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER", -]) - -D3DDEVCAPS2 = Flags(DWORD, [ - "D3DDEVCAPS2_STREAMOFFSET", - "D3DDEVCAPS2_DMAPNPATCH", - "D3DDEVCAPS2_ADAPTIVETESSRTPATCH", - "D3DDEVCAPS2_ADAPTIVETESSNPATCH", - "D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES", - "D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH", - "D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET", -]) - -D3DDTCAPS = Flags(DWORD, [ - "D3DDTCAPS_UBYTE4", - "D3DDTCAPS_UBYTE4N", - "D3DDTCAPS_SHORT2N", - "D3DDTCAPS_SHORT4N", - "D3DDTCAPS_USHORT2N", - "D3DDTCAPS_USHORT4N", - "D3DDTCAPS_UDEC3", - "D3DDTCAPS_DEC3N", - "D3DDTCAPS_FLOAT16_2", - "D3DDTCAPS_FLOAT16_4", -]) - -#D3DPS_VERSION = Enum("DWORD", [ -# "D3DPS_VERSION(0,0)", -# "D3DPS_VERSION(1,0)", -# "D3DPS_VERSION(1,1)", -# "D3DPS_VERSION(1,2)", -# "D3DPS_VERSION(1,3)", -# "D3DPS_VERSION(1,4)", -# "D3DPS_VERSION(2,0)", -# "D3DPS_VERSION(3,0)", -#]) -D3DPS_VERSION = DWORD - -#D3DVS_VERSION = Enum("DWORD", [ -# "D3DVS_VERSION(0,0)", -# "D3DVS_VERSION(1,0)", -# "D3DVS_VERSION(1,1)", -# "D3DVS_VERSION(2,0)", -# "D3DVS_VERSION(3,0)", -#]) -D3DVS_VERSION = DWORD - -D3DCAPS9 = Struct("D3DCAPS9", [ - (D3DDEVTYPE, "DeviceType"), - (UINT, "AdapterOrdinal"), - (D3DCAPS, "Caps"), - (D3DCAPS2, "Caps2"), - (D3DCAPS3, "Caps3"), - (D3DPRESENT_INTERVAL, "PresentationIntervals"), - (D3DCURSORCAPS, "CursorCaps"), - (D3DDEVCAPS, "DevCaps"), - (D3DPMISCCAPS, "PrimitiveMiscCaps"), - (D3DPRASTERCAPS, "RasterCaps"), - (D3DPCMPCAPS, "ZCmpCaps"), - (D3DPBLENDCAPS, "SrcBlendCaps"), - (D3DPBLENDCAPS, "DestBlendCaps"), - (D3DPCMPCAPS, "AlphaCmpCaps"), - (D3DPSHADECAPS, "ShadeCaps"), - (D3DPTEXTURECAPS, "TextureCaps"), - (D3DPTFILTERCAPS, "TextureFilterCaps"), - (D3DPTFILTERCAPS, "CubeTextureFilterCaps"), - (D3DPTFILTERCAPS, "VolumeTextureFilterCaps"), - (D3DPTADDRESSCAPS, "TextureAddressCaps"), - (D3DPTADDRESSCAPS, "VolumeTextureAddressCaps"), - (D3DLINECAPS, "LineCaps"), - (DWORD, "MaxTextureWidth"), - (DWORD, "MaxTextureHeight"), - (DWORD, "MaxVolumeExtent"), - (DWORD, "MaxTextureRepeat"), - (DWORD, "MaxTextureAspectRatio"), - (DWORD, "MaxAnisotropy"), - (Float, "MaxVertexW"), - (Float, "GuardBandLeft"), - (Float, "GuardBandTop"), - (Float, "GuardBandRight"), - (Float, "GuardBandBottom"), - (Float, "ExtentsAdjust"), - (D3DSTENCILCAPS, "StencilCaps"), - (D3DFVFCAPS, "FVFCaps"), - (D3DTEXOPCAPS, "TextureOpCaps"), - (DWORD, "MaxTextureBlendStages"), - (DWORD, "MaxSimultaneousTextures"), - (D3DVTXPCAPS, "VertexProcessingCaps"), - (DWORD, "MaxActiveLights"), - (DWORD, "MaxUserClipPlanes"), - (DWORD, "MaxVertexBlendMatrices"), - (DWORD, "MaxVertexBlendMatrixIndex"), - (Float, "MaxPointSize"), - (DWORD, "MaxPrimitiveCount"), - (DWORD, "MaxVertexIndex"), - (DWORD, "MaxStreams"), - (DWORD, "MaxStreamStride"), - (D3DVS_VERSION, "VertexShaderVersion"), - (DWORD, "MaxVertexShaderConst"), - (D3DPS_VERSION, "PixelShaderVersion"), - (Float, "PixelShader1xMaxValue"), - (D3DDEVCAPS2, "DevCaps2"), - (Float, "MaxNpatchTessellationLevel"), - (DWORD, "Reserved5"), - (UINT, "MasterAdapterOrdinal"), - (UINT, "AdapterOrdinalInGroup"), - (UINT, "NumberOfAdaptersInGroup"), - (D3DDTCAPS, "DeclTypes"), - (DWORD, "NumSimultaneousRTs"), - (D3DPTFILTERCAPS, "StretchRectFilterCaps"), - (D3DVSHADERCAPS2_0, "VS20Caps"), - (D3DPSHADERCAPS2_0, "PS20Caps"), - (D3DPTFILTERCAPS, "VertexTextureFilterCaps"), - (DWORD, "MaxVShaderInstructionsExecuted"), - (DWORD, "MaxPShaderInstructionsExecuted"), - (DWORD, "MaxVertexShader30InstructionSlots"), - (DWORD, "MaxPixelShader30InstructionSlots"), -]) - diff --git a/d3d9trace.py b/d3d9trace.py index b83ebf6..c489be6 100644 --- a/d3d9trace.py +++ b/d3d9trace.py @@ -25,7 +25,7 @@ from trace import DllTracer -from d3d9 import d3d9 +from specs.d3d9 import d3d9 class D3D9Tracer(DllTracer): diff --git a/d3d9types.py b/d3d9types.py deleted file mode 100644 index 73011ee..0000000 --- a/d3d9types.py +++ /dev/null @@ -1,1320 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3d9types.h""" - -from winapi import * - -D3DCOLOR = Alias("D3DCOLOR", DWORD) - -D3DVECTOR = Struct("D3DVECTOR", [ - (Float, "x"), - (Float, "y"), - (Float, "z"), -]) - -D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ - (Float, "r"), - (Float, "g"), - (Float, "b"), - (Float, "a"), -]) - -D3DRECT = Struct("D3DRECT", [ - (LONG, "x1"), - (LONG, "y1"), - (LONG, "x2"), - (LONG, "y2"), -]) - -D3DMATRIX = Struct("D3DMATRIX", [ - (Array(Array(Float, "4"), "4"), "m"), -]) - -D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [ - (DWORD, "X"), - (DWORD, "Y"), - (DWORD, "Width"), - (DWORD, "Height"), - (Float, "MinZ"), - (Float, "MaxZ"), -]) - -D3DCLIP = Flags(DWORD, [ - "D3DCLIPPLANE0", - "D3DCLIPPLANE1", - "D3DCLIPPLANE2", - "D3DCLIPPLANE3", - "D3DCLIPPLANE4", - "D3DCLIPPLANE5", -]) - -D3DCS = Flags(DWORD, [ - "D3DCS_ALL", - "D3DCS_LEFT", - "D3DCS_RIGHT", - "D3DCS_TOP", - "D3DCS_BOTTOM", - "D3DCS_FRONT", - "D3DCS_BACK", - "D3DCS_PLANE0", - "D3DCS_PLANE1", - "D3DCS_PLANE2", - "D3DCS_PLANE3", - "D3DCS_PLANE4", - "D3DCS_PLANE5", -]) - -D3DCLIPSTATUS9 = Struct("D3DCLIPSTATUS9", [ - (DWORD, "ClipUnion"), - (DWORD, "ClipIntersection"), -]) - -D3DMATERIAL9 = Struct("D3DMATERIAL9", [ - (D3DCOLORVALUE, "Diffuse"), - (D3DCOLORVALUE, "Ambient"), - (D3DCOLORVALUE, "Specular"), - (D3DCOLORVALUE, "Emissive"), - (Float, "Power"), -]) - -D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ - "D3DLIGHT_POINT", - "D3DLIGHT_SPOT", - "D3DLIGHT_DIRECTIONAL", -]) - -D3DLIGHT9 = Struct("D3DLIGHT9", [ - (D3DLIGHTTYPE, "Type"), - (D3DCOLORVALUE, "Diffuse"), - (D3DCOLORVALUE, "Specular"), - (D3DCOLORVALUE, "Ambient"), - (D3DVECTOR, "Position"), - (D3DVECTOR, "Direction"), - (Float, "Range"), - (Float, "Falloff"), - (Float, "Attenuation0"), - (Float, "Attenuation1"), - (Float, "Attenuation2"), - (Float, "Theta"), - (Float, "Phi"), -]) - -D3DCLEAR = Flags(DWORD, [ - "D3DCLEAR_TARGET", - "D3DCLEAR_ZBUFFER", - "D3DCLEAR_STENCIL", -]) - -D3DSHADEMODE = Enum("D3DSHADEMODE", [ - "D3DSHADE_FLAT", - "D3DSHADE_GOURAUD", - "D3DSHADE_PHONG", -]) - -D3DFILLMODE = Enum("D3DFILLMODE", [ - "D3DFILL_POINT", - "D3DFILL_WIREFRAME", - "D3DFILL_SOLID", -]) - -D3DBLEND = Enum("D3DBLEND", [ - "D3DBLEND_ZERO", - "D3DBLEND_ONE", - "D3DBLEND_SRCCOLOR", - "D3DBLEND_INVSRCCOLOR", - "D3DBLEND_SRCALPHA", - "D3DBLEND_INVSRCALPHA", - "D3DBLEND_DESTALPHA", - "D3DBLEND_INVDESTALPHA", - "D3DBLEND_DESTCOLOR", - "D3DBLEND_INVDESTCOLOR", - "D3DBLEND_SRCALPHASAT", - "D3DBLEND_BOTHSRCALPHA", - "D3DBLEND_BOTHINVSRCALPHA", - "D3DBLEND_BLENDFACTOR", - "D3DBLEND_INVBLENDFACTOR", - "D3DBLEND_SRCCOLOR2", - "D3DBLEND_INVSRCCOLOR2", -]) - -D3DBLENDOP = Enum("D3DBLENDOP", [ - "D3DBLENDOP_ADD", - "D3DBLENDOP_SUBTRACT", - "D3DBLENDOP_REVSUBTRACT", - "D3DBLENDOP_MIN", - "D3DBLENDOP_MAX", -]) - -D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ - "D3DTADDRESS_WRAP", - "D3DTADDRESS_MIRROR", - "D3DTADDRESS_CLAMP", - "D3DTADDRESS_BORDER", - "D3DTADDRESS_MIRRORONCE", -]) - -D3DCULL = Enum("D3DCULL", [ - "D3DCULL_NONE", - "D3DCULL_CW", - "D3DCULL_CCW", -]) - -D3DCMPFUNC = Enum("D3DCMPFUNC", [ - "D3DCMP_NEVER", - "D3DCMP_LESS", - "D3DCMP_EQUAL", - "D3DCMP_LESSEQUAL", - "D3DCMP_GREATER", - "D3DCMP_NOTEQUAL", - "D3DCMP_GREATEREQUAL", - "D3DCMP_ALWAYS", -]) - -D3DSTENCILOP = Enum("D3DSTENCILOP", [ - "D3DSTENCILOP_KEEP", - "D3DSTENCILOP_ZERO", - "D3DSTENCILOP_REPLACE", - "D3DSTENCILOP_INCRSAT", - "D3DSTENCILOP_DECRSAT", - "D3DSTENCILOP_INVERT", - "D3DSTENCILOP_INCR", - "D3DSTENCILOP_DECR", -]) - -D3DFOGMODE = Enum("D3DFOGMODE", [ - "D3DFOG_NONE", - "D3DFOG_EXP", - "D3DFOG_EXP2", - "D3DFOG_LINEAR", -]) - -D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ - "D3DZB_FALSE", - "D3DZB_TRUE", - "D3DZB_USEW", -]) - -D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ - "D3DPT_POINTLIST", - "D3DPT_LINELIST", - "D3DPT_LINESTRIP", - "D3DPT_TRIANGLELIST", - "D3DPT_TRIANGLESTRIP", - "D3DPT_TRIANGLEFAN", -]) - -D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ - "D3DTS_VIEW", - "D3DTS_PROJECTION", - "D3DTS_TEXTURE0", - "D3DTS_TEXTURE1", - "D3DTS_TEXTURE2", - "D3DTS_TEXTURE3", - "D3DTS_TEXTURE4", - "D3DTS_TEXTURE5", - "D3DTS_TEXTURE6", - "D3DTS_TEXTURE7", -]) - -D3DTS = Flags(DWORD, [ - "D3DTS_WORLD", - "D3DTS_WORLD1", - "D3DTS_WORLD2", - "D3DTS_WORLD3", -]) - -D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ - "D3DRS_ZENABLE", - "D3DRS_FILLMODE", - "D3DRS_SHADEMODE", - "D3DRS_ZWRITEENABLE", - "D3DRS_ALPHATESTENABLE", - "D3DRS_LASTPIXEL", - "D3DRS_SRCBLEND", - "D3DRS_DESTBLEND", - "D3DRS_CULLMODE", - "D3DRS_ZFUNC", - "D3DRS_ALPHAREF", - "D3DRS_ALPHAFUNC", - "D3DRS_DITHERENABLE", - "D3DRS_ALPHABLENDENABLE", - "D3DRS_FOGENABLE", - "D3DRS_SPECULARENABLE", - "D3DRS_FOGCOLOR", - "D3DRS_FOGTABLEMODE", - "D3DRS_FOGSTART", - "D3DRS_FOGEND", - "D3DRS_FOGDENSITY", - "D3DRS_RANGEFOGENABLE", - "D3DRS_STENCILENABLE", - "D3DRS_STENCILFAIL", - "D3DRS_STENCILZFAIL", - "D3DRS_STENCILPASS", - "D3DRS_STENCILFUNC", - "D3DRS_STENCILREF", - "D3DRS_STENCILMASK", - "D3DRS_STENCILWRITEMASK", - "D3DRS_TEXTUREFACTOR", - "D3DRS_WRAP0", - "D3DRS_WRAP1", - "D3DRS_WRAP2", - "D3DRS_WRAP3", - "D3DRS_WRAP4", - "D3DRS_WRAP5", - "D3DRS_WRAP6", - "D3DRS_WRAP7", - "D3DRS_CLIPPING", - "D3DRS_LIGHTING", - "D3DRS_AMBIENT", - "D3DRS_FOGVERTEXMODE", - "D3DRS_COLORVERTEX", - "D3DRS_LOCALVIEWER", - "D3DRS_NORMALIZENORMALS", - "D3DRS_DIFFUSEMATERIALSOURCE", - "D3DRS_SPECULARMATERIALSOURCE", - "D3DRS_AMBIENTMATERIALSOURCE", - "D3DRS_EMISSIVEMATERIALSOURCE", - "D3DRS_VERTEXBLEND", - "D3DRS_CLIPPLANEENABLE", - "D3DRS_POINTSIZE", - "D3DRS_POINTSIZE_MIN", - "D3DRS_POINTSPRITEENABLE", - "D3DRS_POINTSCALEENABLE", - "D3DRS_POINTSCALE_A", - "D3DRS_POINTSCALE_B", - "D3DRS_POINTSCALE_C", - "D3DRS_MULTISAMPLEANTIALIAS", - "D3DRS_MULTISAMPLEMASK", - "D3DRS_PATCHEDGESTYLE", - "D3DRS_DEBUGMONITORTOKEN", - "D3DRS_POINTSIZE_MAX", - "D3DRS_INDEXEDVERTEXBLENDENABLE", - "D3DRS_COLORWRITEENABLE", - "D3DRS_TWEENFACTOR", - "D3DRS_BLENDOP", - "D3DRS_POSITIONDEGREE", - "D3DRS_NORMALDEGREE", - "D3DRS_SCISSORTESTENABLE", - "D3DRS_SLOPESCALEDEPTHBIAS", - "D3DRS_ANTIALIASEDLINEENABLE", - "D3DRS_MINTESSELLATIONLEVEL", - "D3DRS_MAXTESSELLATIONLEVEL", - "D3DRS_ADAPTIVETESS_X", - "D3DRS_ADAPTIVETESS_Y", - "D3DRS_ADAPTIVETESS_Z", - "D3DRS_ADAPTIVETESS_W", - "D3DRS_ENABLEADAPTIVETESSELLATION", - "D3DRS_TWOSIDEDSTENCILMODE", - "D3DRS_CCW_STENCILFAIL", - "D3DRS_CCW_STENCILZFAIL", - "D3DRS_CCW_STENCILPASS", - "D3DRS_CCW_STENCILFUNC", - "D3DRS_COLORWRITEENABLE1", - "D3DRS_COLORWRITEENABLE2", - "D3DRS_COLORWRITEENABLE3", - "D3DRS_BLENDFACTOR", - "D3DRS_SRGBWRITEENABLE", - "D3DRS_DEPTHBIAS", - "D3DRS_WRAP8", - "D3DRS_WRAP9", - "D3DRS_WRAP10", - "D3DRS_WRAP11", - "D3DRS_WRAP12", - "D3DRS_WRAP13", - "D3DRS_WRAP14", - "D3DRS_WRAP15", - "D3DRS_SEPARATEALPHABLENDENABLE", - "D3DRS_SRCBLENDALPHA", - "D3DRS_DESTBLENDALPHA", - "D3DRS_BLENDOPALPHA", -]) - -D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ - "D3DMCS_MATERIAL", - "D3DMCS_COLOR1", - "D3DMCS_COLOR2", -]) - -D3DWRAP = Flags(DWORD, [ - "D3DWRAP_U", - "D3DWRAP_V", - "D3DWRAP_W", -]) - -D3DWRAPCOORD = Flags(DWORD, [ - "D3DWRAPCOORD_0", - "D3DWRAPCOORD_1", - "D3DWRAPCOORD_2", - "D3DWRAPCOORD_3", -]) - -D3DCOLORWRITEENABLE = Flags(DWORD, [ - "D3DCOLORWRITEENABLE_RED", - "D3DCOLORWRITEENABLE_GREEN", - "D3DCOLORWRITEENABLE_BLUE", - "D3DCOLORWRITEENABLE_ALPHA", -]) - -D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ - "D3DTSS_COLOROP", - "D3DTSS_COLORARG1", - "D3DTSS_COLORARG2", - "D3DTSS_ALPHAOP", - "D3DTSS_ALPHAARG1", - "D3DTSS_ALPHAARG2", - "D3DTSS_BUMPENVMAT00", - "D3DTSS_BUMPENVMAT01", - "D3DTSS_BUMPENVMAT10", - "D3DTSS_BUMPENVMAT11", - "D3DTSS_TEXCOORDINDEX", - "D3DTSS_BUMPENVLSCALE", - "D3DTSS_BUMPENVLOFFSET", - "D3DTSS_TEXTURETRANSFORMFLAGS", - "D3DTSS_COLORARG0", - "D3DTSS_ALPHAARG0", - "D3DTSS_RESULTARG", - "D3DTSS_CONSTANT", -]) - -D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [ - - "D3DSAMP_ADDRESSU", - "D3DSAMP_ADDRESSV", - "D3DSAMP_ADDRESSW", - "D3DSAMP_BORDERCOLOR", - "D3DSAMP_MAGFILTER", - "D3DSAMP_MINFILTER", - "D3DSAMP_MIPFILTER", - "D3DSAMP_MIPMAPLODBIAS", - "D3DSAMP_MAXMIPLEVEL", - "D3DSAMP_MAXANISOTROPY", - "D3DSAMP_SRGBTEXTURE", - "D3DSAMP_ELEMENTINDEX", - "D3DSAMP_DMAPOFFSET", -]) - -D3DTSS = Flags(DWORD, [ - "D3DTSS_TCI_PASSTHRU", - "D3DTSS_TCI_CAMERASPACENORMAL", - "D3DTSS_TCI_CAMERASPACEPOSITION", - "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", - "D3DTSS_TCI_SPHEREMAP", -]) - -D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ - "D3DTOP_DISABLE", - "D3DTOP_SELECTARG1", - "D3DTOP_SELECTARG2", - "D3DTOP_MODULATE", - "D3DTOP_MODULATE2X", - "D3DTOP_MODULATE4X", - "D3DTOP_ADD", - "D3DTOP_ADDSIGNED", - "D3DTOP_ADDSIGNED2X", - "D3DTOP_SUBTRACT", - "D3DTOP_ADDSMOOTH", - "D3DTOP_BLENDDIFFUSEALPHA", - "D3DTOP_BLENDTEXTUREALPHA", - "D3DTOP_BLENDFACTORALPHA", - "D3DTOP_BLENDTEXTUREALPHAPM", - "D3DTOP_BLENDCURRENTALPHA", - "D3DTOP_PREMODULATE", - "D3DTOP_MODULATEALPHA_ADDCOLOR", - "D3DTOP_MODULATECOLOR_ADDALPHA", - "D3DTOP_MODULATEINVALPHA_ADDCOLOR", - "D3DTOP_MODULATEINVCOLOR_ADDALPHA", - "D3DTOP_BUMPENVMAP", - "D3DTOP_BUMPENVMAPLUMINANCE", - "D3DTOP_DOTPRODUCT3", - "D3DTOP_MULTIPLYADD", - "D3DTOP_LERP", -]) - -D3DTA = Flags(DWORD, [ - "D3DTA_SELECTMASK", - "D3DTA_DIFFUSE", - "D3DTA_CURRENT", - "D3DTA_TEXTURE", - "D3DTA_TFACTOR", - "D3DTA_SPECULAR", - "D3DTA_TEMP", - "D3DTA_CONSTANT", - "D3DTA_COMPLEMENT", - "D3DTA_ALPHAREPLICATE", -]) - -D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [ - "D3DTEXF_NONE", - "D3DTEXF_POINT", - "D3DTEXF_LINEAR", - "D3DTEXF_ANISOTROPIC", - "D3DTEXF_PYRAMIDALQUAD", - "D3DTEXF_GAUSSIANQUAD", - "D3DTEXF_CONVOLUTIONMONO", -]) - -D3DPV = Flags(DWORD, [ - "D3DPV_DONOTCOPYDATA", -]) - -D3DFVF = Flags(DWORD, [ - "D3DFVF_RESERVED0", - "D3DFVF_POSITION_MASK", - "D3DFVF_XYZ", - "D3DFVF_XYZRHW", - "D3DFVF_XYZB1", - "D3DFVF_XYZB2", - "D3DFVF_XYZB3", - "D3DFVF_XYZB4", - "D3DFVF_XYZB5", - "D3DFVF_XYZW", - "D3DFVF_NORMAL", - "D3DFVF_PSIZE", - "D3DFVF_DIFFUSE", - "D3DFVF_SPECULAR", - #"D3DFVF_TEXCOUNT_MASK", - #"D3DFVF_TEXCOUNT_SHIFT", - #"D3DFVF_TEX0", - #"D3DFVF_TEX1", - #"D3DFVF_TEX2", - #"D3DFVF_TEX3", - #"D3DFVF_TEX4", - #"D3DFVF_TEX5", - #"D3DFVF_TEX6", - #"D3DFVF_TEX7", - #"D3DFVF_TEX8", - "D3DFVF_LASTBETA_UBYTE4", - "D3DFVF_LASTBETA_D3DCOLOR", - "D3DFVF_RESERVED2", - #"D3DFVF_TEXCOORDSIZE3(0)", - #"D3DFVF_TEXCOORDSIZE2(0)", - #"D3DFVF_TEXCOORDSIZE4(0)", - #"D3DFVF_TEXCOORDSIZE1(0)", - #"D3DFVF_TEXCOORDSIZE3(1)", - #"D3DFVF_TEXCOORDSIZE2(1)", - #"D3DFVF_TEXCOORDSIZE4(1)", - #"D3DFVF_TEXCOORDSIZE1(1)", - #"D3DFVF_TEXCOORDSIZE3(2)", - #"D3DFVF_TEXCOORDSIZE2(2)", - #"D3DFVF_TEXCOORDSIZE4(2)", - #"D3DFVF_TEXCOORDSIZE1(2)", - #"D3DFVF_TEXCOORDSIZE3(3)", - #"D3DFVF_TEXCOORDSIZE2(3)", - #"D3DFVF_TEXCOORDSIZE4(3)", - #"D3DFVF_TEXCOORDSIZE1(3)", -]) - -D3DDECLUSAGE = Enum("D3DDECLUSAGE", [ - "D3DDECLUSAGE_POSITION", - "D3DDECLUSAGE_BLENDWEIGHT", - "D3DDECLUSAGE_BLENDINDICES", - "D3DDECLUSAGE_NORMAL", - "D3DDECLUSAGE_PSIZE", - "D3DDECLUSAGE_TEXCOORD", - "D3DDECLUSAGE_TANGENT", - "D3DDECLUSAGE_BINORMAL", - "D3DDECLUSAGE_TESSFACTOR", - "D3DDECLUSAGE_POSITIONT", - "D3DDECLUSAGE_COLOR", - "D3DDECLUSAGE_FOG", - "D3DDECLUSAGE_DEPTH", - "D3DDECLUSAGE_SAMPLE", -]) - -D3DDECLMETHOD = Enum("D3DDECLMETHOD", [ - "D3DDECLMETHOD_DEFAULT", - "D3DDECLMETHOD_PARTIALU", - "D3DDECLMETHOD_PARTIALV", - "D3DDECLMETHOD_CROSSUV", - "D3DDECLMETHOD_UV", - "D3DDECLMETHOD_LOOKUP", - "D3DDECLMETHOD_LOOKUPPRESAMPLED", -]) - -D3DDECLTYPE = Enum("D3DDECLTYPE", [ - "D3DDECLTYPE_FLOAT1", - "D3DDECLTYPE_FLOAT2", - "D3DDECLTYPE_FLOAT3", - "D3DDECLTYPE_FLOAT4", - "D3DDECLTYPE_D3DCOLOR", - "D3DDECLTYPE_UBYTE4", - "D3DDECLTYPE_SHORT2", - "D3DDECLTYPE_SHORT4", - "D3DDECLTYPE_UBYTE4N", - "D3DDECLTYPE_SHORT2N", - "D3DDECLTYPE_SHORT4N", - "D3DDECLTYPE_USHORT2N", - "D3DDECLTYPE_USHORT4N", - "D3DDECLTYPE_UDEC3", - "D3DDECLTYPE_DEC3N", - "D3DDECLTYPE_FLOAT16_2", - "D3DDECLTYPE_FLOAT16_4", - "D3DDECLTYPE_UNUSED", -]) - -D3DVERTEXELEMENT9 = Struct("D3DVERTEXELEMENT9", [ - (WORD, "Stream"), - (WORD, "Offset"), - (BYTE, "Type"), - (BYTE, "Method"), - (BYTE, "Usage"), - (BYTE, "UsageIndex"), -]) - -D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [ - "D3DSIO_NOP", - "D3DSIO_MOV", - "D3DSIO_ADD", - "D3DSIO_SUB", - "D3DSIO_MAD", - "D3DSIO_MUL", - "D3DSIO_RCP", - "D3DSIO_RSQ", - "D3DSIO_DP3", - "D3DSIO_DP4", - "D3DSIO_MIN", - "D3DSIO_MAX", - "D3DSIO_SLT", - "D3DSIO_SGE", - "D3DSIO_EXP", - "D3DSIO_LOG", - "D3DSIO_LIT", - "D3DSIO_DST", - "D3DSIO_LRP", - "D3DSIO_FRC", - "D3DSIO_M4x4", - "D3DSIO_M4x3", - "D3DSIO_M3x4", - "D3DSIO_M3x3", - "D3DSIO_M3x2", - "D3DSIO_CALL", - "D3DSIO_CALLNZ", - "D3DSIO_LOOP", - "D3DSIO_RET", - "D3DSIO_ENDLOOP", - "D3DSIO_LABEL", - "D3DSIO_DCL", - "D3DSIO_POW", - "D3DSIO_CRS", - "D3DSIO_SGN", - "D3DSIO_ABS", - "D3DSIO_NRM", - "D3DSIO_SINCOS", - "D3DSIO_REP", - "D3DSIO_ENDREP", - "D3DSIO_IF", - "D3DSIO_IFC", - "D3DSIO_ELSE", - "D3DSIO_ENDIF", - "D3DSIO_BREAK", - "D3DSIO_BREAKC", - "D3DSIO_MOVA", - "D3DSIO_DEFB", - "D3DSIO_DEFI", - "D3DSIO_TEXCOORD", - "D3DSIO_TEXKILL", - "D3DSIO_TEX", - "D3DSIO_TEXBEM", - "D3DSIO_TEXBEML", - "D3DSIO_TEXREG2AR", - "D3DSIO_TEXREG2GB", - "D3DSIO_TEXM3x2PAD", - "D3DSIO_TEXM3x2TEX", - "D3DSIO_TEXM3x3PAD", - "D3DSIO_TEXM3x3TEX", - "D3DSIO_RESERVED0", - "D3DSIO_TEXM3x3SPEC", - "D3DSIO_TEXM3x3VSPEC", - "D3DSIO_EXPP", - "D3DSIO_LOGP", - "D3DSIO_CND", - "D3DSIO_DEF", - "D3DSIO_TEXREG2RGB", - "D3DSIO_TEXDP3TEX", - "D3DSIO_TEXM3x2DEPTH", - "D3DSIO_TEXDP3", - "D3DSIO_TEXM3x3", - "D3DSIO_TEXDEPTH", - "D3DSIO_CMP", - "D3DSIO_BEM", - "D3DSIO_DP2ADD", - "D3DSIO_DSX", - "D3DSIO_DSY", - "D3DSIO_TEXLDD", - "D3DSIO_SETP", - "D3DSIO_TEXLDL", - "D3DSIO_BREAKP", - "D3DSIO_PHASE", - "D3DSIO_COMMENT", - "D3DSIO_END", -]) - -D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [ - "D3DSPC_RESERVED0", - "D3DSPC_GT", - "D3DSPC_EQ", - "D3DSPC_GE", - "D3DSPC_LT", - "D3DSPC_NE", - "D3DSPC_LE", - "D3DSPC_RESERVED1", -]) - -D3DSAMPLER_TEXTURE_TYPE = Enum("D3DSAMPLER_TEXTURE_TYPE", [ - "D3DSTT_UNKNOWN", - "D3DSTT_2D", - "D3DSTT_CUBE", - "D3DSTT_VOLUME", -]) - -D3DSP = Flags(DWORD, [ - "D3DSP_WRITEMASK_0", - "D3DSP_WRITEMASK_1", - "D3DSP_WRITEMASK_2", - "D3DSP_WRITEMASK_3", - "D3DSP_WRITEMASK_ALL", -]) - -D3DSHADER_PARAM_DSTMOD_TYPE = Flags(DWORD, [ - "D3DSPDM_NONE", - "D3DSPDM_SATURATE", - "D3DSPDM_PARTIALPRECISION", - "D3DSPDM_MSAMPCENTROID", -]) - -D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [ - "D3DSPR_TEMP", - "D3DSPR_INPUT", - "D3DSPR_CONST", - "D3DSPR_ADDR|D3DSPR_TEXTURE", - "D3DSPR_RASTOUT", - "D3DSPR_ATTROUT", - "D3DSPR_TEXCRDOUT|D3DSPR_OUTPUT", - "D3DSPR_CONSTINT", - "D3DSPR_COLOROUT", - "D3DSPR_DEPTHOUT", - "D3DSPR_SAMPLER", - "D3DSPR_CONST2", - "D3DSPR_CONST3", - "D3DSPR_CONST4", - "D3DSPR_CONSTBOOL", - "D3DSPR_LOOP", - "D3DSPR_TEMPFLOAT16", - "D3DSPR_MISCTYPE", - "D3DSPR_LABEL", - "D3DSPR_PREDICATE", -]) - -D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [ - "D3DSMO_POSITION", - "D3DSMO_FACE", -]) - -D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [ - "D3DSRO_POSITION", - "D3DSRO_FOG", - "D3DSRO_POINT_SIZE", -]) - -D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [ - "D3DVS_ADDRMODE_ABSOLUTE", - "D3DVS_ADDRMODE_RELATIVE", -]) - -D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [ - "D3DSHADER_ADDRMODE_ABSOLUTE", - "D3DSHADER_ADDRMODE_RELATIVE", -]) - -D3DVS = Flags(DWORD, [ - "D3DVS_X_X", - "D3DVS_X_Y", - "D3DVS_X_Z", - "D3DVS_X_W", - "D3DVS_Y_X", - "D3DVS_Y_Y", - "D3DVS_Y_Z", - "D3DVS_Y_W", - "D3DVS_Z_X", - "D3DVS_Z_Y", - "D3DVS_Z_Z", - "D3DVS_Z_W", - "D3DVS_W_X", - "D3DVS_W_Y", - "D3DVS_W_Z", - "D3DVS_W_W", - "D3DVS_NOSWIZZLE", -]) - -D3DSP = Flags(DWORD, [ - "D3DSP_NOSWIZZLE", - "D3DSP_REPLICATERED", - "D3DSP_REPLICATEGREEN", - "D3DSP_REPLICATEBLUE", - "D3DSP_REPLICATEALPHA", -]) - -D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [ - "D3DSPSM_NONE", - "D3DSPSM_NEG", - "D3DSPSM_BIAS", - "D3DSPSM_BIASNEG", - "D3DSPSM_SIGN", - "D3DSPSM_SIGNNEG", - "D3DSPSM_COMP", - "D3DSPSM_X2", - "D3DSPSM_X2NEG", - "D3DSPSM_DZ", - "D3DSPSM_DW", - "D3DSPSM_ABS", - "D3DSPSM_ABSNEG", - "D3DSPSM_NOT", -]) - -D3DBASISTYPE = Enum("D3DBASISTYPE", [ - "D3DBASIS_BEZIER", - "D3DBASIS_BSPLINE", - "D3DBASIS_CATMULL_ROM", -]) - -D3DDEGREETYPE = Enum("D3DDEGREETYPE", [ - "D3DDEGREE_LINEAR", - "D3DDEGREE_QUADRATIC", - "D3DDEGREE_CUBIC", - "D3DDEGREE_QUINTIC", -]) - -D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [ - "D3DPATCHEDGE_DISCRETE", - "D3DPATCHEDGE_CONTINUOUS", -]) - -D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ - "D3DSBT_ALL", - "D3DSBT_PIXELSTATE", - "D3DSBT_VERTEXSTATE", -]) - -D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ - "D3DVBF_DISABLE", - "D3DVBF_1WEIGHTS", - "D3DVBF_2WEIGHTS", - "D3DVBF_3WEIGHTS", - "D3DVBF_TWEENING", - "D3DVBF_0WEIGHTS", -]) - -D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ - "D3DTTFF_DISABLE", - "D3DTTFF_COUNT1", - "D3DTTFF_COUNT2", - "D3DTTFF_COUNT3", - "D3DTTFF_COUNT4", - "D3DTTFF_PROJECTED", -]) - -D3DDEVTYPE = Enum("D3DDEVTYPE", [ - "D3DDEVTYPE_HAL", - "D3DDEVTYPE_REF", - "D3DDEVTYPE_SW", - "D3DDEVTYPE_NULLREF", -]) - -D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [ - "D3DMULTISAMPLE_NONE", - "D3DMULTISAMPLE_NONMASKABLE", - "D3DMULTISAMPLE_2_SAMPLES", - "D3DMULTISAMPLE_3_SAMPLES", - "D3DMULTISAMPLE_4_SAMPLES", - "D3DMULTISAMPLE_5_SAMPLES", - "D3DMULTISAMPLE_6_SAMPLES", - "D3DMULTISAMPLE_7_SAMPLES", - "D3DMULTISAMPLE_8_SAMPLES", - "D3DMULTISAMPLE_9_SAMPLES", - "D3DMULTISAMPLE_10_SAMPLES", - "D3DMULTISAMPLE_11_SAMPLES", - "D3DMULTISAMPLE_12_SAMPLES", - "D3DMULTISAMPLE_13_SAMPLES", - "D3DMULTISAMPLE_14_SAMPLES", - "D3DMULTISAMPLE_15_SAMPLES", - "D3DMULTISAMPLE_16_SAMPLES", -]) - -D3DFORMAT = Enum("D3DFORMAT", [ - "D3DFMT_UNKNOWN", - "D3DFMT_R8G8B8", - "D3DFMT_A8R8G8B8", - "D3DFMT_X8R8G8B8", - "D3DFMT_R5G6B5", - "D3DFMT_X1R5G5B5", - "D3DFMT_A1R5G5B5", - "D3DFMT_A4R4G4B4", - "D3DFMT_R3G3B2", - "D3DFMT_A8", - "D3DFMT_A8R3G3B2", - "D3DFMT_X4R4G4B4", - "D3DFMT_A2B10G10R10", - "D3DFMT_A8B8G8R8", - "D3DFMT_X8B8G8R8", - "D3DFMT_G16R16", - "D3DFMT_A2R10G10B10", - "D3DFMT_A16B16G16R16", - "D3DFMT_A8P8", - "D3DFMT_P8", - "D3DFMT_L8", - "D3DFMT_A8L8", - "D3DFMT_A4L4", - "D3DFMT_V8U8", - "D3DFMT_L6V5U5", - "D3DFMT_X8L8V8U8", - "D3DFMT_Q8W8V8U8", - "D3DFMT_V16U16", - "D3DFMT_A2W10V10U10", - "D3DFMT_UYVY", - "D3DFMT_R8G8_B8G8", - "D3DFMT_YUY2", - "D3DFMT_G8R8_G8B8", - "D3DFMT_DXT1", - "D3DFMT_DXT2", - "D3DFMT_DXT3", - "D3DFMT_DXT4", - "D3DFMT_DXT5", - "D3DFMT_D16_LOCKABLE", - "D3DFMT_D32", - "D3DFMT_D15S1", - "D3DFMT_D24S8", - "D3DFMT_D24X8", - "D3DFMT_D24X4S4", - "D3DFMT_D16", - "D3DFMT_D32F_LOCKABLE", - "D3DFMT_D24FS8", - "D3DFMT_D32_LOCKABLE", - "D3DFMT_S8_LOCKABLE", - "D3DFMT_L16", - "D3DFMT_VERTEXDATA", - "D3DFMT_INDEX16", - "D3DFMT_INDEX32", - "D3DFMT_Q16W16V16U16", - "D3DFMT_MULTI2_ARGB8", - "D3DFMT_R16F", - "D3DFMT_G16R16F", - "D3DFMT_A16B16G16R16F", - "D3DFMT_R32F", - "D3DFMT_G32R32F", - "D3DFMT_A32B32G32R32F", - "D3DFMT_CxV8U8", - "D3DFMT_A1", - "D3DFMT_BINARYBUFFER", - - # Unofficial formats - "D3DFMT_ATI1", - "D3DFMT_ATI2", - "D3DFMT_AYUV", - "D3DFMT_DF16", - "D3DFMT_DF24", - "D3DFMT_INTZ", - "D3DFMT_NULL", - "D3DFMT_NV12", - "D3DFMT_RAWZ", -]) - -D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [ - (UINT, "Width"), - (UINT, "Height"), - (UINT, "RefreshRate"), - (D3DFORMAT, "Format"), -]) - -D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [ - (UINT, "AdapterOrdinal"), - (D3DDEVTYPE, "DeviceType"), - (HWND, "hFocusWindow"), - (DWORD, "BehaviorFlags"), -]) - -D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [ - "D3DSWAPEFFECT_DISCARD", - "D3DSWAPEFFECT_FLIP", - "D3DSWAPEFFECT_COPY", -]) - -D3DPOOL = Enum("D3DPOOL", [ - "D3DPOOL_DEFAULT", - "D3DPOOL_MANAGED", - "D3DPOOL_SYSTEMMEM", - "D3DPOOL_SCRATCH", -]) - -D3DPRESENT = FakeEnum(DWORD, [ - "D3DPRESENT_RATE_DEFAULT", -]) - -D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [ - (UINT, "BackBufferWidth"), - (UINT, "BackBufferHeight"), - (D3DFORMAT, "BackBufferFormat"), - (UINT, "BackBufferCount"), - (D3DMULTISAMPLE_TYPE, "MultiSampleType"), - (DWORD, "MultiSampleQuality"), - (D3DSWAPEFFECT, "SwapEffect"), - (HWND, "hDeviceWindow"), - (BOOL, "Windowed"), - (BOOL, "EnableAutoDepthStencil"), - (D3DFORMAT, "AutoDepthStencilFormat"), - (DWORD, "Flags"), - (UINT, "FullScreen_RefreshRateInHz"), - (UINT, "PresentationInterval"), -]) - -D3DPRESENTFLAG = Flags(DWORD, [ - "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER", - "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL", - "D3DPRESENTFLAG_DEVICECLIP", - "D3DPRESENTFLAG_VIDEO", - "D3DPRESENTFLAG_NOAUTOROTATE", - "D3DPRESENTFLAG_UNPRUNEDMODE", -]) - -D3DGAMMARAMP = Struct("D3DGAMMARAMP", [ - (Array(WORD, "256"), "red"), - (Array(WORD, "256"), "green"), - (Array(WORD, "256"), "blue"), -]) - -D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [ - "D3DBACKBUFFER_TYPE_MONO", - "D3DBACKBUFFER_TYPE_LEFT", - "D3DBACKBUFFER_TYPE_RIGHT", -]) - -D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [ - "D3DRTYPE_SURFACE", - "D3DRTYPE_VOLUME", - "D3DRTYPE_TEXTURE", - "D3DRTYPE_VOLUMETEXTURE", - "D3DRTYPE_CUBETEXTURE", - "D3DRTYPE_VERTEXBUFFER", - "D3DRTYPE_INDEXBUFFER", -]) - -D3DUSAGE = Flags(DWORD, [ - "D3DUSAGE_RENDERTARGET", - "D3DUSAGE_DEPTHSTENCIL", - "D3DUSAGE_DYNAMIC", - "D3DUSAGE_NONSECURE", - "D3DUSAGE_AUTOGENMIPMAP", - "D3DUSAGE_DMAP", - "D3DUSAGE_QUERY_LEGACYBUMPMAP", - "D3DUSAGE_QUERY_SRGBREAD", - "D3DUSAGE_QUERY_FILTER", - "D3DUSAGE_QUERY_SRGBWRITE", - "D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING", - "D3DUSAGE_QUERY_VERTEXTEXTURE", - "D3DUSAGE_QUERY_WRAPANDMIP", - "D3DUSAGE_WRITEONLY", - "D3DUSAGE_SOFTWAREPROCESSING", - "D3DUSAGE_DONOTCLIP", - "D3DUSAGE_POINTS", - "D3DUSAGE_RTPATCHES", - "D3DUSAGE_NPATCHES", - "D3DUSAGE_TEXTAPI", -]) - -D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [ - "D3DCUBEMAP_FACE_POSITIVE_X", - "D3DCUBEMAP_FACE_NEGATIVE_X", - "D3DCUBEMAP_FACE_POSITIVE_Y", - "D3DCUBEMAP_FACE_NEGATIVE_Y", - "D3DCUBEMAP_FACE_POSITIVE_Z", - "D3DCUBEMAP_FACE_NEGATIVE_Z", -]) - -D3DLOCK = Flags(DWORD, [ - "D3DLOCK_READONLY", - "D3DLOCK_DISCARD", - "D3DLOCK_NOOVERWRITE", - "D3DLOCK_NOSYSLOCK", - "D3DLOCK_DONOTWAIT", - "D3DLOCK_NO_DIRTY_UPDATE", -]) - -D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Size"), - (DWORD, "FVF"), -]) - -D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Size"), -]) - -D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (D3DMULTISAMPLE_TYPE, "MultiSampleType"), - (DWORD, "MultiSampleQuality"), - (UINT, "Width"), - (UINT, "Height"), -]) - -D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [ - (D3DFORMAT, "Format"), - (D3DRESOURCETYPE, "Type"), - (DWORD, "Usage"), - (D3DPOOL, "Pool"), - (UINT, "Width"), - (UINT, "Height"), - (UINT, "Depth"), -]) - -D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [ - (INT, "Pitch"), - (OpaquePointer(Void), "pBits"), -]) - -D3DBOX = Struct("D3DBOX", [ - (UINT, "Left"), - (UINT, "Top"), - (UINT, "Right"), - (UINT, "Bottom"), - (UINT, "Front"), - (UINT, "Back"), -]) - -D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [ - (INT, "RowPitch"), - (INT, "SlicePitch"), - (OpaquePointer(Void), "pBits"), -]) - -D3DRANGE = Struct("D3DRANGE", [ - (UINT, "Offset"), - (UINT, "Size"), -]) - -D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [ - (UINT, "StartVertexOffsetWidth"), - (UINT, "StartVertexOffsetHeight"), - (UINT, "Width"), - (UINT, "Height"), - (UINT, "Stride"), - (D3DBASISTYPE, "Basis"), - (D3DDEGREETYPE, "Degree"), -]) - -D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [ - (UINT, "StartVertexOffset"), - (UINT, "NumVertices"), - (D3DBASISTYPE, "Basis"), - (D3DDEGREETYPE, "Degree"), -]) - -D3DADAPTER_IDENTIFIER9 = Struct("D3DADAPTER_IDENTIFIER9", [ - (CString, "Driver"), - (CString, "Description"), - (CString, "DeviceName"), - (LARGE_INTEGER, "DriverVersion"), - (DWORD, "VendorId"), - (DWORD, "DeviceId"), - (DWORD, "SubSysId"), - (DWORD, "Revision"), - (GUID, "DeviceIdentifier"), - (DWORD, "WHQLLevel"), -]) - -D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [ - (BOOL, "InVBlank"), - (UINT, "ScanLine"), -]) - -D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [ - "D3DDMT_ENABLE", - "D3DDMT_DISABLE", -]) - -D3DQUERYTYPE = Enum("D3DQUERYTYPE", [ - "D3DQUERYTYPE_VCACHE", - "D3DQUERYTYPE_RESOURCEMANAGER", - "D3DQUERYTYPE_VERTEXSTATS", - "D3DQUERYTYPE_EVENT", - "D3DQUERYTYPE_OCCLUSION", - "D3DQUERYTYPE_TIMESTAMP", - "D3DQUERYTYPE_TIMESTAMPDISJOINT", - "D3DQUERYTYPE_TIMESTAMPFREQ", - "D3DQUERYTYPE_PIPELINETIMINGS", - "D3DQUERYTYPE_INTERFACETIMINGS", - "D3DQUERYTYPE_VERTEXTIMINGS", - "D3DQUERYTYPE_PIXELTIMINGS", - "D3DQUERYTYPE_BANDWIDTHTIMINGS", - "D3DQUERYTYPE_CACHEUTILIZATION", -]) - -D3DISSUE = Flags(DWORD, [ - "D3DISSUE_END", - "D3DISSUE_BEGIN", -]) - -D3DGETDATA = Flags(DWORD, [ - "D3DGETDATA_FLUSH", -]) - -D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [ - (BOOL, "bThrashing"), - (DWORD, "ApproxBytesDownloaded"), - (DWORD, "NumEvicts"), - (DWORD, "NumVidCreates"), - (DWORD, "LastPri"), - (DWORD, "NumUsed"), - (DWORD, "NumUsedInVidMem"), - (DWORD, "WorkingSet"), - (DWORD, "WorkingSetBytes"), - (DWORD, "TotalManaged"), - (DWORD, "TotalBytes"), -]) - -D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [ - (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"), -]) - -D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [ - (DWORD, "NumRenderedTriangles"), - (DWORD, "NumExtraClippingTriangles"), -]) - -D3DDEVINFO_VCACHE = Struct("D3DDEVINFO_VCACHE", [ - (DWORD, "Pattern"), - (DWORD, "OptMethod"), - (DWORD, "CacheSize"), - (DWORD, "MagicNumber"), -]) - -D3DDEVINFO_D3D9PIPELINETIMINGS = Struct("D3DDEVINFO_D3D9PIPELINETIMINGS", [ - (FLOAT, "VertexProcessingTimePercent"), - (FLOAT, "PixelProcessingTimePercent"), - (FLOAT, "OtherGPUProcessingTimePercent"), - (FLOAT, "GPUIdleTimePercent"), -]) - -D3DDEVINFO_D3D9INTERFACETIMINGS = Struct("D3DDEVINFO_D3D9INTERFACETIMINGS", [ - (FLOAT, "WaitingForGPUToUseApplicationResourceTimePercent"), - (FLOAT, "WaitingForGPUToAcceptMoreCommandsTimePercent"), - (FLOAT, "WaitingForGPUToStayWithinLatencyTimePercent"), - (FLOAT, "WaitingForGPUExclusiveResourceTimePercent"), - (FLOAT, "WaitingForGPUOtherTimePercent"), -]) - -D3DDEVINFO_D3D9STAGETIMINGS = Struct("D3DDEVINFO_D3D9STAGETIMINGS", [ - (FLOAT, "MemoryProcessingPercent"), - (FLOAT, "ComputationProcessingPercent"), -]) - -D3DDEVINFO_D3D9BANDWIDTHTIMINGS = Struct("D3DDEVINFO_D3D9BANDWIDTHTIMINGS", [ - (FLOAT, "MaxBandwidthUtilized"), - (FLOAT, "FrontEndUploadMemoryUtilizedPercent"), - (FLOAT, "VertexRateUtilizedPercent"), - (FLOAT, "TriangleSetupRateUtilizedPercent"), - (FLOAT, "FillRateUtilizedPercent"), -]) - -D3DDEVINFO_D3D9CACHEUTILIZATION = Struct("D3DDEVINFO_D3D9CACHEUTILIZATION", [ - (FLOAT, "TextureCacheHitRate"), - (FLOAT, "PostTransformVertexCacheHitRate"), -]) - -D3DCOMPOSERECTSOP = Enum("D3DCOMPOSERECTSOP", [ - "D3DCOMPOSERECTS_COPY", - "D3DCOMPOSERECTS_OR", - "D3DCOMPOSERECTS_AND", - "D3DCOMPOSERECTS_NEG", -]) - -D3DCOMPOSERECTDESC = Struct("D3DCOMPOSERECTDESC", [ - (USHORT, "X"), - (USHORT, "Y"), - (USHORT, "Width"), - (USHORT, "Height"), -]) - -D3DCOMPOSERECTDESTINATION = Struct("D3DCOMPOSERECTDESTINATION", [ - (USHORT, "SrcRectIndex"), - (USHORT, "Reserved"), - (Short, "X"), - (Short, "Y"), -]) - -D3DPRESENTSTATS = Struct("D3DPRESENTSTATS", [ - (UINT, "PresentCount"), - (UINT, "PresentRefreshCount"), - (UINT, "SyncRefreshCount"), - (LARGE_INTEGER, "SyncQPCTime"), - (LARGE_INTEGER, "SyncGPUTime"), -]) - -D3DSCANLINEORDERING = Enum("D3DSCANLINEORDERING", [ - "D3DSCANLINEORDERING_UNKNOWN", - "D3DSCANLINEORDERING_PROGRESSIVE", - "D3DSCANLINEORDERING_INTERLACED", -]) - -D3DDISPLAYMODEEX = Struct("D3DDISPLAYMODEEX", [ - (UINT, "Size"), - (UINT, "Width"), - (UINT, "Height"), - (UINT, "RefreshRate"), - (D3DFORMAT, "Format"), - (D3DSCANLINEORDERING, "ScanLineOrdering"), -]) - -D3DDISPLAYMODEFILTER = Struct("D3DDISPLAYMODEFILTER", [ - (UINT, "Size"), - (D3DFORMAT, "Format"), - (D3DSCANLINEORDERING, "ScanLineOrdering"), -]) - -D3DDISPLAYROTATION = Enum("D3DDISPLAYROTATION", [ - "D3DDISPLAYROTATION_IDENTITY", - "D3DDISPLAYROTATION_90", - "D3DDISPLAYROTATION_180", - "D3DDISPLAYROTATION_270", -]) - -D3D9_RESOURCE_PRIORITY = FakeEnum(DWORD, [ - "D3D9_RESOURCE_PRIORITY_MINIMUM", - "D3D9_RESOURCE_PRIORITY_LOW", - "D3D9_RESOURCE_PRIORITY_NORMAL", - "D3D9_RESOURCE_PRIORITY_HIGH", - "D3D9_RESOURCE_PRIORITY_MAXIMUM", -]) - diff --git a/d3dcaps.py b/d3dcaps.py deleted file mode 100644 index 0fa9f1c..0000000 --- a/d3dcaps.py +++ /dev/null @@ -1,466 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3dcaps.h""" - -from winapi import * -from d3dtypes import * - -D3DTRANSFORMCAPS = Flags(DWORD, [ - "D3DTRANSFORMCAPS_CLIP", -]) - -D3DTRANSFORMCAPS = Struct("D3DTRANSFORMCAPS", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), -]) - -D3DLIGHTINGCAPS = Struct("D3DLIGHTINGCAPS", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwLightingModel"), - (DWORD, "dwNumLights"), -]) - -D3DLIGHTINGMODEL = Flags(DWORD, [ - "D3DLIGHTINGMODEL_RGB", - "D3DLIGHTINGMODEL_MONO", -]) - -D3DLIGHTCAPS = Flags(DWORD, [ - "D3DLIGHTCAPS_POINT", - "D3DLIGHTCAPS_SPOT", - "D3DLIGHTCAPS_DIRECTIONAL", - "D3DLIGHTCAPS_PARALLELPOINT", - "D3DLIGHTCAPS_GLSPOT", -]) - -D3DPRIMCAPS = Struct("D3DPRIMCAPS", [ - (DWORD, "dwSize"), - (DWORD, "dwMiscCaps"), - (DWORD, "dwRasterCaps"), - (DWORD, "dwZCmpCaps"), - (DWORD, "dwSrcBlendCaps"), - (DWORD, "dwDestBlendCaps"), - (DWORD, "dwAlphaCmpCaps"), - (DWORD, "dwShadeCaps"), - (DWORD, "dwTextureCaps"), - (DWORD, "dwTextureFilterCaps"), - (DWORD, "dwTextureBlendCaps"), - (DWORD, "dwTextureAddressCaps"), - (DWORD, "dwStippleWidth"), - (DWORD, "dwStippleHeight"), -]) - -D3DPMISCCAPS = Flags(DWORD, [ - "D3DPMISCCAPS_MASKPLANES", - "D3DPMISCCAPS_MASKZ", - "D3DPMISCCAPS_LINEPATTERNREP", - "D3DPMISCCAPS_CONFORMANT", - "D3DPMISCCAPS_CULLNONE", - "D3DPMISCCAPS_CULLCW", - "D3DPMISCCAPS_CULLCCW", -]) - -D3DXD3DPRASTERCAPSXX = Flags(DWORD, [ - "D3DPRASTERCAPS_DITHER", - "D3DPRASTERCAPS_ROP2", - "D3DPRASTERCAPS_XOR", - "D3DPRASTERCAPS_PAT", - "D3DPRASTERCAPS_ZTEST", - "D3DPRASTERCAPS_SUBPIXEL", - "D3DPRASTERCAPS_SUBPIXELX", - "D3DPRASTERCAPS_FOGVERTEX", - "D3DPRASTERCAPS_FOGTABLE", - "D3DPRASTERCAPS_STIPPLE", - "D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT", - "D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT", - "D3DPRASTERCAPS_ANTIALIASEDGES", - "D3DPRASTERCAPS_MIPMAPLODBIAS", - "D3DPRASTERCAPS_ZBIAS", - "D3DPRASTERCAPS_ZBUFFERLESSHSR", - "D3DPRASTERCAPS_FOGRANGE", - "D3DPRASTERCAPS_ANISOTROPY", - "D3DPRASTERCAPS_WBUFFER", - "D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT", - "D3DPRASTERCAPS_WFOG", - "D3DPRASTERCAPS_ZFOG", -]) - -D3DPCMPCAPS = Flags(DWORD, [ - "D3DPCMPCAPS_NEVER", - "D3DPCMPCAPS_LESS", - "D3DPCMPCAPS_EQUAL", - "D3DPCMPCAPS_LESSEQUAL", - "D3DPCMPCAPS_GREATER", - "D3DPCMPCAPS_NOTEQUAL", - "D3DPCMPCAPS_GREATEREQUAL", - "D3DPCMPCAPS_ALWAYS", -]) - -D3DPBLENDCAPS = Flags(DWORD, [ - "D3DPBLENDCAPS_ZERO", - "D3DPBLENDCAPS_ONE", - "D3DPBLENDCAPS_SRCCOLOR", - "D3DPBLENDCAPS_INVSRCCOLOR", - "D3DPBLENDCAPS_SRCALPHA", - "D3DPBLENDCAPS_INVSRCALPHA", - "D3DPBLENDCAPS_DESTALPHA", - "D3DPBLENDCAPS_INVDESTALPHA", - "D3DPBLENDCAPS_DESTCOLOR", - "D3DPBLENDCAPS_INVDESTCOLOR", - "D3DPBLENDCAPS_SRCALPHASAT", - "D3DPBLENDCAPS_BOTHSRCALPHA", - "D3DPBLENDCAPS_BOTHINVSRCALPHA", -]) - -D3DPSHADECAPS = Flags(DWORD, [ - "D3DPSHADECAPS_COLORFLATMONO", - "D3DPSHADECAPS_COLORFLATRGB", - "D3DPSHADECAPS_COLORGOURAUDMONO", - "D3DPSHADECAPS_COLORGOURAUDRGB", - "D3DPSHADECAPS_COLORPHONGMONO", - "D3DPSHADECAPS_COLORPHONGRGB", - "D3DPSHADECAPS_SPECULARFLATMONO", - "D3DPSHADECAPS_SPECULARFLATRGB", - "D3DPSHADECAPS_SPECULARGOURAUDMONO", - "D3DPSHADECAPS_SPECULARGOURAUDRGB", - "D3DPSHADECAPS_SPECULARPHONGMONO", - "D3DPSHADECAPS_SPECULARPHONGRGB", - "D3DPSHADECAPS_ALPHAFLATBLEND", - "D3DPSHADECAPS_ALPHAFLATSTIPPLED", - "D3DPSHADECAPS_ALPHAGOURAUDBLEND", - "D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED", - "D3DPSHADECAPS_ALPHAPHONGBLEND", - "D3DPSHADECAPS_ALPHAPHONGSTIPPLED", - "D3DPSHADECAPS_FOGFLAT", - "D3DPSHADECAPS_FOGGOURAUD", - "D3DPSHADECAPS_FOGPHONG", -]) - -D3DPTEXTURECAPS = Flags(DWORD, [ - "D3DPTEXTURECAPS_PERSPECTIVE", - "D3DPTEXTURECAPS_POW2", - "D3DPTEXTURECAPS_ALPHA", - "D3DPTEXTURECAPS_TRANSPARENCY", - "D3DPTEXTURECAPS_BORDER", - "D3DPTEXTURECAPS_SQUAREONLY", - "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE", - "D3DPTEXTURECAPS_ALPHAPALETTE", - "D3DPTEXTURECAPS_NONPOW2CONDITIONAL", - "D3DPTEXTURECAPS_PROJECTED", - "D3DPTEXTURECAPS_CUBEMAP", - "D3DPTEXTURECAPS_COLORKEYBLEND", -]) - -D3DPTFILTERCAPS = Flags(DWORD, [ - "D3DPTFILTERCAPS_NEAREST", - "D3DPTFILTERCAPS_LINEAR", - "D3DPTFILTERCAPS_MIPNEAREST", - "D3DPTFILTERCAPS_MIPLINEAR", - "D3DPTFILTERCAPS_LINEARMIPNEAREST", - "D3DPTFILTERCAPS_LINEARMIPLINEAR", - "D3DPTFILTERCAPS_MINFPOINT", - "D3DPTFILTERCAPS_MINFLINEAR", - "D3DPTFILTERCAPS_MINFANISOTROPIC", - "D3DPTFILTERCAPS_MIPFPOINT", - "D3DPTFILTERCAPS_MIPFLINEAR", - "D3DPTFILTERCAPS_MAGFPOINT", - "D3DPTFILTERCAPS_MAGFLINEAR", - "D3DPTFILTERCAPS_MAGFANISOTROPIC", - "D3DPTFILTERCAPS_MAGFAFLATCUBIC", - "D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC", -]) - -D3DPTBLENDCAPS = Flags(DWORD, [ - "D3DPTBLENDCAPS_DECAL", - "D3DPTBLENDCAPS_MODULATE", - "D3DPTBLENDCAPS_DECALALPHA", - "D3DPTBLENDCAPS_MODULATEALPHA", - "D3DPTBLENDCAPS_DECALMASK", - "D3DPTBLENDCAPS_MODULATEMASK", - "D3DPTBLENDCAPS_COPY", - "D3DPTBLENDCAPS_ADD", -]) - -D3DPTADDRESSCAPS = Flags(DWORD, [ - "D3DPTADDRESSCAPS_WRAP", - "D3DPTADDRESSCAPS_MIRROR", - "D3DPTADDRESSCAPS_CLAMP", - "D3DPTADDRESSCAPS_BORDER", - "D3DPTADDRESSCAPS_INDEPENDENTUV", -]) - -D3DSTENCILCAPS = Flags(DWORD, [ - "D3DSTENCILCAPS_KEEP", - "D3DSTENCILCAPS_ZERO", - "D3DSTENCILCAPS_REPLACE", - "D3DSTENCILCAPS_INCRSAT", - "D3DSTENCILCAPS_DECRSAT", - "D3DSTENCILCAPS_INVERT", - "D3DSTENCILCAPS_INCR", - "D3DSTENCILCAPS_DECR", -]) - -D3DTEXOPCAPS = Flags(DWORD, [ - "D3DTEXOPCAPS_DISABLE", - "D3DTEXOPCAPS_SELECTARG1", - "D3DTEXOPCAPS_SELECTARG2", - "D3DTEXOPCAPS_MODULATE", - "D3DTEXOPCAPS_MODULATE2X", - "D3DTEXOPCAPS_MODULATE4X", - "D3DTEXOPCAPS_ADD", - "D3DTEXOPCAPS_ADDSIGNED", - "D3DTEXOPCAPS_ADDSIGNED2X", - "D3DTEXOPCAPS_SUBTRACT", - "D3DTEXOPCAPS_ADDSMOOTH", - "D3DTEXOPCAPS_BLENDDIFFUSEALPHA", - "D3DTEXOPCAPS_BLENDTEXTUREALPHA", - "D3DTEXOPCAPS_BLENDFACTORALPHA", - "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM", - "D3DTEXOPCAPS_BLENDCURRENTALPHA", - "D3DTEXOPCAPS_PREMODULATE", - "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR", - "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA", - "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR", - "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA", - "D3DTEXOPCAPS_BUMPENVMAP", - "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE", - "D3DTEXOPCAPS_DOTPRODUCT3", -]) - -D3DFVFCAPS = Flags(DWORD, [ - "D3DFVFCAPS_TEXCOORDCOUNTMASK", - "D3DFVFCAPS_DONOTSTRIPELEMENTS", -]) - -D3DDD = Flags(DWORD, [ - "D3DDD_COLORMODEL", - "D3DDD_DEVCAPS", - "D3DDD_TRANSFORMCAPS", - "D3DDD_LIGHTINGCAPS", - "D3DDD_BCLIPPING", - "D3DDD_LINECAPS", - "D3DDD_TRICAPS", - "D3DDD_DEVICERENDERBITDEPTH", - "D3DDD_DEVICEZBUFFERBITDEPTH", - "D3DDD_MAXBUFFERSIZE", - "D3DDD_MAXVERTEXCOUNT", -]) - -D3DDEVCAPS = Flags(DWORD, [ - "D3DDEVCAPS_FLOATTLVERTEX", - "D3DDEVCAPS_SORTINCREASINGZ", - "D3DDEVCAPS_SORTDECREASINGZ", - "D3DDEVCAPS_SORTEXACT", - "D3DDEVCAPS_EXECUTESYSTEMMEMORY", - "D3DDEVCAPS_EXECUTEVIDEOMEMORY", - "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY", - "D3DDEVCAPS_TLVERTEXVIDEOMEMORY", - "D3DDEVCAPS_TEXTURESYSTEMMEMORY", - "D3DDEVCAPS_TEXTUREVIDEOMEMORY", - "D3DDEVCAPS_DRAWPRIMTLVERTEX", - "D3DDEVCAPS_CANRENDERAFTERFLIP", - "D3DDEVCAPS_TEXTURENONLOCALVIDMEM", - "D3DDEVCAPS_DRAWPRIMITIVES2", - "D3DDEVCAPS_SEPARATETEXTUREMEMORIES", - "D3DDEVCAPS_DRAWPRIMITIVES2EX", - "D3DDEVCAPS_HWTRANSFORMANDLIGHT", - "D3DDEVCAPS_CANBLTSYSTONONLOCAL", - "D3DDEVCAPS_HWRASTERIZATION", -]) - -D3DVTXPCAPS = Flags(DWORD, [ - "D3DVTXPCAPS_TEXGEN", - "D3DVTXPCAPS_MATERIALSOURCE7", - "D3DVTXPCAPS_VERTEXFOG", - "D3DVTXPCAPS_DIRECTIONALLIGHTS", - "D3DVTXPCAPS_POSITIONALLIGHTS", - "D3DVTXPCAPS_LOCALVIEWER", -]) - -D3DFDS = Flags(DWORD, [ - "D3DFDS_COLORMODEL", - "D3DFDS_GUID", - "D3DFDS_HARDWARE", - "D3DFDS_TRIANGLES", - "D3DFDS_LINES", - "D3DFDS_MISCCAPS", - "D3DFDS_RASTERCAPS", - "D3DFDS_ZCMPCAPS", - "D3DFDS_ALPHACMPCAPS", - "D3DFDS_SRCBLENDCAPS", - "D3DFDS_DSTBLENDCAPS", - "D3DFDS_SHADECAPS", - "D3DFDS_TEXTURECAPS", - "D3DFDS_TEXTUREFILTERCAPS", - "D3DFDS_TEXTUREBLENDCAPS", - "D3DFDS_TEXTUREADDRESSCAPS", -]) - -D3DFINDDEVICESEARCH = Struct("D3DFINDDEVICESEARCH", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (BOOL, "bHardware"), - (D3DCOLORMODEL, "dcmColorModel"), - (GUID, "guid"), - (DWORD, "dwCaps"), - (D3DPRIMCAPS, "dpcPrimCaps"), -]) -LPD3DFINDDEVICESEARCH = Pointer(D3DFINDDEVICESEARCH) - -D3DEXECUTEBUFFERDESC = Struct("D3DEXECUTEBUFFERDESC", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (DWORD, "dwCaps"), - (DWORD, "dwBufferSize"), - (LPVOID, "lpData"), -]) -LPD3DEXECUTEBUFFERDESC = Pointer(D3DEXECUTEBUFFERDESC) - -D3DDEB = Flags(DWORD, [ - "D3DDEB_BUFSIZE", - "D3DDEB_CAPS", - "D3DDEB_LPDATA", -]) - -D3DDEBCAPS = Flags(DWORD, [ - "D3DDEBCAPS_SYSTEMMEMORY", - "D3DDEBCAPS_VIDEOMEMORY", - "D3DDEBCAPS_MEM", -]) - -D3DDEVINFO_TEXTUREMANAGER = Struct("D3DDEVINFO_TEXTUREMANAGER", [ - (BOOL, "bThrashing"), - (DWORD, "dwApproxBytesDownloaded"), - (DWORD, "dwNumEvicts"), - (DWORD, "dwNumVidCreates"), - (DWORD, "dwNumTexturesUsed"), - (DWORD, "dwNumUsedTexInVid"), - (DWORD, "dwWorkingSet"), - (DWORD, "dwWorkingSetBytes"), - (DWORD, "dwTotalManaged"), - (DWORD, "dwTotalBytes"), - (DWORD, "dwLastPri"), -]) - -D3DDEVINFO_TEXTURING = Struct("D3DDEVINFO_TEXTURING", [ - (DWORD, "dwNumLoads"), - (DWORD, "dwApproxBytesLoaded"), - (DWORD, "dwNumPreLoads"), - (DWORD, "dwNumSet"), - (DWORD, "dwNumCreates"), - (DWORD, "dwNumDestroys"), - (DWORD, "dwNumSetPriorities"), - (DWORD, "dwNumSetLODs"), - (DWORD, "dwNumLocks"), - (DWORD, "dwNumGetDCs"), -]) - -D3DDEVICEDESC = Struct("D3DDEVICEDESC", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (D3DCOLORMODEL, "dcmColorModel"), - (DWORD, "dwDevCaps"), - (D3DTRANSFORMCAPS, "dtcTransformCaps"), - (BOOL, "bClipping"), - (D3DLIGHTINGCAPS, "dlcLightingCaps"), - (D3DPRIMCAPS, "dpcLineCaps"), - (D3DPRIMCAPS, "dpcTriCaps"), - (DWORD, "dwDeviceRenderBitDepth"), - (DWORD, "dwDeviceZBufferBitDepth"), - (DWORD, "dwMaxBufferSize"), - (DWORD, "dwMaxVertexCount"), - (DWORD, "dwMinTextureWidth"), - (DWORD, "dwMinTextureHeight"), - (DWORD, "dwMaxTextureWidth"), - (DWORD, "dwMaxTextureHeight"), - (DWORD, "dwMinStippleWidth"), - (DWORD, "dwMaxStippleWidth"), - (DWORD, "dwMinStippleHeight"), - (DWORD, "dwMaxStippleHeight"), - (DWORD, "dwMaxTextureRepeat"), - (DWORD, "dwMaxTextureAspectRatio"), - (DWORD, "dwMaxAnisotropy"), - (D3DVALUE, "dvGuardBandLeft"), - (D3DVALUE, "dvGuardBandTop"), - (D3DVALUE, "dvGuardBandRight"), - (D3DVALUE, "dvGuardBandBottom"), - (D3DVALUE, "dvExtentsAdjust"), - (DWORD, "dwStencilCaps"), - (DWORD, "dwFVFCaps"), - (DWORD, "dwTextureOpCaps"), - (WORD, "wMaxTextureBlendStages"), - (WORD, "wMaxSimultaneousTextures"), -]) -LPD3DDEVICEDESC = Pointer(D3DDEVICEDESC) - -D3DDEVICEDESC7 = Struct("D3DDEVICEDESC7", [ - (DWORD, "dwDevCaps"), - (D3DPRIMCAPS, "dpcLineCaps"), - (D3DPRIMCAPS, "dpcTriCaps"), - (DWORD, "dwDeviceRenderBitDepth"), - (DWORD, "dwDeviceZBufferBitDepth"), - (DWORD, "dwMinTextureWidth"), - (DWORD, "dwMinTextureHeight"), - (DWORD, "dwMaxTextureWidth"), - (DWORD, "dwMaxTextureHeight"), - (DWORD, "dwMaxTextureRepeat"), - (DWORD, "dwMaxTextureAspectRatio"), - (DWORD, "dwMaxAnisotropy"), - (D3DVALUE, "dvGuardBandLeft"), - (D3DVALUE, "dvGuardBandTop"), - (D3DVALUE, "dvGuardBandRight"), - (D3DVALUE, "dvGuardBandBottom"), - (D3DVALUE, "dvExtentsAdjust"), - (DWORD, "dwStencilCaps"), - (DWORD, "dwFVFCaps"), - (DWORD, "dwTextureOpCaps"), - (WORD, "wMaxTextureBlendStages"), - (WORD, "wMaxSimultaneousTextures"), - (DWORD, "dwMaxActiveLights"), - (D3DVALUE, "dvMaxVertexW"), - (GUID, "deviceGUID"), - (WORD, "wMaxUserClipPlanes"), - (WORD, "wMaxVertexBlendMatrices"), - (DWORD, "dwVertexProcessingCaps"), - (DWORD, "dwReserved1"), - (DWORD, "dwReserved2"), - (DWORD, "dwReserved3"), - (DWORD, "dwReserved4"), -]) -LPD3DDEVICEDESC7 = Pointer(D3DDEVICEDESC7) - -D3DFINDDEVICERESULT = Struct("D3DFINDDEVICERESULT", [ - (DWORD, "dwSize"), - (GUID, "guid"), - (D3DDEVICEDESC, "ddHwDesc"), - (D3DDEVICEDESC, "ddSwDesc"), -]) -LPD3DFINDDEVICERESULT = Pointer(D3DFINDDEVICERESULT) - -LPD3DENUMDEVICESCALLBACK = FunctionPointer(HRESULT, "LPD3DENUMDEVICESCALLBACK", [(Pointer(GUID), "lpGuid"), (LPSTR, "lpDeviceDescription"), (LPSTR, "lpDeviceName"), LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID]) -LPD3DENUMDEVICESCALLBACK7 = FunctionPointer(HRESULT, "LPD3DENUMDEVICESCALLBACK7", [(LPSTR, "lpDeviceDescription"), (LPSTR, "lpDeviceName"), LPD3DDEVICEDESC7, LPVOID]) - diff --git a/d3dtypes.py b/d3dtypes.py deleted file mode 100644 index c80da76..0000000 --- a/d3dtypes.py +++ /dev/null @@ -1,1030 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""d3dtypes.h""" - -from winapi import * - -D3DVALUE = Float -LPD3DVALUE = Pointer(Float) -D3DFIXED = LONG - -LPD3DVALIDATECALLBACK = Opaque("LPD3DVALIDATECALLBACK") -LPD3DENUMTEXTUREFORMATSCALLBACK = Opaque("LPD3DENUMTEXTUREFORMATSCALLBACK") -LPD3DENUMPIXELFORMATSCALLBACK = Opaque("LPD3DENUMPIXELFORMATSCALLBACK") - -D3DCOLOR = DWORD -LPD3DCOLOR = Pointer(D3DCOLOR) - -D3DMATERIALHANDLE = DWORD -LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE) - -D3DTEXTUREHANDLE = DWORD -LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE) - -D3DMATRIXHANDLE = DWORD -LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE) - -D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ - (D3DVALUE, "r"), - (D3DVALUE, "g"), - (D3DVALUE, "b"), - (D3DVALUE, "a"), -]) -LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE) - -D3DRECT = Struct("D3DRECT", [ - (LONG, "x1"), - (LONG, "y1"), - (LONG, "x2"), - (LONG, "y2"), -]) -LPD3DRECT = Pointer(D3DRECT) - -D3DVECTOR = Struct("D3DVECTOR", [ - (D3DVALUE, "x"), - (D3DVALUE, "y"), - (D3DVALUE, "z"), -]) -LPD3DVECTOR = Pointer(D3DVECTOR) - -D3DHVERTEX = Struct("D3DHVERTEX", [ - (DWORD, "dwFlags"), - (D3DVALUE, "hx"), - (D3DVALUE, "hy"), - (D3DVALUE, "hz"), -]) -LPD3DHVERTEX = Pointer(D3DHVERTEX) - -D3DTLVERTEX = Struct("D3DTLVERTEX", [ - (D3DVALUE, "sx"), - (D3DVALUE, "sy"), - (D3DVALUE, "sz"), - (D3DVALUE, "rhw"), - (D3DCOLOR, "color"), - (D3DCOLOR, "specular"), - (D3DVALUE, "tu"), - (D3DVALUE, "tv"), -]) -LPD3DTLVERTEX = Pointer(D3DTLVERTEX) - -D3DLVERTEX = Struct("D3DLVERTEX", [ - (D3DVALUE, "x"), - (D3DVALUE, "y"), - (D3DVALUE, "z"), - (DWORD, "dwReserved"), - (D3DCOLOR, "color"), - (D3DCOLOR, "specular"), - (D3DVALUE, "tu"), - (D3DVALUE, "tv"), -]) -LPD3DLVERTEX = Pointer(D3DLVERTEX) - -D3DVERTEX = Struct("D3DVERTEX", [ - (D3DVALUE, "x"), - (D3DVALUE, "y"), - (D3DVALUE, "z"), - (D3DVALUE, "nx"), - (D3DVALUE, "ny"), - (D3DVALUE, "nz"), - (D3DVALUE, "tu"), - (D3DVALUE, "tv"), -]) -LPD3DVERTEX = Pointer(D3DVERTEX) - -D3DMATRIX = Struct("D3DMATRIX", [ - (D3DVALUE, "_%u" % index) for index in [ - 11, 12, 13, 14, - 21, 22, 23, 24, - 31, 32, 33, 34, - 41, 42, 43, 44 - ] -]) -LPD3DMATRIX = Alias("LPD3DMATRIX", Pointer(D3DMATRIX)) - -D3DVIEWPORT = Struct("D3DVIEWPORT", [ - (DWORD, "dwSize"), - (DWORD, "dwX"), - (DWORD, "dwY"), - (DWORD, "dwWidth"), - (DWORD, "dwHeight"), - (D3DVALUE, "dvScaleX"), - (D3DVALUE, "dvScaleY"), - (D3DVALUE, "dvMaxX"), - (D3DVALUE, "dvMaxY"), - (D3DVALUE, "dvMinZ"), - (D3DVALUE, "dvMaxZ"), -]) -LPD3DVIEWPORT = Pointer(D3DVIEWPORT) - -D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [ - (DWORD, "dwSize"), - (DWORD, "dwX"), - (DWORD, "dwY"), - (DWORD, "dwWidth"), - (DWORD, "dwHeight"), - (D3DVALUE, "dvClipX"), - (D3DVALUE, "dvClipY"), - (D3DVALUE, "dvClipWidth"), - (D3DVALUE, "dvClipHeight"), - (D3DVALUE, "dvMinZ"), - (D3DVALUE, "dvMaxZ"), -]) -LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2) - -D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [ - (DWORD, "dwX"), - (DWORD, "dwY"), - (DWORD, "dwWidth"), - (DWORD, "dwHeight"), - (D3DVALUE, "dvMinZ"), - (D3DVALUE, "dvMaxZ"), -]) -LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7) - -D3DCLIP = Flags(DWORD, [ - "D3DCLIP_LEFT", - "D3DCLIP_RIGHT", - "D3DCLIP_TOP", - "D3DCLIP_BOTTOM", - "D3DCLIP_FRONT", - "D3DCLIP_BACK", - "D3DCLIP_GEN0", - "D3DCLIP_GEN1", - "D3DCLIP_GEN2", - "D3DCLIP_GEN3", - "D3DCLIP_GEN4", - "D3DCLIP_GEN5", -]) - -D3DSTATUS = Flags(DWORD, [ - "D3DSTATUS_DEFAULT", - "D3DSTATUS_CLIPUNIONALL", - "D3DSTATUS_CLIPUNIONLEFT", - "D3DSTATUS_CLIPUNIONRIGHT", - "D3DSTATUS_CLIPUNIONTOP", - "D3DSTATUS_CLIPUNIONBOTTOM", - "D3DSTATUS_CLIPUNIONFRONT", - "D3DSTATUS_CLIPUNIONBACK", - "D3DSTATUS_CLIPUNIONGEN0", - "D3DSTATUS_CLIPUNIONGEN1", - "D3DSTATUS_CLIPUNIONGEN2", - "D3DSTATUS_CLIPUNIONGEN3", - "D3DSTATUS_CLIPUNIONGEN4", - "D3DSTATUS_CLIPUNIONGEN5", - "D3DSTATUS_CLIPINTERSECTIONALL", - "D3DSTATUS_CLIPINTERSECTIONLEFT", - "D3DSTATUS_CLIPINTERSECTIONRIGHT", - "D3DSTATUS_CLIPINTERSECTIONTOP", - "D3DSTATUS_CLIPINTERSECTIONBOTTOM", - "D3DSTATUS_CLIPINTERSECTIONFRONT", - "D3DSTATUS_CLIPINTERSECTIONBACK", - "D3DSTATUS_CLIPINTERSECTIONGEN0", - "D3DSTATUS_CLIPINTERSECTIONGEN1", - "D3DSTATUS_CLIPINTERSECTIONGEN2", - "D3DSTATUS_CLIPINTERSECTIONGEN3", - "D3DSTATUS_CLIPINTERSECTIONGEN4", - "D3DSTATUS_CLIPINTERSECTIONGEN5", - "D3DSTATUS_ZNOTVISIBLE", -]) - -D3DTRANSFORM = Flags(DWORD, [ - "D3DTRANSFORM_CLIPPED", - "D3DTRANSFORM_UNCLIPPED", -]) - -D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [ - (DWORD, "dwSize"), - (LPVOID, "lpIn"), - (DWORD, "dwInSize"), - (LPVOID, "lpOut"), - (DWORD, "dwOutSize"), - (LPD3DHVERTEX, "lpHOut"), - (DWORD, "dwClip"), - (DWORD, "dwClipIntersection"), - (DWORD, "dwClipUnion"), - (D3DRECT, "drExtent"), -]) -LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA) - -D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [ - (D3DVECTOR, "dvPosition"), - (D3DVECTOR, "dvNormal"), -]) -LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT) - -D3DMATERIAL = Struct("D3DMATERIAL", [ - (DWORD, "dwSize"), - (D3DCOLORVALUE, "diffuse"), - (D3DCOLORVALUE, "ambient"), - (D3DCOLORVALUE, "specular"), - (D3DCOLORVALUE, "emissive"), - (D3DVALUE, "power"), - (D3DTEXTUREHANDLE, "hTexture"), - (DWORD, "dwRampSize"), -]) -LPD3DMATERIAL = Pointer(D3DMATERIAL) - -D3DMATERIAL7 = Struct("D3DMATERIAL7", [ - (D3DCOLORVALUE, "diffuse"), - (D3DCOLORVALUE, "ambient"), - (D3DCOLORVALUE, "specular"), - (D3DCOLORVALUE, "emissive"), - (D3DVALUE, "power"), -]) -LPD3DMATERIAL7 = Pointer(D3DMATERIAL7) - -D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ - "D3DLIGHT_POINT", - "D3DLIGHT_SPOT", - "D3DLIGHT_DIRECTIONAL", - "D3DLIGHT_PARALLELPOINT", - "D3DLIGHT_GLSPOT", -]) - -D3DLIGHT = Struct("D3DLIGHT", [ - (DWORD, "dwSize"), - (D3DLIGHTTYPE, "dltType"), - (D3DCOLORVALUE, "dcvColor"), - (D3DVECTOR, "dvPosition"), - (D3DVECTOR, "dvDirection"), - (D3DVALUE, "dvRange"), - (D3DVALUE, "dvFalloff"), - (D3DVALUE, "dvAttenuation0"), - (D3DVALUE, "dvAttenuation1"), - (D3DVALUE, "dvAttenuation2"), - (D3DVALUE, "dvTheta"), - (D3DVALUE, "dvPhi"), -]) -LPD3DLIGHT = Pointer(D3DLIGHT) - -D3DLIGHT7 = Struct("D3DLIGHT7", [ - (D3DLIGHTTYPE, "dltType"), - (D3DCOLORVALUE, "dcvDiffuse"), - (D3DCOLORVALUE, "dcvSpecular"), - (D3DCOLORVALUE, "dcvAmbient"), - (D3DVECTOR, "dvPosition"), - (D3DVECTOR, "dvDirection"), - (D3DVALUE, "dvRange"), - (D3DVALUE, "dvFalloff"), - (D3DVALUE, "dvAttenuation0"), - (D3DVALUE, "dvAttenuation1"), - (D3DVALUE, "dvAttenuation2"), - (D3DVALUE, "dvTheta"), - (D3DVALUE, "dvPhi"), -]) -LPD3DLIGHT7 = Pointer(D3DLIGHT7) - -D3DLIGHTFLAGS = Flags(DWORD, [ - "D3DLIGHT_ACTIVE", - "D3DLIGHT_NO_SPECULAR", - "D3DLIGHT_ALL", -]) - -D3DLIGHT2 = Struct("D3DLIGHT2", [ - (DWORD, "dwSize"), - (D3DLIGHTTYPE, "dltType"), - (D3DCOLORVALUE, "dcvColor"), - (D3DVECTOR, "dvPosition"), - (D3DVECTOR, "dvDirection"), - (D3DVALUE, "dvRange"), - (D3DVALUE, "dvFalloff"), - (D3DVALUE, "dvAttenuation0"), - (D3DVALUE, "dvAttenuation1"), - (D3DVALUE, "dvAttenuation2"), - (D3DVALUE, "dvTheta"), - (D3DVALUE, "dvPhi"), - (DWORD, "dwFlags"), -]) -LPD3DLIGHT2 = Pointer(D3DLIGHT2) - -D3DLIGHTDATA = Struct("D3DLIGHTDATA", [ - (DWORD, "dwSize"), - (LPD3DLIGHTINGELEMENT, "lpIn"), - (DWORD, "dwInSize"), - (LPD3DTLVERTEX, "lpOut"), - (DWORD, "dwOutSize"), -]) -LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA) - -D3DCOLOR = Flags(DWORD, [ - "D3DCOLOR_MONO", - "D3DCOLOR_RGB", -]) - -D3DCOLORMODEL = DWORD - -D3DCLEAR = Flags(DWORD, [ - "D3DCLEAR_TARGET", - "D3DCLEAR_ZBUFFER", - "D3DCLEAR_STENCIL", -]) - -D3DOPCODE = Enum("D3DOPCODE", [ - "D3DOP_POINT", - "D3DOP_LINE", - "D3DOP_TRIANGLE", - "D3DOP_MATRIXLOAD", - "D3DOP_MATRIXMULTIPLY", - "D3DOP_STATETRANSFORM", - "D3DOP_STATELIGHT", - "D3DOP_STATERENDER", - "D3DOP_PROCESSVERTICES", - "D3DOP_TEXTURELOAD", - "D3DOP_EXIT", - "D3DOP_BRANCHFORWARD", - "D3DOP_SPAN", - "D3DOP_SETSTATUS", -]) - -D3DINSTRUCTION = Struct("D3DINSTRUCTION", [ - (BYTE, "bOpcode"), - (BYTE, "bSize"), - (WORD, "wCount"), -]) - -D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [ - (D3DTEXTUREHANDLE, "hDestTexture"), - (D3DTEXTUREHANDLE, "hSrcTexture"), -]) - -D3DPICKRECORD = Struct("D3DPICKRECORD", [ - (BYTE, "bOpcode"), - (BYTE, "bPad"), - (DWORD, "dwOffset"), - (D3DVALUE, "dvZ"), -]) -LPD3DPICKRECORD = Pointer(D3DPICKRECORD) - -D3DSHADEMODE = Enum("D3DSHADEMODE", [ - "D3DSHADE_FLAT", - "D3DSHADE_GOURAUD", - "D3DSHADE_PHONG", -]) - -D3DFILLMODE = Enum("D3DFILLMODE", [ - "D3DFILL_POINT", - "D3DFILL_WIREFRAME", - "D3DFILL_SOLID", -]) - -D3DLINEPATTERN = Struct("D3DLINEPATTERN", [ - (WORD, "wRepeatFactor"), - (WORD, "wLinePattern"), -]) - -D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [ - "D3DFILTER_NEAREST", - "D3DFILTER_LINEAR", - "D3DFILTER_MIPNEAREST", - "D3DFILTER_MIPLINEAR", - "D3DFILTER_LINEARMIPNEAREST", - "D3DFILTER_LINEARMIPLINEAR", -]) - -D3DBLEND = Enum("D3DBLEND", [ - "D3DBLEND_ZERO", - "D3DBLEND_ONE", - "D3DBLEND_SRCCOLOR", - "D3DBLEND_INVSRCCOLOR", - "D3DBLEND_SRCALPHA", - "D3DBLEND_INVSRCALPHA", - "D3DBLEND_DESTALPHA", - "D3DBLEND_INVDESTALPHA", - "D3DBLEND_DESTCOLOR", - "D3DBLEND_INVDESTCOLOR", - "D3DBLEND_SRCALPHASAT", - "D3DBLEND_BOTHSRCALPHA", - "D3DBLEND_BOTHINVSRCALPHA", -]) - -D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [ - "D3DTBLEND_DECAL", - "D3DTBLEND_MODULATE", - "D3DTBLEND_DECALALPHA", - "D3DTBLEND_MODULATEALPHA", - "D3DTBLEND_DECALMASK", - "D3DTBLEND_MODULATEMASK", - "D3DTBLEND_COPY", - "D3DTBLEND_ADD", -]) - -D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ - "D3DTADDRESS_WRAP", - "D3DTADDRESS_MIRROR", - "D3DTADDRESS_CLAMP", - "D3DTADDRESS_BORDER", -]) - -D3DCULL = Enum("D3DCULL", [ - "D3DCULL_NONE", - "D3DCULL_CW", - "D3DCULL_CCW", -]) - -D3DCMPFUNC = Enum("D3DCMPFUNC", [ - "D3DCMP_NEVER", - "D3DCMP_LESS", - "D3DCMP_EQUAL", - "D3DCMP_LESSEQUAL", - "D3DCMP_GREATER", - "D3DCMP_NOTEQUAL", - "D3DCMP_GREATEREQUAL", - "D3DCMP_ALWAYS", -]) - -D3DSTENCILOP = Enum("D3DSTENCILOP", [ - "D3DSTENCILOP_KEEP", - "D3DSTENCILOP_ZERO", - "D3DSTENCILOP_REPLACE", - "D3DSTENCILOP_INCRSAT", - "D3DSTENCILOP_DECRSAT", - "D3DSTENCILOP_INVERT", - "D3DSTENCILOP_INCR", - "D3DSTENCILOP_DECR", -]) - -D3DFOGMODE = Enum("D3DFOGMODE", [ - "D3DFOG_NONE", - "D3DFOG_EXP", - "D3DFOG_EXP2", - "D3DFOG_LINEAR", -]) - -D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ - "D3DZB_FALSE", - "D3DZB_TRUE", - "D3DZB_USEW", -]) - -D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [ - "D3DANTIALIAS_NONE", - "D3DANTIALIAS_SORTDEPENDENT", - "D3DANTIALIAS_SORTINDEPENDENT", -]) - -D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [ - "D3DVT_VERTEX", - "D3DVT_LVERTEX", - "D3DVT_TLVERTEX", -]) - -D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ - "D3DPT_POINTLIST", - "D3DPT_LINELIST", - "D3DPT_LINESTRIP", - "D3DPT_TRIANGLELIST", - "D3DPT_TRIANGLESTRIP", - "D3DPT_TRIANGLEFAN", -]) - -D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ - "D3DTRANSFORMSTATE_WORLD", - "D3DTRANSFORMSTATE_VIEW", - "D3DTRANSFORMSTATE_PROJECTION", - "D3DTRANSFORMSTATE_WORLD1", - "D3DTRANSFORMSTATE_WORLD2", - "D3DTRANSFORMSTATE_WORLD3", - "D3DTRANSFORMSTATE_TEXTURE0", - "D3DTRANSFORMSTATE_TEXTURE1", - "D3DTRANSFORMSTATE_TEXTURE2", - "D3DTRANSFORMSTATE_TEXTURE3", - "D3DTRANSFORMSTATE_TEXTURE4", - "D3DTRANSFORMSTATE_TEXTURE5", - "D3DTRANSFORMSTATE_TEXTURE6", - "D3DTRANSFORMSTATE_TEXTURE7", -]) - -D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [ - "D3DLIGHTSTATE_MATERIAL", - "D3DLIGHTSTATE_AMBIENT", - "D3DLIGHTSTATE_COLORMODEL", - "D3DLIGHTSTATE_FOGMODE", - "D3DLIGHTSTATE_FOGSTART", - "D3DLIGHTSTATE_FOGEND", - "D3DLIGHTSTATE_FOGDENSITY", - "D3DLIGHTSTATE_COLORVERTEX", -]) - -D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ - "D3DRENDERSTATE_ANTIALIAS", - "D3DRENDERSTATE_TEXTUREPERSPECTIVE", - "D3DRENDERSTATE_ZENABLE", - "D3DRENDERSTATE_FILLMODE", - "D3DRENDERSTATE_SHADEMODE", - "D3DRENDERSTATE_LINEPATTERN", - "D3DRENDERSTATE_ZWRITEENABLE", - "D3DRENDERSTATE_ALPHATESTENABLE", - "D3DRENDERSTATE_LASTPIXEL", - "D3DRENDERSTATE_SRCBLEND", - "D3DRENDERSTATE_DESTBLEND", - "D3DRENDERSTATE_CULLMODE", - "D3DRENDERSTATE_ZFUNC", - "D3DRENDERSTATE_ALPHAREF", - "D3DRENDERSTATE_ALPHAFUNC", - "D3DRENDERSTATE_DITHERENABLE", - "D3DRENDERSTATE_ALPHABLENDENABLE", - "D3DRENDERSTATE_FOGENABLE", - "D3DRENDERSTATE_SPECULARENABLE", - "D3DRENDERSTATE_ZVISIBLE", - "D3DRENDERSTATE_STIPPLEDALPHA", - "D3DRENDERSTATE_FOGCOLOR", - "D3DRENDERSTATE_FOGTABLEMODE", - "D3DRENDERSTATE_FOGSTART", - "D3DRENDERSTATE_FOGEND", - "D3DRENDERSTATE_FOGDENSITY", - "D3DRENDERSTATE_EDGEANTIALIAS", - "D3DRENDERSTATE_COLORKEYENABLE", - "D3DRENDERSTATE_ZBIAS", - "D3DRENDERSTATE_RANGEFOGENABLE", - "D3DRENDERSTATE_STENCILENABLE", - "D3DRENDERSTATE_STENCILFAIL", - "D3DRENDERSTATE_STENCILZFAIL", - "D3DRENDERSTATE_STENCILPASS", - "D3DRENDERSTATE_STENCILFUNC", - "D3DRENDERSTATE_STENCILREF", - "D3DRENDERSTATE_STENCILMASK", - "D3DRENDERSTATE_STENCILWRITEMASK", - "D3DRENDERSTATE_TEXTUREFACTOR", - "D3DRENDERSTATE_WRAP0", - "D3DRENDERSTATE_WRAP1", - "D3DRENDERSTATE_WRAP2", - "D3DRENDERSTATE_WRAP3", - "D3DRENDERSTATE_WRAP4", - "D3DRENDERSTATE_WRAP5", - "D3DRENDERSTATE_WRAP6", - "D3DRENDERSTATE_WRAP7", - "D3DRENDERSTATE_CLIPPING", - "D3DRENDERSTATE_LIGHTING", - "D3DRENDERSTATE_EXTENTS", - "D3DRENDERSTATE_AMBIENT", - "D3DRENDERSTATE_FOGVERTEXMODE", - "D3DRENDERSTATE_COLORVERTEX", - "D3DRENDERSTATE_LOCALVIEWER", - "D3DRENDERSTATE_NORMALIZENORMALS", - "D3DRENDERSTATE_COLORKEYBLENDENABLE", - "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE", - "D3DRENDERSTATE_SPECULARMATERIALSOURCE", - "D3DRENDERSTATE_AMBIENTMATERIALSOURCE", - "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE", - "D3DRENDERSTATE_VERTEXBLEND", - "D3DRENDERSTATE_CLIPPLANEENABLE", - "D3DRENDERSTATE_TEXTUREHANDLE", - "D3DRENDERSTATE_TEXTUREADDRESS", - "D3DRENDERSTATE_WRAPU", - "D3DRENDERSTATE_WRAPV", - "D3DRENDERSTATE_MONOENABLE", - "D3DRENDERSTATE_ROP2", - "D3DRENDERSTATE_PLANEMASK", - "D3DRENDERSTATE_TEXTUREMAG", - "D3DRENDERSTATE_TEXTUREMIN", - "D3DRENDERSTATE_TEXTUREMAPBLEND", - "D3DRENDERSTATE_SUBPIXEL", - "D3DRENDERSTATE_SUBPIXELX", - "D3DRENDERSTATE_STIPPLEENABLE", - "D3DRENDERSTATE_BORDERCOLOR", - "D3DRENDERSTATE_TEXTUREADDRESSU", - "D3DRENDERSTATE_TEXTUREADDRESSV", - "D3DRENDERSTATE_MIPMAPLODBIAS", - "D3DRENDERSTATE_ANISOTROPY", - "D3DRENDERSTATE_FLUSHBATCH", - "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT", - "D3DRENDERSTATE_STIPPLEPATTERN00", - "D3DRENDERSTATE_STIPPLEPATTERN01", - "D3DRENDERSTATE_STIPPLEPATTERN02", - "D3DRENDERSTATE_STIPPLEPATTERN03", - "D3DRENDERSTATE_STIPPLEPATTERN04", - "D3DRENDERSTATE_STIPPLEPATTERN05", - "D3DRENDERSTATE_STIPPLEPATTERN06", - "D3DRENDERSTATE_STIPPLEPATTERN07", - "D3DRENDERSTATE_STIPPLEPATTERN08", - "D3DRENDERSTATE_STIPPLEPATTERN09", - "D3DRENDERSTATE_STIPPLEPATTERN10", - "D3DRENDERSTATE_STIPPLEPATTERN11", - "D3DRENDERSTATE_STIPPLEPATTERN12", - "D3DRENDERSTATE_STIPPLEPATTERN13", - "D3DRENDERSTATE_STIPPLEPATTERN14", - "D3DRENDERSTATE_STIPPLEPATTERN15", - "D3DRENDERSTATE_STIPPLEPATTERN16", - "D3DRENDERSTATE_STIPPLEPATTERN17", - "D3DRENDERSTATE_STIPPLEPATTERN18", - "D3DRENDERSTATE_STIPPLEPATTERN19", - "D3DRENDERSTATE_STIPPLEPATTERN20", - "D3DRENDERSTATE_STIPPLEPATTERN21", - "D3DRENDERSTATE_STIPPLEPATTERN22", - "D3DRENDERSTATE_STIPPLEPATTERN23", - "D3DRENDERSTATE_STIPPLEPATTERN24", - "D3DRENDERSTATE_STIPPLEPATTERN25", - "D3DRENDERSTATE_STIPPLEPATTERN26", - "D3DRENDERSTATE_STIPPLEPATTERN27", - "D3DRENDERSTATE_STIPPLEPATTERN28", - "D3DRENDERSTATE_STIPPLEPATTERN29", - "D3DRENDERSTATE_STIPPLEPATTERN30", - "D3DRENDERSTATE_STIPPLEPATTERN31", -]) - -D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ - "D3DMCS_MATERIAL", - "D3DMCS_COLOR1", - "D3DMCS_COLOR2", -]) - -D3DWRAP = Flags(DWORD, [ - "D3DWRAP_U", - "D3DWRAP_V", - "D3DWRAPCOORD_0", - "D3DWRAPCOORD_1", - "D3DWRAPCOORD_2", - "D3DWRAPCOORD_3", -]) - -D3DSTATE = Struct("D3DSTATE", [ - (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), - (D3DLIGHTSTATETYPE, "dlstLightStateType"), - (D3DRENDERSTATETYPE, "drstRenderStateType"), - (Array(DWORD, "1"), "dwArg"), - (Array(D3DVALUE, "1"), "dvArg"), -]) - -D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [ - (D3DMATRIXHANDLE, "hDestMatrix"), - (D3DMATRIXHANDLE, "hSrcMatrix"), -]) - -D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [ - (D3DMATRIXHANDLE, "hDestMatrix"), - (D3DMATRIXHANDLE, "hSrcMatrix1"), - (D3DMATRIXHANDLE, "hSrcMatrix2"), -]) - -D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [ - (DWORD, "dwFlags"), - (WORD, "wStart"), - (WORD, "wDest"), - (DWORD, "dwCount"), - (DWORD, "dwReserved"), -]) - -D3DPROCESSVERTICES = Flags(DWORD, [ - "D3DPROCESSVERTICES_TRANSFORMLIGHT", - "D3DPROCESSVERTICES_TRANSFORM", - "D3DPROCESSVERTICES_COPY", - "D3DPROCESSVERTICES_OPMASK", - "D3DPROCESSVERTICES_UPDATEEXTENTS", - "D3DPROCESSVERTICES_NOCOLOR", -]) - -D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ - "D3DTSS_COLOROP", - "D3DTSS_COLORARG1", - "D3DTSS_COLORARG2", - "D3DTSS_ALPHAOP", - "D3DTSS_ALPHAARG1", - "D3DTSS_ALPHAARG2", - "D3DTSS_BUMPENVMAT00", - "D3DTSS_BUMPENVMAT01", - "D3DTSS_BUMPENVMAT10", - "D3DTSS_BUMPENVMAT11", - "D3DTSS_TEXCOORDINDEX", - "D3DTSS_ADDRESS", - "D3DTSS_ADDRESSU", - "D3DTSS_ADDRESSV", - "D3DTSS_BORDERCOLOR", - "D3DTSS_MAGFILTER", - "D3DTSS_MINFILTER", - "D3DTSS_MIPFILTER", - "D3DTSS_MIPMAPLODBIAS", - "D3DTSS_MAXMIPLEVEL", - "D3DTSS_MAXANISOTROPY", - "D3DTSS_BUMPENVLSCALE", - "D3DTSS_BUMPENVLOFFSET", - "D3DTSS_TEXTURETRANSFORMFLAGS", -]) - -D3DTSS_TCI = Flags(DWORD, [ - "D3DTSS_TCI_PASSTHRU", - "D3DTSS_TCI_CAMERASPACENORMAL", - "D3DTSS_TCI_CAMERASPACEPOSITION", - "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", -]) - -D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ - "D3DTOP_DISABLE", - "D3DTOP_SELECTARG1", - "D3DTOP_SELECTARG2", - "D3DTOP_MODULATE", - "D3DTOP_MODULATE2X", - "D3DTOP_MODULATE4X", - "D3DTOP_ADD", - "D3DTOP_ADDSIGNED", - "D3DTOP_ADDSIGNED2X", - "D3DTOP_SUBTRACT", - "D3DTOP_ADDSMOOTH", - "D3DTOP_BLENDDIFFUSEALPHA", - "D3DTOP_BLENDTEXTUREALPHA", - "D3DTOP_BLENDFACTORALPHA", - "D3DTOP_BLENDTEXTUREALPHAPM", - "D3DTOP_BLENDCURRENTALPHA", - "D3DTOP_PREMODULATE", - "D3DTOP_MODULATEALPHA_ADDCOLOR", - "D3DTOP_MODULATECOLOR_ADDALPHA", - "D3DTOP_MODULATEINVALPHA_ADDCOLOR", - "D3DTOP_MODULATEINVCOLOR_ADDALPHA", - "D3DTOP_BUMPENVMAP", - "D3DTOP_BUMPENVMAPLUMINANCE", - "D3DTOP_DOTPRODUCT3", -]) - -D3DTA = Flags(DWORD, [ - "D3DTA_SELECTMASK", - "D3DTA_DIFFUSE", - "D3DTA_CURRENT", - "D3DTA_TEXTURE", - "D3DTA_TFACTOR", - "D3DTA_SPECULAR", - "D3DTA_COMPLEMENT", - "D3DTA_ALPHAREPLICATE", -]) - -D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [ - "D3DTFG_POINT", - "D3DTFG_LINEAR", - "D3DTFG_FLATCUBIC", - "D3DTFG_GAUSSIANCUBIC", - "D3DTFG_ANISOTROPIC", -]) - -D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [ - "D3DTFN_POINT", - "D3DTFN_LINEAR", - "D3DTFN_ANISOTROPIC", -]) - -D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [ - "D3DTFP_NONE", - "D3DTFP_POINT", - "D3DTFP_LINEAR", -]) - -D3DTRIFLAG = Flags(DWORD, [ - "D3DTRIFLAG_START", - "D3DTRIFLAG_STARTFLAT(len)", - "D3DTRIFLAG_ODD", - "D3DTRIFLAG_EVEN", - "D3DTRIFLAG_EDGEENABLETRIANGLE", - "D3DTRIFLAG_EDGEENABLE1", - "D3DTRIFLAG_EDGEENABLE2", - "D3DTRIFLAG_EDGEENABLE3", -]) - -D3DTRIANGLE = Struct("D3DTRIANGLE", [ - (WORD, "v1"), - (WORD, "v2"), - (WORD, "v3"), - (WORD, "wFlags"), -]) - -D3DLINE = Struct("D3DLINE", [ - (WORD, "v1"), - (WORD, "v2"), -]) - -D3DSPAN = Struct("D3DSPAN", [ - (WORD, "wCount"), - (WORD, "wFirst"), -]) - -D3DPOINT = Struct("D3DPOINT", [ - (WORD, "wCount"), - (WORD, "wFirst"), -]) - -D3DBRANCH = Struct("D3DBRANCH", [ - (DWORD, "dwMask"), - (DWORD, "dwValue"), - (BOOL, "bNegate"), - (DWORD, "dwOffset"), -]) - -D3DSTATUS = Struct("D3DSTATUS", [ - (DWORD, "dwFlags"), - (DWORD, "dwStatus"), - (D3DRECT, "drExtent"), -]) - -D3DSETSTATUS = Flags(DWORD, [ - "D3DSETSTATUS_STATUS", - "D3DSETSTATUS_EXTENTS", - "D3DSETSTATUS_ALL", -]) - -D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [ - (DWORD, "dwFlags"), - (DWORD, "dwStatus"), - (Float, "minx"), - (Float, "maxx"), - (Float, "miny"), - (Float, "maxy"), - (Float, "minz"), - (Float, "maxz"), -]) -LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS) - -D3DCLIPSTATUS = Flags(DWORD, [ - "D3DCLIPSTATUS_STATUS", - "D3DCLIPSTATUS_EXTENTS2", - "D3DCLIPSTATUS_EXTENTS3", -]) - -D3DSTATS = Struct("D3DSTATS", [ - (DWORD, "dwSize"), - (DWORD, "dwTrianglesDrawn"), - (DWORD, "dwLinesDrawn"), - (DWORD, "dwPointsDrawn"), - (DWORD, "dwSpansDrawn"), - (DWORD, "dwVerticesProcessed"), -]) -LPD3DSTATS = Pointer(D3DSTATS) - -D3DEXECUTE = Flags(DWORD, [ - "D3DEXECUTE_CLIPPED", - "D3DEXECUTE_UNCLIPPED", -]) - -D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [ - (DWORD, "dwSize"), - (DWORD, "dwVertexOffset"), - (DWORD, "dwVertexCount"), - (DWORD, "dwInstructionOffset"), - (DWORD, "dwInstructionLength"), - (DWORD, "dwHVertexOffset"), - (D3DSTATUS, "dsStatus"), -]) -LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA) - -D3DPAL = Flags(DWORD, [ - "D3DPAL_FREE", - "D3DPAL_READONLY", - "D3DPAL_RESERVED", -]) - -D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwFVF"), - (DWORD, "dwNumVertices"), -]) -LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC) - -D3DVBCAPS = Flags(DWORD, [ - "D3DVBCAPS_SYSTEMMEMORY", - "D3DVBCAPS_WRITEONLY", - "D3DVBCAPS_OPTIMIZED", - "D3DVBCAPS_DONOTCLIP", -]) - -D3DVOP = Flags(DWORD, [ - "D3DVOP_LIGHT", - "D3DVOP_TRANSFORM", - "D3DVOP_CLIP", - "D3DVOP_EXTENTS", -]) - -D3DPV = Flags(DWORD, [ - "D3DPV_DONOTCOPYDATA", -]) - -D3DFVF = Flags(DWORD, [ - "D3DFVF_RESERVED0", - "D3DFVF_POSITION_MASK", - "D3DFVF_XYZ", - "D3DFVF_XYZRHW", - "D3DFVF_XYZB1", - "D3DFVF_XYZB2", - "D3DFVF_XYZB3", - "D3DFVF_XYZB4", - "D3DFVF_XYZB5", - "D3DFVF_NORMAL", - "D3DFVF_RESERVED1", - "D3DFVF_DIFFUSE", - "D3DFVF_SPECULAR", - "D3DFVF_TEXCOUNT_MASK", - "D3DFVF_TEXCOUNT_SHIFT", - "D3DFVF_TEX0", - "D3DFVF_TEX1", - "D3DFVF_TEX2", - "D3DFVF_TEX3", - "D3DFVF_TEX4", - "D3DFVF_TEX5", - "D3DFVF_TEX6", - "D3DFVF_TEX7", - "D3DFVF_TEX8", - "D3DFVF_RESERVED2", - "D3DFVF_RESERVED1", - "D3DFVF_VERTEX", - "D3DFVF_LVERTEX", - "D3DFVF_TLVERTEX", - "D3DFVF_TEXCOORDSIZE1(0)", - "D3DFVF_TEXCOORDSIZE1(1)", - "D3DFVF_TEXCOORDSIZE2(0)", - "D3DFVF_TEXCOORDSIZE2(1)", - "D3DFVF_TEXCOORDSIZE3(0)", - "D3DFVF_TEXCOORDSIZE3(1)", - "D3DFVF_TEXCOORDSIZE4(0)", - "D3DFVF_TEXCOORDSIZE4(1)", -]) - -D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [ - (LPVOID, "lpvData"), - (DWORD, "dwStride"), -]) - -D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [ - (D3DDP_PTRSTRIDE, "position"), - (D3DDP_PTRSTRIDE, "normal"), - (D3DDP_PTRSTRIDE, "diffuse"), - (D3DDP_PTRSTRIDE, "specular"), - (Array(D3DDP_PTRSTRIDE, "D3DDP_MAXTEXCOORD"), "textureCoords"), -]) -LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA) - -D3DVIS = Flags(DWORD, [ - "D3DVIS_INSIDE_FRUSTUM", - "D3DVIS_INTERSECT_FRUSTUM", - "D3DVIS_OUTSIDE_FRUSTUM", - "D3DVIS_INSIDE_LEFT", - "D3DVIS_INTERSECT_LEFT", - "D3DVIS_OUTSIDE_LEFT", - "D3DVIS_INSIDE_RIGHT", - "D3DVIS_INTERSECT_RIGHT", - "D3DVIS_OUTSIDE_RIGHT", - "D3DVIS_INSIDE_TOP", - "D3DVIS_INTERSECT_TOP", - "D3DVIS_OUTSIDE_TOP", - "D3DVIS_INSIDE_BOTTOM", - "D3DVIS_INTERSECT_BOTTOM", - "D3DVIS_OUTSIDE_BOTTOM", - "D3DVIS_INSIDE_NEAR", - "D3DVIS_INTERSECT_NEAR", - "D3DVIS_OUTSIDE_NEAR", - "D3DVIS_INSIDE_FAR", - "D3DVIS_INTERSECT_FAR", - "D3DVIS_OUTSIDE_FAR", - "D3DVIS_MASK_FRUSTUM", - "D3DVIS_MASK_LEFT", - "D3DVIS_MASK_RIGHT", - "D3DVIS_MASK_TOP", - "D3DVIS_MASK_BOTTOM", - "D3DVIS_MASK_NEAR", - "D3DVIS_MASK_FAR", -]) - -D3DDEVINFOID = Flags(DWORD, [ - "D3DDEVINFOID_TEXTUREMANAGER", - "D3DDEVINFOID_D3DTEXTUREMANAGER", - "D3DDEVINFOID_TEXTURING", -]) - -D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ - "D3DSBT_ALL", - "D3DSBT_PIXELSTATE", - "D3DSBT_VERTEXSTATE", -]) - -D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ - "D3DVBLEND_DISABLE", - "D3DVBLEND_1WEIGHT", - "D3DVBLEND_2WEIGHTS", - "D3DVBLEND_3WEIGHTS", -]) - -D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ - "D3DTTFF_DISABLE", - "D3DTTFF_COUNT1", - "D3DTTFF_COUNT2", - "D3DTTFF_COUNT3", - "D3DTTFF_COUNT4", - "D3DTTFF_PROJECTED", -]) diff --git a/ddraw.py b/ddraw.py deleted file mode 100644 index eb5a072..0000000 --- a/ddraw.py +++ /dev/null @@ -1,1664 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""ddraw.h""" - -from winapi import * - -DirectDrawOptSurfaceDescFlags = Flags(DWORD, [ - "DDOSD_GUID", - "DDOSD_COMPRESSION_RATIO", - "DDOSD_SCAPS", - "DDOSD_OSCAPS", - "DDOSD_ALL", -]) - -DirectDrawOptSurfaceDescCapsFlags = Flags(DWORD, [ - "DDOSDCAPS_OPTCOMPRESSED", - "DDOSDCAPS_OPTREORDERED", - "DDOSDCAPS_MONOLITHICMIPMAP", -]) - -DirectDrawGetDeviceIdentifierFlags = Flags(DWORD, [ - "DDGDI_GETHOSTIDENTIFIER", -]) - -IDirectDraw = Interface("IDirectDraw", IUnknown) -IDirectDraw2 = Interface("IDirectDraw2", IUnknown) -IDirectDraw4 = Interface("IDirectDraw4", IUnknown) -IDirectDraw7 = Interface("IDirectDraw7", IUnknown) -IDirectDrawPalette = Interface("IDirectDrawPalette", IUnknown) -IDirectDrawClipper = Interface("IDirectDrawClipper", IUnknown) -IDirectDrawSurface = Interface("IDirectDrawSurface", IUnknown) -IDirectDrawSurface2 = Interface("IDirectDrawSurface2", IUnknown) -IDirectDrawSurface3 = Interface("IDirectDrawSurface3", IUnknown) -IDirectDrawSurface4 = Interface("IDirectDrawSurface4", IUnknown) -IDirectDrawSurface7 = Interface("IDirectDrawSurface7", IUnknown) -IDirectDrawColorControl = Interface("IDirectDrawColorControl", IUnknown) -IDirectDrawGammaControl = Interface("IDirectDrawGammaControl", IUnknown) - -LPDIRECTDRAW = Pointer(IDirectDraw) -LPDIRECTDRAW2 = Pointer(IDirectDraw2) -LPDIRECTDRAW4 = Pointer(IDirectDraw4) -LPDIRECTDRAW7 = Pointer(IDirectDraw7) -LPDIRECTDRAWSURFACE = Pointer(IDirectDrawSurface) -LPDIRECTDRAWSURFACE2 = Pointer(IDirectDrawSurface2) -LPDIRECTDRAWSURFACE3 = Pointer(IDirectDrawSurface3) -LPDIRECTDRAWSURFACE4 = Pointer(IDirectDrawSurface4) -LPDIRECTDRAWSURFACE7 = Pointer(IDirectDrawSurface7) -LPDIRECTDRAWPALETTE = Pointer(IDirectDrawPalette) -LPDIRECTDRAWCLIPPER = Pointer(IDirectDrawClipper) -LPDIRECTDRAWCOLORCONTROL = Pointer(IDirectDrawColorControl) -LPDIRECTDRAWGAMMACONTROL = Pointer(IDirectDrawGammaControl) - -DDARGB = Struct("DDARGB", [ - (BYTE, "blue"), - (BYTE, "green"), - (BYTE, "red"), - (BYTE, "alpha"), -]) - -LPDDARGB = Pointer(DDARGB) - -DDRGBA = Struct("DDRGBA", [ - (BYTE, "red"), - (BYTE, "green"), - (BYTE, "blue"), - (BYTE, "alpha"), -]) -LPDDRGBA = Pointer(DDRGBA) - -DDCOLORKEY = Struct("DDCOLORKEY", [ - (DWORD, "dwColorSpaceLowValue"), - (DWORD, "dwColorSpaceHighValue"), -]) -LPDDCOLORKEY = Pointer(DDCOLORKEY) - -DDBLTFX = Struct("DDBLTFX", [ - (DWORD, "dwSize"), - (DWORD, "dwDDFX"), - (DWORD, "dwROP"), - (DWORD, "dwDDROP"), - (DWORD, "dwRotationAngle"), - (DWORD, "dwZBufferOpCode"), - (DWORD, "dwZBufferLow"), - (DWORD, "dwZBufferHigh"), - (DWORD, "dwZBufferBaseDest"), - (DWORD, "dwZDestConstBitDepth"), - (DWORD, "dwZDestConst"), - (LPDIRECTDRAWSURFACE, "lpDDSZBufferDest"), - (DWORD, "dwZSrcConstBitDepth"), - (DWORD, "dwZSrcConst"), - (LPDIRECTDRAWSURFACE, "lpDDSZBufferSrc"), - (DWORD, "dwAlphaEdgeBlendBitDepth"), - (DWORD, "dwAlphaEdgeBlend"), - (DWORD, "dwReserved"), - (DWORD, "dwAlphaDestConstBitDepth"), - (DWORD, "dwAlphaDestConst"), - (LPDIRECTDRAWSURFACE, "lpDDSAlphaDest"), - (DWORD, "dwAlphaSrcConstBitDepth"), - (DWORD, "dwAlphaSrcConst"), - (LPDIRECTDRAWSURFACE, "lpDDSAlphaSrc"), - (DWORD, "dwFillColor"), - (DWORD, "dwFillDepth"), - (DWORD, "dwFillPixel"), - (LPDIRECTDRAWSURFACE, "lpDDSPattern"), - (DDCOLORKEY, "ddckDestColorkey"), - (DDCOLORKEY, "ddckSrcColorkey"), -]) -LPDDBLTFX = Pointer(DDBLTFX) - -DDSCAPS = Struct("DDSCAPS", [ - (DWORD, "dwCaps"), -]) -LPDDSCAPS = Pointer(DDSCAPS) - -DDOSCAPS = Struct("DDOSCAPS", [ - (DWORD, "dwCaps"), -]) -LPDDOSCAPS = Pointer(DDOSCAPS) - -DDSCAPSEX = Struct("DDSCAPSEX", [ - (DWORD, "dwCaps2"), - (DWORD, "dwCaps3"), - (DWORD, "dwCaps4"), -]) - -DDSCAPS2 = Struct("DDSCAPS2", [ - (DWORD, "dwCaps"), - (DWORD, "dwCaps2"), - (DWORD, "dwCaps3"), - (DWORD, "dwCaps4"), -]) -LPDDSCAPS2 = Pointer(DDSCAPS2) - -DDCAPS_DX1 = Struct("DDCAPS_DX1", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwCaps2"), - (DWORD, "dwCKeyCaps"), - (DWORD, "dwFXCaps"), - (DWORD, "dwFXAlphaCaps"), - (DWORD, "dwPalCaps"), - (DWORD, "dwSVCaps"), - (DWORD, "dwAlphaBltConstBitDepths"), - (DWORD, "dwAlphaBltPixelBitDepths"), - (DWORD, "dwAlphaBltSurfaceBitDepths"), - (DWORD, "dwAlphaOverlayConstBitDepths"), - (DWORD, "dwAlphaOverlayPixelBitDepths"), - (DWORD, "dwAlphaOverlaySurfaceBitDepths"), - (DWORD, "dwZBufferBitDepths"), - (DWORD, "dwVidMemTotal"), - (DWORD, "dwVidMemFree"), - (DWORD, "dwMaxVisibleOverlays"), - (DWORD, "dwCurrVisibleOverlays"), - (DWORD, "dwNumFourCCCodes"), - (DWORD, "dwAlignBoundarySrc"), - (DWORD, "dwAlignSizeSrc"), - (DWORD, "dwAlignBoundaryDest"), - (DWORD, "dwAlignSizeDest"), - (DWORD, "dwAlignStrideAlign"), - (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), - (DDSCAPS, "ddsCaps"), - (DWORD, "dwMinOverlayStretch"), - (DWORD, "dwMaxOverlayStretch"), - (DWORD, "dwMinLiveVideoStretch"), - (DWORD, "dwMaxLiveVideoStretch"), - (DWORD, "dwMinHwCodecStretch"), - (DWORD, "dwMaxHwCodecStretch"), - (DWORD, "dwReserved1"), - (DWORD, "dwReserved2"), - (DWORD, "dwReserved3"), -]) -LPDDCAPS_DX1 = Pointer(DDCAPS_DX1) - -DDCAPS_DX3 = Struct("DDCAPS_DX3", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwCaps2"), - (DWORD, "dwCKeyCaps"), - (DWORD, "dwFXCaps"), - (DWORD, "dwFXAlphaCaps"), - (DWORD, "dwPalCaps"), - (DWORD, "dwSVCaps"), - (DWORD, "dwAlphaBltConstBitDepths"), - (DWORD, "dwAlphaBltPixelBitDepths"), - (DWORD, "dwAlphaBltSurfaceBitDepths"), - (DWORD, "dwAlphaOverlayConstBitDepths"), - (DWORD, "dwAlphaOverlayPixelBitDepths"), - (DWORD, "dwAlphaOverlaySurfaceBitDepths"), - (DWORD, "dwZBufferBitDepths"), - (DWORD, "dwVidMemTotal"), - (DWORD, "dwVidMemFree"), - (DWORD, "dwMaxVisibleOverlays"), - (DWORD, "dwCurrVisibleOverlays"), - (DWORD, "dwNumFourCCCodes"), - (DWORD, "dwAlignBoundarySrc"), - (DWORD, "dwAlignSizeSrc"), - (DWORD, "dwAlignBoundaryDest"), - (DWORD, "dwAlignSizeDest"), - (DWORD, "dwAlignStrideAlign"), - (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), - (DDSCAPS, "ddsCaps"), - (DWORD, "dwMinOverlayStretch"), - (DWORD, "dwMaxOverlayStretch"), - (DWORD, "dwMinLiveVideoStretch"), - (DWORD, "dwMaxLiveVideoStretch"), - (DWORD, "dwMinHwCodecStretch"), - (DWORD, "dwMaxHwCodecStretch"), - (DWORD, "dwReserved1"), - (DWORD, "dwReserved2"), - (DWORD, "dwReserved3"), - (DWORD, "dwSVBCaps"), - (DWORD, "dwSVBCKeyCaps"), - (DWORD, "dwSVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), - (DWORD, "dwVSBCaps"), - (DWORD, "dwVSBCKeyCaps"), - (DWORD, "dwVSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), - (DWORD, "dwSSBCaps"), - (DWORD, "dwSSBCKeyCaps"), - (DWORD, "dwSSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), - (DWORD, "dwReserved4"), - (DWORD, "dwReserved5"), - (DWORD, "dwReserved6"), -]) -LPDDCAPS_DX3 = Pointer(DDCAPS_DX3) - -DDCAPS_DX5 = Struct("DDCAPS_DX5", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwCaps2"), - (DWORD, "dwCKeyCaps"), - (DWORD, "dwFXCaps"), - (DWORD, "dwFXAlphaCaps"), - (DWORD, "dwPalCaps"), - (DWORD, "dwSVCaps"), - (DWORD, "dwAlphaBltConstBitDepths"), - (DWORD, "dwAlphaBltPixelBitDepths"), - (DWORD, "dwAlphaBltSurfaceBitDepths"), - (DWORD, "dwAlphaOverlayConstBitDepths"), - (DWORD, "dwAlphaOverlayPixelBitDepths"), - (DWORD, "dwAlphaOverlaySurfaceBitDepths"), - (DWORD, "dwZBufferBitDepths"), - (DWORD, "dwVidMemTotal"), - (DWORD, "dwVidMemFree"), - (DWORD, "dwMaxVisibleOverlays"), - (DWORD, "dwCurrVisibleOverlays"), - (DWORD, "dwNumFourCCCodes"), - (DWORD, "dwAlignBoundarySrc"), - (DWORD, "dwAlignSizeSrc"), - (DWORD, "dwAlignBoundaryDest"), - (DWORD, "dwAlignSizeDest"), - (DWORD, "dwAlignStrideAlign"), - (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), - (DDSCAPS, "ddsCaps"), - (DWORD, "dwMinOverlayStretch"), - (DWORD, "dwMaxOverlayStretch"), - (DWORD, "dwMinLiveVideoStretch"), - (DWORD, "dwMaxLiveVideoStretch"), - (DWORD, "dwMinHwCodecStretch"), - (DWORD, "dwMaxHwCodecStretch"), - (DWORD, "dwReserved1"), - (DWORD, "dwReserved2"), - (DWORD, "dwReserved3"), - (DWORD, "dwSVBCaps"), - (DWORD, "dwSVBCKeyCaps"), - (DWORD, "dwSVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), - (DWORD, "dwVSBCaps"), - (DWORD, "dwVSBCKeyCaps"), - (DWORD, "dwVSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), - (DWORD, "dwSSBCaps"), - (DWORD, "dwSSBCKeyCaps"), - (DWORD, "dwSSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), - (DWORD, "dwMaxVideoPorts"), - (DWORD, "dwCurrVideoPorts"), - (DWORD, "dwSVBCaps2"), - (DWORD, "dwNLVBCaps"), - (DWORD, "dwNLVBCaps2"), - (DWORD, "dwNLVBCKeyCaps"), - (DWORD, "dwNLVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"), -]) -LPDDCAPS_DX5 = Pointer(DDCAPS_DX5) - -DDCAPS_DX6 = Struct("DDCAPS_DX6", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwCaps2"), - (DWORD, "dwCKeyCaps"), - (DWORD, "dwFXCaps"), - (DWORD, "dwFXAlphaCaps"), - (DWORD, "dwPalCaps"), - (DWORD, "dwSVCaps"), - (DWORD, "dwAlphaBltConstBitDepths"), - (DWORD, "dwAlphaBltPixelBitDepths"), - (DWORD, "dwAlphaBltSurfaceBitDepths"), - (DWORD, "dwAlphaOverlayConstBitDepths"), - (DWORD, "dwAlphaOverlayPixelBitDepths"), - (DWORD, "dwAlphaOverlaySurfaceBitDepths"), - (DWORD, "dwZBufferBitDepths"), - (DWORD, "dwVidMemTotal"), - (DWORD, "dwVidMemFree"), - (DWORD, "dwMaxVisibleOverlays"), - (DWORD, "dwCurrVisibleOverlays"), - (DWORD, "dwNumFourCCCodes"), - (DWORD, "dwAlignBoundarySrc"), - (DWORD, "dwAlignSizeSrc"), - (DWORD, "dwAlignBoundaryDest"), - (DWORD, "dwAlignSizeDest"), - (DWORD, "dwAlignStrideAlign"), - (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), - (DDSCAPS, "ddsOldCaps"), - (DWORD, "dwMinOverlayStretch"), - (DWORD, "dwMaxOverlayStretch"), - (DWORD, "dwMinLiveVideoStretch"), - (DWORD, "dwMaxLiveVideoStretch"), - (DWORD, "dwMinHwCodecStretch"), - (DWORD, "dwMaxHwCodecStretch"), - (DWORD, "dwReserved1"), - (DWORD, "dwReserved2"), - (DWORD, "dwReserved3"), - (DWORD, "dwSVBCaps"), - (DWORD, "dwSVBCKeyCaps"), - (DWORD, "dwSVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), - (DWORD, "dwVSBCaps"), - (DWORD, "dwVSBCKeyCaps"), - (DWORD, "dwVSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), - (DWORD, "dwSSBCaps"), - (DWORD, "dwSSBCKeyCaps"), - (DWORD, "dwSSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), - (DWORD, "dwMaxVideoPorts"), - (DWORD, "dwCurrVideoPorts"), - (DWORD, "dwSVBCaps2"), - (DWORD, "dwNLVBCaps"), - (DWORD, "dwNLVBCaps2"), - (DWORD, "dwNLVBCKeyCaps"), - (DWORD, "dwNLVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"), - (DDSCAPS2, "ddsCaps"), -]) -LPDDCAPS_DX6 = Pointer(DDCAPS_DX6) - -DDCAPS_DX7 = Struct("DDCAPS_DX7", [ - (DWORD, "dwSize"), - (DWORD, "dwCaps"), - (DWORD, "dwCaps2"), - (DWORD, "dwCKeyCaps"), - (DWORD, "dwFXCaps"), - (DWORD, "dwFXAlphaCaps"), - (DWORD, "dwPalCaps"), - (DWORD, "dwSVCaps"), - (DWORD, "dwAlphaBltConstBitDepths"), - (DWORD, "dwAlphaBltPixelBitDepths"), - (DWORD, "dwAlphaBltSurfaceBitDepths"), - (DWORD, "dwAlphaOverlayConstBitDepths"), - (DWORD, "dwAlphaOverlayPixelBitDepths"), - (DWORD, "dwAlphaOverlaySurfaceBitDepths"), - (DWORD, "dwZBufferBitDepths"), - (DWORD, "dwVidMemTotal"), - (DWORD, "dwVidMemFree"), - (DWORD, "dwMaxVisibleOverlays"), - (DWORD, "dwCurrVisibleOverlays"), - (DWORD, "dwNumFourCCCodes"), - (DWORD, "dwAlignBoundarySrc"), - (DWORD, "dwAlignSizeSrc"), - (DWORD, "dwAlignBoundaryDest"), - (DWORD, "dwAlignSizeDest"), - (DWORD, "dwAlignStrideAlign"), - (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), - (DDSCAPS, "ddsOldCaps"), - (DWORD, "dwMinOverlayStretch"), - (DWORD, "dwMaxOverlayStretch"), - (DWORD, "dwMinLiveVideoStretch"), - (DWORD, "dwMaxLiveVideoStretch"), - (DWORD, "dwMinHwCodecStretch"), - (DWORD, "dwMaxHwCodecStretch"), - (DWORD, "dwReserved1"), - (DWORD, "dwReserved2"), - (DWORD, "dwReserved3"), - (DWORD, "dwSVBCaps"), - (DWORD, "dwSVBCKeyCaps"), - (DWORD, "dwSVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), - (DWORD, "dwVSBCaps"), - (DWORD, "dwVSBCKeyCaps"), - (DWORD, "dwVSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), - (DWORD, "dwSSBCaps"), - (DWORD, "dwSSBCKeyCaps"), - (DWORD, "dwSSBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), - (DWORD, "dwMaxVideoPorts"), - (DWORD, "dwCurrVideoPorts"), - (DWORD, "dwSVBCaps2"), - (DWORD, "dwNLVBCaps"), - (DWORD, "dwNLVBCaps2"), - (DWORD, "dwNLVBCKeyCaps"), - (DWORD, "dwNLVBFXCaps"), - (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"), - (DDSCAPS2, "ddsCaps"), -]) -LPDDCAPS_DX7 = Pointer(DDCAPS_DX7) -DDCAPS = DDCAPS_DX7 -LPDDCAPS = Pointer(DDCAPS) - -DDPIXELFORMAT = Struct("DDPIXELFORMAT", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (DWORD, "dwFourCC"), - (DWORD, "dwRGBBitCount"), - (DWORD, "dwYUVBitCount"), - (DWORD, "dwZBufferBitDepth"), - (DWORD, "dwAlphaBitDepth"), - (DWORD, "dwLuminanceBitCount"), - (DWORD, "dwBumpBitCount"), - (DWORD, "dwPrivateFormatBitCount"), - (DWORD, "dwRBitMask"), - (DWORD, "dwYBitMask"), - (DWORD, "dwStencilBitDepth"), - (DWORD, "dwLuminanceBitMask"), - (DWORD, "dwBumpDuBitMask"), - (DWORD, "dwOperations"), - (DWORD, "dwGBitMask"), - (DWORD, "dwUBitMask"), - (DWORD, "dwZBitMask"), - (DWORD, "dwBumpDvBitMask"), - (WORD, "MultiSampleCaps.wFlipMSTypes"), - (WORD, "MultiSampleCaps.wBltMSTypes"), - (DWORD, "dwBBitMask"), - (DWORD, "dwVBitMask"), - (DWORD, "dwStencilBitMask"), - (DWORD, "dwBumpLuminanceBitMask"), - (DWORD, "dwRGBAlphaBitMask"), - (DWORD, "dwYUVAlphaBitMask"), - (DWORD, "dwLuminanceAlphaBitMask"), - (DWORD, "dwRGBZBitMask"), - (DWORD, "dwYUVZBitMask"), -]) -LPDDPIXELFORMAT = Pointer(DDPIXELFORMAT) - -DDOVERLAYFX = Struct("DDOVERLAYFX", [ - (DWORD, "dwSize"), - (DWORD, "dwAlphaEdgeBlendBitDepth"), - (DWORD, "dwAlphaEdgeBlend"), - (DWORD, "dwReserved"), - (DWORD, "dwAlphaDestConstBitDepth"), - (DWORD, "dwAlphaDestConst"), - (LPDIRECTDRAWSURFACE, "lpDDSAlphaDest"), - (DWORD, "dwAlphaSrcConstBitDepth"), - (DWORD, "dwAlphaSrcConst"), - (LPDIRECTDRAWSURFACE, "lpDDSAlphaSrc"), - (DDCOLORKEY, "dckDestColorkey"), - (DDCOLORKEY, "dckSrcColorkey"), - (DWORD, "dwDDFX"), - (DWORD, "dwFlags"), -]) -LPDDOVERLAYFX = Pointer(DDOVERLAYFX) - -DDBLTBATCH = Struct("DDBLTBATCH", [ - (LPRECT, "lprDest"), - (LPDIRECTDRAWSURFACE, "lpDDSSrc"), - (LPRECT, "lprSrc"), - (DWORD, "dwFlags"), - (LPDDBLTFX, "lpDDBltFx"), -]) -LPDDBLTBATCH = Pointer(DDBLTBATCH) - -DDGAMMARAMP = Struct("DDGAMMARAMP", [ - (Array(WORD, "256"), "red"), - (Array(WORD, "256"), "green"), - (Array(WORD, "256"), "blue"), -]) -LPDDGAMMARAMP = Pointer(DDGAMMARAMP) - -DDDEVICEIDENTIFIER = Struct("DDDEVICEIDENTIFIER", [ - (CString, "szDriver"), - (CString, "szDescription"), - (LARGE_INTEGER, "liDriverVersion"), - (DWORD, "dwVendorId"), - (DWORD, "dwDeviceId"), - (DWORD, "dwSubSysId"), - (DWORD, "dwRevision"), - (GUID, "guidDeviceIdentifier"), -]) -LPDDDEVICEIDENTIFIER = Pointer(DDDEVICEIDENTIFIER) - -DDDEVICEIDENTIFIER2 = Struct("DDDEVICEIDENTIFIER2", [ - (CString, "szDriver"), - (CString, "szDescription"), - (LARGE_INTEGER, "liDriverVersion"), - (DWORD, "dwVendorId"), - (DWORD, "dwDeviceId"), - (DWORD, "dwSubSysId"), - (DWORD, "dwRevision"), - (GUID, "guidDeviceIdentifier"), - (DWORD, "dwWHQLLevel"), -]) -LPDDDEVICEIDENTIFIER2 = Pointer(DDDEVICEIDENTIFIER2) - -LPCLIPPERCALLBACK = FunctionPointer(DWORD, "LPCLIPPERCALLBACK", [(LPDIRECTDRAWCLIPPER, "lpDDClipper"), (HWND, "hWnd"), (DWORD, "code"), (LPVOID, "lpContext")]) -LPSURFACESTREAMINGCALLBACK = FunctionPointer(DWORD, "LPSURFACESTREAMINGCALLBACK", [DWORD]) - -DDSURFACEDESC = Struct("DDSURFACEDESC", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (DWORD, "dwHeight"), - (DWORD, "dwWidth"), - (LONG, "lPitch"), - (DWORD, "dwLinearSize"), - (DWORD, "dwBackBufferCount"), - (DWORD, "dwMipMapCount"), - (DWORD, "dwZBufferBitDepth"), - (DWORD, "dwRefreshRate"), - (DWORD, "dwAlphaBitDepth"), - (DWORD, "dwReserved"), - (LPVOID, "lpSurface"), - (DDCOLORKEY, "ddckCKDestOverlay"), - (DDCOLORKEY, "ddckCKDestBlt"), - (DDCOLORKEY, "ddckCKSrcOverlay"), - (DDCOLORKEY, "ddckCKSrcBlt"), - (DDPIXELFORMAT, "ddpfPixelFormat"), - (DDSCAPS, "ddsCaps"), -]) -LPDDSURFACEDESC = Pointer(DDSURFACEDESC) - -DDSURFACEDESC2 = Struct("DDSURFACEDESC2", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (DWORD, "dwHeight"), - (DWORD, "dwWidth"), - (LONG, "lPitch"), - (DWORD, "dwLinearSize"), - (DWORD, "dwBackBufferCount"), - (DWORD, "dwDepth"), - (DWORD, "dwMipMapCount"), - (DWORD, "dwRefreshRate"), - (DWORD, "dwSrcVBHandle"), - (DWORD, "dwAlphaBitDepth"), - (DWORD, "dwReserved"), - (LPVOID, "lpSurface"), - (DDCOLORKEY, "ddckCKDestOverlay"), - (DWORD, "dwEmptyFaceColor"), - (DDCOLORKEY, "ddckCKDestBlt"), - (DDCOLORKEY, "ddckCKSrcOverlay"), - (DDCOLORKEY, "ddckCKSrcBlt"), - (DDPIXELFORMAT, "ddpfPixelFormat"), - (DWORD, "dwFVF"), - (DDSCAPS2, "ddsCaps"), - (DWORD, "dwTextureStage"), -]) -LPDDSURFACEDESC2 = Pointer(DDSURFACEDESC2) - -DirectDrawSurfaceDescFlags = Flags(DWORD, [ - "DDSD_CAPS", - "DDSD_HEIGHT", - "DDSD_WIDTH", - "DDSD_PITCH", - "DDSD_BACKBUFFERCOUNT", - "DDSD_ZBUFFERBITDEPTH", - "DDSD_ALPHABITDEPTH", - "DDSD_LPSURFACE", - "DDSD_PIXELFORMAT", - "DDSD_CKDESTOVERLAY", - "DDSD_CKDESTBLT", - "DDSD_CKSRCOVERLAY", - "DDSD_CKSRCBLT", - "DDSD_MIPMAPCOUNT", - "DDSD_REFRESHRATE", - "DDSD_LINEARSIZE", - "DDSD_TEXTURESTAGE", - "DDSD_FVF", - "DDSD_SRCVBHANDLE", - "DDSD_DEPTH", - "DDSD_ALL", -]) - -DDOPTSURFACEDESC = Struct("DDOPTSURFACEDESC", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (DDSCAPS2, "ddSCaps"), - (DDOSCAPS, "ddOSCaps"), - (GUID, "guid"), - (DWORD, "dwCompressionRatio"), -]) - -DDSD = Flags(DWORD, [ - "DDOSD_GUID", - "DDOSD_COMPRESSION_RATIO", - "DDOSD_SCAPS", - "DDOSD_OSCAPS", - "DDOSD_ALL", -]) - -DDOSDCAPS = Flags(DWORD, [ - "DDOSDCAPS_OPTCOMPRESSED", - "DDOSDCAPS_OPTREORDERED", - "DDOSDCAPS_MONOLITHICMIPMAP", - "DDOSDCAPS_VALIDSCAPS", - "DDOSDCAPS_VALIDOSCAPS", -]) - -DDCOLORCONTROL = Struct("DDCOLORCONTROL", [ - (DWORD, "dwSize"), - (DWORD, "dwFlags"), - (LONG, "lBrightness"), - (LONG, "lContrast"), - (LONG, "lHue"), - (LONG, "lSaturation"), - (LONG, "lSharpness"), - (LONG, "lGamma"), - (LONG, "lColorEnable"), - (DWORD, "dwReserved1"), -]) -LPDDCOLORCONTROL = Pointer(DDCOLORCONTROL) - -DirectDrawEnumerateExFlags = Flags(DWORD, [ - "DDENUM_ATTACHEDSECONDARYDEVICES", - "DDENUM_DETACHEDSECONDARYDEVICES", - "DDENUM_NONDISPLAYDEVICES", -]) - -DirectDrawCreateFlags = FakeEnum(DWORD, [ - "DDCREATE_HARDWAREONLY", - "DDCREATE_EMULATIONONLY", -]) - -DirectDrawColorControlFlags = Flags(DWORD, [ - "DDCOLOR_BRIGHTNESS", - "DDCOLOR_CONTRAST", - "DDCOLOR_HUE", - "DDCOLOR_SATURATION", - "DDCOLOR_SHARPNESS", - "DDCOLOR_GAMMA", - "DDCOLOR_COLORENABLE", -]) - -DirectDrawCapsFlags = Flags(DWORD, [ - "DDSCAPS_RESERVED1", - "DDSCAPS_ALPHA", - "DDSCAPS_BACKBUFFER", - "DDSCAPS_COMPLEX", - "DDSCAPS_FLIP", - "DDSCAPS_FRONTBUFFER", - "DDSCAPS_OFFSCREENPLAIN", - "DDSCAPS_OVERLAY", - "DDSCAPS_PALETTE", - "DDSCAPS_PRIMARYSURFACE", - "DDSCAPS_RESERVED3", - "DDSCAPS_PRIMARYSURFACELEFT", - "DDSCAPS_SYSTEMMEMORY", - "DDSCAPS_TEXTURE", - "DDSCAPS_3DDEVICE", - "DDSCAPS_VIDEOMEMORY", - "DDSCAPS_VISIBLE", - "DDSCAPS_WRITEONLY", - "DDSCAPS_ZBUFFER", - "DDSCAPS_OWNDC", - "DDSCAPS_LIVEVIDEO", - "DDSCAPS_HWCODEC", - "DDSCAPS_MODEX", - "DDSCAPS_MIPMAP", - "DDSCAPS_RESERVED2", - "DDSCAPS_ALLOCONLOAD", - "DDSCAPS_VIDEOPORT", - "DDSCAPS_LOCALVIDMEM", - "DDSCAPS_NONLOCALVIDMEM", - "DDSCAPS_STANDARDVGAMODE", - "DDSCAPS_OPTIMIZED", -]) - -DirectDrawCapabilityFlags2 = Flags(DWORD, [ - "DDSCAPS2_RESERVED4", - "DDSCAPS2_HARDWAREDEINTERLACE", - "DDSCAPS2_HINTDYNAMIC", - "DDSCAPS2_HINTSTATIC", - "DDSCAPS2_TEXTUREMANAGE", - "DDSCAPS2_RESERVED1", - "DDSCAPS2_RESERVED2", - "DDSCAPS2_OPAQUE", - "DDSCAPS2_HINTANTIALIASING", - "DDSCAPS2_CUBEMAP", - "DDSCAPS2_CUBEMAP_ALLFACES", - "DDSCAPS2_CUBEMAP_POSITIVEX", - "DDSCAPS2_CUBEMAP_NEGATIVEX", - "DDSCAPS2_CUBEMAP_POSITIVEY", - "DDSCAPS2_CUBEMAP_NEGATIVEY", - "DDSCAPS2_CUBEMAP_POSITIVEZ", - "DDSCAPS2_CUBEMAP_NEGATIVEZ", - "DDSCAPS2_MIPMAPSUBLEVEL", - "DDSCAPS2_D3DTEXTUREMANAGE", - "DDSCAPS2_DONOTPERSIST", - "DDSCAPS2_STEREOSURFACELEFT", - "DDSCAPS2_VOLUME", - "DDSCAPS2_NOTUSERLOCKABLE", - "DDSCAPS2_POINTS", - "DDSCAPS2_RTPATCHES", - "DDSCAPS2_NPATCHES", - "DDSCAPS2_RESERVED3", - "DDSCAPS2_DISCARDBACKBUFFER", - "DDSCAPS2_ENABLEALPHACHANNEL", - "DDSCAPS2_EXTENDEDFORMATPRIMARY", - "DDSCAPS2_ADDITIONALPRIMARY", -]) -DDSCAPS3 = Flags(DWORD, [ - "DDSCAPS3_MULTISAMPLE_MASK", - "DDSCAPS3_MULTISAMPLE_QUALITY_MASK", - "DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT", - "DDSCAPS3_RESERVED1", - "DDSCAPS3_RESERVED2", - "DDSCAPS3_LIGHTWEIGHTMIPMAP", - "DDSCAPS3_AUTOGENMIPMAP", - "DDSCAPS3_DMAP", - "DDSCAPS3_CREATESHAREDRESOURCE", - "DDSCAPS3_READONLYRESOURCE", - "DDSCAPS3_OPENSHAREDRESOURCE", -]) - -DirectDrawDriverCapsFlags = Flags(DWORD, [ - "DDCAPS_3D", - "DDCAPS_ALIGNBOUNDARYDEST", - "DDCAPS_ALIGNSIZEDEST", - "DDCAPS_ALIGNBOUNDARYSRC", - "DDCAPS_ALIGNSIZESRC", - "DDCAPS_ALIGNSTRIDE", - "DDCAPS_BLT", - "DDCAPS_BLTQUEUE", - "DDCAPS_BLTFOURCC", - "DDCAPS_BLTSTRETCH", - "DDCAPS_GDI", - "DDCAPS_OVERLAY", - "DDCAPS_OVERLAYCANTCLIP", - "DDCAPS_OVERLAYFOURCC", - "DDCAPS_OVERLAYSTRETCH", - "DDCAPS_PALETTE", - "DDCAPS_PALETTEVSYNC", - "DDCAPS_READSCANLINE", - "DDCAPS_RESERVED1", - "DDCAPS_VBI", - "DDCAPS_ZBLTS", - "DDCAPS_ZOVERLAYS", - "DDCAPS_COLORKEY", - "DDCAPS_ALPHA", - "DDCAPS_COLORKEYHWASSIST", - "DDCAPS_NOHARDWARE", - "DDCAPS_BLTCOLORFILL", - "DDCAPS_BANKSWITCHED", - "DDCAPS_BLTDEPTHFILL", - "DDCAPS_CANCLIP", - "DDCAPS_CANCLIPSTRETCHED", - "DDCAPS_CANBLTSYSMEM", -]) - -DirectDrawDriverCapsFlags2 = Flags(DWORD, [ - "DDCAPS2_CERTIFIED", - "DDCAPS2_NO2DDURING3DSCENE", - "DDCAPS2_VIDEOPORT", - "DDCAPS2_AUTOFLIPOVERLAY", - "DDCAPS2_CANBOBINTERLEAVED", - "DDCAPS2_CANBOBNONINTERLEAVED", - "DDCAPS2_COLORCONTROLOVERLAY", - "DDCAPS2_COLORCONTROLPRIMARY", - "DDCAPS2_CANDROPZ16BIT", - "DDCAPS2_NONLOCALVIDMEM", - "DDCAPS2_NONLOCALVIDMEMCAPS", - "DDCAPS2_NOPAGELOCKREQUIRED", - "DDCAPS2_WIDESURFACES", - "DDCAPS2_CANFLIPODDEVEN", - "DDCAPS2_CANBOBHARDWARE", - "DDCAPS2_COPYFOURCC", - "DDCAPS2_PRIMARYGAMMA", - "DDCAPS2_CANRENDERWINDOWED", - "DDCAPS2_CANCALIBRATEGAMMA", - "DDCAPS2_FLIPINTERVAL", - "DDCAPS2_FLIPNOVSYNC", - "DDCAPS2_CANMANAGETEXTURE", - "DDCAPS2_TEXMANINNONLOCALVIDMEM", - "DDCAPS2_STEREO", - "DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL", - "DDCAPS2_RESERVED1", - "DDCAPS2_CANMANAGERESOURCE", - "DDCAPS2_DYNAMICTEXTURES", - "DDCAPS2_CANAUTOGENMIPMAP", - "DDCAPS2_CANSHARERESOURCE", -]) - -DirectDrawFxAlphaCapsFlags = Flags(DWORD, [ - "DDFXALPHACAPS_BLTALPHAEDGEBLEND", - "DDFXALPHACAPS_BLTALPHAPIXELS", - "DDFXALPHACAPS_BLTALPHAPIXELSNEG", - "DDFXALPHACAPS_BLTALPHASURFACES", - "DDFXALPHACAPS_BLTALPHASURFACESNEG", - "DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND", - "DDFXALPHACAPS_OVERLAYALPHAPIXELS", - "DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG", - "DDFXALPHACAPS_OVERLAYALPHASURFACES", - "DDFXALPHACAPS_OVERLAYALPHASURFACESNEG", -]) - -DirectDrawFxCapsFlags = Flags(DWORD, [ - "DDFXCAPS_BLTARITHSTRETCHY", - "DDFXCAPS_BLTARITHSTRETCHYN", - "DDFXCAPS_BLTMIRRORLEFTRIGHT", - "DDFXCAPS_BLTMIRRORUPDOWN", - "DDFXCAPS_BLTROTATION", - "DDFXCAPS_BLTROTATION90", - "DDFXCAPS_BLTSHRINKX", - "DDFXCAPS_BLTSHRINKXN", - "DDFXCAPS_BLTSHRINKY", - "DDFXCAPS_BLTSHRINKYN", - "DDFXCAPS_BLTSTRETCHX", - "DDFXCAPS_BLTSTRETCHXN", - "DDFXCAPS_BLTSTRETCHY", - "DDFXCAPS_BLTSTRETCHYN", - "DDFXCAPS_OVERLAYARITHSTRETCHY", - "DDFXCAPS_OVERLAYARITHSTRETCHYN", - "DDFXCAPS_OVERLAYSHRINKX", - "DDFXCAPS_OVERLAYSHRINKXN", - "DDFXCAPS_OVERLAYSHRINKY", - "DDFXCAPS_OVERLAYSHRINKYN", - "DDFXCAPS_OVERLAYSTRETCHX", - "DDFXCAPS_OVERLAYSTRETCHXN", - "DDFXCAPS_OVERLAYSTRETCHY", - "DDFXCAPS_OVERLAYSTRETCHYN", - "DDFXCAPS_OVERLAYMIRRORLEFTRIGHT", - "DDFXCAPS_OVERLAYMIRRORUPDOWN", - "DDFXCAPS_OVERLAYDEINTERLACE", - "DDFXCAPS_BLTALPHA", - "DDFXCAPS_BLTFILTER", - "DDFXCAPS_OVERLAYALPHA", - "DDFXCAPS_OVERLAYFILTER", -]) - -DirectDrawStereoViewCapsFlags = Flags(DWORD, [ - "DDSVCAPS_RESERVED1", - "DDSVCAPS_RESERVED2", - "DDSVCAPS_RESERVED3", - "DDSVCAPS_RESERVED4", - "DDSVCAPS_STEREOSEQUENTIAL", -]) - -DirectDrawPaletteCapsFlags = Flags(DWORD, [ - "DDPCAPS_4BIT", - "DDPCAPS_8BITENTRIES", - "DDPCAPS_8BIT", - "DDPCAPS_INITIALIZE", - "DDPCAPS_PRIMARYSURFACE", - "DDPCAPS_PRIMARYSURFACELEFT", - "DDPCAPS_ALLOW256", - "DDPCAPS_VSYNC", - "DDPCAPS_1BIT", - "DDPCAPS_2BIT", - "DDPCAPS_ALPHA", -]) - -DirectDrawSurfaceSetPrivateDataConstants = FakeEnum(DWORD, [ - "DDSPD_IUNKNOWNPOINTER", - "DDSPD_VOLATILE", -]) - -DirectDrawSurfaceSetPaletteConstants = FakeEnum(DWORD, [ - "DDBD_1", - "DDBD_2", - "DDBD_4", - "DDBD_8", - "DDBD_16", - "DDBD_24", - "DDBD_32", -]) - -DirectDrawSurfaceSetGetColorKeyFlags = Flags(DWORD, [ - "DDCKEY_COLORSPACE", - "DDCKEY_DESTBLT", - "DDCKEY_DESTOVERLAY", - "DDCKEY_SRCBLT", - "DDCKEY_SRCOVERLAY", -]) - -DirectDrawColorKeyCapsFlags = Flags(DWORD, [ - "DDCKEYCAPS_DESTBLT", - "DDCKEYCAPS_DESTBLTCLRSPACE", - "DDCKEYCAPS_DESTBLTCLRSPACEYUV", - "DDCKEYCAPS_DESTBLTYUV", - "DDCKEYCAPS_DESTOVERLAY", - "DDCKEYCAPS_DESTOVERLAYCLRSPACE", - "DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV", - "DDCKEYCAPS_DESTOVERLAYONEACTIVE", - "DDCKEYCAPS_DESTOVERLAYYUV", - "DDCKEYCAPS_SRCBLT", - "DDCKEYCAPS_SRCBLTCLRSPACE", - "DDCKEYCAPS_SRCBLTCLRSPACEYUV", - "DDCKEYCAPS_SRCBLTYUV", - "DDCKEYCAPS_SRCOVERLAY", - "DDCKEYCAPS_SRCOVERLAYCLRSPACE", - "DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV", - "DDCKEYCAPS_SRCOVERLAYONEACTIVE", - "DDCKEYCAPS_SRCOVERLAYYUV", - "DDCKEYCAPS_NOCOSTOVERLAY", -]) - -DirectDrawPixelFormatFlags = Flags(DWORD, [ - "DDPF_ALPHAPIXELS", - "DDPF_ALPHA", - "DDPF_FOURCC", - "DDPF_PALETTEINDEXED4", - "DDPF_PALETTEINDEXEDTO8", - "DDPF_PALETTEINDEXED8", - "DDPF_RGB", - "DDPF_COMPRESSED", - "DDPF_RGBTOYUV", - "DDPF_YUV", - "DDPF_ZBUFFER", - "DDPF_PALETTEINDEXED1", - "DDPF_PALETTEINDEXED2", - "DDPF_ZPIXELS", - "DDPF_STENCILBUFFER", - "DDPF_ALPHAPREMULT", - "DDPF_LUMINANCE", - "DDPF_BUMPLUMINANCE", - "DDPF_BUMPDUDV", -]) - -DirectDrawEnumSurfacesFlags = Flags(DWORD, [ - "DDENUMSURFACES_ALL", - "DDENUMSURFACES_MATCH", - "DDENUMSURFACES_NOMATCH", - "DDENUMSURFACES_CANBECREATED", - "DDENUMSURFACES_DOESEXIST", -]) - -DirectDrawSetDisplayModeFlags = Flags(DWORD, [ - "DDSDM_STANDARDVGAMODE", -]) - -DirectDrawEnumDisplayModesFlags = Flags(DWORD, [ - "DDEDM_REFRESHRATES", - "DDEDM_STANDARDVGAMODES", -]) - -DirectDrawSetCooperativeLevelFlags = Flags(DWORD, [ - "DDSCL_FULLSCREEN", - "DDSCL_ALLOWREBOOT", - "DDSCL_NOWINDOWCHANGES", - "DDSCL_NORMAL", - "DDSCL_EXCLUSIVE", - "DDSCL_ALLOWMODEX", - "DDSCL_SETFOCUSWINDOW", - "DDSCL_SETDEVICEWINDOW", - "DDSCL_CREATEDEVICEWINDOW", - "DDSCL_MULTITHREADED", - "DDSCL_FPUSETUP", - "DDSCL_FPUPRESERVE", -]) - -DirectDrawBltFlags = Flags(DWORD, [ - "DDBLT_ALPHADEST", - "DDBLT_ALPHADESTCONSTOVERRIDE", - "DDBLT_ALPHADESTNEG", - "DDBLT_ALPHADESTSURFACEOVERRIDE", - "DDBLT_ALPHAEDGEBLEND", - "DDBLT_ALPHASRC", - "DDBLT_ALPHASRCCONSTOVERRIDE", - "DDBLT_ALPHASRCNEG", - "DDBLT_ALPHASRCSURFACEOVERRIDE", - "DDBLT_ASYNC", - "DDBLT_COLORFILL", - "DDBLT_DDFX", - "DDBLT_DDROPS", - "DDBLT_KEYDEST", - "DDBLT_KEYDESTOVERRIDE", - "DDBLT_KEYSRC", - "DDBLT_KEYSRCOVERRIDE", - "DDBLT_ROP", - "DDBLT_ROTATIONANGLE", - "DDBLT_ZBUFFER", - "DDBLT_ZBUFFERDESTCONSTOVERRIDE", - "DDBLT_ZBUFFERDESTOVERRIDE", - "DDBLT_ZBUFFERSRCCONSTOVERRIDE", - "DDBLT_ZBUFFERSRCOVERRIDE", - "DDBLT_WAIT", - "DDBLT_DEPTHFILL", - "DDBLT_DONOTWAIT", - "DDBLT_PRESENTATION", - "DDBLT_LAST_PRESENTATION", - "DDBLT_EXTENDED_FLAGS", - "DDBLT_EXTENDED_LINEAR_CONTENT", -]) - -DirectDrawBltFastFlags = Flags(DWORD, [ - "DDBLTFAST_NOCOLORKEY", - "DDBLTFAST_SRCCOLORKEY", - "DDBLTFAST_DESTCOLORKEY", - "DDBLTFAST_WAIT", - "DDBLTFAST_DONOTWAIT", -]) - -DirectDrawFlipFlags = Flags(DWORD, [ - "DDFLIP_WAIT", - "DDFLIP_EVEN", - "DDFLIP_ODD", - "DDFLIP_NOVSYNC", - "DDFLIP_INTERVAL2", - "DDFLIP_INTERVAL3", - "DDFLIP_INTERVAL4", - "DDFLIP_STEREO", - "DDFLIP_DONOTWAIT", -]) - -DirectDrawSurfaceOverlayFlags = Flags(DWORD, [ - "DDOVER_ALPHADEST", - "DDOVER_ALPHADESTCONSTOVERRIDE", - "DDOVER_ALPHADESTNEG", - "DDOVER_ALPHADESTSURFACEOVERRIDE", - "DDOVER_ALPHAEDGEBLEND", - "DDOVER_ALPHASRC", - "DDOVER_ALPHASRCCONSTOVERRIDE", - "DDOVER_ALPHASRCNEG", - "DDOVER_ALPHASRCSURFACEOVERRIDE", - "DDOVER_HIDE", - "DDOVER_KEYDEST", - "DDOVER_KEYDESTOVERRIDE", - "DDOVER_KEYSRC", - "DDOVER_KEYSRCOVERRIDE", - "DDOVER_SHOW", - "DDOVER_ADDDIRTYRECT", - "DDOVER_REFRESHDIRTYRECTS", - "DDOVER_REFRESHALL", - "DDOVER_DDFX", - "DDOVER_AUTOFLIP", - "DDOVER_BOB", - "DDOVER_OVERRIDEBOBWEAVE", - "DDOVER_INTERLEAVED", - "DDOVER_BOBHARDWARE", - "DDOVER_ARGBSCALEFACTORS", - "DDOVER_DEGRADEARGBSCALING", -]) - -DDSETSURFACEDESC = Flags(DWORD, [ - #"DDSETSURFACEDESC_RECREATEDC", - #"DDSETSURFACEDESC_PRESERVEDC", -]) - -DirectDrawSurfaceLockFlags = Flags(DWORD, [ - "DDLOCK_SURFACEMEMORYPTR", - "DDLOCK_WAIT", - "DDLOCK_EVENT", - "DDLOCK_READONLY", - "DDLOCK_WRITEONLY", - "DDLOCK_NOSYSLOCK", - "DDLOCK_NOOVERWRITE", - "DDLOCK_DISCARDCONTENTS", - "DDLOCK_OKTOSWAP", - "DDLOCK_DONOTWAIT", - "DDLOCK_HASVOLUMETEXTUREBOXRECT", - "DDLOCK_NODIRTYUPDATE", -]) - -DirectDrawSurfaceBltFxFlags = Flags(DWORD, [ - "DDBLTFX_ARITHSTRETCHY", - "DDBLTFX_MIRRORLEFTRIGHT", - "DDBLTFX_MIRRORUPDOWN", - "DDBLTFX_NOTEARING", - "DDBLTFX_ROTATE180", - "DDBLTFX_ROTATE270", - "DDBLTFX_ROTATE90", - "DDBLTFX_ZBUFFERRANGE", - "DDBLTFX_ZBUFFERBASEDEST", -]) - -DirectDrawOverlayFxFlags = Flags(DWORD, [ - "DDOVERFX_ARITHSTRETCHY", - "DDOVERFX_MIRRORLEFTRIGHT", - "DDOVERFX_MIRRORUPDOWN", - "DDOVERFX_DEINTERLACE", -]) - -DirectDrawWaitForVerticalBlankFlags = Flags(DWORD, [ - "DDWAITVB_BLOCKBEGIN", - "DDWAITVB_BLOCKBEGINEVENT", - "DDWAITVB_BLOCKEND", -]) - -DirectDrawGetFlipStatusFlags = Flags(DWORD, [ - "DDGFS_CANFLIP", - "DDGFS_ISFLIPDONE", -]) - -DirectDrawGetBltStatusFlags = Flags(DWORD, [ - "DDGBS_CANBLT", - "DDGBS_ISBLTDONE", -]) - -DirectDrawEnumOverlayZOrderFlags = Flags(DWORD, [ - "DDENUMOVERLAYZ_BACKTOFRONT", - "DDENUMOVERLAYZ_FRONTTOBACK", -]) - -DirectDrawUpdateOverlayZOrderFlags = Flags(DWORD, [ - "DDOVERZ_SENDTOFRONT", - "DDOVERZ_SENDTOBACK", - "DDOVERZ_MOVEFORWARD", - "DDOVERZ_MOVEBACKWARD", - "DDOVERZ_INSERTINFRONTOF", - "DDOVERZ_INSERTINBACKOF", -]) - -DirectDrawSetGammaRampFlags = Flags(DWORD, [ - "DDSGR_CALIBRATE", -]) - -DirectDrawStartModeTestFlags = Flags(DWORD, [ - "DDSMT_ISTESTREQUIRED", -]) - -DirectDrawEvaluateModeFlags = Flags(DWORD, [ - "DDEM_MODEPASSED", - "DDEM_MODEFAILED", -]) - -DDRESULT = FakeEnum(HRESULT, [ - "DD_OK", - "DD_FALSE", - "DDERR_ALREADYINITIALIZED", - "DDERR_CANNOTATTACHSURFACE", - "DDERR_CANNOTDETACHSURFACE", - "DDERR_CURRENTLYNOTAVAIL", - "DDERR_EXCEPTION", - "DDERR_GENERIC", - "DDERR_HEIGHTALIGN", - "DDERR_INCOMPATIBLEPRIMARY", - "DDERR_INVALIDCAPS", - "DDERR_INVALIDCLIPLIST", - "DDERR_INVALIDMODE", - "DDERR_INVALIDOBJECT", - "DDERR_INVALIDPARAMS", - "DDERR_INVALIDPIXELFORMAT", - "DDERR_INVALIDRECT", - "DDERR_LOCKEDSURFACES", - "DDERR_NO3D", - "DDERR_NOALPHAHW", - "DDERR_NOSTEREOHARDWARE", - "DDERR_NOSURFACELEFT", - "DDERR_NOCLIPLIST", - "DDERR_NOCOLORCONVHW", - "DDERR_NOCOOPERATIVELEVELSET", - "DDERR_NOCOLORKEY", - "DDERR_NOCOLORKEYHW", - "DDERR_NODIRECTDRAWSUPPORT", - "DDERR_NOEXCLUSIVEMODE", - "DDERR_NOFLIPHW", - "DDERR_NOGDI", - "DDERR_NOMIRRORHW", - "DDERR_NOTFOUND", - "DDERR_NOOVERLAYHW", - "DDERR_OVERLAPPINGRECTS", - "DDERR_NORASTEROPHW", - "DDERR_NOROTATIONHW", - "DDERR_NOSTRETCHHW", - "DDERR_NOT4BITCOLOR", - "DDERR_NOT4BITCOLORINDEX", - "DDERR_NOT8BITCOLOR", - "DDERR_NOTEXTUREHW", - "DDERR_NOVSYNCHW", - "DDERR_NOZBUFFERHW", - "DDERR_NOZOVERLAYHW", - "DDERR_OUTOFCAPS", - "DDERR_OUTOFMEMORY", - "DDERR_OUTOFVIDEOMEMORY", - "DDERR_OVERLAYCANTCLIP", - "DDERR_OVERLAYCOLORKEYONLYONEACTIVE", - "DDERR_PALETTEBUSY", - "DDERR_COLORKEYNOTSET", - "DDERR_SURFACEALREADYATTACHED", - "DDERR_SURFACEALREADYDEPENDENT", - "DDERR_SURFACEBUSY", - "DDERR_CANTLOCKSURFACE", - "DDERR_SURFACEISOBSCURED", - "DDERR_SURFACELOST", - "DDERR_SURFACENOTATTACHED", - "DDERR_TOOBIGHEIGHT", - "DDERR_TOOBIGSIZE", - "DDERR_TOOBIGWIDTH", - "DDERR_UNSUPPORTED", - "DDERR_UNSUPPORTEDFORMAT", - "DDERR_UNSUPPORTEDMASK", - "DDERR_INVALIDSTREAM", - "DDERR_VERTICALBLANKINPROGRESS", - "DDERR_WASSTILLDRAWING", - "DDERR_DDSCAPSCOMPLEXREQUIRED", - "DDERR_XALIGN", - "DDERR_INVALIDDIRECTDRAWGUID", - "DDERR_DIRECTDRAWALREADYCREATED", - "DDERR_NODIRECTDRAWHW", - "DDERR_PRIMARYSURFACEALREADYEXISTS", - "DDERR_NOEMULATION", - "DDERR_REGIONTOOSMALL", - "DDERR_CLIPPERISUSINGHWND", - "DDERR_NOCLIPPERATTACHED", - "DDERR_NOHWND", - "DDERR_HWNDSUBCLASSED", - "DDERR_HWNDALREADYSET", - "DDERR_NOPALETTEATTACHED", - "DDERR_NOPALETTEHW", - "DDERR_BLTFASTCANTCLIP", - "DDERR_NOBLTHW", - "DDERR_NODDROPSHW", - "DDERR_OVERLAYNOTVISIBLE", - "DDERR_NOOVERLAYDEST", - "DDERR_INVALIDPOSITION", - "DDERR_NOTAOVERLAYSURFACE", - "DDERR_EXCLUSIVEMODEALREADYSET", - "DDERR_NOTFLIPPABLE", - "DDERR_CANTDUPLICATE", - "DDERR_NOTLOCKED", - "DDERR_CANTCREATEDC", - "DDERR_NODC", - "DDERR_WRONGMODE", - "DDERR_IMPLICITLYCREATED", - "DDERR_NOTPALETTIZED", - "DDERR_UNSUPPORTEDMODE", - "DDERR_NOMIPMAPHW", - "DDERR_INVALIDSURFACETYPE", - "DDERR_NOOPTIMIZEHW", - "DDERR_NOTLOADED", - "DDERR_NOFOCUSWINDOW", - "DDERR_NOTONMIPMAPSUBLEVEL", - "DDERR_DCALREADYCREATED", - "DDERR_NONONLOCALVIDMEM", - "DDERR_CANTPAGELOCK", - "DDERR_CANTPAGEUNLOCK", - "DDERR_NOTPAGELOCKED", - "DDERR_MOREDATA", - "DDERR_EXPIRED", - "DDERR_TESTFINISHED", - "DDERR_NEWMODE", - "DDERR_D3DNOTINITIALIZED", - "DDERR_VIDEONOTACTIVE", - "DDERR_NOMONITORINFORMATION", - "DDERR_NODRIVERSUPPORT", - "DDERR_DEVICEDOESNTOWNSURFACE", - "DDERR_NOTINITIALIZED", -]) - -LPDDENUMMODESCALLBACK = FunctionPointer(HRESULT, "LPDDENUMMODESCALLBACK", [LPDDSURFACEDESC, LPVOID]) -LPDDENUMMODESCALLBACK2 = FunctionPointer(HRESULT, "LPDDENUMMODESCALLBACK2", [LPDDSURFACEDESC2, LPVOID]) -LPDDENUMSURFACESCALLBACK = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK", [LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID]) -LPDDENUMSURFACESCALLBACK2 = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK2", [LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID]) -LPDDENUMSURFACESCALLBACK7 = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK7", [LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2, LPVOID]) - -IDirectDraw.methods += [ - Method(DDRESULT, "Compact", []), - Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDupDDSurface")]), - Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK, "lpEnumModesCallback")]), - Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "FlipToGDISurface", []), - Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), - Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), - Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpGDIDDSSurface")]), - Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), - Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), - Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), - Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), - Method(DDRESULT, "RestoreDisplayMode", []), - Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), - Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP")]), - Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), -] - -IDirectDraw2.methods += [ - Method(DDRESULT, "Compact", []), - Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDupDDSurface")]), - Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK, "lpEnumModesCallback")]), - Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "FlipToGDISurface", []), - Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), - Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), - Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpGDIDDSSurface")]), - Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), - Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), - Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), - Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), - Method(DDRESULT, "RestoreDisplayMode", []), - Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), - Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP"), (DWORD, "dwRefreshRate"), (DirectDrawSetDisplayModeFlags, "dwFlags")]), - Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "GetAvailableVidMem", [(LPDDSCAPS, "lpDDSCaps"), Out(LPDWORD, "lpdwTotal"), Out(LPDWORD, "lpdwFree")]), -] - -IDirectDraw4.methods += [ - Method(DDRESULT, "Compact", []), - Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC2, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE4, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDupDDSurface")]), - Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK2, "lpEnumModesCallback")]), - Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK2, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "FlipToGDISurface", []), - Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), - Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), - Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), - Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpGDIDDSSurface")]), - Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), - Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), - Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), - Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), - Method(DDRESULT, "RestoreDisplayMode", []), - Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), - Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP"), (DWORD, "dwRefreshRate"), (DirectDrawSetDisplayModeFlags, "dwFlags")]), - Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "GetAvailableVidMem", [(LPDDSCAPS2, "lpDDSCaps"), Out(LPDWORD, "lpdwTotal"), Out(LPDWORD, "lpdwFree")]), - Method(DDRESULT, "GetSurfaceFromDC", [(HDC, "hdc"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lpDDSurface")]), - Method(DDRESULT, "RestoreAllSurfaces", []), - Method(DDRESULT, "TestCooperativeLevel", []), - Method(DDRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER, "lpDDDI"), (DirectDrawGetDeviceIdentifierFlags, "dwFlags")]), -] - -IDirectDraw7.methods += [ - Method(DDRESULT, "Compact", []), - Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC2, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), - Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE7, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDupDDSurface")]), - Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK2, "lpEnumModesCallback")]), - Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK7, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "FlipToGDISurface", []), - Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), - Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), - Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), - Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpGDIDDSSurface")]), - Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), - Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), - Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), - Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), - Method(DDRESULT, "RestoreDisplayMode", []), - Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), - Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP"), (DWORD, "dwRefreshRate"), (DirectDrawSetDisplayModeFlags, "dwFlags")]), - Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "GetAvailableVidMem", [(LPDDSCAPS2, "lpDDSCaps"), Out(LPDWORD, "lpdwTotal"), Out(LPDWORD, "lpdwFree")]), - Method(DDRESULT, "GetSurfaceFromDC", [(HDC, "hdc"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lpDDSurface")]), - Method(DDRESULT, "RestoreAllSurfaces", []), - Method(DDRESULT, "TestCooperativeLevel", []), - Method(DDRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER2, "lpDDDI"), (DirectDrawGetDeviceIdentifierFlags, "dwFlags")]), - Method(DDRESULT, "StartModeTest", [(LPSIZE, "lpModesToTest"), (DWORD, "dwNumEntries"), (DirectDrawStartModeTestFlags, "dwFlags")]), - Method(DDRESULT, "EvaluateMode", [(DirectDrawEvaluateModeFlags, "dwFlags"), Out(Pointer(DWORD), "pSecondsUntilTimeout")]), -] - -IDirectDrawPalette.methods += [ - Method(DDRESULT, "GetCaps", [Out(Pointer(DirectDrawPaletteCapsFlags), "lpdwCaps")]), - Method(DDRESULT, "GetEntries", [(DWORD, "dwFlags"), (DWORD, "dwBase"), (DWORD, "dwNumEntries"), Out(LPPALETTEENTRY, "lpEntries")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (DWORD, "dwFlags"), (LPPALETTEENTRY, "lpDDColorTable")]), - Method(DDRESULT, "SetEntries", [(DWORD, "dwFlags"), (DWORD, "dwStartingEntry"), (DWORD, "dwCount"), (LPPALETTEENTRY, "lpEntries")]), -] - -IDirectDrawClipper.methods += [ - Method(DDRESULT, "GetClipList", [(LPRECT, "lpRect"), (LPRGNDATA, "lpClipList"), Out(LPDWORD, "lpdwSize")]), - Method(DDRESULT, "GetHWnd", [Out(Pointer(HWND), "hWnd")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (DWORD, "dwFlags")]), - Method(DDRESULT, "IsClipListChanged", [Out(Pointer(BOOL), "lpbChanged")]), - Method(DDRESULT, "SetClipList", [(LPRGNDATA, "lpClipList"), (DWORD, "dwFlags")]), - Method(DDRESULT, "SetHWnd", [(DWORD, "dwFlags"), (HWND, "hWnd")]), -] - - -IDirectDrawSurface.methods += [ - Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE, "lpDDSAttachedSurface")]), - Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), - Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), - Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), - Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), - Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE, "lpDDSurface")]), - Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpfnCallback")]), - Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), - Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDAttachedSurface")]), - Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), - Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS, "lpDDSCaps")]), - Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), - Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), - Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), - Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), - Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), - Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), - Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "IsLost", []), - Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), - Method(DDRESULT, "Restore", []), - Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), - Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), - Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), - Method(DDRESULT, "Unlock", [(LPVOID, "lp")]), - Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), - Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), - Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE, "lpDDSReference")]), -] - -IDirectDrawSurface2.methods += [ - Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE2, "lpDDSAttachedSurface")]), - Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), - Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE2, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), - Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), - Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE2, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), - Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE2, "lpDDSurface")]), - Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpfnCallback")]), - Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE2, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), - Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE2), "lplpDDAttachedSurface")]), - Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), - Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS, "lpDDSCaps")]), - Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), - Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), - Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), - Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), - Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), - Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), - Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "IsLost", []), - Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), - Method(DDRESULT, "Restore", []), - Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), - Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), - Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), - Method(DDRESULT, "Unlock", [(LPVOID, "lp")]), - Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE2, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), - Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), - Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE2, "lpDDSReference")]), - Method(DDRESULT, "GetDDInterface", [Out(Pointer(IUnknown), "lplpDD")]), - Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), -] - -IDirectDrawSurface3.methods += [ - Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE3, "lpDDSAttachedSurface")]), - Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), - Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE3, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), - Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), - Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE3, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), - Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE3, "lpDDSurface")]), - Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpfnCallback")]), - Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE3, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), - Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE3), "lplpDDAttachedSurface")]), - Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), - Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS, "lpDDSCaps")]), - Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), - Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), - Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), - Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), - Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), - Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), - Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC, "lpDDSurfaceDesc")]), - Method(DDRESULT, "IsLost", []), - Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), - Method(DDRESULT, "Restore", []), - Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), - Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), - Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), - Method(DDRESULT, "Unlock", [(LPVOID, "lp")]), - Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE3, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), - Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), - Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE3, "lpDDSReference")]), - Method(DDRESULT, "GetDDInterface", [Out(Pointer(IUnknown), "lplpDD")]), - Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "SetSurfaceDesc", [(LPDDSURFACEDESC, "lpDDSD"), (DWORD, "dwFlags")]), -] - -IDirectDrawSurface4.methods += [ - Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE4, "lpDDSAttachedSurface")]), - Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), - Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE4, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), - Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), - Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE4, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), - Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE4, "lpDDSurface")]), - Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK2, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK2, "lpfnCallback")]), - Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE4, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), - Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS2, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDAttachedSurface")]), - Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), - Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS2, "lpDDSCaps")]), - Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), - Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), - Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), - Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), - Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), - Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), - Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), - Method(DDRESULT, "IsLost", []), - Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), - Method(DDRESULT, "Restore", []), - Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), - Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), - Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), - Method(DDRESULT, "Unlock", [(LPRECT, "lpRect")]), - Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE4, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), - Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), - Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE4, "lpDDSReference")]), - Method(DDRESULT, "GetDDInterface", [Out(Pointer(LPVOID), "lplpDD")]), - Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "SetSurfaceDesc", [(LPDDSURFACEDESC2, "lpDDSD"), (DWORD, "dwFlags")]), - Method(DDRESULT, "SetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), (DWORD, "cbSize"), (DWORD, "dwFlags")]), - Method(DDRESULT, "GetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), Out(LPDWORD, "lpcbBufferSize")]), - Method(DDRESULT, "FreePrivateData", [(REFGUID, "guidTag")]), - Method(DDRESULT, "GetUniquenessValue", [Out(LPDWORD, "lpValue")]), - Method(DDRESULT, "ChangeUniquenessValue", []), -] - -IDirectDrawSurface7.methods += [ - Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE7, "lpDDSAttachedSurface")]), - Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), - Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE7, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), - Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), - Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE7, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), - Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE7, "lpDDSurface")]), - Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK7, "lpEnumSurfacesCallback")]), - Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK7, "lpfnCallback")]), - Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE7, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), - Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS2, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDDAttachedSurface")]), - Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), - Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS2, "lpDDSCaps")]), - Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), - Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), - Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), - Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), - Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), - Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), - Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), - Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), - Method(DDRESULT, "IsLost", []), - Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), - Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), - Method(DDRESULT, "Restore", []), - Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), - Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), - Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), - Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), - Method(DDRESULT, "Unlock", [(LPRECT, "lpRect")]), - Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE7, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), - Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), - Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE7, "lpDDSReference")]), - Method(DDRESULT, "GetDDInterface", [Out(Pointer(LPVOID), "lplpDD")]), - Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), - Method(DDRESULT, "SetSurfaceDesc", [(LPDDSURFACEDESC2, "lpDDSD"), (DWORD, "dwFlags")]), - Method(DDRESULT, "SetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), (DWORD, "cbSize"), (DWORD, "dwFlags")]), - Method(DDRESULT, "GetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), Out(LPDWORD, "lpcbBufferSize")]), - Method(DDRESULT, "FreePrivateData", [(REFGUID, "guidTag")]), - Method(DDRESULT, "GetUniquenessValue", [Out(LPDWORD, "lpValue")]), - Method(DDRESULT, "ChangeUniquenessValue", []), - Method(DDRESULT, "SetPriority", [(DWORD, "dwPriority")]), - Method(DDRESULT, "GetPriority", [Out(LPDWORD, "lpdwPriority")]), - Method(DDRESULT, "SetLOD", [(DWORD, "dwMaxLOD")]), - Method(DDRESULT, "GetLOD", [Out(LPDWORD, "lpdwMaxLOD")]), -] - -IDirectDrawColorControl.methods += [ - Method(DDRESULT, "GetColorControls", [(LPDDCOLORCONTROL, "lpColorControl")]), - Method(DDRESULT, "SetColorControls", [(LPDDCOLORCONTROL, "lpColorControl")]), -] - -IDirectDrawGammaControl.methods += [ - Method(DDRESULT, "GetGammaRamp", [(DWORD, "dwFlags"), Out(LPDDGAMMARAMP, "lpRampData")]), - Method(DDRESULT, "SetGammaRamp", [(DirectDrawSetGammaRampFlags, "dwFlags"), (LPDDGAMMARAMP, "lpRampData")]), -] - -LPDDENUMCALLBACKA = FunctionPointer(BOOL, "LPDDENUMCALLBACKA", [Pointer(GUID), LPSTR, LPSTR, LPVOID]) -LPDDENUMCALLBACKW = FunctionPointer(BOOL, "LPDDENUMCALLBACKW", [Pointer(GUID), LPWSTR, LPWSTR, LPVOID]) -LPDDENUMCALLBACKEXA = FunctionPointer(BOOL, "LPDDENUMCALLBACKEXA", [Pointer(GUID), LPSTR, LPSTR, LPVOID, HMONITOR]) -LPDDENUMCALLBACKEXW = FunctionPointer(BOOL, "LPDDENUMCALLBACKEXW", [Pointer(GUID), LPWSTR, LPWSTR, LPVOID, HMONITOR]) - -DDENUM = Flags(DWORD, [ - "DDENUM_ATTACHEDSECONDARYDEVICES", - "DDENUM_DETACHEDSECONDARYDEVICES", - "DDENUM_NONDISPLAYDEVICES", -]) - -DDCREATE = Flags(DWORD, [ - "DDCREATE_HARDWAREONLY", - "DDCREATE_EMULATIONONLY", -]) - -ddraw = API("ddraw") -ddraw.add_functions([ - StdFunction(HRESULT, "DirectDrawEnumerateW", [(LPDDENUMCALLBACKW, "lpCallback"), (LPVOID, "lpContext")]), - StdFunction(HRESULT, "DirectDrawEnumerateA", [(LPDDENUMCALLBACKA, "lpCallback"), (LPVOID, "lpContext")]), - StdFunction(HRESULT, "DirectDrawEnumerateExW", [(LPDDENUMCALLBACKEXW, "lpCallback"), (LPVOID, "lpContext"), (DDENUM, "dwFlags")]), - StdFunction(HRESULT, "DirectDrawEnumerateExA", [(LPDDENUMCALLBACKEXA, "lpCallback"), (LPVOID, "lpContext"), (DDENUM, "dwFlags")]), - StdFunction(HRESULT, "DirectDrawCreate", [(Pointer(GUID), "lpGUID"), Out(Pointer(LPDIRECTDRAW), "lplpDD"), (Pointer(IUnknown), "pUnkOuter")]), - StdFunction(HRESULT, "DirectDrawCreateEx", [(Pointer(GUID), "lpGuid"), Out(Pointer(LPVOID), "lplpDD"), (REFIID, "iid"), (Pointer(IUnknown), "pUnkOuter")]), - StdFunction(HRESULT, "DirectDrawCreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), - StdFunction(Void, "AcquireDDThreadLock", []), - StdFunction(Void, "ReleaseDDThreadLock", []), - StdFunction(DWORD, "D3DParseUnknownCommand", [(LPVOID, "lpCmd"), Out(Pointer(LPVOID), "lpRetCmd")]), - StdFunction(HRESULT, "DllCanUnloadNow", []), - StdFunction(HRESULT, "DllGetClassObject", [(REFCLSID, "rclsid"), (REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppv")]), - - # XXX - StdFunction(HRESULT, "CompleteCreateSysmemSurface", [Int, Int]), - StdFunction(HRESULT, "GetSurfaceFromDC", [Int, Int, Int]), - StdFunction(HRESULT, "DDInternalLock", [Int, Int]), - StdFunction(HRESULT, "DDInternalUnlock", [Int]), - StdFunction(HRESULT, "DSoundHelp", [HWND, Int, Int]), - StdFunction(HRESULT, "GetDDSurfaceLocal", [Int, Int, Int]), - StdFunction(HANDLE, "GetOLEThunkData", [Int]), - StdFunction(HRESULT, "RegisterSpecialCase", [Int, Int, Int, Int]), - StdFunction(HRESULT, "DDGetAttachedSurfaceLcl", [Int, Int, Int]), - - # TODO: SetAppCompatData -]) - diff --git a/ddrawtrace.py b/ddrawtrace.py index 0b53f0d..fb8f2a5 100644 --- a/ddrawtrace.py +++ b/ddrawtrace.py @@ -24,7 +24,7 @@ ##########################################################################/ -from d3d import ddraw, interfaces +from specs.d3d import ddraw, interfaces from trace import DllTracer diff --git a/debug.py b/debug.py deleted file mode 100644 index 0a00474..0000000 --- a/debug.py +++ /dev/null @@ -1,61 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -'''Debugging utilities.''' - - -import sys -import traceback -import inspect - - -def excepthook(type, value, tb): - """ - Automatically start the debugger on an exception. - - See also: - - http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65287 - """ - - if hasattr(sys, 'ps1') \ - or not (sys.stdin.isatty() and sys.stdout.isatty() and sys.stderr.isatty()) \ - or type == SyntaxError or type == KeyboardInterrupt: - # we are in interactive mode or we don't have a tty-like - # device, so we call the default hook - oldexcepthook(type, value, tb) - else: - import traceback, pdb - # we are NOT in interactive mode, print the exception... - traceback.print_exception(type, value, tb) - print - # ...then start the debugger in post-mortem mode. - pdb.pm() - -oldexcepthook, sys.excepthook = sys.excepthook, excepthook - - -def dump(var): - sys.stderr.write(repr(var) + '\n') - diff --git a/dispatch.py b/dispatch.py index 701e820..2d9d6ec 100644 --- a/dispatch.py +++ b/dispatch.py @@ -28,7 +28,7 @@ """ -import stdapi +import specs.stdapi as stdapi def function_pointer_type(function): diff --git a/dxgi.py b/dxgi.py deleted file mode 100644 index e77c0b5..0000000 --- a/dxgi.py +++ /dev/null @@ -1,183 +0,0 @@ -########################################################################## -# -# Copyright 2011 Jose Fonseca -# 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 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. -# -##########################################################################/ - -from dxgitype import * - -HMONITOR = Alias("HMONITOR", HANDLE) -_LUID = Struct("_LUID", [ - (DWORD, "LowPart"), - (LONG, "HighPart"), -]) - -DXGI_USAGE = Alias("DXGI_USAGE", UINT) -DXGI_SWAP_EFFECT = Enum("DXGI_SWAP_EFFECT", [ - "DXGI_SWAP_EFFECT_DISCARD", - "DXGI_SWAP_EFFECT_SEQUENTIAL", -]) - -DXGI_RESIDENCY = Enum("DXGI_RESIDENCY", [ - "DXGI_RESIDENCY_FULLY_RESIDENT", - "DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY", - "DXGI_RESIDENCY_EVICTED_TO_DISK", -]) - -DXGI_SURFACE_DESC = Struct("DXGI_SURFACE_DESC", [ - (UINT, "Width"), - (UINT, "Height"), - (DXGI_FORMAT, "Format"), - (DXGI_SAMPLE_DESC, "SampleDesc"), -]) - -DXGI_MAPPED_RECT = Struct("DXGI_MAPPED_RECT", [ - (INT, "Pitch"), - (OpaquePointer(BYTE), "pBits"), -]) - -DXGI_OUTPUT_DESC = Struct("DXGI_OUTPUT_DESC", [ - (Array(WCHAR, "32"), "DeviceName"), - (RECT, "DesktopCoordinates"), - (BOOL, "AttachedToDesktop"), - (DXGI_MODE_ROTATION, "Rotation"), - (HMONITOR, "Monitor"), -]) - -DXGI_FRAME_STATISTICS = Struct("DXGI_FRAME_STATISTICS", [ - (UINT, "PresentCount"), - (UINT, "PresentRefreshCount"), - (UINT, "SyncRefreshCount"), - (LARGE_INTEGER, "SyncQPCTime"), - (LARGE_INTEGER, "SyncGPUTime"), -]) - -DXGI_ADAPTER_DESC = Struct("DXGI_ADAPTER_DESC", [ - (Array(WCHAR, "128"), "Description"), - (UINT, "VendorId"), - (UINT, "DeviceId"), - (UINT, "SubSysId"), - (UINT, "Revision"), - (SIZE_T, "DedicatedVideoMemory"), - (SIZE_T, "DedicatedSystemMemory"), - (SIZE_T, "SharedSystemMemory"), - (LUID, "AdapterLuid"), -]) - -DXGI_SWAP_CHAIN_FLAG = Enum("DXGI_SWAP_CHAIN_FLAG", [ - "DXGI_SWAP_CHAIN_FLAG_NONPREROTATED", - "DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH", - "DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE", -]) - -DXGI_SWAP_CHAIN_DESC = Struct("DXGI_SWAP_CHAIN_DESC", [ - (DXGI_MODE_DESC, "BufferDesc"), - (DXGI_SAMPLE_DESC, "SampleDesc"), - (DXGI_USAGE, "BufferUsage"), - (UINT, "BufferCount"), - (HWND, "OutputWindow"), - (BOOL, "Windowed"), - (DXGI_SWAP_EFFECT, "SwapEffect"), - (UINT, "Flags"), -]) - -DXGI_SHARED_RESOURCE = Struct("DXGI_SHARED_RESOURCE", [ - (HANDLE, "Handle"), -]) - -IDXGIObject = Interface("IDXGIObject", IUnknown) -IDXGIObject.methods += [ - Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "data_size"), (OpaquePointer(Const(Void)), "data")]), - Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "object")]), - Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(OpaquePointer(UINT), "data_size"), Out(OpaquePointer(Void), "data")]), - Method(HRESULT, "GetParent", [(REFIID, "riid"), Out(OpaquePointer(OpaquePointer(Void)), "parent")]), -] - -IDXGIDeviceSubObject = Interface("IDXGIDeviceSubObject", IDXGIObject) -IDXGIDeviceSubObject.methods += [ - Method(HRESULT, "GetDevice", [(REFIID, "riid"), Out(OpaquePointer(OpaquePointer(Void)), "device")]), -] - -IDXGISurface = Interface("IDXGISurface", IDXGIDeviceSubObject) -IDXGISurface.methods += [ - Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_SURFACE_DESC), "desc")]), - Method(HRESULT, "Map", [Out(OpaquePointer(DXGI_MAPPED_RECT), "mapped_rect"), (UINT, "flags")]), - Method(HRESULT, "Unmap", []), -] - -IDXGIOutput = Interface("IDXGIOutput", IDXGIObject) -IDXGIOutput.methods += [ - Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_OUTPUT_DESC), "desc")]), - Method(HRESULT, "GetDisplayModeList", [(DXGI_FORMAT, "format"), (UINT, "flags"), Out(OpaquePointer(UINT), "mode_count"), Out(OpaquePointer(DXGI_MODE_DESC), "desc")]), - Method(HRESULT, "FindClosestMatchingMode", [(Const(OpaquePointer(DXGI_MODE_DESC)), "mode"), Out(OpaquePointer(DXGI_MODE_DESC), "closest_match"), (OpaquePointer(IUnknown), "device")]), - Method(HRESULT, "WaitForVBlank", []), - Method(HRESULT, "TakeOwnership", [(OpaquePointer(IUnknown), "device"), (BOOL, "exclusive")]), - Method(Void, "ReleaseOwnership", []), - Method(HRESULT, "GetGammaControlCapabilities", [Out(OpaquePointer(DXGI_GAMMA_CONTROL_CAPABILITIES), "gamma_caps")]), - Method(HRESULT, "SetGammaControl", [(Const(OpaquePointer(DXGI_GAMMA_CONTROL)), "gamma_control")]), - Method(HRESULT, "GetGammaControl", [Out(OpaquePointer(DXGI_GAMMA_CONTROL), "gamma_control")]), - Method(HRESULT, "SetDisplaySurface", [(OpaquePointer(IDXGISurface), "surface")]), - Method(HRESULT, "GetDisplaySurfaceData", [(OpaquePointer(IDXGISurface), "surface")]), - Method(HRESULT, "GetFrameStatistics", [Out(OpaquePointer(DXGI_FRAME_STATISTICS), "stats")]), -] - -IDXGIAdapter = Interface("IDXGIAdapter", IDXGIObject) -IDXGIAdapter.methods += [ - Method(HRESULT, "EnumOutputs", [(UINT, "output_idx"), Out(OpaquePointer(OpaquePointer(IDXGIOutput)), "output")]), - Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_ADAPTER_DESC), "desc")]), - Method(HRESULT, "CheckInterfaceSupport", [(REFGUID, "guid"), Out(OpaquePointer(LARGE_INTEGER), "umd_version")]), -] - -IDXGISwapChain = Interface("IDXGISwapChain", IDXGIDeviceSubObject) -IDXGISwapChain.methods += [ - Method(HRESULT, "Present", [(UINT, "sync_interval"), (UINT, "flags")]), - Method(HRESULT, "GetBuffer", [(UINT, "buffer_idx"), (REFIID, "riid"), Out(OpaquePointer(OpaquePointer(Void)), "surface")]), - Method(HRESULT, "SetFullscreenState", [(BOOL, "fullscreen"), (OpaquePointer(IDXGIOutput), "target")]), - Method(HRESULT, "GetFullscreenState", [Out(OpaquePointer(BOOL), "fullscreen"), Out(OpaquePointer(OpaquePointer(IDXGIOutput)), "target")]), - Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_SWAP_CHAIN_DESC), "desc")]), - Method(HRESULT, "ResizeBuffers", [(UINT, "buffer_count"), (UINT, "width"), (UINT, "height"), (DXGI_FORMAT, "format"), (UINT, "flags")]), - Method(HRESULT, "ResizeTarget", [(OpaquePointer(Const(DXGI_MODE_DESC)), "target_mode_desc")]), - Method(HRESULT, "GetContainingOutput", [Out(OpaquePointer(OpaquePointer(IDXGIOutput)), "output")]), - Method(HRESULT, "GetFrameStatistics", [Out(OpaquePointer(DXGI_FRAME_STATISTICS), "stats")]), - Method(HRESULT, "GetLastPresentCount", [Out(OpaquePointer(UINT), "last_present_count")]), -] - -IDXGIFactory = Interface("IDXGIFactory", IDXGIObject) -IDXGIFactory.methods += [ - Method(HRESULT, "EnumAdapters", [(UINT, "adapter_idx"), Out(OpaquePointer(OpaquePointer(IDXGIAdapter)), "adapter")]), - Method(HRESULT, "MakeWindowAssociation", [(HWND, "window"), (UINT, "flags")]), - Method(HRESULT, "GetWindowAssociation", [(OpaquePointer(HWND), "window")]), - Method(HRESULT, "CreateSwapChain", [(OpaquePointer(IUnknown), "device"), (OpaquePointer(DXGI_SWAP_CHAIN_DESC), "desc"), Out(OpaquePointer(OpaquePointer(IDXGISwapChain)), "swapchain")]), - Method(HRESULT, "CreateSoftwareAdapter", [(HMODULE, "swrast"), Out(OpaquePointer(OpaquePointer(IDXGIAdapter)), "adapter")]), -] - -#StdFunction(HRESULT, "CreateDXGIFactory", [(REFIID, "riid"), (OpaquePointer(OpaquePointer(Void)), "factory")]), - -IDXGIDevice = Interface("IDXGIDevice", IDXGIObject) -IDXGIDevice.methods += [ - Method(HRESULT, "GetAdapter", [Out(OpaquePointer(OpaquePointer(IDXGIAdapter)), "adapter")]), - Method(HRESULT, "CreateSurface", [(Const(OpaquePointer(DXGI_SURFACE_DESC)), "desc"), (UINT, "surface_count"), (DXGI_USAGE, "usage"), (Const(OpaquePointer(DXGI_SHARED_RESOURCE)), "shared_resource"), Out(OpaquePointer(OpaquePointer(IDXGISurface)), "surface")]), - Method(HRESULT, "QueryResourceResidency", [(OpaquePointer(Const(OpaquePointer(IUnknown))), "resources"), Out(OpaquePointer(DXGI_RESIDENCY), "residency"), (UINT, "resource_count")]), - Method(HRESULT, "SetGPUThreadPriority", [(INT, "priority")]), - Method(HRESULT, "GetGPUThreadPriority", [Out(OpaquePointer(INT), "priority")]), -] - diff --git a/dxgiformat.py b/dxgiformat.py deleted file mode 100644 index 1d00f64..0000000 --- a/dxgiformat.py +++ /dev/null @@ -1,107 +0,0 @@ - -from winapi import * - -DXGI_FORMAT = Enum("DXGI_FORMAT", [ - "DXGI_FORMAT_UNKNOWN", - "DXGI_FORMAT_R32G32B32A32_TYPELESS", - "DXGI_FORMAT_R32G32B32A32_FLOAT", - "DXGI_FORMAT_R32G32B32A32_UINT", - "DXGI_FORMAT_R32G32B32A32_SINT", - "DXGI_FORMAT_R32G32B32_TYPELESS", - "DXGI_FORMAT_R32G32B32_FLOAT", - "DXGI_FORMAT_R32G32B32_UINT", - "DXGI_FORMAT_R32G32B32_SINT", - "DXGI_FORMAT_R16G16B16A16_TYPELESS", - "DXGI_FORMAT_R16G16B16A16_FLOAT", - "DXGI_FORMAT_R16G16B16A16_UNORM", - "DXGI_FORMAT_R16G16B16A16_UINT", - "DXGI_FORMAT_R16G16B16A16_SNORM", - "DXGI_FORMAT_R16G16B16A16_SINT", - "DXGI_FORMAT_R32G32_TYPELESS", - "DXGI_FORMAT_R32G32_FLOAT", - "DXGI_FORMAT_R32G32_UINT", - "DXGI_FORMAT_R32G32_SINT", - "DXGI_FORMAT_R32G8X24_TYPELESS", - "DXGI_FORMAT_D32_FLOAT_S8X24_UINT", - "DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS", - "DXGI_FORMAT_X32_TYPELESS_G8X24_UINT", - "DXGI_FORMAT_R10G10B10A2_TYPELESS", - "DXGI_FORMAT_R10G10B10A2_UNORM", - "DXGI_FORMAT_R10G10B10A2_UINT", - "DXGI_FORMAT_R11G11B10_FLOAT", - "DXGI_FORMAT_R8G8B8A8_TYPELESS", - "DXGI_FORMAT_R8G8B8A8_UNORM", - "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB", - "DXGI_FORMAT_R8G8B8A8_UINT", - "DXGI_FORMAT_R8G8B8A8_SNORM", - "DXGI_FORMAT_R8G8B8A8_SINT", - "DXGI_FORMAT_R16G16_TYPELESS", - "DXGI_FORMAT_R16G16_FLOAT", - "DXGI_FORMAT_R16G16_UNORM", - "DXGI_FORMAT_R16G16_UINT", - "DXGI_FORMAT_R16G16_SNORM", - "DXGI_FORMAT_R16G16_SINT", - "DXGI_FORMAT_R32_TYPELESS", - "DXGI_FORMAT_D32_FLOAT", - "DXGI_FORMAT_R32_FLOAT", - "DXGI_FORMAT_R32_UINT", - "DXGI_FORMAT_R32_SINT", - "DXGI_FORMAT_R24G8_TYPELESS", - "DXGI_FORMAT_D24_UNORM_S8_UINT", - "DXGI_FORMAT_R24_UNORM_X8_TYPELESS", - "DXGI_FORMAT_X24_TYPELESS_G8_UINT", - "DXGI_FORMAT_R8G8_TYPELESS", - "DXGI_FORMAT_R8G8_UNORM", - "DXGI_FORMAT_R8G8_UINT", - "DXGI_FORMAT_R8G8_SNORM", - "DXGI_FORMAT_R8G8_SINT", - "DXGI_FORMAT_R16_TYPELESS", - "DXGI_FORMAT_R16_FLOAT", - "DXGI_FORMAT_D16_UNORM", - "DXGI_FORMAT_R16_UNORM", - "DXGI_FORMAT_R16_UINT", - "DXGI_FORMAT_R16_SNORM", - "DXGI_FORMAT_R16_SINT", - "DXGI_FORMAT_R8_TYPELESS", - "DXGI_FORMAT_R8_UNORM", - "DXGI_FORMAT_R8_UINT", - "DXGI_FORMAT_R8_SNORM", - "DXGI_FORMAT_R8_SINT", - "DXGI_FORMAT_A8_UNORM", - "DXGI_FORMAT_R1_UNORM", - "DXGI_FORMAT_R9G9B9E5_SHAREDEXP", - "DXGI_FORMAT_R8G8_B8G8_UNORM", - "DXGI_FORMAT_G8R8_G8B8_UNORM", - "DXGI_FORMAT_BC1_TYPELESS", - "DXGI_FORMAT_BC1_UNORM", - "DXGI_FORMAT_BC1_UNORM_SRGB", - "DXGI_FORMAT_BC2_TYPELESS", - "DXGI_FORMAT_BC2_UNORM", - "DXGI_FORMAT_BC2_UNORM_SRGB", - "DXGI_FORMAT_BC3_TYPELESS", - "DXGI_FORMAT_BC3_UNORM", - "DXGI_FORMAT_BC3_UNORM_SRGB", - "DXGI_FORMAT_BC4_TYPELESS", - "DXGI_FORMAT_BC4_UNORM", - "DXGI_FORMAT_BC4_SNORM", - "DXGI_FORMAT_BC5_TYPELESS", - "DXGI_FORMAT_BC5_UNORM", - "DXGI_FORMAT_BC5_SNORM", - "DXGI_FORMAT_B5G6R5_UNORM", - "DXGI_FORMAT_B5G5R5A1_UNORM", - "DXGI_FORMAT_B8G8R8A8_UNORM", - "DXGI_FORMAT_B8G8R8X8_UNORM", - "DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM", - "DXGI_FORMAT_B8G8R8A8_TYPELESS", - "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB", - "DXGI_FORMAT_B8G8R8X8_TYPELESS", - "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB", - "DXGI_FORMAT_BC6H_TYPELESS", - "DXGI_FORMAT_BC6H_UF16", - "DXGI_FORMAT_BC6H_SF16", - "DXGI_FORMAT_BC7_TYPELESS", - "DXGI_FORMAT_BC7_UNORM", - "DXGI_FORMAT_BC7_UNORM_SRGB", - "DXGI_FORMAT_FORCE_UINT", -]) - diff --git a/dxgitype.py b/dxgitype.py deleted file mode 100644 index 31cadde..0000000 --- a/dxgitype.py +++ /dev/null @@ -1,87 +0,0 @@ -########################################################################## -# -# Copyright 2011 Jose Fonseca -# 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 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. -# -##########################################################################/ - -from dxgiformat import * - -DXGI_RGB = Struct("DXGI_RGB", [ - (Float, "Red"), - (Float, "Green"), - (Float, "Blue"), -]) - -DXGI_GAMMA_CONTROL = Struct("DXGI_GAMMA_CONTROL", [ - (DXGI_RGB, "Scale"), - (DXGI_RGB, "Offset"), - (Array(DXGI_RGB, "1025"), "GammaCurve"), -]) - -DXGI_GAMMA_CONTROL_CAPABILITIES = Struct("DXGI_GAMMA_CONTROL_CAPABILITIES", [ - (BOOL, "ScaleAndOffsetSupported"), - (Float, "MaxConvertedValue"), - (Float, "MinConvertedValue"), - (UINT, "NumGammaControlPoints"), - (Array(Float, "1025"), "ControlPointPositions"), -]) - -DXGI_RATIONAL = Struct("DXGI_RATIONAL", [ - (UINT, "Numerator"), - (UINT, "Denominator"), -]) - -DXGI_MODE_SCANLINE_ORDER = Enum("DXGI_MODE_SCANLINE_ORDER", [ - "DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED", - "DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE", - "DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST", - "DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST", -]) - -DXGI_MODE_SCALING = Enum("DXGI_MODE_SCALING", [ - "DXGI_MODE_SCALING_UNSPECIFIED", - "DXGI_MODE_SCALING_CENTERED", - "DXGI_MODE_SCALING_STRETCHED", -]) - -DXGI_MODE_ROTATION = Enum("DXGI_MODE_ROTATION", [ - "DXGI_MODE_ROTATION_UNSPECIFIED", - "DXGI_MODE_ROTATION_IDENTITY", - "DXGI_MODE_ROTATION_ROTATE90", - "DXGI_MODE_ROTATION_ROTATE180", - "DXGI_MODE_ROTATION_ROTATE270", -]) - -DXGI_MODE_DESC = Struct("DXGI_MODE_DESC", [ - (UINT, "Width"), - (UINT, "Height"), - (DXGI_RATIONAL, "RefreshRate"), - (DXGI_FORMAT, "Format"), - (DXGI_MODE_SCANLINE_ORDER, "ScanlineOrdering"), - (DXGI_MODE_SCALING, "Scaling"), -]) - -DXGI_SAMPLE_DESC = Struct("DXGI_SAMPLE_DESC", [ - (UINT, "Count"), - (UINT, "Quality"), -]) - diff --git a/glapi.py b/glapi.py deleted file mode 100644 index e5edd99..0000000 --- a/glapi.py +++ /dev/null @@ -1,2818 +0,0 @@ -########################################################################## -# -# Copyright 2011 Jose Fonseca -# Copyright 2008-2010 VMware, Inc. -# 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 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. -# -##########################################################################/ - - -"""GL API description. - -Most of these were automatically generated with the apigen/glspec.py script -from Khronos OpenGL spec files, and then manually edited to cover the corner -cases correctly. - -""" - - -from stdapi import * -from gltypes import * -import glparams - - -def GlFunction(*args, **kwargs): - kwargs.setdefault('call', 'APIENTRY') - return Function(*args, **kwargs) - - -glapi = API('GL') - - -glapi.add_functions([ - # GL_VERSION_1_0 - GlFunction(Void, "glCullFace", [(GLenum, "mode")]), - GlFunction(Void, "glFrontFace", [(GLenum, "mode")]), - GlFunction(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]), - GlFunction(Void, "glLineWidth", [(GLfloat, "width")]), - GlFunction(Void, "glPointSize", [(GLfloat, "size")]), - GlFunction(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]), - GlFunction(Void, "glScissor", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glTexParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glTexParameterfv_size(pname)"), "params")]), - GlFunction(Void, "glTexParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glTexParameteriv_size(pname)"), "params")]), - GlFunction(Void, "glTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum_int, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage1D_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum_int, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage2D_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glDrawBuffer", [(GLenum, "mode")]), - GlFunction(Void, "glClear", [(GLbitfield_attrib, "mask")]), - GlFunction(Void, "glClearColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]), - GlFunction(Void, "glClearStencil", [(GLint, "s")]), - GlFunction(Void, "glClearDepth", [(GLclampd, "depth")]), - GlFunction(Void, "glStencilMask", [(GLuint, "mask")]), - GlFunction(Void, "glColorMask", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]), - GlFunction(Void, "glDepthMask", [(GLboolean, "flag")]), - GlFunction(Void, "glDisable", [(GLenum, "cap")]), - GlFunction(Void, "glEnable", [(GLenum, "cap")]), - GlFunction(Void, "glFinish", []), - GlFunction(Void, "glFlush", []), - GlFunction(Void, "glBlendFunc", [(GLenum, "sfactor"), (GLenum, "dfactor")]), - GlFunction(Void, "glLogicOp", [(GLenum, "opcode")]), - GlFunction(Void, "glStencilFunc", [(GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]), - GlFunction(Void, "glStencilOp", [(GLenum, "fail"), (GLenum, "zfail"), (GLenum, "zpass")]), - GlFunction(Void, "glDepthFunc", [(GLenum, "func")]), - GlFunction(Void, "glPixelStoref", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPixelStorei", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glReadBuffer", [(GLenum, "mode")]), - GlFunction(Void, "glReadPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), Out(OpaquePointer(GLvoid), "pixels")]), - GlFunction(Void, "glGetBooleanv", [(GLenum, "pname"), Out(Array(GLboolean, "__glGetBooleanv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetDoublev", [(GLenum, "pname"), Out(Array(GLdouble, "__glGetDoublev_size(pname)"), "params")], sideeffects=False), - GlFunction(GLenum_error, "glGetError", [], sideeffects=False), - GlFunction(Void, "glGetFloatv", [(GLenum, "pname"), Out(Array(GLfloat, "__glGetFloatv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetIntegerv", [(GLenum, "pname"), Out(Array(GLint, "__glGetIntegerv_size(pname)"), "params")], sideeffects=False), - GlFunction(String("const GLubyte *"), "glGetString", [(GLenum, "name")], sideeffects=False), - GlFunction(Void, "glGetTexImage", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaquePointer(GLvoid), "pixels")]), - GlFunction(Void, "glGetTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexParameterfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexLevelParameterfv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexLevelParameterfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexLevelParameteriv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexLevelParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(GLboolean, "glIsEnabled", [(GLenum, "cap")], sideeffects=False), - GlFunction(Void, "glDepthRange", [(GLclampd, "zNear"), (GLclampd, "zFar")]), - GlFunction(Void, "glViewport", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - - # GL_VERSION_1_0_DEPRECATED - GlFunction(Void, "glNewList", [(GLlist, "list"), (GLenum, "mode")]), - GlFunction(Void, "glEndList", []), - GlFunction(Void, "glCallList", [(GLlist, "list")]), - GlFunction(Void, "glCallLists", [(GLsizei, "n"), (GLenum, "type"), (Blob(Const(GLvoid), "__glCallLists_size(n, type)"), "lists")]), - GlFunction(Void, "glDeleteLists", [(GLlist, "list"), (GLsizei, "range")]), - GlFunction(Handle("list", GLuint, "range"), "glGenLists", [(GLsizei, "range")]), - GlFunction(Void, "glListBase", [(GLuint, "base")]), - GlFunction(Void, "glBegin", [(GLenum_mode, "mode")]), - GlFunction(Void, "glBitmap", [(GLsizei, "width"), (GLsizei, "height"), (GLfloat, "xorig"), (GLfloat, "yorig"), (GLfloat, "xmove"), (GLfloat, "ymove"), (Blob(Const(GLubyte), "__glBitmap_size(width, height)"), "bitmap")]), - GlFunction(Void, "glColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]), - GlFunction(Void, "glColor3bv", [(Array(Const(GLbyte), "3"), "v")]), - GlFunction(Void, "glColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]), - GlFunction(Void, "glColor3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]), - GlFunction(Void, "glColor3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]), - GlFunction(Void, "glColor3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]), - GlFunction(Void, "glColor3sv", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]), - GlFunction(Void, "glColor3ubv", [(Array(Const(GLubyte), "3"), "v")]), - GlFunction(Void, "glColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]), - GlFunction(Void, "glColor3uiv", [(Array(Const(GLuint), "3"), "v")]), - GlFunction(Void, "glColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]), - GlFunction(Void, "glColor3usv", [(Array(Const(GLushort), "3"), "v")]), - GlFunction(Void, "glColor4b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue"), (GLbyte, "alpha")]), - GlFunction(Void, "glColor4bv", [(Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glColor4d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue"), (GLdouble, "alpha")]), - GlFunction(Void, "glColor4dv", [(Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glColor4f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]), - GlFunction(Void, "glColor4fv", [(Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glColor4i", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]), - GlFunction(Void, "glColor4iv", [(Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glColor4s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue"), (GLshort, "alpha")]), - GlFunction(Void, "glColor4sv", [(Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glColor4ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue"), (GLubyte, "alpha")]), - GlFunction(Void, "glColor4ubv", [(Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glColor4ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]), - GlFunction(Void, "glColor4uiv", [(Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glColor4us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue"), (GLushort, "alpha")]), - GlFunction(Void, "glColor4usv", [(Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glEdgeFlag", [(GLboolean, "flag")]), - GlFunction(Void, "glEdgeFlagv", [(Pointer(Const(GLboolean)), "flag")]), - GlFunction(Void, "glEnd", []), - GlFunction(Void, "glIndexd", [(GLdouble, "c")]), - GlFunction(Void, "glIndexdv", [(Pointer(Const(GLdouble)), "c")]), - GlFunction(Void, "glIndexf", [(GLfloat, "c")]), - GlFunction(Void, "glIndexfv", [(Pointer(Const(GLfloat)), "c")]), - GlFunction(Void, "glIndexi", [(GLint, "c")]), - GlFunction(Void, "glIndexiv", [(Pointer(Const(GLint)), "c")]), - GlFunction(Void, "glIndexs", [(GLshort, "c")]), - GlFunction(Void, "glIndexsv", [(Pointer(Const(GLshort)), "c")]), - GlFunction(Void, "glNormal3b", [(GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]), - GlFunction(Void, "glNormal3bv", [(Array(Const(GLbyte), "3"), "v")]), - GlFunction(Void, "glNormal3d", [(GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]), - GlFunction(Void, "glNormal3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glNormal3f", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]), - GlFunction(Void, "glNormal3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glNormal3i", [(GLint, "nx"), (GLint, "ny"), (GLint, "nz")]), - GlFunction(Void, "glNormal3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glNormal3s", [(GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]), - GlFunction(Void, "glNormal3sv", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glRasterPos2d", [(GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glRasterPos2dv", [(Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glRasterPos2f", [(GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glRasterPos2fv", [(Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glRasterPos2i", [(GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glRasterPos2iv", [(Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glRasterPos2s", [(GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glRasterPos2sv", [(Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glRasterPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glRasterPos3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glRasterPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glRasterPos3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glRasterPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glRasterPos3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glRasterPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glRasterPos3sv", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glRasterPos4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glRasterPos4dv", [(Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glRasterPos4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glRasterPos4fv", [(Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glRasterPos4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glRasterPos4iv", [(Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glRasterPos4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glRasterPos4sv", [(Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glRectd", [(GLdouble, "x1"), (GLdouble, "y1"), (GLdouble, "x2"), (GLdouble, "y2")]), - GlFunction(Void, "glRectdv", [(Array(Const(GLdouble), "2"), "v1"), (Array(Const(GLdouble), "2"), "v2")]), - GlFunction(Void, "glRectf", [(GLfloat, "x1"), (GLfloat, "y1"), (GLfloat, "x2"), (GLfloat, "y2")]), - GlFunction(Void, "glRectfv", [(Array(Const(GLfloat), "2"), "v1"), (Array(Const(GLfloat), "2"), "v2")]), - GlFunction(Void, "glRecti", [(GLint, "x1"), (GLint, "y1"), (GLint, "x2"), (GLint, "y2")]), - GlFunction(Void, "glRectiv", [(Array(Const(GLint), "2"), "v1"), (Array(Const(GLint), "2"), "v2")]), - GlFunction(Void, "glRects", [(GLshort, "x1"), (GLshort, "y1"), (GLshort, "x2"), (GLshort, "y2")]), - GlFunction(Void, "glRectsv", [(Array(Const(GLshort), "2"), "v1"), (Array(Const(GLshort), "2"), "v2")]), - GlFunction(Void, "glTexCoord1d", [(GLdouble, "s")]), - GlFunction(Void, "glTexCoord1dv", [(Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glTexCoord1f", [(GLfloat, "s")]), - GlFunction(Void, "glTexCoord1fv", [(Pointer(Const(GLfloat)), "v")]), - GlFunction(Void, "glTexCoord1i", [(GLint, "s")]), - GlFunction(Void, "glTexCoord1iv", [(Pointer(Const(GLint)), "v")]), - GlFunction(Void, "glTexCoord1s", [(GLshort, "s")]), - GlFunction(Void, "glTexCoord1sv", [(Pointer(Const(GLshort)), "v")]), - GlFunction(Void, "glTexCoord2d", [(GLdouble, "s"), (GLdouble, "t")]), - GlFunction(Void, "glTexCoord2dv", [(Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glTexCoord2f", [(GLfloat, "s"), (GLfloat, "t")]), - GlFunction(Void, "glTexCoord2fv", [(Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glTexCoord2i", [(GLint, "s"), (GLint, "t")]), - GlFunction(Void, "glTexCoord2iv", [(Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glTexCoord2s", [(GLshort, "s"), (GLshort, "t")]), - GlFunction(Void, "glTexCoord2sv", [(Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glTexCoord3d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]), - GlFunction(Void, "glTexCoord3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glTexCoord3f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]), - GlFunction(Void, "glTexCoord3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord3i", [(GLint, "s"), (GLint, "t"), (GLint, "r")]), - GlFunction(Void, "glTexCoord3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glTexCoord3s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r")]), - GlFunction(Void, "glTexCoord3sv", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glTexCoord4d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]), - GlFunction(Void, "glTexCoord4dv", [(Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glTexCoord4f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]), - GlFunction(Void, "glTexCoord4fv", [(Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glTexCoord4i", [(GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]), - GlFunction(Void, "glTexCoord4iv", [(Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glTexCoord4s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]), - GlFunction(Void, "glTexCoord4sv", [(Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertex2d", [(GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertex2dv", [(Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glVertex2f", [(GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glVertex2fv", [(Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glVertex2i", [(GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glVertex2iv", [(Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glVertex2s", [(GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glVertex2sv", [(Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glVertex3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertex3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glVertex3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glVertex3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glVertex3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glVertex3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glVertex3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glVertex3sv", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glVertex4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertex4dv", [(Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glVertex4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glVertex4fv", [(Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glVertex4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glVertex4iv", [(Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertex4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glVertex4sv", [(Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glClipPlane", [(GLenum, "plane"), (Array(Const(GLdouble), "4"), "equation")]), - GlFunction(Void, "glColorMaterial", [(GLenum, "face"), (GLenum, "mode")]), - GlFunction(Void, "glFogf", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glFogfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__glFogfv_size(pname)"), "params")]), - GlFunction(Void, "glFogi", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glFogiv", [(GLenum, "pname"), (Array(Const(GLint), "__glFogiv_size(pname)"), "params")]), - GlFunction(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Array(Const(GLfloat), "__glLightfv_size(pname)"), "params")]), - GlFunction(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Array(Const(GLint), "__glLightiv_size(pname)"), "params")]), - GlFunction(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glLightModelfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__glLightModelfv_size(pname)"), "params")]), - GlFunction(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glLightModeliv", [(GLenum, "pname"), (Array(Const(GLint), "__glLightModeliv_size(pname)"), "params")]), - GlFunction(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]), - GlFunction(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Array(Const(GLfloat), "__glMaterialfv_size(pname)"), "params")]), - GlFunction(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Array(Const(GLint), "__glMaterialiv_size(pname)"), "params")]), - GlFunction(Void, "glPolygonStipple", [(Array(Const(GLubyte), "__glPolygonStipple_size()"), "mask")]), - GlFunction(Void, "glShadeModel", [(GLenum, "mode")]), - GlFunction(Void, "glTexEnvf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glTexEnvfv_size(pname)"), "params")]), - GlFunction(Void, "glTexEnvi", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glTexEnviv_size(pname)"), "params")]), - GlFunction(Void, "glTexGend", [(GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]), - GlFunction(Void, "glTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLdouble), "__glTexGendv_size(pname)"), "params")]), - GlFunction(Void, "glTexGenf", [(GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLfloat), "__glTexGenfv_size(pname)"), "params")]), - GlFunction(Void, "glTexGeni", [(GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLint), "__glTexGeniv_size(pname)"), "params")]), - GlFunction(Void, "glFeedbackBuffer", [(GLsizei, "size"), (GLenum, "type"), Out(Array(GLfloat, "size"), "buffer")]), - GlFunction(Void, "glSelectBuffer", [(GLsizei, "size"), Out(Array(GLuint, "size"), "buffer")]), - GlFunction(Alias("GLint", GLenum), "glRenderMode", [(GLenum, "mode")]), - GlFunction(Void, "glInitNames", []), - GlFunction(Void, "glLoadName", [(GLuint, "name")]), - GlFunction(Void, "glPassThrough", [(GLfloat, "token")]), - GlFunction(Void, "glPopName", []), - GlFunction(Void, "glPushName", [(GLuint, "name")]), - GlFunction(Void, "glClearAccum", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]), - GlFunction(Void, "glClearIndex", [(GLfloat, "c")]), - GlFunction(Void, "glIndexMask", [(GLuint, "mask")]), - GlFunction(Void, "glAccum", [(GLenum, "op"), (GLfloat, "value")]), - GlFunction(Void, "glPopAttrib", []), - GlFunction(Void, "glPushAttrib", [(GLbitfield_attrib, "mask")]), - GlFunction(Void, "glMap1d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (Array(Const(GLdouble), "__glMap1d_size(target, stride, order)"), "points")]), - GlFunction(Void, "glMap1f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (Array(Const(GLfloat), "__glMap1f_size(target, stride, order)"), "points")]), - GlFunction(Void, "glMap2d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Array(Const(GLdouble), "__glMap2d_size(target, ustride, uorder, vstride, vorder)"), "points")]), - GlFunction(Void, "glMap2f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Array(Const(GLfloat), "__glMap2f_size(target, ustride, uorder, vstride, vorder)"), "points")]), - GlFunction(Void, "glMapGrid1d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2")]), - GlFunction(Void, "glMapGrid1f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2")]), - GlFunction(Void, "glMapGrid2d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "vn"), (GLdouble, "v1"), (GLdouble, "v2")]), - GlFunction(Void, "glMapGrid2f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "vn"), (GLfloat, "v1"), (GLfloat, "v2")]), - GlFunction(Void, "glEvalCoord1d", [(GLdouble, "u")]), - GlFunction(Void, "glEvalCoord1dv", [(Pointer(Const(GLdouble)), "u")]), - GlFunction(Void, "glEvalCoord1f", [(GLfloat, "u")]), - GlFunction(Void, "glEvalCoord1fv", [(Pointer(Const(GLfloat)), "u")]), - GlFunction(Void, "glEvalCoord2d", [(GLdouble, "u"), (GLdouble, "v")]), - GlFunction(Void, "glEvalCoord2dv", [(Array(Const(GLdouble), "2"), "u")]), - GlFunction(Void, "glEvalCoord2f", [(GLfloat, "u"), (GLfloat, "v")]), - GlFunction(Void, "glEvalCoord2fv", [(Array(Const(GLfloat), "2"), "u")]), - GlFunction(Void, "glEvalMesh1", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2")]), - GlFunction(Void, "glEvalPoint1", [(GLint, "i")]), - GlFunction(Void, "glEvalMesh2", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2"), (GLint, "j1"), (GLint, "j2")]), - GlFunction(Void, "glEvalPoint2", [(GLint, "i"), (GLint, "j")]), - GlFunction(Void, "glAlphaFunc", [(GLenum, "func"), (GLclampf, "ref")]), - GlFunction(Void, "glPixelZoom", [(GLfloat, "xfactor"), (GLfloat, "yfactor")]), - GlFunction(Void, "glPixelTransferf", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPixelTransferi", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glPixelMapfv", [(GLenum, "map"), (GLsizei, "mapsize"), (Array(Const(GLfloat), "mapsize"), "values")]), - GlFunction(Void, "glPixelMapuiv", [(GLenum, "map"), (GLsizei, "mapsize"), (Array(Const(GLuint), "mapsize"), "values")]), - GlFunction(Void, "glPixelMapusv", [(GLenum, "map"), (GLsizei, "mapsize"), (Array(Const(GLushort), "mapsize"), "values")]), - GlFunction(Void, "glCopyPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "type")]), - GlFunction(Void, "glDrawPixels", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glDrawPixels_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glGetClipPlane", [(GLenum, "plane"), Out(Array(GLdouble, "4"), "equation")], sideeffects=False), - GlFunction(Void, "glGetLightfv", [(GLenum, "light"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetLightfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetLightiv", [(GLenum, "light"), (GLenum, "pname"), Out(Array(GLint, "__glGetLightiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMapdv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLdouble), "v")], sideeffects=False), - GlFunction(Void, "glGetMapfv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLfloat), "v")], sideeffects=False), - GlFunction(Void, "glGetMapiv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLint), "v")], sideeffects=False), - GlFunction(Void, "glGetMaterialfv", [(GLenum, "face"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetMaterialfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMaterialiv", [(GLenum, "face"), (GLenum, "pname"), Out(Array(GLint, "__glGetMaterialiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetPixelMapfv", [(GLenum, "map"), Out(Pointer(GLfloat), "values")]), - GlFunction(Void, "glGetPixelMapuiv", [(GLenum, "map"), Out(Pointer(GLuint), "values")]), - GlFunction(Void, "glGetPixelMapusv", [(GLenum, "map"), Out(Pointer(GLushort), "values")]), - GlFunction(Void, "glGetPolygonStipple", [Out(OpaquePointer(GLubyte), "mask")]), - GlFunction(Void, "glGetTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexEnvfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexEnviv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexEnviv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexGendv", [(GLenum, "coord"), (GLenum, "pname"), Out(Array(GLdouble, "__glGetTexGendv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexGenfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexGeniv_size(pname)"), "params")], sideeffects=False), - GlFunction(GLboolean, "glIsList", [(GLuint, "list")], sideeffects=False), - GlFunction(Void, "glFrustum", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), - GlFunction(Void, "glLoadIdentity", []), - GlFunction(Void, "glLoadMatrixf", [(Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glLoadMatrixd", [(Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glMatrixMode", [(GLenum, "mode")]), - GlFunction(Void, "glMultMatrixf", [(Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMultMatrixd", [(Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glOrtho", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), - GlFunction(Void, "glPopMatrix", []), - GlFunction(Void, "glPushMatrix", []), - GlFunction(Void, "glRotated", [(GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glRotatef", [(GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glScaled", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glScalef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glTranslated", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glTranslatef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - - # GL_VERSION_1_1 - GlFunction(Void, "glDrawArrays", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]), - GlFunction(Void, "glDrawElements", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices")]), - GlFunction(Void, "glGetPointerv", [(GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), - GlFunction(Void, "glPolygonOffset", [(GLfloat, "factor"), (GLfloat, "units")]), - GlFunction(Void, "glCopyTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), - GlFunction(Void, "glCopyTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), - GlFunction(Void, "glCopyTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glCopyTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage1D_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage2D_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glBindTexture", [(GLenum, "target"), (GLtexture, "texture")]), - GlFunction(Void, "glDeleteTextures", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures")]), - GlFunction(Void, "glGenTextures", [(GLsizei, "n"), Out(Array(GLtexture, "n"), "textures")]), - GlFunction(GLboolean, "glIsTexture", [(GLtexture, "texture")], sideeffects=False), - - # GL_VERSION_1_1_DEPRECATED - GlFunction(Void, "glArrayElement", [(GLint, "i")]), - GlFunction(Void, "glColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glDisableClientState", [(GLenum, "array")]), - GlFunction(Void, "glEdgeFlagPointer", [(GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glEnableClientState", [(GLenum, "array")]), - GlFunction(Void, "glIndexPointer", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glInterleavedArrays", [(GLenum, "format"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glNormalPointer", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glTexCoordPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glVertexPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(GLboolean, "glAreTexturesResident", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), Out(Array(GLboolean, "n"), "residences")], sideeffects=False), - GlFunction(Void, "glPrioritizeTextures", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), (Array(Const(GLclampf), "n"), "priorities")]), - GlFunction(Void, "glIndexub", [(GLubyte, "c")]), - GlFunction(Void, "glIndexubv", [(Pointer(Const(GLubyte)), "c")]), - GlFunction(Void, "glPopClientAttrib", []), - GlFunction(Void, "glPushClientAttrib", [(GLbitfield_client_attrib, "mask")]), - - # GL_VERSION_1_2 - GlFunction(Void, "glBlendColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]), - GlFunction(Void, "glBlendEquation", [(GLenum, "mode")]), - GlFunction(Void, "glDrawRangeElements", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices")]), - GlFunction(Void, "glTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLenum_int, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage3D_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage3D_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glCopyTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - - # GL_VERSION_1_2_DEPRECATED - GlFunction(Void, "glColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glColorTable_size(format, type, width)"), "table")]), - GlFunction(Void, "glColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glColorTableParameterfv_size(pname)"), "params")]), - GlFunction(Void, "glColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glColorTableParameteriv_size(pname)"), "params")]), - GlFunction(Void, "glCopyColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glGetColorTable", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetColorTable_size(target, format, type)"), "table")], sideeffects=False), - GlFunction(Void, "glGetColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetColorTableParameterfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetColorTableParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glColorSubTable_size(format, type, count)"), "data")]), - GlFunction(Void, "glCopyColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glConvolutionFilter1D_size(format, type, width)"), "image")]), - GlFunction(Void, "glConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glConvolutionFilter2D_size(format, type, width, height)"), "image")]), - GlFunction(Void, "glConvolutionParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]), - GlFunction(Void, "glConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glConvolutionParameterfv_size(pname)"), "params")]), - GlFunction(Void, "glConvolutionParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]), - GlFunction(Void, "glConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glConvolutionParameteriv_size(pname)"), "params")]), - GlFunction(Void, "glCopyConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glCopyConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetConvolutionFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetConvolutionFilter_size(target, format, type)"), "image")]), - GlFunction(Void, "glGetConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetConvolutionParameterfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetConvolutionParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetSeparableFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilter_size(target, format, type)"), "row"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilter_size(target, format, type)"), "column"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilter_size(target, format, type)"), "span")]), - GlFunction(Void, "glSeparableFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glConvolutionFilter1D_size(format, type, width)"), "row"), (Blob(Const(GLvoid), "__glConvolutionFilter1D_size(format, type, height)"), "column")]), - GlFunction(Void, "glGetHistogram", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetHistogram_size(target, format, type)"), "values")]), - GlFunction(Void, "glGetHistogramParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetHistogramParameterfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetHistogramParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetHistogramParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMinmax", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetMinmax_size(target, format, type)"), "values")]), - GlFunction(Void, "glGetMinmaxParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetMinmaxParameterfv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMinmaxParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetMinmaxParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glHistogram", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]), - GlFunction(Void, "glMinmax", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]), - GlFunction(Void, "glResetHistogram", [(GLenum, "target")]), - GlFunction(Void, "glResetMinmax", [(GLenum, "target")]), - - # GL_VERSION_1_3 - GlFunction(Void, "glActiveTexture", [(GLenum, "texture")]), - GlFunction(Void, "glSampleCoverage", [(GLclampf, "value"), (GLboolean, "invert")]), - GlFunction(Void, "glCompressedTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glGetCompressedTexImage", [(GLenum, "target"), (GLint, "level"), Out(OpaqueBlob(GLvoid, "__glGetCompressedTexImage_size(target, level)"), "img")]), - - # GL_VERSION_1_3_DEPRECATED - GlFunction(Void, "glClientActiveTexture", [(GLenum, "texture")]), - GlFunction(Void, "glMultiTexCoord1d", [(GLenum, "target"), (GLdouble, "s")]), - GlFunction(Void, "glMultiTexCoord1dv", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glMultiTexCoord1f", [(GLenum, "target"), (GLfloat, "s")]), - GlFunction(Void, "glMultiTexCoord1fv", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]), - GlFunction(Void, "glMultiTexCoord1i", [(GLenum, "target"), (GLint, "s")]), - GlFunction(Void, "glMultiTexCoord1iv", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]), - GlFunction(Void, "glMultiTexCoord1s", [(GLenum, "target"), (GLshort, "s")]), - GlFunction(Void, "glMultiTexCoord1sv", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]), - GlFunction(Void, "glMultiTexCoord2d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]), - GlFunction(Void, "glMultiTexCoord2dv", [(GLenum, "target"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord2f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]), - GlFunction(Void, "glMultiTexCoord2fv", [(GLenum, "target"), (Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord2i", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]), - GlFunction(Void, "glMultiTexCoord2iv", [(GLenum, "target"), (Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord2s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]), - GlFunction(Void, "glMultiTexCoord2sv", [(GLenum, "target"), (Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord3d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]), - GlFunction(Void, "glMultiTexCoord3dv", [(GLenum, "target"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord3f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]), - GlFunction(Void, "glMultiTexCoord3fv", [(GLenum, "target"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord3i", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]), - GlFunction(Void, "glMultiTexCoord3iv", [(GLenum, "target"), (Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord3s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]), - GlFunction(Void, "glMultiTexCoord3sv", [(GLenum, "target"), (Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord4d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]), - GlFunction(Void, "glMultiTexCoord4dv", [(GLenum, "target"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord4f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]), - GlFunction(Void, "glMultiTexCoord4fv", [(GLenum, "target"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord4i", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]), - GlFunction(Void, "glMultiTexCoord4iv", [(GLenum, "target"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord4s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]), - GlFunction(Void, "glMultiTexCoord4sv", [(GLenum, "target"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glLoadTransposeMatrixf", [(Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glLoadTransposeMatrixd", [(Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glMultTransposeMatrixf", [(Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMultTransposeMatrixd", [(Array(Const(GLdouble), "16"), "m")]), - - # GL_VERSION_1_4 - GlFunction(Void, "glBlendFuncSeparate", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), - GlFunction(Void, "glMultiDrawArrays", [(GLenum_mode, "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glMultiDrawElements", [(GLenum_mode, "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount")]), - GlFunction(Void, "glPointParameterf", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPointParameterfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__glPointParameterfv_size(pname)"), "params")]), - GlFunction(Void, "glPointParameteri", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glPointParameteriv", [(GLenum, "pname"), (Array(Const(GLint), "__glPointParameteriv_size(pname)"), "params")]), - - # GL_VERSION_1_4_DEPRECATED - GlFunction(Void, "glFogCoordf", [(GLfloat, "coord")]), - GlFunction(Void, "glFogCoordfv", [(Pointer(Const(GLfloat)), "coord")]), - GlFunction(Void, "glFogCoordd", [(GLdouble, "coord")]), - GlFunction(Void, "glFogCoorddv", [(Pointer(Const(GLdouble)), "coord")]), - GlFunction(Void, "glFogCoordPointer", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glSecondaryColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]), - GlFunction(Void, "glSecondaryColor3bv", [(Array(Const(GLbyte), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]), - GlFunction(Void, "glSecondaryColor3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]), - GlFunction(Void, "glSecondaryColor3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]), - GlFunction(Void, "glSecondaryColor3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]), - GlFunction(Void, "glSecondaryColor3sv", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]), - GlFunction(Void, "glSecondaryColor3ubv", [(Array(Const(GLubyte), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]), - GlFunction(Void, "glSecondaryColor3uiv", [(Array(Const(GLuint), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]), - GlFunction(Void, "glSecondaryColor3usv", [(Array(Const(GLushort), "3"), "v")]), - GlFunction(Void, "glSecondaryColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glWindowPos2d", [(GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glWindowPos2dv", [(Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glWindowPos2f", [(GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glWindowPos2fv", [(Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glWindowPos2i", [(GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glWindowPos2iv", [(Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glWindowPos2s", [(GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glWindowPos2sv", [(Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glWindowPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glWindowPos3dv", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glWindowPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glWindowPos3fv", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glWindowPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glWindowPos3iv", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glWindowPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glWindowPos3sv", [(Array(Const(GLshort), "3"), "v")]), - - # GL_VERSION_1_5 - GlFunction(Void, "glGenQueries", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]), - GlFunction(Void, "glDeleteQueries", [(GLsizei, "n"), (Array(Const(GLquery), "n"), "ids")]), - GlFunction(GLboolean, "glIsQuery", [(GLquery, "id")], sideeffects=False), - GlFunction(Void, "glBeginQuery", [(GLenum, "target"), (GLquery, "id")]), - GlFunction(Void, "glEndQuery", [(GLenum, "target")]), - GlFunction(Void, "glGetQueryiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryivARB_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetQueryObjectiv", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryObjectivARB_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetQueryObjectuiv", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLuint, "__glGetQueryObjectuivARB_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glBindBuffer", [(GLenum, "target"), (GLbuffer, "buffer")]), - GlFunction(Void, "glDeleteBuffers", [(GLsizei, "n"), (Array(Const(GLbuffer), "n"), "buffer")]), - GlFunction(Void, "glGenBuffers", [(GLsizei, "n"), Out(Array(GLbuffer, "n"), "buffer")]), - GlFunction(GLboolean, "glIsBuffer", [(GLbuffer, "buffer")], sideeffects=False), - GlFunction(Void, "glBufferData", [(GLenum, "target"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]), - GlFunction(Void, "glBufferSubData", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data")]), - GlFunction(Void, "glGetBufferSubData", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size"), Out(Blob(GLvoid, "size"), "data")], sideeffects=False), - GlFunction(GLmap, "glMapBuffer", [(GLenum, "target"), (GLenum, "access")]), - GlFunction(GLboolean, "glUnmapBuffer", [(GLenum, "target")]), - GlFunction(Void, "glGetBufferParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetBufferPointerv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), - - # GL_VERSION_2_0 - GlFunction(Void, "glBlendEquationSeparate", [(GLenum, "modeRGB"), (GLenum, "modeAlpha")]), - GlFunction(Void, "glDrawBuffers", [(GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), - GlFunction(Void, "glStencilOpSeparate", [(GLenum, "face"), (GLenum, "sfail"), (GLenum, "dpfail"), (GLenum, "dppass")]), - GlFunction(Void, "glStencilFuncSeparate", [(GLenum, "face"), (GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]), - GlFunction(Void, "glStencilMaskSeparate", [(GLenum, "face"), (GLuint, "mask")]), - GlFunction(Void, "glAttachShader", [(GLprogram, "program"), (GLshader, "shader")]), - GlFunction(Void, "glBindAttribLocation", [(GLprogram, "program"), (GLuint, "index"), (Const(GLstring), "name")]), - GlFunction(Void, "glCompileShader", [(GLshader, "shader")]), - GlFunction(GLprogram, "glCreateProgram", []), - GlFunction(GLshader, "glCreateShader", [(GLenum, "type")]), - GlFunction(Void, "glDeleteProgram", [(GLprogram, "program")]), - GlFunction(Void, "glDeleteShader", [(GLshader, "shader")]), - GlFunction(Void, "glDetachShader", [(GLprogram, "program"), (GLshader, "shader")]), - GlFunction(Void, "glDisableVertexAttribArray", [(GLuint, "index")]), - GlFunction(Void, "glEnableVertexAttribArray", [(GLuint, "index")]), - GlFunction(Void, "glGetActiveAttrib", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), - GlFunction(Void, "glGetActiveUniform", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), - GlFunction(Void, "glGetAttachedShaders", [(GLprogram, "program"), (GLsizei, "maxCount"), Out(Pointer(GLsizei), "count"), Out(Array(GLuint, "(count ? *count : maxCount)"), "obj")], sideeffects=False), - GlFunction(GLint, "glGetAttribLocation", [(GLprogram, "program"), (Const(GLstring), "name")]), - GlFunction(Void, "glGetProgramiv", [(GLprogram, "program"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramInfoLog", [(GLprogram, "program"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False), - GlFunction(Void, "glGetShaderiv", [(GLshader, "shader"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetShaderInfoLog", [(GLshader, "shader"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False), - GlFunction(Void, "glGetShaderSource", [(GLshader, "shader"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(String("GLchar *", "*length"), "source")], sideeffects=False), - GlFunction(GLlocation, "glGetUniformLocation", [(GLprogram, "program"), (Const(GLstring), "name")]), - GlFunction(Void, "glGetUniformfv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetUniformiv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribdv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLdouble, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribfv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribPointerv", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False), - GlFunction(GLboolean, "glIsProgram", [(GLprogram, "program")], sideeffects=False), - GlFunction(GLboolean, "glIsShader", [(GLshader, "shader")], sideeffects=False), - GlFunction(Void, "glLinkProgram", [(GLprogram, "program")]), - GlFunction(Void, "glShaderSource", [(GLshader, "shader"), (GLsizei, "count"), (Const(Array(Const(GLstringARB), "count")), "string"), (Array(Const(GLint), "count"), "length")]), - GlFunction(Void, "glUseProgram", [(GLprogram, "program")]), - GlFunction(Void, "glUniform1f", [(GLlocation, "location"), (GLfloat, "v0")]), - GlFunction(Void, "glUniform2f", [(GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), - GlFunction(Void, "glUniform3f", [(GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), - GlFunction(Void, "glUniform4f", [(GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), - GlFunction(Void, "glUniform1i", [(GLlocation, "location"), (GLint, "v0")]), - GlFunction(Void, "glUniform2i", [(GLlocation, "location"), (GLint, "v0"), (GLint, "v1")]), - GlFunction(Void, "glUniform3i", [(GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), - GlFunction(Void, "glUniform4i", [(GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), - GlFunction(Void, "glUniform1fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), - GlFunction(Void, "glUniform2fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), - GlFunction(Void, "glUniform3fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), - GlFunction(Void, "glUniform4fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), - GlFunction(Void, "glUniform1iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), - GlFunction(Void, "glUniform2iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), - GlFunction(Void, "glUniform3iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), - GlFunction(Void, "glUniform4iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), - GlFunction(Void, "glUniformMatrix2fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), - GlFunction(Void, "glUniformMatrix3fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), - GlFunction(Void, "glUniformMatrix4fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), - GlFunction(Void, "glValidateProgram", [(GLprogram, "program")]), - GlFunction(Void, "glVertexAttrib1d", [(GLuint, "index"), (GLdouble, "x")]), - GlFunction(Void, "glVertexAttrib1dv", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glVertexAttrib1f", [(GLuint, "index"), (GLfloat, "x")]), - GlFunction(Void, "glVertexAttrib1fv", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]), - GlFunction(Void, "glVertexAttrib1s", [(GLuint, "index"), (GLshort, "x")]), - GlFunction(Void, "glVertexAttrib1sv", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]), - GlFunction(Void, "glVertexAttrib2d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertexAttrib2dv", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glVertexAttrib2f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glVertexAttrib2fv", [(GLuint, "index"), (Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glVertexAttrib2s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glVertexAttrib2sv", [(GLuint, "index"), (Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glVertexAttrib3d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertexAttrib3dv", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glVertexAttrib3f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glVertexAttrib3fv", [(GLuint, "index"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glVertexAttrib3s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glVertexAttrib3sv", [(GLuint, "index"), (Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glVertexAttrib4Nbv", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4Niv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4Nsv", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4Nub", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]), - GlFunction(Void, "glVertexAttrib4Nubv", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4Nuiv", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4Nusv", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4bv", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertexAttrib4dv", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glVertexAttrib4fv", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4iv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glVertexAttrib4sv", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4ubv", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4uiv", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4usv", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glVertexAttribPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_VERSION_2_1 - GlFunction(Void, "glUniformMatrix2x3fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*3"), "value")]), - GlFunction(Void, "glUniformMatrix3x2fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*2"), "value")]), - GlFunction(Void, "glUniformMatrix2x4fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*4"), "value")]), - GlFunction(Void, "glUniformMatrix4x2fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*2"), "value")]), - GlFunction(Void, "glUniformMatrix3x4fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*4"), "value")]), - GlFunction(Void, "glUniformMatrix4x3fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*3"), "value")]), - - # GL_VERSION_3_0 - GlFunction(Void, "glColorMaski", [(GLuint, "index"), (GLboolean, "r"), (GLboolean, "g"), (GLboolean, "b"), (GLboolean, "a")]), - GlFunction(Void, "glGetBooleani_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLboolean, "__glGetBooleani_v_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glGetIntegeri_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "__glGetIntegeri_v_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glEnablei", [(GLenum, "target"), (GLuint, "index")]), - GlFunction(Void, "glDisablei", [(GLenum, "target"), (GLuint, "index")]), - GlFunction(GLboolean, "glIsEnabledi", [(GLenum, "target"), (GLuint, "index")], sideeffects=False), - GlFunction(Void, "glBeginTransformFeedback", [(GLenum_mode, "primitiveMode")]), - GlFunction(Void, "glEndTransformFeedback", []), - GlFunction(Void, "glBindBufferRange", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size")]), - GlFunction(Void, "glBindBufferBase", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer")]), - GlFunction(Void, "glTransformFeedbackVaryings", [(GLprogram, "program"), (GLsizei, "count"), (Const(Array(Const(GLstring), "count")), "varyings"), (GLenum, "bufferMode")]), - GlFunction(Void, "glGetTransformFeedbackVarying", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLsizei), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), - GlFunction(Void, "glClampColor", [(GLenum, "target"), (GLenum, "clamp")]), - GlFunction(Void, "glBeginConditionalRender", [(GLuint, "id"), (GLenum, "mode")]), - GlFunction(Void, "glEndConditionalRender", []), - GlFunction(Void, "glVertexAttribIPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glGetVertexAttribIiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribIuiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glVertexAttribI1i", [(GLuint, "index"), (GLint, "x")]), - GlFunction(Void, "glVertexAttribI2i", [(GLuint, "index"), (GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glVertexAttribI3i", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glVertexAttribI4i", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glVertexAttribI1ui", [(GLuint, "index"), (GLuint, "x")]), - GlFunction(Void, "glVertexAttribI2ui", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y")]), - GlFunction(Void, "glVertexAttribI3ui", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z")]), - GlFunction(Void, "glVertexAttribI4ui", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), - GlFunction(Void, "glVertexAttribI1iv", [(GLuint, "index"), (Pointer(Const(GLint)), "v")]), - GlFunction(Void, "glVertexAttribI2iv", [(GLuint, "index"), (Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glVertexAttribI3iv", [(GLuint, "index"), (Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glVertexAttribI4iv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertexAttribI1uiv", [(GLuint, "index"), (Pointer(Const(GLuint)), "v")]), - GlFunction(Void, "glVertexAttribI2uiv", [(GLuint, "index"), (Array(Const(GLuint), "2"), "v")]), - GlFunction(Void, "glVertexAttribI3uiv", [(GLuint, "index"), (Array(Const(GLuint), "3"), "v")]), - GlFunction(Void, "glVertexAttribI4uiv", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4bv", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4sv", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4ubv", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4usv", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glGetUniformuiv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaqueArray(GLuint, "__glGetUniformuiv_size(program, location)"), "params")], sideeffects=False), - GlFunction(Void, "glBindFragDataLocation", [(GLprogram, "program"), (GLuint, "color"), (Const(GLstring), "name")]), - GlFunction(GLlocation, "glGetFragDataLocation", [(GLprogram, "program"), (Const(GLstring), "name")]), - GlFunction(Void, "glUniform1ui", [(GLlocation, "location"), (GLuint, "v0")]), - GlFunction(Void, "glUniform2ui", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), - GlFunction(Void, "glUniform3ui", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), - GlFunction(Void, "glUniform4ui", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), - GlFunction(Void, "glUniform1uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), - GlFunction(Void, "glUniform2uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), - GlFunction(Void, "glUniform3uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), - GlFunction(Void, "glUniform4uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), - GlFunction(Void, "glTexParameterIiv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glTexParameterIiv_size(pname)"), "params")]), - GlFunction(Void, "glTexParameterIuiv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLuint), "__glTexParameterIuiv_size(pname)"), "params")]), - GlFunction(Void, "glGetTexParameterIiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexParameterIiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexParameterIuiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLuint, "__glGetTexParameterIuiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glClearBufferiv", [(GLenum, "buffer"), (GLint, "drawbuffer"), (Array(Const(GLint), "__glClearBuffer_size(buffer)"), "value")]), - GlFunction(Void, "glClearBufferuiv", [(GLenum, "buffer"), (GLint, "drawbuffer"), (Array(Const(GLuint), "__glClearBuffer_size(buffer)"), "value")]), - GlFunction(Void, "glClearBufferfv", [(GLenum, "buffer"), (GLint, "drawbuffer"), (Array(Const(GLfloat), "__glClearBuffer_size(buffer)"), "value")]), - GlFunction(Void, "glClearBufferfi", [(GLenum, "buffer"), (GLint, "drawbuffer"), (GLfloat, "depth"), (GLint, "stencil")]), - GlFunction(String("const GLubyte *"), "glGetStringi", [(GLenum, "name"), (GLuint, "index")], sideeffects=False), - - # GL_VERSION_3_1 - GlFunction(Void, "glDrawArraysInstanced", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glDrawElementsInstanced", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount")]), - GlFunction(Void, "glTexBuffer", [(GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), - GlFunction(Void, "glPrimitiveRestartIndex", [(GLuint, "index")]), - - # GL_VERSION_3_2 - GlFunction(Void, "glGetInteger64i_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint64, "__glGetInteger64i_v_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glGetBufferParameteri64v", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint64, "__glGetBufferParameteri64v_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glFramebufferTexture", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), - - # GL_VERSION_3_3 - GlFunction(Void, "glVertexAttribDivisor", [(GLuint, "index"), (GLuint, "divisor")]), - - # GL_VERSION_4_0 - GlFunction(Void, "glMinSampleShading", [(GLclampf, "value")]), - GlFunction(Void, "glBlendEquationi", [(GLuint, "buf"), (GLenum, "mode")]), - GlFunction(Void, "glBlendEquationSeparatei", [(GLuint, "buf"), (GLenum, "modeRGB"), (GLenum, "modeAlpha")]), - GlFunction(Void, "glBlendFunci", [(GLuint, "buf"), (GLenum, "src"), (GLenum, "dst")]), - GlFunction(Void, "glBlendFuncSeparatei", [(GLuint, "buf"), (GLenum, "srcRGB"), (GLenum, "dstRGB"), (GLenum, "srcAlpha"), (GLenum, "dstAlpha")]), - - # GL_ARB_multitexture - GlFunction(Void, "glActiveTextureARB", [(GLenum, "texture")]), - GlFunction(Void, "glClientActiveTextureARB", [(GLenum, "texture")]), - GlFunction(Void, "glMultiTexCoord1dARB", [(GLenum, "target"), (GLdouble, "s")]), - GlFunction(Void, "glMultiTexCoord1dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glMultiTexCoord1fARB", [(GLenum, "target"), (GLfloat, "s")]), - GlFunction(Void, "glMultiTexCoord1fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]), - GlFunction(Void, "glMultiTexCoord1iARB", [(GLenum, "target"), (GLint, "s")]), - GlFunction(Void, "glMultiTexCoord1ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]), - GlFunction(Void, "glMultiTexCoord1sARB", [(GLenum, "target"), (GLshort, "s")]), - GlFunction(Void, "glMultiTexCoord1svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]), - GlFunction(Void, "glMultiTexCoord2dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]), - GlFunction(Void, "glMultiTexCoord2dvARB", [(GLenum, "target"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord2fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]), - GlFunction(Void, "glMultiTexCoord2fvARB", [(GLenum, "target"), (Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord2iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]), - GlFunction(Void, "glMultiTexCoord2ivARB", [(GLenum, "target"), (Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord2sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]), - GlFunction(Void, "glMultiTexCoord2svARB", [(GLenum, "target"), (Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord3dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]), - GlFunction(Void, "glMultiTexCoord3dvARB", [(GLenum, "target"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord3fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]), - GlFunction(Void, "glMultiTexCoord3fvARB", [(GLenum, "target"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord3iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]), - GlFunction(Void, "glMultiTexCoord3ivARB", [(GLenum, "target"), (Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord3sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]), - GlFunction(Void, "glMultiTexCoord3svARB", [(GLenum, "target"), (Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord4dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]), - GlFunction(Void, "glMultiTexCoord4dvARB", [(GLenum, "target"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord4fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]), - GlFunction(Void, "glMultiTexCoord4fvARB", [(GLenum, "target"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord4iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]), - GlFunction(Void, "glMultiTexCoord4ivARB", [(GLenum, "target"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord4sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]), - GlFunction(Void, "glMultiTexCoord4svARB", [(GLenum, "target"), (Array(Const(GLshort), "4"), "v")]), - - # GL_ARB_transpose_matrix - GlFunction(Void, "glLoadTransposeMatrixfARB", [(Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glLoadTransposeMatrixdARB", [(Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glMultTransposeMatrixfARB", [(Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMultTransposeMatrixdARB", [(Array(Const(GLdouble), "16"), "m")]), - - # GL_ARB_multisample - GlFunction(Void, "glSampleCoverageARB", [(GLclampf, "value"), (GLboolean, "invert")]), - - # GL_ARB_texture_compression - GlFunction(Void, "glCompressedTexImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexSubImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexSubImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glCompressedTexSubImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), - GlFunction(Void, "glGetCompressedTexImageARB", [(GLenum, "target"), (GLint, "level"), Out(OpaquePointer(GLvoid), "img")], sideeffects=False), - - # GL_ARB_point_parameters - GlFunction(Void, "glPointParameterfARB", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPointParameterfvARB", [(GLenum, "pname"), (Array(Const(GLfloat), "__glPointParameterfvARB_size(pname)"), "params")]), - - # GL_ARB_vertex_blend - GlFunction(Void, "glWeightbvARB", [(GLint, "size"), (Array(Const(GLbyte), "size"), "weights")]), - GlFunction(Void, "glWeightsvARB", [(GLint, "size"), (Array(Const(GLshort), "size"), "weights")]), - GlFunction(Void, "glWeightivARB", [(GLint, "size"), (Array(Const(GLint), "size"), "weights")]), - GlFunction(Void, "glWeightfvARB", [(GLint, "size"), (Array(Const(GLfloat), "size"), "weights")]), - GlFunction(Void, "glWeightdvARB", [(GLint, "size"), (Array(Const(GLdouble), "size"), "weights")]), - GlFunction(Void, "glWeightubvARB", [(GLint, "size"), (Array(Const(GLubyte), "size"), "weights")]), - GlFunction(Void, "glWeightusvARB", [(GLint, "size"), (Array(Const(GLushort), "size"), "weights")]), - GlFunction(Void, "glWeightuivARB", [(GLint, "size"), (Array(Const(GLuint), "size"), "weights")]), - GlFunction(Void, "glWeightPointerARB", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glVertexBlendARB", [(GLint, "count")]), - - # GL_ARB_matrix_palette - GlFunction(Void, "glCurrentPaletteMatrixARB", [(GLint, "index")]), - GlFunction(Void, "glMatrixIndexubvARB", [(GLint, "size"), (Array(Const(GLubyte), "size"), "indices")]), - GlFunction(Void, "glMatrixIndexusvARB", [(GLint, "size"), (Array(Const(GLushort), "size"), "indices")]), - GlFunction(Void, "glMatrixIndexuivARB", [(GLint, "size"), (Array(Const(GLuint), "size"), "indices")]), - GlFunction(Void, "glMatrixIndexPointerARB", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_ARB_window_pos - GlFunction(Void, "glWindowPos2dARB", [(GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glWindowPos2dvARB", [(Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glWindowPos2fARB", [(GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glWindowPos2fvARB", [(Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glWindowPos2iARB", [(GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glWindowPos2ivARB", [(Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glWindowPos2sARB", [(GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glWindowPos2svARB", [(Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glWindowPos3dARB", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glWindowPos3dvARB", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glWindowPos3fARB", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glWindowPos3fvARB", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glWindowPos3iARB", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glWindowPos3ivARB", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glWindowPos3sARB", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glWindowPos3svARB", [(Array(Const(GLshort), "3"), "v")]), - - # GL_ARB_vertex_program - GlFunction(Void, "glVertexAttrib1dARB", [(GLuint, "index"), (GLdouble, "x")]), - GlFunction(Void, "glVertexAttrib1dvARB", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glVertexAttrib1fARB", [(GLuint, "index"), (GLfloat, "x")]), - GlFunction(Void, "glVertexAttrib1fvARB", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]), - GlFunction(Void, "glVertexAttrib1sARB", [(GLuint, "index"), (GLshort, "x")]), - GlFunction(Void, "glVertexAttrib1svARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]), - GlFunction(Void, "glVertexAttrib2dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertexAttrib2dvARB", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glVertexAttrib2fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glVertexAttrib2fvARB", [(GLuint, "index"), (Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glVertexAttrib2sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glVertexAttrib2svARB", [(GLuint, "index"), (Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glVertexAttrib3dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertexAttrib3dvARB", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glVertexAttrib3fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glVertexAttrib3fvARB", [(GLuint, "index"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glVertexAttrib3sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glVertexAttrib3svARB", [(GLuint, "index"), (Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glVertexAttrib4NbvARB", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4NivARB", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4NsvARB", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4NubARB", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]), - GlFunction(Void, "glVertexAttrib4NubvARB", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4NuivARB", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4NusvARB", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4bvARB", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertexAttrib4dvARB", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glVertexAttrib4fvARB", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4ivARB", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glVertexAttrib4svARB", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4ubvARB", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4uivARB", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4usvARB", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glVertexAttribPointerARB", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glEnableVertexAttribArrayARB", [(GLuint, "index")]), - GlFunction(Void, "glDisableVertexAttribArrayARB", [(GLuint, "index")]), - GlFunction(Void, "glProgramStringARB", [(GLenum, "target"), (GLenum, "format"), (GLsizei, "len"), (String("const void *", "len"), "string")]), - GlFunction(Void, "glBindProgramARB", [(GLenum, "target"), (GLprogramARB, "program")]), - GlFunction(Void, "glDeleteProgramsARB", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "programs")]), - GlFunction(Void, "glGenProgramsARB", [(GLsizei, "n"), Out(Array(GLprogramARB, "n"), "programs")]), - GlFunction(Void, "glProgramEnvParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glProgramEnvParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "params")]), - GlFunction(Void, "glProgramEnvParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glProgramEnvParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "params")]), - GlFunction(Void, "glProgramLocalParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glProgramLocalParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "params")]), - GlFunction(Void, "glProgramLocalParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glProgramLocalParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "params")]), - GlFunction(Void, "glGetProgramEnvParameterdvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramEnvParameterfvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramLocalParameterdvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramLocalParameterfvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramStringARB", [(GLenum, "target"), (GLenum, "pname"), Out(OpaquePointer(GLvoid), "string")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribdvARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLdouble, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribfvARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribivARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribPointervARB", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False), - GlFunction(GLboolean, "glIsProgramARB", [(GLprogramARB, "program")], sideeffects=False), - - # GL_ARB_vertex_buffer_object - GlFunction(Void, "glBindBufferARB", [(GLenum, "target"), (GLbuffer, "buffer")]), - GlFunction(Void, "glDeleteBuffersARB", [(GLsizei, "n"), (Array(Const(GLbuffer), "n"), "buffers")]), - GlFunction(Void, "glGenBuffersARB", [(GLsizei, "n"), Out(Array(GLbuffer, "n"), "buffers")]), - GlFunction(GLboolean, "glIsBufferARB", [(GLbuffer, "buffer")], sideeffects=False), - GlFunction(Void, "glBufferDataARB", [(GLenum, "target"), (GLsizeiptrARB, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]), - GlFunction(Void, "glBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), (Blob(Const(GLvoid), "size"), "data")]), - GlFunction(Void, "glGetBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), Out(Blob(GLvoid, "size"), "data")], sideeffects=False), - GlFunction(GLmap, "glMapBufferARB", [(GLenum, "target"), (GLenum, "access")]), - GlFunction(GLboolean, "glUnmapBufferARB", [(GLenum, "target")]), - GlFunction(Void, "glGetBufferParameterivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetBufferPointervARB", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), - - # GL_ARB_occlusion_query - GlFunction(Void, "glGenQueriesARB", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]), - GlFunction(Void, "glDeleteQueriesARB", [(GLsizei, "n"), (Array(Const(GLquery), "n"), "ids")]), - GlFunction(GLboolean, "glIsQueryARB", [(GLquery, "id")], sideeffects=False), - GlFunction(Void, "glBeginQueryARB", [(GLenum, "target"), (GLquery, "id")]), - GlFunction(Void, "glEndQueryARB", [(GLenum, "target")]), - GlFunction(Void, "glGetQueryivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryivARB_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetQueryObjectivARB", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryObjectivARB_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetQueryObjectuivARB", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLuint, "__glGetQueryObjectuivARB_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_shader_objects - GlFunction(Void, "glDeleteObjectARB", [(GLhandleARB, "obj")]), - GlFunction(GLhandleARB, "glGetHandleARB", [(GLenum, "pname")], sideeffects=False), - GlFunction(Void, "glDetachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "attachedObj")]), - GlFunction(GLhandleARB, "glCreateShaderObjectARB", [(GLenum, "shaderType")]), - GlFunction(Void, "glShaderSourceARB", [(GLhandleARB, "shaderObj"), (GLsizei, "count"), (Const(Array(Const(GLstringARB), "count")), "string"), (Array(Const(GLint), "count"), "length")]), - GlFunction(Void, "glCompileShaderARB", [(GLhandleARB, "shaderObj")]), - GlFunction(GLhandleARB, "glCreateProgramObjectARB", []), - GlFunction(Void, "glAttachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "obj")]), - GlFunction(Void, "glLinkProgramARB", [(GLhandleARB, "programObj")]), - GlFunction(Void, "glUseProgramObjectARB", [(GLhandleARB, "programObj")]), - GlFunction(Void, "glValidateProgramARB", [(GLhandleARB, "programObj")]), - GlFunction(Void, "glUniform1fARB", [(GLlocationARB, "location"), (GLfloat, "v0")]), - GlFunction(Void, "glUniform2fARB", [(GLlocationARB, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), - GlFunction(Void, "glUniform3fARB", [(GLlocationARB, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), - GlFunction(Void, "glUniform4fARB", [(GLlocationARB, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), - GlFunction(Void, "glUniform1iARB", [(GLlocationARB, "location"), (GLint, "v0")]), - GlFunction(Void, "glUniform2iARB", [(GLlocationARB, "location"), (GLint, "v0"), (GLint, "v1")]), - GlFunction(Void, "glUniform3iARB", [(GLlocationARB, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), - GlFunction(Void, "glUniform4iARB", [(GLlocationARB, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), - GlFunction(Void, "glUniform1fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), - GlFunction(Void, "glUniform2fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), - GlFunction(Void, "glUniform3fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), - GlFunction(Void, "glUniform4fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), - GlFunction(Void, "glUniform1ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), - GlFunction(Void, "glUniform2ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), - GlFunction(Void, "glUniform3ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), - GlFunction(Void, "glUniform4ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), - GlFunction(Void, "glUniformMatrix2fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), - GlFunction(Void, "glUniformMatrix3fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), - GlFunction(Void, "glUniformMatrix4fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), - GlFunction(Void, "glGetObjectParameterfvARB", [(GLhandleARB, "obj"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetObjectParameterivARB", [(GLhandleARB, "obj"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetInfoLogARB", [(GLhandleARB, "obj"), (GLsizei, "maxLength"), Out(Pointer(GLsizei), "length"), Out(GLstringARB, "infoLog")], sideeffects=False), - GlFunction(Void, "glGetAttachedObjectsARB", [(GLhandleARB, "containerObj"), (GLsizei, "maxCount"), Out(Pointer(GLsizei), "count"), Out(Array(GLhandleARB, "(count ? *count : maxCount)"), "obj")], sideeffects=False), - GlFunction(GLlocationARB, "glGetUniformLocationARB", [(GLhandleARB, "programObj"), (Const(GLstringARB), "name")]), - GlFunction(Void, "glGetActiveUniformARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstringARB, "name")], sideeffects=False), - GlFunction(Void, "glGetUniformfvARB", [(GLhandleARB, "programObj"), (GLlocationARB, "location"), (OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetUniformivARB", [(GLhandleARB, "programObj"), (GLlocationARB, "location"), (OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetShaderSourceARB", [(GLhandleARB, "obj"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstringARB, "source")], sideeffects=False), - - # GL_ARB_vertex_shader - GlFunction(Void, "glBindAttribLocationARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (Const(GLstringARB), "name")]), - GlFunction(Void, "glGetActiveAttribARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (GLsizei, "maxLength"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstringARB, "name")], sideeffects=False), - GlFunction(GLint, "glGetAttribLocationARB", [(GLhandleARB, "programObj"), (Const(GLstringARB), "name")]), - - # GL_ARB_draw_buffers - GlFunction(Void, "glDrawBuffersARB", [(GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), - - # GL_ARB_color_buffer_float - GlFunction(Void, "glClampColorARB", [(GLenum, "target"), (GLenum, "clamp")]), - - # GL_ARB_draw_instanced - GlFunction(Void, "glDrawArraysInstancedARB", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glDrawElementsInstancedARB", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount")]), - - # GL_ARB_framebuffer_object - GlFunction(GLboolean, "glIsRenderbuffer", [(GLrenderbuffer, "renderbuffer")], sideeffects=False), - GlFunction(Void, "glBindRenderbuffer", [(GLenum, "target"), (GLrenderbuffer, "renderbuffer")]), - GlFunction(Void, "glDeleteRenderbuffers", [(GLsizei, "n"), (Array(Const(GLrenderbuffer), "n"), "renderbuffers")]), - GlFunction(Void, "glGenRenderbuffers", [(GLsizei, "n"), Out(Array(GLrenderbuffer, "n"), "renderbuffers")]), - GlFunction(Void, "glRenderbufferStorage", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetRenderbufferParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(GLboolean, "glIsFramebuffer", [(GLframebuffer, "framebuffer")], sideeffects=False), - GlFunction(Void, "glBindFramebuffer", [(GLenum, "target"), (GLframebuffer, "framebuffer")]), - GlFunction(Void, "glDeleteFramebuffers", [(GLsizei, "n"), (Array(Const(GLframebuffer), "n"), "framebuffers")]), - GlFunction(Void, "glGenFramebuffers", [(GLsizei, "n"), Out(Array(GLframebuffer, "n"), "framebuffers")]), - GlFunction(GLenum, "glCheckFramebufferStatus", [(GLenum, "target")]), - GlFunction(Void, "glFramebufferTexture1D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glFramebufferTexture2D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glFramebufferTexture3D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]), - GlFunction(Void, "glFramebufferRenderbuffer", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]), - GlFunction(Void, "glGetFramebufferAttachmentParameteriv", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), Out(Array(GLint, "__glGetFramebufferAttachmentParameteriv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGenerateMipmap", [(GLenum, "target")]), - GlFunction(Void, "glBlitFramebuffer", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield_attrib, "mask"), (GLenum, "filter")]), - GlFunction(Void, "glRenderbufferStorageMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glFramebufferTextureLayer", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), - - # GL_ARB_geometry_shader4 - GlFunction(Void, "glProgramParameteriARB", [(GLprogram, "program"), (GLenum, "pname"), (GLint, "value")]), - GlFunction(Void, "glFramebufferTextureARB", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glFramebufferTextureLayerARB", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), - GlFunction(Void, "glFramebufferTextureFaceARB", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLenum, "face")]), - - # GL_ARB_instanced_arrays - GlFunction(Void, "glVertexAttribDivisorARB", [(GLuint, "index"), (GLuint, "divisor")]), - - # GL_ARB_map_buffer_range - GlFunction(GLmap, "glMapBufferRange", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "length"), (GLbitfield_access, "access")]), - GlFunction(Void, "glFlushMappedBufferRange", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "length")]), - - # GL_ARB_texture_buffer_object - GlFunction(Void, "glTexBufferARB", [(GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), - - # GL_ARB_vertex_array_object - GlFunction(Void, "glBindVertexArray", [(GLarray, "array")]), - GlFunction(Void, "glDeleteVertexArrays", [(GLsizei, "n"), (Array(Const(GLarray), "n"), "arrays")]), - GlFunction(Void, "glGenVertexArrays", [(GLsizei, "n"), Out(Array(GLarray, "n"), "arrays")]), - GlFunction(GLboolean, "glIsVertexArray", [(GLarray, "array")], sideeffects=False), - - # GL_ARB_uniform_buffer_object - GlFunction(Void, "glGetUniformIndices", [(GLprogram, "program"), (GLsizei, "uniformCount"), (Array(Const(GLstring), "uniformCount"), "uniformNames"), Out(Array(GLuint, "uniformCount"), "uniformIndices")], sideeffects=False), - GlFunction(Void, "glGetActiveUniformsiv", [(GLprogram, "program"), (GLsizei, "uniformCount"), (Array(Const(GLuint), "uniformCount"), "uniformIndices"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveUniformsiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetActiveUniformName", [(GLprogram, "program"), (GLuint, "uniformIndex"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "uniformName")], sideeffects=False), - GlFunction(GLuint, "glGetUniformBlockIndex", [(GLprogram, "program"), (Const(GLstring), "uniformBlockName")]), - GlFunction(Void, "glGetActiveUniformBlockiv", [(GLprogram, "program"), (GLuint, "uniformBlockIndex"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveUniformBlockiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetActiveUniformBlockName", [(GLprogram, "program"), (GLuint, "uniformBlockIndex"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "uniformBlockName")], sideeffects=False), - GlFunction(Void, "glUniformBlockBinding", [(GLprogram, "program"), (GLuint, "uniformBlockIndex"), (GLuint, "uniformBlockBinding")]), - - # GL_ARB_copy_buffer - GlFunction(Void, "glCopyBufferSubData", [(GLenum, "readTarget"), (GLenum, "writeTarget"), (GLintptr, "readOffset"), (GLintptr, "writeOffset"), (GLsizeiptr, "size")]), - - # GL_ARB_draw_elements_base_vertex - GlFunction(Void, "glDrawElementsBaseVertex", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLint, "basevertex")]), - GlFunction(Void, "glDrawRangeElementsBaseVertex", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLint, "basevertex")]), - GlFunction(Void, "glDrawElementsInstancedBaseVertex", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount"), (GLint, "basevertex")]), - GlFunction(Void, "glMultiDrawElementsBaseVertex", [(GLenum_mode, "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount"), (Array(Const(GLint), "primcount"), "basevertex")]), - - # GL_ARB_provoking_vertex - GlFunction(Void, "glProvokingVertex", [(GLenum, "mode")]), - - # GL_ARB_sync - GlFunction(GLsync, "glFenceSync", [(GLenum, "condition"), (GLbitfield, "flags")]), - GlFunction(GLboolean, "glIsSync", [(GLsync, "sync")], sideeffects=False), - GlFunction(Void, "glDeleteSync", [(GLsync, "sync")]), - GlFunction(GLenum, "glClientWaitSync", [(GLsync, "sync"), (GLbitfield_sync_flush, "flags"), (GLuint64, "timeout")]), - GlFunction(Void, "glWaitSync", [(GLsync, "sync"), (GLbitfield, "flags"), (GLuint64, "timeout")]), - GlFunction(Void, "glGetInteger64v", [(GLenum, "pname"), Out(OpaqueArray(GLint64, "__glGetInteger64v_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetSynciv", [(GLsync, "sync"), (GLenum, "pname"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLint, "(length ? *length : bufSize)"), "values")], sideeffects=False), - - # GL_ARB_texture_multisample - GlFunction(Void, "glTexImage2DMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedsamplelocations")]), - GlFunction(Void, "glTexImage3DMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedsamplelocations")]), - GlFunction(Void, "glGetMultisamplefv", [(GLenum, "pname"), (GLuint, "index"), Out(OpaqueArray(GLfloat, "__glGetMultisamplefv_size(pname)"), "val")], sideeffects=False), - GlFunction(Void, "glSampleMaski", [(GLuint, "index"), (GLbitfield, "mask")]), - - # GL_ARB_draw_buffers_blend - GlFunction(Void, "glBlendEquationiARB", [(GLuint, "buf"), (GLenum, "mode")]), - GlFunction(Void, "glBlendEquationSeparateiARB", [(GLuint, "buf"), (GLenum, "modeRGB"), (GLenum, "modeAlpha")]), - GlFunction(Void, "glBlendFunciARB", [(GLuint, "buf"), (GLenum, "src"), (GLenum, "dst")]), - GlFunction(Void, "glBlendFuncSeparateiARB", [(GLuint, "buf"), (GLenum, "srcRGB"), (GLenum, "dstRGB"), (GLenum, "srcAlpha"), (GLenum, "dstAlpha")]), - - # GL_ARB_sample_shading - GlFunction(Void, "glMinSampleShadingARB", [(GLclampf, "value")]), - - # GL_ARB_shading_language_include - GlFunction(Void, "glNamedStringARB", [(GLenum, "type"), (GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name"), (GLint, "stringlen"), (Const(String('GLchar *', "stringlen")), "string")]), - GlFunction(Void, "glDeleteNamedStringARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name")]), - GlFunction(Void, "glCompileShaderIncludeARB", [(GLshader, "shader"), (GLsizei, "count"), (Array(String("const GLchar *"), "count"), "path"), (Array(Const(GLint), "count"), "length")]), - GlFunction(GLboolean, "glIsNamedStringARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name")], sideeffects=False), - GlFunction(Void, "glGetNamedStringARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name"), (GLsizei, "bufSize"), Out(Pointer(GLint), "stringlen"), Out(Array(GLchar, "bufSize"), "string")], sideeffects=False), - GlFunction(Void, "glGetNamedStringivARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetNamedStringivARB_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_blend_func_extended - GlFunction(Void, "glBindFragDataLocationIndexed", [(GLprogram, "program"), (GLuint, "colorNumber"), (GLuint, "index"), (Const(GLstring), "name")]), - GlFunction(GLint, "glGetFragDataIndex", [(GLprogram, "program"), (Const(GLstring), "name")], sideeffects=False), - - # GL_ARB_sampler_objects - GlFunction(Void, "glGenSamplers", [(GLsizei, "count"), Out(Array(GLsampler, "count"), "samplers")]), - GlFunction(Void, "glDeleteSamplers", [(GLsizei, "count"), (Array(Const(GLsampler), "count"), "samplers")]), - GlFunction(GLboolean, "glIsSampler", [(GLsampler, "sampler")], sideeffects=False), - GlFunction(Void, "glBindSampler", [(GLuint, "unit"), (GLsampler, "sampler")]), - GlFunction(Void, "glSamplerParameteri", [(GLsampler, "sampler"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glSamplerParameteriv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "param")]), - GlFunction(Void, "glSamplerParameterf", [(GLsampler, "sampler"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glSamplerParameterfv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "param")]), - GlFunction(Void, "glSamplerParameterIiv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "param")]), - GlFunction(Void, "glSamplerParameterIuiv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLuint), "__gl_param_size(pname)"), "param")]), - GlFunction(Void, "glGetSamplerParameteriv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetSamplerParameterIiv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetSamplerParameterfv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetSamplerParameterIuiv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_timer_query - GlFunction(Void, "glQueryCounter", [(GLuint, "id"), (GLenum, "target")]), - GlFunction(Void, "glGetQueryObjecti64v", [(GLuint, "id"), (GLenum, "pname"), Out(OpaqueArray(GLint64, "__glGetQueryObjectivARB_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetQueryObjectui64v", [(GLuint, "id"), (GLenum, "pname"), Out(OpaqueArray(GLuint64, "__glGetQueryObjectuivARB_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_vertex_type_2_10_10_10_rev - GlFunction(Void, "glVertexP2ui", [(GLenum, "type"), (GLuint, "value")]), - GlFunction(Void, "glVertexP2uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "value")]), - GlFunction(Void, "glVertexP3ui", [(GLenum, "type"), (GLuint, "value")]), - GlFunction(Void, "glVertexP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "value")]), - GlFunction(Void, "glVertexP4ui", [(GLenum, "type"), (GLuint, "value")]), - GlFunction(Void, "glVertexP4uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "value")]), - GlFunction(Void, "glTexCoordP1ui", [(GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glTexCoordP1uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glTexCoordP2ui", [(GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glTexCoordP2uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glTexCoordP3ui", [(GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glTexCoordP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glTexCoordP4ui", [(GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glTexCoordP4uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glMultiTexCoordP1ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glMultiTexCoordP1uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glMultiTexCoordP2ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glMultiTexCoordP2uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glMultiTexCoordP3ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glMultiTexCoordP3uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glMultiTexCoordP4ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glMultiTexCoordP4uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glNormalP3ui", [(GLenum, "type"), (GLuint, "coords")]), - GlFunction(Void, "glNormalP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), - GlFunction(Void, "glColorP3ui", [(GLenum, "type"), (GLuint, "color")]), - GlFunction(Void, "glColorP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "color")]), - GlFunction(Void, "glColorP4ui", [(GLenum, "type"), (GLuint, "color")]), - GlFunction(Void, "glColorP4uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "color")]), - GlFunction(Void, "glSecondaryColorP3ui", [(GLenum, "type"), (GLuint, "color")]), - GlFunction(Void, "glSecondaryColorP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "color")]), - GlFunction(Void, "glVertexAttribP1ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), - GlFunction(Void, "glVertexAttribP1uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), - GlFunction(Void, "glVertexAttribP2ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), - GlFunction(Void, "glVertexAttribP2uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), - GlFunction(Void, "glVertexAttribP3ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), - GlFunction(Void, "glVertexAttribP3uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), - GlFunction(Void, "glVertexAttribP4ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), - GlFunction(Void, "glVertexAttribP4uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), - - # GL_ARB_draw_indirect - GlFunction(Void, "glDrawArraysIndirect", [(GLenum_mode, "mode"), (OpaquePointer(Const(GLvoid)), "indirect")]), - GlFunction(Void, "glDrawElementsIndirect", [(GLenum_mode, "mode"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indirect")]), - - # GL_ARB_gpu_shader_fp64 - GlFunction(Void, "glUniform1d", [(GLlocation, "location"), (GLdouble, "x")]), - GlFunction(Void, "glUniform2d", [(GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glUniform3d", [(GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glUniform4d", [(GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glUniform1dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "value")]), - GlFunction(Void, "glUniform2dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "value")]), - GlFunction(Void, "glUniform3dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "value")]), - GlFunction(Void, "glUniform4dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "value")]), - GlFunction(Void, "glUniformMatrix2dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*2"), "value")]), - GlFunction(Void, "glUniformMatrix3dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*3"), "value")]), - GlFunction(Void, "glUniformMatrix4dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*4"), "value")]), - GlFunction(Void, "glUniformMatrix2x3dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*3"), "value")]), - GlFunction(Void, "glUniformMatrix2x4dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*4"), "value")]), - GlFunction(Void, "glUniformMatrix3x2dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*2"), "value")]), - GlFunction(Void, "glUniformMatrix3x4dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*4"), "value")]), - GlFunction(Void, "glUniformMatrix4x2dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*2"), "value")]), - GlFunction(Void, "glUniformMatrix4x3dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*3"), "value")]), - GlFunction(Void, "glGetUniformdv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaqueArray(GLdouble, "__glGetUniformdv_size(location)"), "params")], sideeffects=False), - - # GL_ARB_shader_subroutine - GlFunction(GLlocation, "glGetSubroutineUniformLocation", [(GLprogram, "program"), (GLenum, "shadertype"), (Const(GLstring), "name")]), - GlFunction(GLuint, "glGetSubroutineIndex", [(GLprogram, "program"), (GLenum, "shadertype"), (Const(GLstring), "name")]), - GlFunction(Void, "glGetActiveSubroutineUniformiv", [(GLprogram, "program"), (GLenum, "shadertype"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveSubroutineUniformiv_size(pname)"), "values")], sideeffects=False), - GlFunction(Void, "glGetActiveSubroutineUniformName", [(GLprogram, "program"), (GLenum, "shadertype"), (GLuint, "index"), (GLsizei, "bufsize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufsize"), "name")], sideeffects=False), - GlFunction(Void, "glGetActiveSubroutineName", [(GLprogram, "program"), (GLenum, "shadertype"), (GLuint, "index"), (GLsizei, "bufsize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufsize"), "name")], sideeffects=False), - GlFunction(Void, "glUniformSubroutinesuiv", [(GLenum, "shadertype"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "indices")]), - GlFunction(Void, "glGetUniformSubroutineuiv", [(GLenum, "shadertype"), (GLlocation, "location"), Out(Pointer(GLuint), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramStageiv", [(GLprogram, "program"), (GLenum, "shadertype"), (GLenum, "pname"), Out(Pointer(GLint), "values")], sideeffects=False), - - # GL_ARB_tessellation_shader - GlFunction(Void, "glPatchParameteri", [(GLenum, "pname"), (GLint, "value")]), - GlFunction(Void, "glPatchParameterfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "values")]), - - # GL_ARB_transform_feedback2 - GlFunction(Void, "glBindTransformFeedback", [(GLenum, "target"), (GLfeedback, "id")]), - GlFunction(Void, "glDeleteTransformFeedbacks", [(GLsizei, "n"), (Array(Const(GLfeedback), "n"), "ids")]), - GlFunction(Void, "glGenTransformFeedbacks", [(GLsizei, "n"), Out(Array(GLfeedback, "n"), "ids")]), - GlFunction(GLboolean, "glIsTransformFeedback", [(GLfeedback, "id")], sideeffects=False), - GlFunction(Void, "glPauseTransformFeedback", []), - GlFunction(Void, "glResumeTransformFeedback", []), - GlFunction(Void, "glDrawTransformFeedback", [(GLenum_mode, "mode"), (GLfeedback, "id")]), - - # GL_ARB_transform_feedback3 - GlFunction(Void, "glDrawTransformFeedbackStream", [(GLenum_mode, "mode"), (GLfeedback, "id"), (GLuint, "stream")]), - GlFunction(Void, "glBeginQueryIndexed", [(GLenum, "target"), (GLuint, "index"), (GLfeedback, "id")]), - GlFunction(Void, "glEndQueryIndexed", [(GLenum, "target"), (GLuint, "index")]), - GlFunction(Void, "glGetQueryIndexediv", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetQueryIndexediv_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_ES2_compatibility - GlFunction(Void, "glReleaseShaderCompiler", []), - GlFunction(Void, "glShaderBinary", [(GLsizei, "count"), (Array(Const(GLuint), "count"), "shaders"), (GLenum, "binaryformat"), (Blob(Const(GLvoid), "length"), "binary"), (GLsizei, "length")]), - GlFunction(Void, "glGetShaderPrecisionFormat", [(GLenum, "shadertype"), (GLenum, "precisiontype"), Out(Array(GLint, "2"), "range"), Out(Array(GLint, "2"), "precision")], sideeffects=False), - GlFunction(Void, "glDepthRangef", [(GLclampf, "n"), (GLclampf, "f")]), - GlFunction(Void, "glClearDepthf", [(GLclampf, "d")]), - - # GL_ARB_get_program_binary - GlFunction(Void, "glGetProgramBinary", [(GLprogram, "program"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLenum), "binaryFormat"), Out(OpaqueArray(GLvoid, "__glGetProgramBinary_size(length)"), "binary")], sideeffects=False), - GlFunction(Void, "glProgramBinary", [(GLprogram, "program"), (GLenum, "binaryFormat"), (Blob(Const(GLvoid), "length"), "binary"), (GLsizei, "length")]), - GlFunction(Void, "glProgramParameteri", [(GLprogram, "program"), (GLenum, "pname"), (GLint, "value")]), - - # GL_ARB_separate_shader_objects - GlFunction(Void, "glUseProgramStages", [(GLpipeline, "pipeline"), (GLbitfield_shader, "stages"), (GLprogram, "program")]), - GlFunction(Void, "glActiveShaderProgram", [(GLpipeline, "pipeline"), (GLprogram, "program")]), - GlFunction(GLprogram, "glCreateShaderProgramv", [(GLenum, "type"), (GLsizei, "count"), (Const(Array(Const(GLstring), "count")), "strings")]), - GlFunction(Void, "glBindProgramPipeline", [(GLpipeline, "pipeline")]), - GlFunction(Void, "glDeleteProgramPipelines", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "pipelines")]), - GlFunction(Void, "glGenProgramPipelines", [(GLsizei, "n"), Out(Array(GLpipeline, "n"), "pipelines")]), - GlFunction(GLboolean, "glIsProgramPipeline", [(GLpipeline, "pipeline")], sideeffects=False), - GlFunction(Void, "glGetProgramPipelineiv", [(GLpipeline, "pipeline"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetProgramPipelineiv_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glProgramUniform1i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0")]), - GlFunction(Void, "glProgramUniform1iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), - GlFunction(Void, "glProgramUniform1f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0")]), - GlFunction(Void, "glProgramUniform1fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), - GlFunction(Void, "glProgramUniform1d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0")]), - GlFunction(Void, "glProgramUniform1dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "value")]), - GlFunction(Void, "glProgramUniform1ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0")]), - GlFunction(Void, "glProgramUniform1uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), - GlFunction(Void, "glProgramUniform2i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1")]), - GlFunction(Void, "glProgramUniform2iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform2f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), - GlFunction(Void, "glProgramUniform2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform2d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0"), (GLdouble, "v1")]), - GlFunction(Void, "glProgramUniform2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform2ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), - GlFunction(Void, "glProgramUniform2uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), - GlFunction(Void, "glProgramUniform3iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform3f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), - GlFunction(Void, "glProgramUniform3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform3d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0"), (GLdouble, "v1"), (GLdouble, "v2")]), - GlFunction(Void, "glProgramUniform3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform3ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), - GlFunction(Void, "glProgramUniform3uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), - GlFunction(Void, "glProgramUniform4iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), - GlFunction(Void, "glProgramUniform4f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), - GlFunction(Void, "glProgramUniform4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), - GlFunction(Void, "glProgramUniform4d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0"), (GLdouble, "v1"), (GLdouble, "v2"), (GLdouble, "v3")]), - GlFunction(Void, "glProgramUniform4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "value")]), - GlFunction(Void, "glProgramUniform4ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), - GlFunction(Void, "glProgramUniform4uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*3"), "value")]), - GlFunction(Void, "glValidateProgramPipeline", [(GLpipeline, "pipeline")]), - GlFunction(Void, "glGetProgramPipelineInfoLog", [(GLpipeline, "pipeline"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False), - - # GL_ARB_vertex_attrib_64bit - GlFunction(Void, "glVertexAttribL1d", [(GLuint, "index"), (GLdouble, "x")]), - GlFunction(Void, "glVertexAttribL2d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertexAttribL3d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertexAttribL4d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertexAttribL1dv", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glVertexAttribL2dv", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glVertexAttribL3dv", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glVertexAttribL4dv", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glVertexAttribLPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glGetVertexAttribLdv", [(GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLdouble, "__glGetVertexAttribLdv_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_viewport_array - GlFunction(Void, "glViewportArrayv", [(GLuint, "first"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "v")]), - GlFunction(Void, "glViewportIndexedf", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "w"), (GLfloat, "h")]), - GlFunction(Void, "glViewportIndexedfv", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glScissorArrayv", [(GLuint, "first"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "v")]), - GlFunction(Void, "glScissorIndexed", [(GLuint, "index"), (GLint, "left"), (GLint, "bottom"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glScissorIndexedv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glDepthRangeArrayv", [(GLuint, "first"), (GLsizei, "count"), (Array(Const(GLclampd), "count*2"), "v")]), - GlFunction(Void, "glDepthRangeIndexed", [(GLuint, "index"), (GLclampd, "n"), (GLclampd, "f")]), - GlFunction(Void, "glGetFloati_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "__gl_param_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glGetDoublei_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "__gl_param_size(target)"), "data")], sideeffects=False), - - # GL_ARB_debug_output - GlFunction(Void, "glDebugMessageControlARB", [(GLenum, "source"), (GLenum, "type"), (GLenum, "severity"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "ids"), (GLboolean, "enabled")], sideeffects=False), - GlFunction(Void, "glDebugMessageInsertARB", [(GLenum, "source"), (GLenum, "type"), (GLuint, "id"), (GLenum, "severity"), (GLsizei, "length"), (Const(String("GLchar *", "length")), "buf")], sideeffects=False), - GlFunction(Void, "glDebugMessageCallbackARB", [(GLDEBUGPROCARB, "callback"), (Opaque("const GLvoid *"), "userParam")], sideeffects=False), - GlFunction(GLuint, "glGetDebugMessageLogARB", [(GLuint, "count"), (GLsizei, "bufsize"), Out(Array(GLenum, "count"), "sources"), Out(Array(GLenum, "count"), "types"), Out(Array(GLuint, "count"), "ids"), Out(Array(GLenum, "count"), "severities"), Out(Array(GLsizei, "count"), "lengths"), Out(GLstring, "messageLog")], sideeffects=False), - - # GL_ARB_robustness - GlFunction(GLenum, "glGetGraphicsResetStatusARB", [], sideeffects=False), - GlFunction(Void, "glGetnMapdvARB", [(GLenum, "target"), (GLenum, "query"), (GLsizei, "bufSize"), Out(Array(GLdouble, "bufSize"), "v")], sideeffects=False), - GlFunction(Void, "glGetnMapfvARB", [(GLenum, "target"), (GLenum, "query"), (GLsizei, "bufSize"), Out(Array(GLfloat, "bufSize"), "v")], sideeffects=False), - GlFunction(Void, "glGetnMapivARB", [(GLenum, "target"), (GLenum, "query"), (GLsizei, "bufSize"), Out(Array(GLint, "bufSize"), "v")], sideeffects=False), - GlFunction(Void, "glGetnPixelMapfvARB", [(GLenum, "map"), (GLsizei, "bufSize"), Out(Array(GLfloat, "bufSize"), "values")]), - GlFunction(Void, "glGetnPixelMapuivARB", [(GLenum, "map"), (GLsizei, "bufSize"), Out(Array(GLuint, "bufSize"), "values")]), - GlFunction(Void, "glGetnPixelMapusvARB", [(GLenum, "map"), (GLsizei, "bufSize"), Out(Array(GLushort, "bufSize"), "values")]), - GlFunction(Void, "glGetnPolygonStippleARB", [(GLsizei, "bufSize"), Out(Blob(GLubyte, "bufSize"), "pattern")]), - GlFunction(Void, "glGetnColorTableARB", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "table")], sideeffects=False), - GlFunction(Void, "glGetnConvolutionFilterARB", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "image")]), - GlFunction(Void, "glGetnSeparableFilterARB", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "rowBufSize"), Out(Blob(GLvoid, "rowBufSize"), "row"), (GLsizei, "columnBufSize"), Out(Blob(GLvoid, "columnBufSize"), "column"), Out(OpaquePointer(GLvoid), "span")]), - GlFunction(Void, "glGetnHistogramARB", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "values")]), - GlFunction(Void, "glGetnMinmaxARB", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "values")]), - GlFunction(Void, "glGetnTexImageARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "img")]), - GlFunction(Void, "glReadnPixelsARB", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "data")]), - GlFunction(Void, "glGetnCompressedTexImageARB", [(GLenum, "target"), (GLint, "lod"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "img")], sideeffects=False), - GlFunction(Void, "glGetnUniformfvARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLfloat, "bufSize"), "params")], sideeffects=False), - GlFunction(Void, "glGetnUniformivARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLint, "bufSize"), "params")], sideeffects=False), - GlFunction(Void, "glGetnUniformuivARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLuint, "bufSize"), "params")], sideeffects=False), - GlFunction(Void, "glGetnUniformdvARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLdouble, "bufSize"), "params")], sideeffects=False), - - # GL_ARB_base_instance - GlFunction(Void, "glDrawArraysInstancedBaseInstance", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount"), (GLuint, "baseinstance")]), - GlFunction(Void, "glDrawElementsInstancedBaseInstance", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount"), (GLuint, "baseinstance")]), - GlFunction(Void, "glDrawElementsInstancedBaseVertexBaseInstance", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount"), (GLint, "basevertex"), (GLuint, "baseinstance")]), - - # GL_ARB_transform_feedback_instanced - GlFunction(Void, "glDrawTransformFeedbackInstanced", [(GLenum_mode, "mode"), (GLfeedback, "id"), (GLsizei, "primcount")]), - GlFunction(Void, "glDrawTransformFeedbackStreamInstanced", [(GLenum_mode, "mode"), (GLfeedback, "id"), (GLuint, "stream"), (GLsizei, "primcount")]), - - # GL_ARB_internalformat_query - GlFunction(Void, "glGetInternalformativ", [(GLenum, "target"), (GLenum, "internalformat"), (GLenum, "pname"), (GLsizei, "bufSize"), Out(Array(GLint, "bufSize"), "params")], sideeffects=False), - - # GL_ARB_shader_atomic_counters - GlFunction(Void, "glGetActiveAtomicCounterBufferiv", [(GLprogram, "program"), (GLuint, "bufferIndex"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveAtomicCounterBufferiv_size(pname)"), "params")], sideeffects=False), - - # GL_ARB_shader_image_load_store - GlFunction(Void, "glBindImageTexture", [(GLuint, "unit"), (GLtexture, "texture"), (GLint, "level"), (GLboolean, "layered"), (GLint, "layer"), (GLenum, "access"), (GLenum, "format")]), - GlFunction(Void, "glMemoryBarrier", [(GLbitfield_barrier, "barriers")]), - - # GL_ARB_texture_storage - GlFunction(Void, "glTexStorage1D", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width")]), - GlFunction(Void, "glTexStorage2D", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glTexStorage3D", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), - GlFunction(Void, "glTextureStorage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width")]), - GlFunction(Void, "glTextureStorage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glTextureStorage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), - - # GL_EXT_blend_color - GlFunction(Void, "glBlendColorEXT", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]), - - # GL_EXT_polygon_offset - GlFunction(Void, "glPolygonOffsetEXT", [(GLfloat, "factor"), (GLfloat, "bias")]), - - # GL_EXT_texture3D - GlFunction(Void, "glTexImage3DEXT", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage3D_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glTexSubImage3DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage3D_size(format, type, width, height, depth)"), "pixels")]), - - # GL_SGIS_texture_filter4 - GlFunction(Void, "glGetTexFilterFuncSGIS", [(GLenum, "target"), (GLenum, "filter"), Out(OpaqueArray(GLfloat, "__glGetTexFilterFuncSGIS_size(target, filter)"), "weights")], sideeffects=False), - GlFunction(Void, "glTexFilterFuncSGIS", [(GLenum, "target"), (GLenum, "filter"), (GLsizei, "n"), (Array(Const(GLfloat), "n"), "weights")]), - - # GL_EXT_subtexture - GlFunction(Void, "glTexSubImage1DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage1D_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glTexSubImage2DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage2D_size(format, type, width, height)"), "pixels")]), - - # GL_EXT_copy_texture - GlFunction(Void, "glCopyTexImage1DEXT", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), - GlFunction(Void, "glCopyTexImage2DEXT", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), - GlFunction(Void, "glCopyTexSubImage1DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glCopyTexSubImage2DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glCopyTexSubImage3DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - - # GL_EXT_histogram - GlFunction(Void, "glGetHistogramEXT", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetHistogramEXT_size(target, format, type)"), "values")], sideeffects=False), - GlFunction(Void, "glGetHistogramParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetHistogramParameterfvEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetHistogramParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetHistogramParameterivEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMinmaxEXT", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetMinmaxEXT_size(target, format, type)"), "values")], sideeffects=False), - GlFunction(Void, "glGetMinmaxParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetMinmaxParameterfvEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMinmaxParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetMinmaxParameterivEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glHistogramEXT", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]), - GlFunction(Void, "glMinmaxEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]), - GlFunction(Void, "glResetHistogramEXT", [(GLenum, "target")]), - GlFunction(Void, "glResetMinmaxEXT", [(GLenum, "target")]), - - # GL_EXT_convolution - GlFunction(Void, "glConvolutionFilter1DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glConvolutionFilter1DEXT_size(format, type, width)"), "image")]), - GlFunction(Void, "glConvolutionFilter2DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glConvolutionFilter2DEXT_size(format, type, width, height)"), "image")]), - GlFunction(Void, "glConvolutionParameterfEXT", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]), - GlFunction(Void, "glConvolutionParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glConvolutionParameterfvEXT_size(pname)"), "params")]), - GlFunction(Void, "glConvolutionParameteriEXT", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]), - GlFunction(Void, "glConvolutionParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glConvolutionParameterivEXT_size(pname)"), "params")]), - GlFunction(Void, "glCopyConvolutionFilter1DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glCopyConvolutionFilter2DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetConvolutionFilterEXT", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetConvolutionFilterEXT_size(target, format, type)"), "image")], sideeffects=False), - GlFunction(Void, "glGetConvolutionParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetConvolutionParameterfvEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetConvolutionParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetConvolutionParameterivEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetSeparableFilterEXT", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilterEXT_size(target, format, type)"), "row"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilterEXT_size(target, format, type)"), "column"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilterEXT_size(target, format, type)"), "span")], sideeffects=False), - GlFunction(Void, "glSeparableFilter2DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glSeparableFilter2DEXT_size(target, format, type, width)"), "row"), (OpaqueBlob(Const(GLvoid), "__glSeparableFilter2DEXT_size(target, format, type, height)"), "column")]), - - # GL_SGI_color_table - GlFunction(Void, "glColorTableSGI", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glColorTableSGI_size(format, type, width)"), "table")]), - GlFunction(Void, "glColorTableParameterfvSGI", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glColorTableParameterfvSGI_size(pname)"), "params")]), - GlFunction(Void, "glColorTableParameterivSGI", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glColorTableParameterivSGI_size(pname)"), "params")]), - GlFunction(Void, "glCopyColorTableSGI", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glGetColorTableSGI", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetColorTableSGI_size(target, format, type)"), "table")], sideeffects=False), - GlFunction(Void, "glGetColorTableParameterfvSGI", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetColorTableParameterfvSGI_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetColorTableParameterivSGI", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetColorTableParameterivSGI_size(pname)"), "params")], sideeffects=False), - - # GL_SGIX_pixel_texture - GlFunction(Void, "glPixelTexGenSGIX", [(GLenum, "mode")]), - - # GL_SGIS_pixel_texture - GlFunction(Void, "glPixelTexGenParameteriSGIS", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glPixelTexGenParameterivSGIS", [(GLenum, "pname"), (OpaqueArray(Const(GLint), "__glPixelTexGenParameterivSGIS_size(pname)"), "params")]), - GlFunction(Void, "glPixelTexGenParameterfSGIS", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPixelTexGenParameterfvSGIS", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glPixelTexGenParameterfvSGIS_size(pname)"), "params")]), - GlFunction(Void, "glGetPixelTexGenParameterivSGIS", [(GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetPixelTexGenParameterivSGIS_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetPixelTexGenParameterfvSGIS", [(GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetPixelTexGenParameterfvSGIS_size(pname)"), "params")], sideeffects=False), - - # GL_SGIS_texture4D - GlFunction(Void, "glTexImage4DSGIS", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLsizei, "size4d"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glTexImage4DSGIS_size(format, type, width, height, depth, size4d)"), "pixels")]), - GlFunction(Void, "glTexSubImage4DSGIS", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "woffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLsizei, "size4d"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glTexSubImage4DSGIS_size(format, type, width, height, depth, size4d)"), "pixels")]), - - # GL_EXT_texture_object - GlFunction(GLboolean, "glAreTexturesResidentEXT", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), Out(Array(GLboolean, "n"), "residences")]), - GlFunction(Void, "glBindTextureEXT", [(GLenum, "target"), (GLtexture, "texture")]), - GlFunction(Void, "glDeleteTexturesEXT", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures")]), - GlFunction(Void, "glGenTexturesEXT", [(GLsizei, "n"), Out(Array(GLtexture, "n"), "textures")]), - GlFunction(GLboolean, "glIsTextureEXT", [(GLtexture, "texture")], sideeffects=False), - GlFunction(Void, "glPrioritizeTexturesEXT", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), (Array(Const(GLclampf), "n"), "priorities")]), - - # GL_SGIS_detail_texture - GlFunction(Void, "glDetailTexFuncSGIS", [(GLenum, "target"), (GLsizei, "n"), (Array(Const(GLfloat), "n*2"), "points")]), - GlFunction(Void, "glGetDetailTexFuncSGIS", [(GLenum, "target"), Out(OpaqueArray(GLfloat, "__glGetDetailTexFuncSGIS_size(target)"), "points")], sideeffects=False), - - # GL_SGIS_sharpen_texture - GlFunction(Void, "glSharpenTexFuncSGIS", [(GLenum, "target"), (GLsizei, "n"), (Array(Const(GLfloat), "n*2"), "points")]), - GlFunction(Void, "glGetSharpenTexFuncSGIS", [(GLenum, "target"), Out(OpaqueArray(GLfloat, "__glGetSharpenTexFuncSGIS_size(target)"), "points")], sideeffects=False), - - # GL_SGIS_multisample - GlFunction(Void, "glSampleMaskSGIS", [(GLclampf, "value"), (GLboolean, "invert")]), - GlFunction(Void, "glSamplePatternSGIS", [(GLenum, "pattern")]), - - # GL_EXT_vertex_array - GlFunction(Void, "glArrayElementEXT", [(GLint, "i")]), - GlFunction(Void, "glColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glDrawArraysEXT", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]), - GlFunction(Void, "glEdgeFlagPointerEXT", [(GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLboolean)), "pointer")]), - GlFunction(Void, "glGetPointervEXT", [(GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), - GlFunction(Void, "glIndexPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glNormalPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glTexCoordPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glVertexPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_EXT_blend_minmax - GlFunction(Void, "glBlendEquationEXT", [(GLenum, "mode")]), - - # GL_SGIX_sprite - GlFunction(Void, "glSpriteParameterfSGIX", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glSpriteParameterfvSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glSpriteParameterfvSGIX_size(pname)"), "params")]), - GlFunction(Void, "glSpriteParameteriSGIX", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glSpriteParameterivSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLint), "__glSpriteParameterivSGIX_size(pname)"), "params")]), - - # GL_EXT_point_parameters - GlFunction(Void, "glPointParameterfEXT", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPointParameterfvEXT", [(GLenum, "pname"), (Array(Const(GLfloat), "__glPointParameterfv_size(pname)"), "params")]), - - # GL_SGIS_point_parameters - GlFunction(Void, "glPointParameterfSGIS", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPointParameterfvSGIS", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glPointParameterfvSGIS_size(pname)"), "params")]), - - # GL_SGIX_instruments - GlFunction(GLint, "glGetInstrumentsSGIX", [], sideeffects=False), - GlFunction(Void, "glInstrumentsBufferSGIX", [(GLsizei, "size"), Out(OpaquePointer(GLint), "buffer")]), - GlFunction(GLint, "glPollInstrumentsSGIX", [Out(Pointer(GLint), "marker_p")]), - GlFunction(Void, "glReadInstrumentsSGIX", [(GLint, "marker")]), - GlFunction(Void, "glStartInstrumentsSGIX", []), - GlFunction(Void, "glStopInstrumentsSGIX", [(GLint, "marker")]), - - # GL_SGIX_framezoom - GlFunction(Void, "glFrameZoomSGIX", [(GLint, "factor")]), - - # GL_SGIX_tag_sample_buffer - GlFunction(Void, "glTagSampleBufferSGIX", []), - - # GL_SGIX_polynomial_ffd - GlFunction(Void, "glDeformationMap3dSGIX", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (GLdouble, "w1"), (GLdouble, "w2"), (GLint, "wstride"), (GLint, "worder"), (OpaqueArray(Const(GLdouble), "__glDeformationMap3dSGIX_size(target, ustride, uorder, vstride, vorder, wstride, worder)"), "points")]), - GlFunction(Void, "glDeformationMap3fSGIX", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (GLfloat, "w1"), (GLfloat, "w2"), (GLint, "wstride"), (GLint, "worder"), (OpaqueArray(Const(GLfloat), "__glDeformationMap3fSGIX_size(target, ustride, uorder, vstride, vorder, wstride, worder)"), "points")]), - GlFunction(Void, "glDeformSGIX", [(GLbitfield, "mask")]), - GlFunction(Void, "glLoadIdentityDeformationMapSGIX", [(GLbitfield, "mask")]), - - # GL_SGIX_reference_plane - GlFunction(Void, "glReferencePlaneSGIX", [(Array(Const(GLdouble), "4"), "equation")]), - - # GL_SGIX_flush_raster - GlFunction(Void, "glFlushRasterSGIX", []), - - # GL_SGIS_fog_function - GlFunction(Void, "glFogFuncSGIS", [(GLsizei, "n"), (Array(Const(GLfloat), "n*2"), "points")]), - GlFunction(Void, "glGetFogFuncSGIS", [Out(OpaqueArray(GLfloat, "__glGetFogFuncSGIS_size()"), "points")], sideeffects=False), - - # GL_HP_image_transform - GlFunction(Void, "glImageTransformParameteriHP", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glImageTransformParameterfHP", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glImageTransformParameterivHP", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glImageTransformParameterivHP_size(pname)"), "params")]), - GlFunction(Void, "glImageTransformParameterfvHP", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glImageTransformParameterfvHP_size(pname)"), "params")]), - GlFunction(Void, "glGetImageTransformParameterivHP", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetImageTransformParameterivHP_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetImageTransformParameterfvHP", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetImageTransformParameterfvHP_size(pname)"), "params")], sideeffects=False), - - # GL_EXT_color_subtable - GlFunction(Void, "glColorSubTableEXT", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glColorSubTable_size(format, type, count)"), "data")]), - GlFunction(Void, "glCopyColorSubTableEXT", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - - # GL_PGI_misc_hints - GlFunction(Void, "glHintPGI", [(GLenum, "target"), (GLint, "mode")]), - - # GL_EXT_paletted_texture - GlFunction(Void, "glColorTableEXT", [(GLenum, "target"), (GLenum, "internalFormat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glColorTableEXT_size(format, type, width)"), "table")]), - GlFunction(Void, "glGetColorTableEXT", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetColorTableEXT_size(target, format, type)"), "data")], sideeffects=False), - GlFunction(Void, "glGetColorTableParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetColorTableParameterivEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetColorTableParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetColorTableParameterfvEXT_size(pname)"), "params")], sideeffects=False), - - # GL_SGIX_list_priority - GlFunction(Void, "glGetListParameterfvSGIX", [(GLuint, "list"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetListParameterfvSGIX_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetListParameterivSGIX", [(GLuint, "list"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetListParameterivSGIX_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glListParameterfSGIX", [(GLuint, "list"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glListParameterfvSGIX", [(GLuint, "list"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glListParameterfvSGIX_size(pname)"), "params")]), - GlFunction(Void, "glListParameteriSGIX", [(GLuint, "list"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glListParameterivSGIX", [(GLuint, "list"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glListParameterivSGIX_size(pname)"), "params")]), - - # GL_EXT_index_material - GlFunction(Void, "glIndexMaterialEXT", [(GLenum, "face"), (GLenum, "mode")]), - - # GL_EXT_index_func - GlFunction(Void, "glIndexFuncEXT", [(GLenum, "func"), (GLclampf, "ref")]), - - # GL_EXT_compiled_vertex_array - GlFunction(Void, "glLockArraysEXT", [(GLint, "first"), (GLsizei, "count")]), - GlFunction(Void, "glUnlockArraysEXT", []), - - # GL_EXT_cull_vertex - GlFunction(Void, "glCullParameterdvEXT", [(GLenum, "pname"), Out(Array(GLdouble, "4"), "params")]), - GlFunction(Void, "glCullParameterfvEXT", [(GLenum, "pname"), Out(Array(GLfloat, "4"), "params")]), - - # GL_SGIX_fragment_lighting - GlFunction(Void, "glFragmentColorMaterialSGIX", [(GLenum, "face"), (GLenum, "mode")]), - GlFunction(Void, "glFragmentLightfSGIX", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glFragmentLightfvSGIX", [(GLenum, "light"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glFragmentLightfvSGIX_size(pname)"), "params")]), - GlFunction(Void, "glFragmentLightiSGIX", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glFragmentLightivSGIX", [(GLenum, "light"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glFragmentLightivSGIX_size(pname)"), "params")]), - GlFunction(Void, "glFragmentLightModelfSGIX", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glFragmentLightModelfvSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glFragmentLightModelfvSGIX_size(pname)"), "params")]), - GlFunction(Void, "glFragmentLightModeliSGIX", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glFragmentLightModelivSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLint), "__glFragmentLightModelivSGIX_size(pname)"), "params")]), - GlFunction(Void, "glFragmentMaterialfSGIX", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glFragmentMaterialfvSGIX", [(GLenum, "face"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glFragmentMaterialfvSGIX_size(pname)"), "params")]), - GlFunction(Void, "glFragmentMaterialiSGIX", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glFragmentMaterialivSGIX", [(GLenum, "face"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glFragmentMaterialivSGIX_size(pname)"), "params")]), - GlFunction(Void, "glGetFragmentLightfvSGIX", [(GLenum, "light"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetFragmentLightfvSGIX_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetFragmentLightivSGIX", [(GLenum, "light"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetFragmentLightivSGIX_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetFragmentMaterialfvSGIX", [(GLenum, "face"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetFragmentMaterialfvSGIX_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetFragmentMaterialivSGIX", [(GLenum, "face"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetFragmentMaterialivSGIX_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glLightEnviSGIX", [(GLenum, "pname"), (GLint, "param")]), - - # GL_EXT_draw_range_elements - GlFunction(Void, "glDrawRangeElementsEXT", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices")]), - - # GL_EXT_light_texture - GlFunction(Void, "glApplyTextureEXT", [(GLenum, "mode")]), - GlFunction(Void, "glTextureLightEXT", [(GLenum, "pname")]), - GlFunction(Void, "glTextureMaterialEXT", [(GLenum, "face"), (GLenum, "mode")]), - - # GL_SGIX_async - GlFunction(Void, "glAsyncMarkerSGIX", [(GLuint, "marker")]), - GlFunction(GLint, "glFinishAsyncSGIX", [Out(Pointer(GLuint), "markerp")]), - GlFunction(GLint, "glPollAsyncSGIX", [Out(Pointer(GLuint), "markerp")]), - GlFunction(GLuint, "glGenAsyncMarkersSGIX", [(GLsizei, "range")]), - GlFunction(Void, "glDeleteAsyncMarkersSGIX", [(GLuint, "marker"), (GLsizei, "range")]), - GlFunction(GLboolean, "glIsAsyncMarkerSGIX", [(GLuint, "marker")], sideeffects=False), - - # GL_INTEL_parallel_arrays - GlFunction(Void, "glVertexPointervINTEL", [(GLint, "size"), (GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), - GlFunction(Void, "glNormalPointervINTEL", [(GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), - GlFunction(Void, "glColorPointervINTEL", [(GLint, "size"), (GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), - GlFunction(Void, "glTexCoordPointervINTEL", [(GLint, "size"), (GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), - - # GL_EXT_pixel_transform - GlFunction(Void, "glPixelTransformParameteriEXT", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glPixelTransformParameterfEXT", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glPixelTransformParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]), - GlFunction(Void, "glPixelTransformParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]), - - # GL_EXT_secondary_color - GlFunction(Void, "glSecondaryColor3bEXT", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]), - GlFunction(Void, "glSecondaryColor3bvEXT", [(Array(Const(GLbyte), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3dEXT", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]), - GlFunction(Void, "glSecondaryColor3dvEXT", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3fEXT", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]), - GlFunction(Void, "glSecondaryColor3fvEXT", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3iEXT", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]), - GlFunction(Void, "glSecondaryColor3ivEXT", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3sEXT", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]), - GlFunction(Void, "glSecondaryColor3svEXT", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3ubEXT", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]), - GlFunction(Void, "glSecondaryColor3ubvEXT", [(Array(Const(GLubyte), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3uiEXT", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]), - GlFunction(Void, "glSecondaryColor3uivEXT", [(Array(Const(GLuint), "3"), "v")]), - GlFunction(Void, "glSecondaryColor3usEXT", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]), - GlFunction(Void, "glSecondaryColor3usvEXT", [(Array(Const(GLushort), "3"), "v")]), - GlFunction(Void, "glSecondaryColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_EXT_texture_perturb_normal - GlFunction(Void, "glTextureNormalEXT", [(GLenum, "mode")]), - - # GL_EXT_multi_draw_arrays - GlFunction(Void, "glMultiDrawArraysEXT", [(GLenum_mode, "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glMultiDrawElementsEXT", [(GLenum_mode, "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount")]), - - # GL_EXT_fog_coord - GlFunction(Void, "glFogCoordfEXT", [(GLfloat, "coord")]), - GlFunction(Void, "glFogCoordfvEXT", [(Pointer(Const(GLfloat)), "coord")]), - GlFunction(Void, "glFogCoorddEXT", [(GLdouble, "coord")]), - GlFunction(Void, "glFogCoorddvEXT", [(Pointer(Const(GLdouble)), "coord")]), - GlFunction(Void, "glFogCoordPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_EXT_coordinate_frame - GlFunction(Void, "glTangent3bEXT", [(GLbyte, "tx"), (GLbyte, "ty"), (GLbyte, "tz")]), - GlFunction(Void, "glTangent3bvEXT", [(Array(Const(GLbyte), "3"), "v")]), - GlFunction(Void, "glTangent3dEXT", [(GLdouble, "tx"), (GLdouble, "ty"), (GLdouble, "tz")]), - GlFunction(Void, "glTangent3dvEXT", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glTangent3fEXT", [(GLfloat, "tx"), (GLfloat, "ty"), (GLfloat, "tz")]), - GlFunction(Void, "glTangent3fvEXT", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTangent3iEXT", [(GLint, "tx"), (GLint, "ty"), (GLint, "tz")]), - GlFunction(Void, "glTangent3ivEXT", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glTangent3sEXT", [(GLshort, "tx"), (GLshort, "ty"), (GLshort, "tz")]), - GlFunction(Void, "glTangent3svEXT", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glBinormal3bEXT", [(GLbyte, "bx"), (GLbyte, "by"), (GLbyte, "bz")]), - GlFunction(Void, "glBinormal3bvEXT", [(Array(Const(GLbyte), "3"), "v")]), - GlFunction(Void, "glBinormal3dEXT", [(GLdouble, "bx"), (GLdouble, "by"), (GLdouble, "bz")]), - GlFunction(Void, "glBinormal3dvEXT", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glBinormal3fEXT", [(GLfloat, "bx"), (GLfloat, "by"), (GLfloat, "bz")]), - GlFunction(Void, "glBinormal3fvEXT", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glBinormal3iEXT", [(GLint, "bx"), (GLint, "by"), (GLint, "bz")]), - GlFunction(Void, "glBinormal3ivEXT", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glBinormal3sEXT", [(GLshort, "bx"), (GLshort, "by"), (GLshort, "bz")]), - GlFunction(Void, "glBinormal3svEXT", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glTangentPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glBinormalPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_SUNX_constant_data - GlFunction(Void, "glFinishTextureSUNX", []), - - # GL_SUN_global_alpha - GlFunction(Void, "glGlobalAlphaFactorbSUN", [(GLbyte, "factor")]), - GlFunction(Void, "glGlobalAlphaFactorsSUN", [(GLshort, "factor")]), - GlFunction(Void, "glGlobalAlphaFactoriSUN", [(GLint, "factor")]), - GlFunction(Void, "glGlobalAlphaFactorfSUN", [(GLfloat, "factor")]), - GlFunction(Void, "glGlobalAlphaFactordSUN", [(GLdouble, "factor")]), - GlFunction(Void, "glGlobalAlphaFactorubSUN", [(GLubyte, "factor")]), - GlFunction(Void, "glGlobalAlphaFactorusSUN", [(GLushort, "factor")]), - GlFunction(Void, "glGlobalAlphaFactoruiSUN", [(GLuint, "factor")]), - - # GL_SUN_triangle_list - GlFunction(Void, "glReplacementCodeuiSUN", [(GLuint, "code")]), - GlFunction(Void, "glReplacementCodeusSUN", [(GLushort, "code")]), - GlFunction(Void, "glReplacementCodeubSUN", [(GLubyte, "code")]), - GlFunction(Void, "glReplacementCodeuivSUN", [(OpaqueArray(Const(GLuint), "__glReplacementCodeuivSUN_size()"), "code")]), - GlFunction(Void, "glReplacementCodeusvSUN", [(OpaqueArray(Const(GLushort), "__glReplacementCodeusvSUN_size()"), "code")]), - GlFunction(Void, "glReplacementCodeubvSUN", [(OpaqueArray(Const(GLubyte), "__glReplacementCodeubvSUN_size()"), "code")]), - GlFunction(Void, "glReplacementCodePointerSUN", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer")]), - - # GL_SUN_vertex - GlFunction(Void, "glColor4ubVertex2fSUN", [(GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glColor4ubVertex2fvSUN", [(Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glColor4ubVertex3fSUN", [(GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glColor4ubVertex3fvSUN", [(Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glColor3fVertex3fSUN", [(GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glColor3fVertex3fvSUN", [(Array(Const(GLfloat), "3"), "c"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glNormal3fVertex3fSUN", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glColor4fNormal3fVertex3fSUN", [(GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glColor4fNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord2fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glTexCoord2fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord4fVertex4fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "p"), (GLfloat, "q"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glTexCoord4fVertex4fvSUN", [(Array(Const(GLfloat), "4"), "tc"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glTexCoord2fColor4ubVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glTexCoord2fColor4ubVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord2fColor3fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glTexCoord2fColor3fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "c"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord2fNormal3fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glTexCoord2fNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord2fColor4fNormal3fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glTexCoord2fColor4fNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glTexCoord4fColor4fNormal3fVertex4fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "p"), (GLfloat, "q"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glTexCoord4fColor4fNormal3fVertex4fvSUN", [(Array(Const(GLfloat), "4"), "tc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glReplacementCodeuiVertex3fSUN", [(GLuint, "rc"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiColor4ubVertex3fSUN", [(GLuint, "rc"), (GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiColor4ubVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiColor3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiColor3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "3"), "c"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiColor4fNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiTexCoord2fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiTexCoord2fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), - - # GL_EXT_blend_func_separate - GlFunction(Void, "glBlendFuncSeparateEXT", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), - - # GL_INGR_blend_func_separate - GlFunction(Void, "glBlendFuncSeparateINGR", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), - - # GL_EXT_vertex_weighting - GlFunction(Void, "glVertexWeightfEXT", [(GLfloat, "weight")]), - GlFunction(Void, "glVertexWeightfvEXT", [(Pointer(Const(GLfloat)), "weight")]), - GlFunction(Void, "glVertexWeightPointerEXT", [(GLsizei, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_NV_vertex_array_range - GlFunction(Void, "glFlushVertexArrayRangeNV", []), - GlFunction(Void, "glVertexArrayRangeNV", [(GLsizei, "length"), (OpaquePointer(Const(GLvoid)), "pointer")]), - - # GL_NV_register_combiners - GlFunction(Void, "glCombinerParameterfvNV", [(GLenum, "pname"), (OpaquePointer(Const(GLfloat)), "params")]), - GlFunction(Void, "glCombinerParameterfNV", [(GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glCombinerParameterivNV", [(GLenum, "pname"), (OpaquePointer(Const(GLint)), "params")]), - GlFunction(Void, "glCombinerParameteriNV", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glCombinerInputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]), - GlFunction(Void, "glCombinerOutputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "abOutput"), (GLenum, "cdOutput"), (GLenum, "sumOutput"), (GLenum, "scale"), (GLenum, "bias"), (GLboolean, "abDotProduct"), (GLboolean, "cdDotProduct"), (GLboolean, "muxSum")]), - GlFunction(Void, "glFinalCombinerInputNV", [(GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]), - GlFunction(Void, "glGetCombinerInputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetCombinerInputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetCombinerOutputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetCombinerOutputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetFinalCombinerInputParameterfvNV", [(GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetFinalCombinerInputParameterivNV", [(GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False), - - # GL_MESA_resize_buffers - GlFunction(Void, "glResizeBuffersMESA", []), - - # GL_MESA_window_pos - GlFunction(Void, "glWindowPos2dMESA", [(GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glWindowPos2dvMESA", [(Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glWindowPos2fMESA", [(GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glWindowPos2fvMESA", [(Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glWindowPos2iMESA", [(GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glWindowPos2ivMESA", [(Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glWindowPos2sMESA", [(GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glWindowPos2svMESA", [(Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glWindowPos3dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glWindowPos3dvMESA", [(Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glWindowPos3fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glWindowPos3fvMESA", [(Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glWindowPos3iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glWindowPos3ivMESA", [(Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glWindowPos3sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glWindowPos3svMESA", [(Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glWindowPos4dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glWindowPos4dvMESA", [(Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glWindowPos4fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glWindowPos4fvMESA", [(Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glWindowPos4iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glWindowPos4ivMESA", [(Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glWindowPos4sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glWindowPos4svMESA", [(Array(Const(GLshort), "4"), "v")]), - - # GL_IBM_multimode_draw_arrays - GlFunction(Void, "glMultiModeDrawArraysIBM", [(Array(Const(GLenum), "primcount"), "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount"), (GLint, "modestride")]), - GlFunction(Void, "glMultiModeDrawElementsIBM", [(Array(Const(GLenum), "primcount"), "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Const(Opaque("const GLvoid *")), "primcount"), "indices"), (GLsizei, "primcount"), (GLint, "modestride")]), - - # GL_IBM_vertex_array_lists - GlFunction(Void, "glColorPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glSecondaryColorPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glEdgeFlagPointerListIBM", [(GLint, "stride"), (OpaquePointer(Opaque("const GLboolean *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glFogCoordPointerListIBM", [(GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glIndexPointerListIBM", [(GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glNormalPointerListIBM", [(GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glTexCoordPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - GlFunction(Void, "glVertexPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), - - # GL_3DFX_tbuffer - GlFunction(Void, "glTbufferMask3DFX", [(GLuint, "mask")]), - - # GL_EXT_multisample - GlFunction(Void, "glSampleMaskEXT", [(GLclampf, "value"), (GLboolean, "invert")]), - GlFunction(Void, "glSamplePatternEXT", [(GLenum, "pattern")]), - - # GL_SGIS_texture_color_mask - GlFunction(Void, "glTextureColorMaskSGIS", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]), - - # GL_SGIX_igloo_interface - GlFunction(Void, "glIglooInterfaceSGIX", [(GLenum, "pname"), (OpaqueBlob(Const(GLvoid), "__glIglooInterfaceSGIX_size(pname)"), "params")]), - - # GL_NV_fence - GlFunction(Void, "glDeleteFencesNV", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "fences")]), - GlFunction(Void, "glGenFencesNV", [(GLsizei, "n"), Out(Array(GLuint, "n"), "fences")]), - GlFunction(GLboolean, "glIsFenceNV", [(GLuint, "fence")], sideeffects=False), - GlFunction(GLboolean, "glTestFenceNV", [(GLuint, "fence")]), - GlFunction(Void, "glGetFenceivNV", [(GLuint, "fence"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetFenceivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glFinishFenceNV", [(GLuint, "fence")]), - GlFunction(Void, "glSetFenceNV", [(GLuint, "fence"), (GLenum, "condition")]), - - # GL_NV_evaluators - GlFunction(Void, "glMapControlPointsNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "type"), (GLsizei, "ustride"), (GLsizei, "vstride"), (GLint, "uorder"), (GLint, "vorder"), (GLboolean, "packed"), (OpaqueBlob(Const(GLvoid), "__glMapControlPointsNV_size(target, uorder, vorder)"), "points")]), - GlFunction(Void, "glMapParameterivNV", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glMapParameterivNV_size(target, pname)"), "params")]), - GlFunction(Void, "glMapParameterfvNV", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glMapParameterfvNV_size(target, pname)"), "params")]), - GlFunction(Void, "glGetMapControlPointsNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "type"), (GLsizei, "ustride"), (GLsizei, "vstride"), (GLboolean, "packed"), Out(OpaqueBlob(GLvoid, "__glGetMapControlPointsNV_size(target)"), "points")], sideeffects=False), - GlFunction(Void, "glGetMapParameterivNV", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetMapParameterivNV_size(target, pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMapParameterfvNV", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetMapParameterfvNV_size(target, pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMapAttribParameterivNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetMapAttribParameterivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMapAttribParameterfvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetMapAttribParameterfvNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glEvalMapsNV", [(GLenum, "target"), (GLenum, "mode")]), - - # GL_NV_register_combiners2 - GlFunction(Void, "glCombinerStageParameterfvNV", [(GLenum, "stage"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glCombinerStageParameterfvNV_size(pname)"), "params")]), - GlFunction(Void, "glGetCombinerStageParameterfvNV", [(GLenum, "stage"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetCombinerStageParameterfvNV_size(pname)"), "params")], sideeffects=False), - - # GL_NV_vertex_program - GlFunction(GLboolean, "glAreProgramsResidentNV", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "ids"), Out(Array(GLboolean, "n"), "residences")]), - GlFunction(Void, "glBindProgramNV", [(GLenum, "target"), (GLprogramARB, "program")]), - GlFunction(Void, "glDeleteProgramsNV", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "programs")]), - GlFunction(Void, "glExecuteProgramNV", [(GLenum, "target"), (GLprogramARB, "id"), (Array(Const(GLfloat), "4"), "params")]), - GlFunction(Void, "glGenProgramsNV", [(GLsizei, "n"), Out(Array(GLprogramARB, "n"), "programs")]), - GlFunction(Void, "glGetProgramParameterdvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLdouble), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramParameterfvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramivNV", [(GLprogramARB, "id"), (GLenum, "pname"), (Pointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramStringNV", [(GLprogramARB, "id"), (GLenum, "pname"), (OpaquePointer(GLubyte), "program")], sideeffects=False), - GlFunction(Void, "glGetTrackMatrixivNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribdvNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLdouble), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribfvNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribivNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribPointervNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False), - GlFunction(GLboolean, "glIsProgramNV", [(GLprogramARB, "program")], sideeffects=False), - GlFunction(Void, "glLoadProgramNV", [(GLenum, "target"), (GLprogramARB, "id"), (GLsizei, "len"), (String("const GLubyte *", "len"), "program")]), - GlFunction(Void, "glProgramParameter4dNV", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glProgramParameter4dvNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glProgramParameter4fNV", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glProgramParameter4fvNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glProgramParameters4dvNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "v")]), - GlFunction(Void, "glProgramParameters4fvNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "v")]), - GlFunction(Void, "glRequestResidentProgramsNV", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "programs")]), - GlFunction(Void, "glTrackMatrixNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "matrix"), (GLenum, "transform")]), - GlFunction(Void, "glVertexAttribPointerNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glVertexAttrib1dNV", [(GLuint, "index"), (GLdouble, "x")]), - GlFunction(Void, "glVertexAttrib1dvNV", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glVertexAttrib1fNV", [(GLuint, "index"), (GLfloat, "x")]), - GlFunction(Void, "glVertexAttrib1fvNV", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]), - GlFunction(Void, "glVertexAttrib1sNV", [(GLuint, "index"), (GLshort, "x")]), - GlFunction(Void, "glVertexAttrib1svNV", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]), - GlFunction(Void, "glVertexAttrib2dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertexAttrib2dvNV", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glVertexAttrib2fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glVertexAttrib2fvNV", [(GLuint, "index"), (Array(Const(GLfloat), "2"), "v")]), - GlFunction(Void, "glVertexAttrib2sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glVertexAttrib2svNV", [(GLuint, "index"), (Array(Const(GLshort), "2"), "v")]), - GlFunction(Void, "glVertexAttrib3dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertexAttrib3dvNV", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glVertexAttrib3fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glVertexAttrib3fvNV", [(GLuint, "index"), (Array(Const(GLfloat), "3"), "v")]), - GlFunction(Void, "glVertexAttrib3sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glVertexAttrib3svNV", [(GLuint, "index"), (Array(Const(GLshort), "3"), "v")]), - GlFunction(Void, "glVertexAttrib4dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertexAttrib4dvNV", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glVertexAttrib4fvNV", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glVertexAttrib4svNV", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttrib4ubNV", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]), - GlFunction(Void, "glVertexAttrib4ubvNV", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttribs1dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "v")]), - GlFunction(Void, "glVertexAttribs1fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "v")]), - GlFunction(Void, "glVertexAttribs1svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count"), "v")]), - GlFunction(Void, "glVertexAttribs2dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "v")]), - GlFunction(Void, "glVertexAttribs2fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "v")]), - GlFunction(Void, "glVertexAttribs2svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count*2"), "v")]), - GlFunction(Void, "glVertexAttribs3dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "v")]), - GlFunction(Void, "glVertexAttribs3fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "v")]), - GlFunction(Void, "glVertexAttribs3svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count*3"), "v")]), - GlFunction(Void, "glVertexAttribs4dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "v")]), - GlFunction(Void, "glVertexAttribs4fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "v")]), - GlFunction(Void, "glVertexAttribs4svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count*4"), "v")]), - GlFunction(Void, "glVertexAttribs4ubvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLubyte), "count*4"), "v")]), - - # GL_ATI_envmap_bumpmap - GlFunction(Void, "glTexBumpParameterivATI", [(GLenum, "pname"), (OpaquePointer(Const(GLint)), "param")]), - GlFunction(Void, "glTexBumpParameterfvATI", [(GLenum, "pname"), (OpaquePointer(Const(GLfloat)), "param")]), - GlFunction(Void, "glGetTexBumpParameterivATI", [(GLenum, "pname"), Out(OpaquePointer(GLint), "param")], sideeffects=False), - GlFunction(Void, "glGetTexBumpParameterfvATI", [(GLenum, "pname"), Out(OpaquePointer(GLfloat), "param")], sideeffects=False), - - # GL_ATI_fragment_shader - GlFunction(Handle("fragmentShaderATI", GLuint, "range"), "glGenFragmentShadersATI", [(GLuint, "range")]), - GlFunction(Void, "glBindFragmentShaderATI", [(GLfragmentShaderATI, "id")]), - GlFunction(Void, "glDeleteFragmentShaderATI", [(GLfragmentShaderATI, "id")]), - GlFunction(Void, "glBeginFragmentShaderATI", []), - GlFunction(Void, "glEndFragmentShaderATI", []), - GlFunction(Void, "glPassTexCoordATI", [(GLuint, "dst"), (GLuint, "coord"), (GLenum, "swizzle")]), - GlFunction(Void, "glSampleMapATI", [(GLuint, "dst"), (GLuint, "interp"), (GLenum, "swizzle")]), - GlFunction(Void, "glColorFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]), - GlFunction(Void, "glColorFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]), - GlFunction(Void, "glColorFragmentOp3ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod"), (GLuint, "arg3"), (GLuint, "arg3Rep"), (GLuint, "arg3Mod")]), - GlFunction(Void, "glAlphaFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]), - GlFunction(Void, "glAlphaFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]), - GlFunction(Void, "glAlphaFragmentOp3ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod"), (GLuint, "arg3"), (GLuint, "arg3Rep"), (GLuint, "arg3Mod")]), - GlFunction(Void, "glSetFragmentShaderConstantATI", [(GLuint, "dst"), (Array(Const(GLfloat), "4"), "value")]), - - # GL_ATI_pn_triangles - GlFunction(Void, "glPNTrianglesiATI", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glPNTrianglesfATI", [(GLenum, "pname"), (GLfloat, "param")]), - - # GL_ATI_vertex_array_object - GlFunction(GLuint, "glNewObjectBufferATI", [(GLsizei, "size"), (Blob(Const(GLvoid), "size"), "pointer"), (GLenum, "usage")]), - GlFunction(GLboolean, "glIsObjectBufferATI", [(GLuint, "buffer")], sideeffects=False), - GlFunction(Void, "glUpdateObjectBufferATI", [(GLuint, "buffer"), (GLuint, "offset"), (GLsizei, "size"), (Blob(Const(GLvoid), "size"), "pointer"), (GLenum, "preserve")]), - GlFunction(Void, "glGetObjectBufferfvATI", [(GLuint, "buffer"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetObjectBufferivATI", [(GLuint, "buffer"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glFreeObjectBufferATI", [(GLuint, "buffer")]), - GlFunction(Void, "glArrayObjectATI", [(GLenum, "array"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLuint, "buffer"), (GLuint, "offset")]), - GlFunction(Void, "glGetArrayObjectfvATI", [(GLenum, "array"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetArrayObjectivATI", [(GLenum, "array"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glVariantArrayObjectATI", [(GLuint, "id"), (GLenum, "type"), (GLsizei, "stride"), (GLuint, "buffer"), (GLuint, "offset")]), - GlFunction(Void, "glGetVariantArrayObjectfvATI", [(GLuint, "id"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False), - GlFunction(Void, "glGetVariantArrayObjectivATI", [(GLuint, "id"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), - - # GL_EXT_vertex_shader - GlFunction(Void, "glBeginVertexShaderEXT", []), - GlFunction(Void, "glEndVertexShaderEXT", []), - GlFunction(Void, "glBindVertexShaderEXT", [(GLuint, "id")]), - GlFunction(GLuint, "glGenVertexShadersEXT", [(GLuint, "range")]), - GlFunction(Void, "glDeleteVertexShaderEXT", [(GLuint, "id")]), - GlFunction(Void, "glShaderOp1EXT", [(GLenum, "op"), (GLuint, "res"), (GLuint, "arg1")]), - GlFunction(Void, "glShaderOp2EXT", [(GLenum, "op"), (GLuint, "res"), (GLuint, "arg1"), (GLuint, "arg2")]), - GlFunction(Void, "glShaderOp3EXT", [(GLenum, "op"), (GLuint, "res"), (GLuint, "arg1"), (GLuint, "arg2"), (GLuint, "arg3")]), - GlFunction(Void, "glSwizzleEXT", [(GLuint, "res"), (GLuint, "in"), (GLenum, "outX"), (GLenum, "outY"), (GLenum, "outZ"), (GLenum, "outW")]), - GlFunction(Void, "glWriteMaskEXT", [(GLuint, "res"), (GLuint, "in"), (GLenum, "outX"), (GLenum, "outY"), (GLenum, "outZ"), (GLenum, "outW")]), - GlFunction(Void, "glInsertComponentEXT", [(GLuint, "res"), (GLuint, "src"), (GLuint, "num")]), - GlFunction(Void, "glExtractComponentEXT", [(GLuint, "res"), (GLuint, "src"), (GLuint, "num")]), - GlFunction(GLuint, "glGenSymbolsEXT", [(GLenum, "datatype"), (GLenum, "storagetype"), (GLenum, "range"), (GLuint, "components")]), - GlFunction(Void, "glSetInvariantEXT", [(GLuint, "id"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glSetInvariantEXT_size(id, type)"), "addr")]), - GlFunction(Void, "glSetLocalConstantEXT", [(GLuint, "id"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glSetLocalConstantEXT_size(id, type)"), "addr")]), - GlFunction(Void, "glVariantbvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLbyte), "__glVariantbvEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantsvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLshort), "__glVariantsvEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantivEXT", [(GLuint, "id"), (OpaqueArray(Const(GLint), "__glVariantivEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantfvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLfloat), "__glVariantfvEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantdvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLdouble), "__glVariantdvEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantubvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLubyte), "__glVariantubvEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantusvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLushort), "__glVariantusvEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantuivEXT", [(GLuint, "id"), (OpaqueArray(Const(GLuint), "__glVariantuivEXT_size(id)"), "addr")]), - GlFunction(Void, "glVariantPointerEXT", [(GLuint, "id"), (GLenum, "type"), (GLuint, "stride"), (OpaqueBlob(Const(GLvoid), "__glVariantPointerEXT_size(id, type, stride)"), "addr")]), - GlFunction(Void, "glEnableVariantClientStateEXT", [(GLuint, "id")]), - GlFunction(Void, "glDisableVariantClientStateEXT", [(GLuint, "id")]), - GlFunction(GLuint, "glBindLightParameterEXT", [(GLenum, "light"), (GLenum, "value")]), - GlFunction(GLuint, "glBindMaterialParameterEXT", [(GLenum, "face"), (GLenum, "value")]), - GlFunction(GLuint, "glBindTexGenParameterEXT", [(GLenum, "unit"), (GLenum, "coord"), (GLenum, "value")]), - GlFunction(GLuint, "glBindTextureUnitParameterEXT", [(GLenum, "unit"), (GLenum, "value")]), - GlFunction(GLuint, "glBindParameterEXT", [(GLenum, "value")]), - GlFunction(GLboolean, "glIsVariantEnabledEXT", [(GLuint, "id"), (GLenum, "cap")], sideeffects=False), - GlFunction(Void, "glGetVariantBooleanvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLboolean, "__glGetVariantBooleanvEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetVariantIntegervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLint, "__glGetVariantIntegervEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetVariantFloatvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLfloat, "__glGetVariantFloatvEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetVariantPointervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(OpaquePointer(GLvoid), "__glGetVariantPointervEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetInvariantBooleanvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLboolean, "__glGetInvariantBooleanvEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetInvariantIntegervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLint, "__glGetInvariantIntegervEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetInvariantFloatvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLfloat, "__glGetInvariantFloatvEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetLocalConstantBooleanvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLboolean, "__glGetLocalConstantBooleanvEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetLocalConstantIntegervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLint, "__glGetLocalConstantIntegervEXT_size(id)"), "data")], sideeffects=False), - GlFunction(Void, "glGetLocalConstantFloatvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLfloat, "__glGetLocalConstantFloatvEXT_size(id)"), "data")], sideeffects=False), - - # GL_ATI_vertex_streams - GlFunction(Void, "glVertexStream1sATI", [(GLenum, "stream"), (GLshort, "x")]), - GlFunction(Void, "glVertexStream1svATI", [(GLenum, "stream"), (Pointer(Const(GLshort)), "coords")]), - GlFunction(Void, "glVertexStream1iATI", [(GLenum, "stream"), (GLint, "x")]), - GlFunction(Void, "glVertexStream1ivATI", [(GLenum, "stream"), (Pointer(Const(GLint)), "coords")]), - GlFunction(Void, "glVertexStream1fATI", [(GLenum, "stream"), (GLfloat, "x")]), - GlFunction(Void, "glVertexStream1fvATI", [(GLenum, "stream"), (Pointer(Const(GLfloat)), "coords")]), - GlFunction(Void, "glVertexStream1dATI", [(GLenum, "stream"), (GLdouble, "x")]), - GlFunction(Void, "glVertexStream1dvATI", [(GLenum, "stream"), (Pointer(Const(GLdouble)), "coords")]), - GlFunction(Void, "glVertexStream2sATI", [(GLenum, "stream"), (GLshort, "x"), (GLshort, "y")]), - GlFunction(Void, "glVertexStream2svATI", [(GLenum, "stream"), (Array(Const(GLshort), "2"), "coords")]), - GlFunction(Void, "glVertexStream2iATI", [(GLenum, "stream"), (GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glVertexStream2ivATI", [(GLenum, "stream"), (Array(Const(GLint), "2"), "coords")]), - GlFunction(Void, "glVertexStream2fATI", [(GLenum, "stream"), (GLfloat, "x"), (GLfloat, "y")]), - GlFunction(Void, "glVertexStream2fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "2"), "coords")]), - GlFunction(Void, "glVertexStream2dATI", [(GLenum, "stream"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertexStream2dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "2"), "coords")]), - GlFunction(Void, "glVertexStream3sATI", [(GLenum, "stream"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), - GlFunction(Void, "glVertexStream3svATI", [(GLenum, "stream"), (Array(Const(GLshort), "3"), "coords")]), - GlFunction(Void, "glVertexStream3iATI", [(GLenum, "stream"), (GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glVertexStream3ivATI", [(GLenum, "stream"), (Array(Const(GLint), "3"), "coords")]), - GlFunction(Void, "glVertexStream3fATI", [(GLenum, "stream"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glVertexStream3fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "3"), "coords")]), - GlFunction(Void, "glVertexStream3dATI", [(GLenum, "stream"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertexStream3dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "3"), "coords")]), - GlFunction(Void, "glVertexStream4sATI", [(GLenum, "stream"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), - GlFunction(Void, "glVertexStream4svATI", [(GLenum, "stream"), (Array(Const(GLshort), "4"), "coords")]), - GlFunction(Void, "glVertexStream4iATI", [(GLenum, "stream"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glVertexStream4ivATI", [(GLenum, "stream"), (Array(Const(GLint), "4"), "coords")]), - GlFunction(Void, "glVertexStream4fATI", [(GLenum, "stream"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glVertexStream4fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "4"), "coords")]), - GlFunction(Void, "glVertexStream4dATI", [(GLenum, "stream"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertexStream4dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "4"), "coords")]), - GlFunction(Void, "glNormalStream3bATI", [(GLenum, "stream"), (GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]), - GlFunction(Void, "glNormalStream3bvATI", [(GLenum, "stream"), (Array(Const(GLbyte), "3"), "coords")]), - GlFunction(Void, "glNormalStream3sATI", [(GLenum, "stream"), (GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]), - GlFunction(Void, "glNormalStream3svATI", [(GLenum, "stream"), (Array(Const(GLshort), "3"), "coords")]), - GlFunction(Void, "glNormalStream3iATI", [(GLenum, "stream"), (GLint, "nx"), (GLint, "ny"), (GLint, "nz")]), - GlFunction(Void, "glNormalStream3ivATI", [(GLenum, "stream"), (Array(Const(GLint), "3"), "coords")]), - GlFunction(Void, "glNormalStream3fATI", [(GLenum, "stream"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]), - GlFunction(Void, "glNormalStream3fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "3"), "coords")]), - GlFunction(Void, "glNormalStream3dATI", [(GLenum, "stream"), (GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]), - GlFunction(Void, "glNormalStream3dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "3"), "coords")]), - GlFunction(Void, "glClientActiveVertexStreamATI", [(GLenum, "stream")]), - GlFunction(Void, "glVertexBlendEnviATI", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glVertexBlendEnvfATI", [(GLenum, "pname"), (GLfloat, "param")]), - - # GL_ATI_element_array - GlFunction(Void, "glElementPointerATI", [(GLenum, "type"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glDrawElementArrayATI", [(GLenum_mode, "mode"), (GLsizei, "count")]), - GlFunction(Void, "glDrawRangeElementArrayATI", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count")]), - - # GL_SUN_mesh_array - GlFunction(Void, "glDrawMeshArraysSUN", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "width")]), - - # GL_NV_occlusion_query - GlFunction(Void, "glGenOcclusionQueriesNV", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]), - GlFunction(Void, "glDeleteOcclusionQueriesNV", [(GLsizei, "n"), (Array(Const(GLquery), "n"), "ids")]), - GlFunction(GLboolean, "glIsOcclusionQueryNV", [(GLquery, "id")], sideeffects=False), - GlFunction(Void, "glBeginOcclusionQueryNV", [(GLquery, "id")]), - GlFunction(Void, "glEndOcclusionQueryNV", []), - GlFunction(Void, "glGetOcclusionQueryivNV", [(GLquery, "id"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetOcclusionQueryivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetOcclusionQueryuivNV", [(GLquery, "id"), (GLenum, "pname"), Out(OpaqueArray(GLuint, "__glGetOcclusionQueryuivNV_size(pname)"), "params")], sideeffects=False), - - # GL_NV_point_sprite - GlFunction(Void, "glPointParameteriNV", [(GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glPointParameterivNV", [(GLenum, "pname"), (OpaquePointer(Const(GLint)), "params")]), - - # GL_EXT_stencil_two_side - GlFunction(Void, "glActiveStencilFaceEXT", [(GLenum, "face")]), - - # GL_APPLE_element_array - GlFunction(Void, "glElementPointerAPPLE", [(GLenum, "type"), (Blob(Const(GLvoid), "type"), "pointer")]), - GlFunction(Void, "glDrawElementArrayAPPLE", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]), - GlFunction(Void, "glDrawRangeElementArrayAPPLE", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLint, "first"), (GLsizei, "count")]), - GlFunction(Void, "glMultiDrawElementArrayAPPLE", [(GLenum_mode, "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glMultiDrawRangeElementArrayAPPLE", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), - - # GL_APPLE_fence - GlFunction(Void, "glGenFencesAPPLE", [(GLsizei, "n"), Out(Array(GLuint, "n"), "fences")]), - GlFunction(Void, "glDeleteFencesAPPLE", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "fences")]), - GlFunction(Void, "glSetFenceAPPLE", [(GLuint, "fence")]), - GlFunction(GLboolean, "glIsFenceAPPLE", [(GLuint, "fence")], sideeffects=False), - GlFunction(GLboolean, "glTestFenceAPPLE", [(GLuint, "fence")]), - GlFunction(Void, "glFinishFenceAPPLE", [(GLuint, "fence")]), - GlFunction(GLboolean, "glTestObjectAPPLE", [(GLenum, "object"), (GLuint, "name")]), - GlFunction(Void, "glFinishObjectAPPLE", [(GLenum, "object"), (GLint, "name")]), - - # GL_APPLE_vertex_array_object - GlFunction(Void, "glBindVertexArrayAPPLE", [(GLuint, "array")]), - GlFunction(Void, "glDeleteVertexArraysAPPLE", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "arrays")]), - GlFunction(Void, "glGenVertexArraysAPPLE", [(GLsizei, "n"), Out(Array(GLuint, "n"), "arrays")]), - GlFunction(GLboolean, "glIsVertexArrayAPPLE", [(GLuint, "array")], sideeffects=False), - - # GL_APPLE_vertex_array_range - GlFunction(Void, "glVertexArrayRangeAPPLE", [(GLsizei, "length"), Out(Blob(GLvoid, "length"), "pointer")]), - GlFunction(Void, "glFlushVertexArrayRangeAPPLE", [(GLsizei, "length"), Out(Blob(GLvoid, "length"), "pointer")]), - GlFunction(Void, "glVertexArrayParameteriAPPLE", [(GLenum, "pname"), (GLint, "param")]), - - # GL_APPLE_flush_render - GlFunction(Void, "glFlushRenderAPPLE", []), - GlFunction(Void, "glFinishRenderAPPLE", []), - GlFunction(Void, "glSwapAPPLE", []), - - # GL_ATI_draw_buffers - GlFunction(Void, "glDrawBuffersATI", [(GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), - - # GL_NV_fragment_program - GlFunction(Void, "glProgramNamedParameter4fNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glProgramNamedParameter4dNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glProgramNamedParameter4fvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (Array(Const(GLfloat), "4"), "v")]), - GlFunction(Void, "glProgramNamedParameter4dvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glGetProgramNamedParameterdvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (OpaquePointer(GLdouble), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramNamedParameterfvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (OpaquePointer(GLfloat), "params")], sideeffects=False), - - # GL_NV_half_float - GlFunction(Void, "glVertex2hNV", [(GLhalfNV, "x"), (GLhalfNV, "y")]), - GlFunction(Void, "glVertex2hvNV", [(Array(Const(GLhalfNV), "2"), "v")]), - GlFunction(Void, "glVertex3hNV", [(GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z")]), - GlFunction(Void, "glVertex3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glVertex4hNV", [(GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z"), (GLhalfNV, "w")]), - GlFunction(Void, "glVertex4hvNV", [(Array(Const(GLhalfNV), "4"), "v")]), - GlFunction(Void, "glNormal3hNV", [(GLhalfNV, "nx"), (GLhalfNV, "ny"), (GLhalfNV, "nz")]), - GlFunction(Void, "glNormal3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glColor3hNV", [(GLhalfNV, "red"), (GLhalfNV, "green"), (GLhalfNV, "blue")]), - GlFunction(Void, "glColor3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glColor4hNV", [(GLhalfNV, "red"), (GLhalfNV, "green"), (GLhalfNV, "blue"), (GLhalfNV, "alpha")]), - GlFunction(Void, "glColor4hvNV", [(Array(Const(GLhalfNV), "4"), "v")]), - GlFunction(Void, "glTexCoord1hNV", [(GLhalfNV, "s")]), - GlFunction(Void, "glTexCoord1hvNV", [(Pointer(Const(GLhalfNV)), "v")]), - GlFunction(Void, "glTexCoord2hNV", [(GLhalfNV, "s"), (GLhalfNV, "t")]), - GlFunction(Void, "glTexCoord2hvNV", [(Array(Const(GLhalfNV), "2"), "v")]), - GlFunction(Void, "glTexCoord3hNV", [(GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r")]), - GlFunction(Void, "glTexCoord3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glTexCoord4hNV", [(GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r"), (GLhalfNV, "q")]), - GlFunction(Void, "glTexCoord4hvNV", [(Array(Const(GLhalfNV), "4"), "v")]), - GlFunction(Void, "glMultiTexCoord1hNV", [(GLenum, "target"), (GLhalfNV, "s")]), - GlFunction(Void, "glMultiTexCoord1hvNV", [(GLenum, "target"), (Pointer(Const(GLhalfNV)), "v")]), - GlFunction(Void, "glMultiTexCoord2hNV", [(GLenum, "target"), (GLhalfNV, "s"), (GLhalfNV, "t")]), - GlFunction(Void, "glMultiTexCoord2hvNV", [(GLenum, "target"), (Array(Const(GLhalfNV), "2"), "v")]), - GlFunction(Void, "glMultiTexCoord3hNV", [(GLenum, "target"), (GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r")]), - GlFunction(Void, "glMultiTexCoord3hvNV", [(GLenum, "target"), (Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glMultiTexCoord4hNV", [(GLenum, "target"), (GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r"), (GLhalfNV, "q")]), - GlFunction(Void, "glMultiTexCoord4hvNV", [(GLenum, "target"), (Array(Const(GLhalfNV), "4"), "v")]), - GlFunction(Void, "glFogCoordhNV", [(GLhalfNV, "fog")]), - GlFunction(Void, "glFogCoordhvNV", [(Pointer(Const(GLhalfNV)), "fog")]), - GlFunction(Void, "glSecondaryColor3hNV", [(GLhalfNV, "red"), (GLhalfNV, "green"), (GLhalfNV, "blue")]), - GlFunction(Void, "glSecondaryColor3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glVertexWeighthNV", [(GLhalfNV, "weight")]), - GlFunction(Void, "glVertexWeighthvNV", [(Pointer(Const(GLhalfNV)), "weight")]), - GlFunction(Void, "glVertexAttrib1hNV", [(GLuint, "index"), (GLhalfNV, "x")]), - GlFunction(Void, "glVertexAttrib1hvNV", [(GLuint, "index"), (Pointer(Const(GLhalfNV)), "v")]), - GlFunction(Void, "glVertexAttrib2hNV", [(GLuint, "index"), (GLhalfNV, "x"), (GLhalfNV, "y")]), - GlFunction(Void, "glVertexAttrib2hvNV", [(GLuint, "index"), (Array(Const(GLhalfNV), "2"), "v")]), - GlFunction(Void, "glVertexAttrib3hNV", [(GLuint, "index"), (GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z")]), - GlFunction(Void, "glVertexAttrib3hvNV", [(GLuint, "index"), (Array(Const(GLhalfNV), "3"), "v")]), - GlFunction(Void, "glVertexAttrib4hNV", [(GLuint, "index"), (GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z"), (GLhalfNV, "w")]), - GlFunction(Void, "glVertexAttrib4hvNV", [(GLuint, "index"), (Array(Const(GLhalfNV), "4"), "v")]), - GlFunction(Void, "glVertexAttribs1hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), - GlFunction(Void, "glVertexAttribs2hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), - GlFunction(Void, "glVertexAttribs3hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), - GlFunction(Void, "glVertexAttribs4hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), - - # GL_NV_pixel_data_range - GlFunction(Void, "glPixelDataRangeNV", [(GLenum, "target"), (GLsizei, "length"), Out(Blob(GLvoid, "length"), "pointer")]), - GlFunction(Void, "glFlushPixelDataRangeNV", [(GLenum, "target")]), - - # GL_NV_primitive_restart - GlFunction(Void, "glPrimitiveRestartNV", []), - GlFunction(Void, "glPrimitiveRestartIndexNV", [(GLuint, "index")]), - - # GL_ATI_map_object_buffer - GlFunction(GLmap, "glMapObjectBufferATI", [(GLbuffer, "buffer")]), - GlFunction(Void, "glUnmapObjectBufferATI", [(GLbuffer, "buffer")]), - - # GL_ATI_separate_stencil - GlFunction(Void, "glStencilOpSeparateATI", [(GLenum, "face"), (GLenum, "sfail"), (GLenum, "dpfail"), (GLenum, "dppass")]), - GlFunction(Void, "glStencilFuncSeparateATI", [(GLenum, "frontfunc"), (GLenum, "backfunc"), (GLint, "ref"), (GLuint, "mask")]), - - # GL_ATI_vertex_attrib_array_object - GlFunction(Void, "glVertexAttribArrayObjectATI", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (GLuint, "buffer"), (GLuint, "offset")]), - GlFunction(Void, "glGetVertexAttribArrayObjectfvATI", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "pname"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribArrayObjectivATI", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "pname"), "params")], sideeffects=False), - - # GL_EXT_depth_bounds_test - GlFunction(Void, "glDepthBoundsEXT", [(GLclampd, "zmin"), (GLclampd, "zmax")]), - - # GL_EXT_blend_equation_separate - GlFunction(Void, "glBlendEquationSeparateEXT", [(GLenum, "modeRGB"), (GLenum, "modeAlpha")]), - - # GL_EXT_framebuffer_object - GlFunction(GLboolean, "glIsRenderbufferEXT", [(GLrenderbuffer, "renderbuffer")], sideeffects=False), - GlFunction(Void, "glBindRenderbufferEXT", [(GLenum, "target"), (GLrenderbuffer, "renderbuffer")]), - GlFunction(Void, "glDeleteRenderbuffersEXT", [(GLsizei, "n"), (Array(Const(GLrenderbuffer), "n"), "renderbuffers")]), - GlFunction(Void, "glGenRenderbuffersEXT", [(GLsizei, "n"), Out(Array(GLrenderbuffer, "n"), "renderbuffers")]), - GlFunction(Void, "glRenderbufferStorageEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetRenderbufferParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(GLboolean, "glIsFramebufferEXT", [(GLframebuffer, "framebuffer")], sideeffects=False), - GlFunction(Void, "glBindFramebufferEXT", [(GLenum, "target"), (GLframebuffer, "framebuffer")]), - GlFunction(Void, "glDeleteFramebuffersEXT", [(GLsizei, "n"), (Array(Const(GLframebuffer), "n"), "framebuffers")]), - GlFunction(Void, "glGenFramebuffersEXT", [(GLsizei, "n"), Out(Array(GLframebuffer, "n"), "framebuffers")]), - GlFunction(GLenum, "glCheckFramebufferStatusEXT", [(GLenum, "target")]), - GlFunction(Void, "glFramebufferTexture1DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glFramebufferTexture2DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glFramebufferTexture3DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]), - GlFunction(Void, "glFramebufferRenderbufferEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]), - GlFunction(Void, "glGetFramebufferAttachmentParameterivEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGenerateMipmapEXT", [(GLenum, "target")]), - - # GL_GREMEDY_string_marker - GlFunction(Void, "glStringMarkerGREMEDY", [(GLsizei, "len"), (Const(String("GLvoid *", "len ? len : strlen((const char *)string)")), "string")], sideeffects=False), - - # GL_EXT_stencil_clear_tag - GlFunction(Void, "glStencilClearTagEXT", [(GLsizei, "stencilTagBits"), (GLuint, "stencilClearTag")]), - - # GL_EXT_framebuffer_blit - GlFunction(Void, "glBlitFramebufferEXT", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield_attrib, "mask"), (GLenum, "filter")]), - - # GL_EXT_framebuffer_multisample - GlFunction(Void, "glRenderbufferStorageMultisampleEXT", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - - # GL_EXT_timer_query - GlFunction(Void, "glGetQueryObjecti64vEXT", [(GLquery, "id"), (GLenum, "pname"), (OpaquePointer(GLint64EXT), "params")], sideeffects=False), - GlFunction(Void, "glGetQueryObjectui64vEXT", [(GLquery, "id"), (GLenum, "pname"), (OpaquePointer(GLuint64EXT), "params")], sideeffects=False), - - # GL_EXT_gpu_program_parameters - GlFunction(Void, "glProgramEnvParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "params")]), - GlFunction(Void, "glProgramLocalParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "params")]), - - # GL_APPLE_flush_buffer_range - GlFunction(Void, "glBufferParameteriAPPLE", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glFlushMappedBufferRangeAPPLE", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size")]), - - # GL_NV_gpu_program4 - GlFunction(Void, "glProgramLocalParameterI4iNV", [(GLenum, "target"), (GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glProgramLocalParameterI4ivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLint), "4"), "params")]), - GlFunction(Void, "glProgramLocalParametersI4ivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "params")]), - GlFunction(Void, "glProgramLocalParameterI4uiNV", [(GLenum, "target"), (GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), - GlFunction(Void, "glProgramLocalParameterI4uivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLuint), "4"), "params")]), - GlFunction(Void, "glProgramLocalParametersI4uivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "params")]), - GlFunction(Void, "glProgramEnvParameterI4iNV", [(GLenum, "target"), (GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glProgramEnvParameterI4ivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLint), "4"), "params")]), - GlFunction(Void, "glProgramEnvParametersI4ivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "params")]), - GlFunction(Void, "glProgramEnvParameterI4uiNV", [(GLenum, "target"), (GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), - GlFunction(Void, "glProgramEnvParameterI4uivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLuint), "4"), "params")]), - GlFunction(Void, "glProgramEnvParametersI4uivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "params")]), - GlFunction(Void, "glGetProgramLocalParameterIivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramLocalParameterIuivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLuint, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramEnvParameterIivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetProgramEnvParameterIuivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLuint, "4"), "params")], sideeffects=False), - - # GL_NV_geometry_program4 - GlFunction(Void, "glProgramVertexLimitNV", [(GLenum, "target"), (GLint, "limit")]), - GlFunction(Void, "glFramebufferTextureEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glFramebufferTextureLayerEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), - GlFunction(Void, "glFramebufferTextureFaceEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLenum, "face")]), - - # GL_EXT_geometry_shader4 - GlFunction(Void, "glProgramParameteriEXT", [(GLprogram, "program"), (GLenum, "pname"), (GLint, "value")]), - - # GL_NV_vertex_program4 - GlFunction(Void, "glVertexAttribI1iEXT", [(GLuint, "index"), (GLint, "x")]), - GlFunction(Void, "glVertexAttribI2iEXT", [(GLuint, "index"), (GLint, "x"), (GLint, "y")]), - GlFunction(Void, "glVertexAttribI3iEXT", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z")]), - GlFunction(Void, "glVertexAttribI4iEXT", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glVertexAttribI1uiEXT", [(GLuint, "index"), (GLuint, "x")]), - GlFunction(Void, "glVertexAttribI2uiEXT", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y")]), - GlFunction(Void, "glVertexAttribI3uiEXT", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z")]), - GlFunction(Void, "glVertexAttribI4uiEXT", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), - GlFunction(Void, "glVertexAttribI1ivEXT", [(GLuint, "index"), (Pointer(Const(GLint)), "v")]), - GlFunction(Void, "glVertexAttribI2ivEXT", [(GLuint, "index"), (Array(Const(GLint), "2"), "v")]), - GlFunction(Void, "glVertexAttribI3ivEXT", [(GLuint, "index"), (Array(Const(GLint), "3"), "v")]), - GlFunction(Void, "glVertexAttribI4ivEXT", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), - GlFunction(Void, "glVertexAttribI1uivEXT", [(GLuint, "index"), (Pointer(Const(GLuint)), "v")]), - GlFunction(Void, "glVertexAttribI2uivEXT", [(GLuint, "index"), (Array(Const(GLuint), "2"), "v")]), - GlFunction(Void, "glVertexAttribI3uivEXT", [(GLuint, "index"), (Array(Const(GLuint), "3"), "v")]), - GlFunction(Void, "glVertexAttribI4uivEXT", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4bvEXT", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4svEXT", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4ubvEXT", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), - GlFunction(Void, "glVertexAttribI4usvEXT", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), - GlFunction(Void, "glVertexAttribIPointerEXT", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glGetVertexAttribIivEXT", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribIuivEXT", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLuint), "params")], sideeffects=False), - - # GL_EXT_gpu_shader4 - GlFunction(Void, "glGetUniformuivEXT", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaqueArray(GLuint, "__glGetUniformuivEXT_size(program, location)"), "params")], sideeffects=False), - GlFunction(Void, "glBindFragDataLocationEXT", [(GLprogram, "program"), (GLuint, "color"), (Const(GLstring), "name")]), - GlFunction(GLlocation, "glGetFragDataLocationEXT", [(GLprogram, "program"), (Const(GLstring), "name")]), - GlFunction(Void, "glUniform1uiEXT", [(GLlocation, "location"), (GLuint, "v0")]), - GlFunction(Void, "glUniform2uiEXT", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), - GlFunction(Void, "glUniform3uiEXT", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), - GlFunction(Void, "glUniform4uiEXT", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), - GlFunction(Void, "glUniform1uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), - GlFunction(Void, "glUniform2uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), - GlFunction(Void, "glUniform3uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), - GlFunction(Void, "glUniform4uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), - - # GL_EXT_draw_instanced - GlFunction(Void, "glDrawArraysInstancedEXT", [(GLenum_mode, "mode"), (GLint, "start"), (GLsizei, "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glDrawElementsInstancedEXT", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount")]), - - # GL_EXT_texture_buffer_object - GlFunction(Void, "glTexBufferEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), - - # GL_NV_depth_buffer_float - GlFunction(Void, "glDepthRangedNV", [(GLdouble, "zNear"), (GLdouble, "zFar")]), - GlFunction(Void, "glClearDepthdNV", [(GLdouble, "depth")]), - GlFunction(Void, "glDepthBoundsdNV", [(GLdouble, "zmin"), (GLdouble, "zmax")]), - - # GL_NV_framebuffer_multisample_coverage - GlFunction(Void, "glRenderbufferStorageMultisampleCoverageNV", [(GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - - # GL_NV_parameter_buffer_object - GlFunction(Void, "glProgramBufferParametersfvNV", [(GLenum, "target"), (GLbuffer, "buffer"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "params")]), - GlFunction(Void, "glProgramBufferParametersIivNV", [(GLenum, "target"), (GLbuffer, "buffer"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count"), "params")]), - GlFunction(Void, "glProgramBufferParametersIuivNV", [(GLenum, "target"), (GLbuffer, "buffer"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "params")]), - - # GL_EXT_draw_buffers2 - GlFunction(Void, "glColorMaskIndexedEXT", [(GLuint, "index"), (GLboolean, "r"), (GLboolean, "g"), (GLboolean, "b"), (GLboolean, "a")]), - GlFunction(Void, "glGetBooleanIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLboolean, "__glGetBooleanIndexedvEXT_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glGetIntegerIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLint, "__glGetIntegerIndexedvEXT_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glEnableIndexedEXT", [(GLenum, "target"), (GLuint, "index")]), - GlFunction(Void, "glDisableIndexedEXT", [(GLenum, "target"), (GLuint, "index")]), - GlFunction(GLboolean, "glIsEnabledIndexedEXT", [(GLenum, "target"), (GLuint, "index")], sideeffects=False), - - # GL_NV_transform_feedback - GlFunction(Void, "glBeginTransformFeedbackNV", [(GLenum_mode, "primitiveMode")]), - GlFunction(Void, "glEndTransformFeedbackNV", []), - GlFunction(Void, "glTransformFeedbackAttribsNV", [(GLuint, "count"), (OpaqueArray(Const(GLint), "__glTransformFeedbackAttribsNV_size(count)"), "attribs"), (GLenum, "bufferMode")]), - GlFunction(Void, "glBindBufferRangeNV", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size")]), - GlFunction(Void, "glBindBufferOffsetNV", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset")]), - GlFunction(Void, "glBindBufferBaseNV", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer")]), - GlFunction(Void, "glTransformFeedbackVaryingsNV", [(GLprogram, "program"), (GLsizei, "count"), (Array(Const(GLint), "count"), "locations"), (GLenum, "bufferMode")]), - GlFunction(Void, "glActiveVaryingNV", [(GLprogram, "program"), (Const(GLstring), "name")]), - GlFunction(GLlocation, "glGetVaryingLocationNV", [(GLprogram, "program"), (Const(GLstring), "name")]), - GlFunction(Void, "glGetActiveVaryingNV", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLsizei), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), - GlFunction(Void, "glGetTransformFeedbackVaryingNV", [(GLprogram, "program"), (GLuint, "index"), Out(Pointer(GLlocation), "location")], sideeffects=False), - GlFunction(Void, "glTransformFeedbackStreamAttribsNV", [(GLsizei, "count"), (Array(Const(GLint), "count"), "attribs"), (GLsizei, "nbuffers"), (Array(Const(GLint), "nbuffers"), "bufstreams"), (GLenum, "bufferMode")]), - - # GL_EXT_bindable_uniform - GlFunction(Void, "glUniformBufferEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLbuffer, "buffer")]), - GlFunction(GLint, "glGetUniformBufferSizeEXT", [(GLprogram, "program"), (GLlocation, "location")]), - GlFunction(GLintptr, "glGetUniformOffsetEXT", [(GLprogram, "program"), (GLlocation, "location")]), - - # GL_EXT_texture_integer - GlFunction(Void, "glTexParameterIivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glTexParameterIivEXT_size(pname)"), "params")]), - GlFunction(Void, "glTexParameterIuivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLuint), "__glTexParameterIuivEXT_size(pname)"), "params")]), - GlFunction(Void, "glGetTexParameterIivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetTexParameterIivEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTexParameterIuivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLuint, "__glGetTexParameterIuivEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glClearColorIiEXT", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]), - GlFunction(Void, "glClearColorIuiEXT", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]), - - # GL_GREMEDY_frame_terminator - GlFunction(Void, "glFrameTerminatorGREMEDY", []), - - # GL_NV_conditional_render - GlFunction(Void, "glBeginConditionalRenderNV", [(GLuint, "id"), (GLenum, "mode")]), - GlFunction(Void, "glEndConditionalRenderNV", []), - - # GL_NV_present_video - GlFunction(Void, "glPresentFrameKeyedNV", [(GLuint, "video_slot"), (GLuint64EXT, "minPresentTime"), (GLuint, "beginPresentTimeId"), (GLuint, "presentDurationId"), (GLenum, "type"), (GLenum, "target0"), (GLuint, "fill0"), (GLuint, "key0"), (GLenum, "target1"), (GLuint, "fill1"), (GLuint, "key1")]), - GlFunction(Void, "glPresentFrameDualFillNV", [(GLuint, "video_slot"), (GLuint64EXT, "minPresentTime"), (GLuint, "beginPresentTimeId"), (GLuint, "presentDurationId"), (GLenum, "type"), (GLenum, "target0"), (GLuint, "fill0"), (GLenum, "target1"), (GLuint, "fill1"), (GLenum, "target2"), (GLuint, "fill2"), (GLenum, "target3"), (GLuint, "fill3")]), - GlFunction(Void, "glGetVideoivNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetVideoivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVideouivNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLuint, "__glGetVideouivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVideoi64vNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLint64EXT, "__glGetVideoi64vNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVideoui64vNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLuint64EXT, "__glGetVideoui64vNV_size(pname)"), "params")], sideeffects=False), - - # GL_EXT_transform_feedback - GlFunction(Void, "glBeginTransformFeedbackEXT", [(GLenum_mode, "primitiveMode")]), - GlFunction(Void, "glEndTransformFeedbackEXT", []), - GlFunction(Void, "glBindBufferRangeEXT", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size")]), - GlFunction(Void, "glBindBufferOffsetEXT", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset")]), - GlFunction(Void, "glBindBufferBaseEXT", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer")]), - GlFunction(Void, "glTransformFeedbackVaryingsEXT", [(GLprogram, "program"), (GLsizei, "count"), (Const(Array(Const(GLstring), "count")), "varyings"), (GLenum, "bufferMode")]), - GlFunction(Void, "glGetTransformFeedbackVaryingEXT", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLsizei), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), - - # GL_EXT_direct_state_access - GlFunction(Void, "glClientAttribDefaultEXT", [(GLbitfield_client_attrib, "mask")]), - GlFunction(Void, "glPushClientAttribDefaultEXT", [(GLbitfield_client_attrib, "mask")]), - GlFunction(Void, "glMatrixLoadfEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMatrixLoaddEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glMatrixMultfEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMatrixMultdEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glMatrixLoadIdentityEXT", [(GLenum, "mode")]), - GlFunction(Void, "glMatrixRotatefEXT", [(GLenum, "mode"), (GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glMatrixRotatedEXT", [(GLenum, "mode"), (GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glMatrixScalefEXT", [(GLenum, "mode"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glMatrixScaledEXT", [(GLenum, "mode"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glMatrixTranslatefEXT", [(GLenum, "mode"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), - GlFunction(Void, "glMatrixTranslatedEXT", [(GLenum, "mode"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glMatrixFrustumEXT", [(GLenum, "mode"), (GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), - GlFunction(Void, "glMatrixOrthoEXT", [(GLenum, "mode"), (GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), - GlFunction(Void, "glMatrixPopEXT", [(GLenum, "mode")]), - GlFunction(Void, "glMatrixPushEXT", [(GLenum, "mode")]), - GlFunction(Void, "glMatrixLoadTransposefEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMatrixLoadTransposedEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glMatrixMultTransposefEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), - GlFunction(Void, "glMatrixMultTransposedEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), - GlFunction(Void, "glTextureParameterfEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glTextureParameterfvEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glTextureParameteriEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glTextureParameterivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glTextureImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureImage1DEXT_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glTextureImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureImage2DEXT_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glTextureSubImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureSubImage1DEXT_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glTextureSubImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureSubImage2DEXT_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glCopyTextureImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), - GlFunction(Void, "glCopyTextureImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), - GlFunction(Void, "glCopyTextureSubImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glCopyTextureSubImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetTextureImageEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetTextureImageEXT_size(target, level, format, type)"), "pixels")], sideeffects=False), - GlFunction(Void, "glGetTextureParameterfvEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTextureParameterivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTextureLevelParameterfvEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTextureLevelParameterivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glTextureImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glTextureSubImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureSubImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glCopyTextureSubImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glMultiTexParameterfEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glMultiTexParameterfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexParameteriEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glMultiTexParameterivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexImage1DEXT_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glMultiTexImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexImage2DEXT_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glMultiTexSubImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexSubImage1DEXT_size(format, type, width)"), "pixels")]), - GlFunction(Void, "glMultiTexSubImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexSubImage2DEXT_size(format, type, width, height)"), "pixels")]), - GlFunction(Void, "glCopyMultiTexImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), - GlFunction(Void, "glCopyMultiTexImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), - GlFunction(Void, "glCopyMultiTexSubImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), - GlFunction(Void, "glCopyMultiTexSubImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetMultiTexImageEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetMultiTexImageEXT_size(target, level, format, type)"), "pixels")], sideeffects=False), - GlFunction(Void, "glGetMultiTexParameterfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexParameterivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexLevelParameterfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexLevelParameterivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glMultiTexImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glMultiTexSubImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexSubImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), - GlFunction(Void, "glCopyMultiTexSubImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glBindMultiTextureEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLtexture, "texture")]), - GlFunction(Void, "glEnableClientStateIndexedEXT", [(GLenum, "array"), (GLuint, "index")]), - GlFunction(Void, "glDisableClientStateIndexedEXT", [(GLenum, "array"), (GLuint, "index")]), - GlFunction(Void, "glMultiTexCoordPointerEXT", [(GLenum, "texunit"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), - GlFunction(Void, "glMultiTexEnvfEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glMultiTexEnvfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexEnviEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glMultiTexEnvivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexGendEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]), - GlFunction(Void, "glMultiTexGendvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLdouble), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexGenfEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]), - GlFunction(Void, "glMultiTexGenfvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexGeniEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]), - GlFunction(Void, "glMultiTexGenivEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glGetMultiTexEnvfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexEnvivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexGendvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), Out(Array(GLdouble, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexGenfvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexGenivEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetFloatIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLfloat, "__glGetFloatIndexedvEXT_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glGetDoubleIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLdouble, "__glGetDoubleIndexedvEXT_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glGetPointerIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(OpaquePointer(GLvoid), "__glGetPointerIndexedvEXT_size(target)"), "data")], sideeffects=False), - GlFunction(Void, "glCompressedTextureImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedTextureImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedTextureImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedTextureSubImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedTextureSubImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedTextureSubImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glGetCompressedTextureImageEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "lod"), Out(OpaqueBlob(GLvoid, "__glGetCompressedTextureImageEXT_size(target, lod)"), "img")], sideeffects=False), - GlFunction(Void, "glCompressedMultiTexImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedMultiTexImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedMultiTexImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedMultiTexSubImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedMultiTexSubImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glCompressedMultiTexSubImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), - GlFunction(Void, "glGetCompressedMultiTexImageEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "lod"), Out(OpaqueBlob(GLvoid, "__glGetCompressedMultiTexImageEXT_size(target, lod)"), "img")], sideeffects=False), - GlFunction(Void, "glNamedProgramStringEXT", [(GLprogram, "program"), (GLenum, "target"), (GLenum, "format"), (GLsizei, "len"), (Const(String("GLvoid *", "len")), "string")]), - GlFunction(Void, "glNamedProgramLocalParameter4dEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glNamedProgramLocalParameter4dvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "params")]), - GlFunction(Void, "glNamedProgramLocalParameter4fEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), - GlFunction(Void, "glNamedProgramLocalParameter4fvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "params")]), - GlFunction(Void, "glGetNamedProgramLocalParameterdvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedProgramLocalParameterfvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedProgramivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedProgramStringEXT", [(GLprogram, "program"), (GLenum, "target"), (GLenum, "pname"), Out(OpaqueBlob(GLvoid, "__glGetNamedProgramStringEXT_size(program,pname)"), "string")], sideeffects=False), - GlFunction(Void, "glNamedProgramLocalParameters4fvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "params")]), - GlFunction(Void, "glNamedProgramLocalParameterI4iEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), - GlFunction(Void, "glNamedProgramLocalParameterI4ivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLint), "4"), "params")]), - GlFunction(Void, "glNamedProgramLocalParametersI4ivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "params")]), - GlFunction(Void, "glNamedProgramLocalParameterI4uiEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), - GlFunction(Void, "glNamedProgramLocalParameterI4uivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLuint), "4"), "params")]), - GlFunction(Void, "glNamedProgramLocalParametersI4uivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "params")]), - GlFunction(Void, "glGetNamedProgramLocalParameterIivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "4"), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedProgramLocalParameterIuivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLuint, "4"), "params")], sideeffects=False), - GlFunction(Void, "glTextureParameterIivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glTextureParameterIuivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLuint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glGetTextureParameterIivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetTextureParameterIuivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glMultiTexParameterIivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glMultiTexParameterIuivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLuint), "__gl_param_size(pname)"), "params")]), - GlFunction(Void, "glGetMultiTexParameterIivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetMultiTexParameterIuivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glProgramUniform1fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0")]), - GlFunction(Void, "glProgramUniform2fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), - GlFunction(Void, "glProgramUniform3fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), - GlFunction(Void, "glProgramUniform4fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), - GlFunction(Void, "glProgramUniform1iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0")]), - GlFunction(Void, "glProgramUniform2iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1")]), - GlFunction(Void, "glProgramUniform3iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), - GlFunction(Void, "glProgramUniform4iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), - GlFunction(Void, "glProgramUniform1fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), - GlFunction(Void, "glProgramUniform2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), - GlFunction(Void, "glProgramUniform1ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), - GlFunction(Void, "glProgramUniform2ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*3"), "value")]), - GlFunction(Void, "glProgramUniform1uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0")]), - GlFunction(Void, "glProgramUniform2uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), - GlFunction(Void, "glProgramUniform3uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), - GlFunction(Void, "glProgramUniform4uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), - GlFunction(Void, "glProgramUniform1uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), - GlFunction(Void, "glProgramUniform2uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), - GlFunction(Void, "glNamedBufferDataEXT", [(GLbuffer, "buffer"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]), - GlFunction(Void, "glNamedBufferSubDataEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data")]), - GlFunction(GLmap, "glMapNamedBufferEXT", [(GLbuffer, "buffer"), (GLenum, "access")]), - GlFunction(GLboolean, "glUnmapNamedBufferEXT", [(GLbuffer, "buffer")]), - GlFunction(GLmap, "glMapNamedBufferRangeEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "length"), (GLbitfield_access, "access")]), - GlFunction(Void, "glFlushMappedNamedBufferRangeEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "length")]), - GlFunction(Void, "glNamedCopyBufferSubDataEXT", [(GLbuffer, "readBuffer"), (GLbuffer, "writeBuffer"), (GLintptr, "readOffset"), (GLintptr, "writeOffset"), (GLsizeiptr, "size")]), - GlFunction(Void, "glGetNamedBufferParameterivEXT", [(GLbuffer, "buffer"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedBufferPointervEXT", [(GLbuffer, "buffer"), (GLenum, "pname"), Out(Array(OpaquePointer(GLvoid), "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedBufferSubDataEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size"), Out(OpaqueBlob(GLvoid, "__glGetNamedBufferSubDataEXT_size(size)"), "data")], sideeffects=False), - GlFunction(Void, "glTextureBufferEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), - GlFunction(Void, "glMultiTexBufferEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), - GlFunction(Void, "glNamedRenderbufferStorageEXT", [(GLrenderbuffer, "renderbuffer"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glGetNamedRenderbufferParameterivEXT", [(GLrenderbuffer, "renderbuffer"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(GLenum, "glCheckNamedFramebufferStatusEXT", [(GLframebuffer, "framebuffer"), (GLenum, "target")]), - GlFunction(Void, "glNamedFramebufferTexture1DEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glNamedFramebufferTexture2DEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glNamedFramebufferTexture3DEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]), - GlFunction(Void, "glNamedFramebufferRenderbufferEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]), - GlFunction(Void, "glGetNamedFramebufferAttachmentParameterivEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGenerateTextureMipmapEXT", [(GLtexture, "texture"), (GLenum, "target")]), - GlFunction(Void, "glGenerateMultiTexMipmapEXT", [(GLenum, "texunit"), (GLenum, "target")]), - GlFunction(Void, "glFramebufferDrawBufferEXT", [(GLframebuffer, "framebuffer"), (GLenum, "mode")]), - GlFunction(Void, "glFramebufferDrawBuffersEXT", [(GLframebuffer, "framebuffer"), (GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), - GlFunction(Void, "glFramebufferReadBufferEXT", [(GLframebuffer, "framebuffer"), (GLenum, "mode")]), - GlFunction(Void, "glGetFramebufferParameterivEXT", [(GLframebuffer, "framebuffer"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glNamedRenderbufferStorageMultisampleEXT", [(GLrenderbuffer, "renderbuffer"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glNamedRenderbufferStorageMultisampleCoverageEXT", [(GLrenderbuffer, "renderbuffer"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glNamedFramebufferTextureEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), - GlFunction(Void, "glNamedFramebufferTextureLayerEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), - GlFunction(Void, "glNamedFramebufferTextureFaceEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLenum, "face")]), - GlFunction(Void, "glTextureRenderbufferEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLuint, "renderbuffer")]), - GlFunction(Void, "glMultiTexRenderbufferEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLuint, "renderbuffer")]), - GlFunction(Void, "glProgramUniform1dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x")]), - GlFunction(Void, "glProgramUniform2dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glProgramUniform3dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glProgramUniform4dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glProgramUniform1dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "value")]), - GlFunction(Void, "glProgramUniform2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*3"), "value")]), - GlFunction(Void, "glProgramUniformMatrix2x4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix3x4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*4"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*2"), "value")]), - GlFunction(Void, "glProgramUniformMatrix4x3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*3"), "value")]), - GlFunction(Void, "glVertexArrayVertexOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayColorOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayEdgeFlagOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayIndexOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayNormalOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayTexCoordOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayMultiTexCoordOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "texunit"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayFogCoordOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArraySecondaryColorOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayVertexAttribOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glVertexArrayVertexAttribIOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - GlFunction(Void, "glEnableVertexArrayEXT", [(GLarray, "vaobj"), (GLenum, "array")]), - GlFunction(Void, "glDisableVertexArrayEXT", [(GLarray, "vaobj"), (GLenum, "array")]), - GlFunction(Void, "glEnableVertexArrayAttribEXT", [(GLarray, "vaobj"), (GLuint, "index")]), - GlFunction(Void, "glDisableVertexArrayAttribEXT", [(GLarray, "vaobj"), (GLuint, "index")]), - GlFunction(Void, "glGetVertexArrayIntegervEXT", [(GLarray, "vaobj"), (GLenum, "pname"), Out(Pointer(GLint), "param")]), - GlFunction(Void, "glGetVertexArrayPointervEXT", [(GLarray, "vaobj"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "param")]), - GlFunction(Void, "glGetVertexArrayIntegeri_vEXT", [(GLarray, "vaobj"), (GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLint), "param")]), - GlFunction(Void, "glGetVertexArrayPointeri_vEXT", [(GLarray, "vaobj"), (GLuint, "index"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "param")]), - - # GL_NV_explicit_multisample - GlFunction(Void, "glGetMultisamplefvNV", [(GLenum, "pname"), (GLuint, "index"), Out(Array(GLfloat, "2"), "val")], sideeffects=False), - GlFunction(Void, "glSampleMaskIndexedNV", [(GLuint, "index"), (GLbitfield, "mask")]), - GlFunction(Void, "glTexRenderbufferNV", [(GLenum, "target"), (GLuint, "renderbuffer")]), - - # GL_NV_transform_feedback2 - GlFunction(Void, "glBindTransformFeedbackNV", [(GLenum, "target"), (GLfeedback, "id")]), - GlFunction(Void, "glDeleteTransformFeedbacksNV", [(GLsizei, "n"), (Array(Const(GLfeedback), "n"), "ids")]), - GlFunction(Void, "glGenTransformFeedbacksNV", [(GLsizei, "n"), Out(Array(GLfeedback, "n"), "ids")]), - GlFunction(GLboolean, "glIsTransformFeedbackNV", [(GLfeedback, "id")], sideeffects=False), - GlFunction(Void, "glPauseTransformFeedbackNV", []), - GlFunction(Void, "glResumeTransformFeedbackNV", []), - GlFunction(Void, "glDrawTransformFeedbackNV", [(GLenum_mode, "mode"), (GLfeedback, "id")]), - - # GL_AMD_performance_monitor - GlFunction(Void, "glGetPerfMonitorGroupsAMD", [Out(Pointer(GLint), "numGroups"), (GLsizei, "groupsSize"), Out(Array(GLuint, "groupsSize"), "groups")], sideeffects=False), - GlFunction(Void, "glGetPerfMonitorCountersAMD", [(GLuint, "group"), Out(Pointer(GLint), "numCounters"), Out(Pointer(GLint), "maxActiveCounters"), (GLsizei, "counterSize"), Out(Array(GLuint, "counterSize"), "counters")], sideeffects=False), - GlFunction(Void, "glGetPerfMonitorGroupStringAMD", [(GLuint, "group"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "groupString")], sideeffects=False), - GlFunction(Void, "glGetPerfMonitorCounterStringAMD", [(GLuint, "group"), (GLuint, "counter"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "counterString")], sideeffects=False), - GlFunction(Void, "glGetPerfMonitorCounterInfoAMD", [(GLuint, "group"), (GLuint, "counter"), (GLenum, "pname"), Out(OpaqueBlob(GLvoid, "__glGetPerfMonitorCounterInfoAMD_size(pname)"), "data")], sideeffects=False), - GlFunction(Void, "glGenPerfMonitorsAMD", [(GLsizei, "n"), Out(Array(GLuint, "n"), "monitors")]), - GlFunction(Void, "glDeletePerfMonitorsAMD", [(GLsizei, "n"), Out(Array(GLuint, "n"), "monitors")]), - GlFunction(Void, "glSelectPerfMonitorCountersAMD", [(GLuint, "monitor"), (GLboolean, "enable"), (GLuint, "group"), (GLint, "numCounters"), Out(Array(GLuint, "numCounters"), "counterList")]), - GlFunction(Void, "glBeginPerfMonitorAMD", [(GLuint, "monitor")]), - GlFunction(Void, "glEndPerfMonitorAMD", [(GLuint, "monitor")]), - GlFunction(Void, "glGetPerfMonitorCounterDataAMD", [(GLuint, "monitor"), (GLenum, "pname"), (GLsizei, "dataSize"), Out(Array(GLuint, "dataSize"), "data"), Out(Pointer(GLint), "bytesWritten")], sideeffects=False), - - # GL_AMD_vertex_shader_tesselator - GlFunction(Void, "glTessellationFactorAMD", [(GLfloat, "factor")]), - GlFunction(Void, "glTessellationModeAMD", [(GLenum, "mode")]), - - # GL_EXT_provoking_vertex - GlFunction(Void, "glProvokingVertexEXT", [(GLenum, "mode")]), - - # GL_AMD_draw_buffers_blend - GlFunction(Void, "glBlendFuncIndexedAMD", [(GLuint, "buf"), (GLenum, "src"), (GLenum, "dst")]), - GlFunction(Void, "glBlendFuncSeparateIndexedAMD", [(GLuint, "buf"), (GLenum, "srcRGB"), (GLenum, "dstRGB"), (GLenum, "srcAlpha"), (GLenum, "dstAlpha")]), - GlFunction(Void, "glBlendEquationIndexedAMD", [(GLuint, "buf"), (GLenum, "mode")]), - GlFunction(Void, "glBlendEquationSeparateIndexedAMD", [(GLuint, "buf"), (GLenum, "modeRGB"), (GLenum, "modeAlpha")]), - - # GL_APPLE_texture_range - GlFunction(Void, "glTextureRangeAPPLE", [(GLenum, "target"), (GLsizei, "length"), (Blob(Const(GLvoid), "length"), "pointer")]), - GlFunction(Void, "glGetTexParameterPointervAPPLE", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), - - # GL_APPLE_vertex_program_evaluators - GlFunction(Void, "glEnableVertexAttribAPPLE", [(GLuint, "index"), (GLenum, "pname")]), - GlFunction(Void, "glDisableVertexAttribAPPLE", [(GLuint, "index"), (GLenum, "pname")]), - GlFunction(GLboolean, "glIsVertexAttribEnabledAPPLE", [(GLuint, "index"), (GLenum, "pname")], sideeffects=False), - GlFunction(Void, "glMapVertexAttrib1dAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (OpaqueArray(Const(GLdouble), "__glMapVertexAttrib1dAPPLE_size(size, stride, order)"), "points")]), - GlFunction(Void, "glMapVertexAttrib1fAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (OpaqueArray(Const(GLfloat), "__glMapVertexAttrib1fAPPLE_size(size, stride, order)"), "points")]), - GlFunction(Void, "glMapVertexAttrib2dAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (OpaqueArray(Const(GLdouble), "__glMapVertexAttrib2dAPPLE_size(size, ustride, uorder, vstride, vorder)"), "points")]), - GlFunction(Void, "glMapVertexAttrib2fAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (OpaqueArray(Const(GLfloat), "__glMapVertexAttrib2fAPPLE_size(size, ustride, uorder, vstride, vorder)"), "points")]), - - # GL_APPLE_object_purgeable - GlFunction(GLenum, "glObjectPurgeableAPPLE", [(GLenum, "objectType"), (GLuint, "name"), (GLenum, "option")]), - GlFunction(GLenum, "glObjectUnpurgeableAPPLE", [(GLenum, "objectType"), (GLuint, "name"), (GLenum, "option")]), - GlFunction(Void, "glGetObjectParameterivAPPLE", [(GLenum, "objectType"), (GLuint, "name"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetObjectParameterivAPPLE_size(pname)"), "params")], sideeffects=False), - - # GL_NV_video_capture - GlFunction(Void, "glBeginVideoCaptureNV", [(GLuint, "video_capture_slot")]), - GlFunction(Void, "glBindVideoCaptureStreamBufferNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "frame_region"), (GLintptrARB, "offset")]), - GlFunction(Void, "glBindVideoCaptureStreamTextureNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "frame_region"), (GLenum, "target"), (GLuint, "texture")]), - GlFunction(Void, "glEndVideoCaptureNV", [(GLuint, "video_capture_slot")]), - GlFunction(Void, "glGetVideoCaptureivNV", [(GLuint, "video_capture_slot"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetVideoCaptureivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVideoCaptureStreamivNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetVideoCaptureStreamivNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVideoCaptureStreamfvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetVideoCaptureStreamfvNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVideoCaptureStreamdvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), Out(OpaqueArray(GLdouble, "__glGetVideoCaptureStreamdvNV_size(pname)"), "params")], sideeffects=False), - GlFunction(GLenum, "glVideoCaptureNV", [(GLuint, "video_capture_slot"), Out(Pointer(GLuint), "sequence_num"), Out(Pointer(GLuint64EXT), "capture_time")]), - GlFunction(Void, "glVideoCaptureStreamParameterivNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glVideoCaptureStreamParameterivNV_size(pname)"), "params")]), - GlFunction(Void, "glVideoCaptureStreamParameterfvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glVideoCaptureStreamParameterfvNV_size(pname)"), "params")]), - GlFunction(Void, "glVideoCaptureStreamParameterdvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), (OpaqueArray(Const(GLdouble), "__glVideoCaptureStreamParameterdvNV_size(pname)"), "params")]), - - # GL_NV_copy_image - GlFunction(Void, "glCopyImageSubDataNV", [(GLuint, "srcName"), (GLenum, "srcTarget"), (GLint, "srcLevel"), (GLint, "srcX"), (GLint, "srcY"), (GLint, "srcZ"), (GLuint, "dstName"), (GLenum, "dstTarget"), (GLint, "dstLevel"), (GLint, "dstX"), (GLint, "dstY"), (GLint, "dstZ"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), - - # GL_EXT_separate_shader_objects - GlFunction(Void, "glUseShaderProgramEXT", [(GLenum, "type"), (GLprogram, "program")]), - GlFunction(Void, "glActiveProgramEXT", [(GLprogram, "program")]), - GlFunction(GLprogram, "glCreateShaderProgramEXT", [(GLenum, "type"), (Const(GLstring), "string")]), - - # GL_NV_shader_buffer_load - GlFunction(Void, "glMakeBufferResidentNV", [(GLenum, "target"), (GLenum, "access")]), - GlFunction(Void, "glMakeBufferNonResidentNV", [(GLenum, "target")]), - GlFunction(GLboolean, "glIsBufferResidentNV", [(GLenum, "target")], sideeffects=False), - GlFunction(Void, "glMakeNamedBufferResidentNV", [(GLuint, "buffer"), (GLenum, "access")]), - GlFunction(Void, "glMakeNamedBufferNonResidentNV", [(GLuint, "buffer")]), - GlFunction(GLboolean, "glIsNamedBufferResidentNV", [(GLuint, "buffer")], sideeffects=False), - GlFunction(Void, "glGetBufferParameterui64vNV", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLuint64EXT, "__glGetBufferParameterui64vNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetNamedBufferParameterui64vNV", [(GLuint, "buffer"), (GLenum, "pname"), Out(OpaqueArray(GLuint64EXT, "__glGetNamedBufferParameterui64vNV_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetIntegerui64vNV", [(GLenum, "value"), Out(OpaqueArray(GLuint64EXT, "__glGetIntegerui64vNV_size(value)"), "result")], sideeffects=False), - GlFunction(Void, "glUniformui64NV", [(GLint, "location"), (GLuint64EXT, "value")]), - GlFunction(Void, "glUniformui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), - GlFunction(Void, "glGetUniformui64vNV", [(GLuint, "program"), (GLint, "location"), Out(OpaqueArray(GLuint64EXT, "__glGetUniformui64vNV_size(program, location)"), "params")], sideeffects=False), - GlFunction(Void, "glProgramUniformui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "value")]), - GlFunction(Void, "glProgramUniformui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), - - # GL_NV_vertex_buffer_unified_memory - GlFunction(Void, "glBufferAddressRangeNV", [(GLenum, "pname"), (GLuint, "index"), (GLuint64EXT, "address"), (GLsizeiptr, "length")]), - GlFunction(Void, "glVertexFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glNormalFormatNV", [(GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glColorFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glIndexFormatNV", [(GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glTexCoordFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glEdgeFlagFormatNV", [(GLsizei, "stride")]), - GlFunction(Void, "glSecondaryColorFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glFogCoordFormatNV", [(GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glVertexAttribFormatNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride")]), - GlFunction(Void, "glVertexAttribIFormatNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), - GlFunction(Void, "glGetIntegerui64i_vNV", [(GLenum, "value"), (GLuint, "index"), Out(OpaqueArray(GLuint64EXT, "__glGetIntegerui64i_vNV_size(value)"), "result")], sideeffects=False), - - # GL_NV_texture_barrier - GlFunction(Void, "glTextureBarrierNV", []), - - # GL_EXT_shader_image_load_store - GlFunction(Void, "glBindImageTextureEXT", [(GLuint, "index"), (GLtexture, "texture"), (GLint, "level"), (GLboolean, "layered"), (GLint, "layer"), (GLenum, "access"), (GLint, "format")]), - GlFunction(Void, "glMemoryBarrierEXT", [(GLbitfield_barrier, "barriers")]), - - # GL_EXT_vertex_attrib_64bit - GlFunction(Void, "glVertexAttribL1dEXT", [(GLuint, "index"), (GLdouble, "x")]), - GlFunction(Void, "glVertexAttribL2dEXT", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), - GlFunction(Void, "glVertexAttribL3dEXT", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), - GlFunction(Void, "glVertexAttribL4dEXT", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), - GlFunction(Void, "glVertexAttribL1dvEXT", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), - GlFunction(Void, "glVertexAttribL2dvEXT", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), - GlFunction(Void, "glVertexAttribL3dvEXT", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), - GlFunction(Void, "glVertexAttribL4dvEXT", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), - GlFunction(Void, "glVertexAttribLPointerEXT", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Blob(Const(GLvoid), "size"), "pointer")]), - GlFunction(Void, "glGetVertexAttribLdvEXT", [(GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLdouble, "__glGetVertexAttribLdvEXT_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glVertexArrayVertexAttribLOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), - - # GL_NV_gpu_program5 - GlFunction(Void, "glProgramSubroutineParametersuivNV", [(GLenum, "target"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "params")]), - GlFunction(Void, "glGetProgramSubroutineParameteruivNV", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLuint, "__glGetProgramSubroutineParameteruivNV_size(target)"), "param")], sideeffects=False), - - # GL_NV_gpu_shader5 - GlFunction(Void, "glUniform1i64NV", [(GLint, "location"), (GLint64EXT, "x")]), - GlFunction(Void, "glUniform2i64NV", [(GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y")]), - GlFunction(Void, "glUniform3i64NV", [(GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z")]), - GlFunction(Void, "glUniform4i64NV", [(GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z"), (GLint64EXT, "w")]), - GlFunction(Void, "glUniform1i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count"), "value")]), - GlFunction(Void, "glUniform2i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*2"), "value")]), - GlFunction(Void, "glUniform3i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*3"), "value")]), - GlFunction(Void, "glUniform4i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*4"), "value")]), - GlFunction(Void, "glUniform1ui64NV", [(GLint, "location"), (GLuint64EXT, "x")]), - GlFunction(Void, "glUniform2ui64NV", [(GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y")]), - GlFunction(Void, "glUniform3ui64NV", [(GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z")]), - GlFunction(Void, "glUniform4ui64NV", [(GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z"), (GLuint64EXT, "w")]), - GlFunction(Void, "glUniform1ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), - GlFunction(Void, "glUniform2ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*2"), "value")]), - GlFunction(Void, "glUniform3ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*3"), "value")]), - GlFunction(Void, "glUniform4ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*4"), "value")]), - GlFunction(Void, "glGetUniformi64vNV", [(GLuint, "program"), (GLint, "location"), Out(OpaqueArray(GLint64EXT, "__glGetUniformi64vNV_size(location)"), "params")], sideeffects=False), - GlFunction(Void, "glProgramUniform1i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x")]), - GlFunction(Void, "glProgramUniform2i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y")]), - GlFunction(Void, "glProgramUniform3i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z")]), - GlFunction(Void, "glProgramUniform4i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z"), (GLint64EXT, "w")]), - GlFunction(Void, "glProgramUniform1i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count"), "value")]), - GlFunction(Void, "glProgramUniform2i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*4"), "value")]), - GlFunction(Void, "glProgramUniform1ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x")]), - GlFunction(Void, "glProgramUniform2ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y")]), - GlFunction(Void, "glProgramUniform3ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z")]), - GlFunction(Void, "glProgramUniform4ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z"), (GLuint64EXT, "w")]), - GlFunction(Void, "glProgramUniform1ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), - GlFunction(Void, "glProgramUniform2ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*2"), "value")]), - GlFunction(Void, "glProgramUniform3ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*3"), "value")]), - GlFunction(Void, "glProgramUniform4ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*4"), "value")]), - - # GL_NV_vertex_attrib_integer_64bit - GlFunction(Void, "glVertexAttribL1i64NV", [(GLuint, "index"), (GLint64EXT, "x")]), - GlFunction(Void, "glVertexAttribL2i64NV", [(GLuint, "index"), (GLint64EXT, "x"), (GLint64EXT, "y")]), - GlFunction(Void, "glVertexAttribL3i64NV", [(GLuint, "index"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z")]), - GlFunction(Void, "glVertexAttribL4i64NV", [(GLuint, "index"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z"), (GLint64EXT, "w")]), - GlFunction(Void, "glVertexAttribL1i64vNV", [(GLuint, "index"), (Pointer(Const(GLint64EXT)), "v")]), - GlFunction(Void, "glVertexAttribL2i64vNV", [(GLuint, "index"), (Array(Const(GLint64EXT), "2"), "v")]), - GlFunction(Void, "glVertexAttribL3i64vNV", [(GLuint, "index"), (Array(Const(GLint64EXT), "3"), "v")]), - GlFunction(Void, "glVertexAttribL4i64vNV", [(GLuint, "index"), (Array(Const(GLint64EXT), "4"), "v")]), - GlFunction(Void, "glVertexAttribL1ui64NV", [(GLuint, "index"), (GLuint64EXT, "x")]), - GlFunction(Void, "glVertexAttribL2ui64NV", [(GLuint, "index"), (GLuint64EXT, "x"), (GLuint64EXT, "y")]), - GlFunction(Void, "glVertexAttribL3ui64NV", [(GLuint, "index"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z")]), - GlFunction(Void, "glVertexAttribL4ui64NV", [(GLuint, "index"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z"), (GLuint64EXT, "w")]), - GlFunction(Void, "glVertexAttribL1ui64vNV", [(GLuint, "index"), (Pointer(Const(GLuint64EXT)), "v")]), - GlFunction(Void, "glVertexAttribL2ui64vNV", [(GLuint, "index"), (Array(Const(GLuint64EXT), "2"), "v")]), - GlFunction(Void, "glVertexAttribL3ui64vNV", [(GLuint, "index"), (Array(Const(GLuint64EXT), "3"), "v")]), - GlFunction(Void, "glVertexAttribL4ui64vNV", [(GLuint, "index"), (Array(Const(GLuint64EXT), "4"), "v")]), - GlFunction(Void, "glGetVertexAttribLi64vNV", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint64EXT, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glGetVertexAttribLui64vNV", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLuint64EXT, "__gl_param_size(pname)"), "params")], sideeffects=False), - GlFunction(Void, "glVertexAttribLFormatNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), - - # GL_AMD_name_gen_delete - GlFunction(Void, "glGenNamesAMD", [(GLenum, "identifier"), (GLuint, "num"), Out(Array(GLuint, "num"), "names")]), - GlFunction(Void, "glDeleteNamesAMD", [(GLenum, "identifier"), (GLuint, "num"), (Array(Const(GLuint), "num"), "names")]), - GlFunction(GLboolean, "glIsNameAMD", [(GLenum, "identifier"), (GLuint, "name")], sideeffects=False), - - # GL_AMD_debug_output - GlFunction(Void, "glDebugMessageEnableAMD", [(GLenum, "category"), (GLenum, "severity"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "ids"), (GLboolean, "enabled")], sideeffects=False), - GlFunction(Void, "glDebugMessageInsertAMD", [(GLenum, "category"), (GLenum, "severity"), (GLuint, "id"), (GLsizei, "length"), (Array(Const(GLchar), "length"), "buf")], sideeffects=False), - GlFunction(Void, "glDebugMessageCallbackAMD", [(GLDEBUGPROCAMD, "callback"), (Opaque("GLvoid *"), "userParam")], sideeffects=False), - GlFunction(GLuint, "glGetDebugMessageLogAMD", [(GLuint, "count"), (GLsizei, "bufsize"), Out(Array(GLenum, "count"), "categories"), Out(Array(GLuint, "count"), "severities"), Out(Array(GLuint, "count"), "ids"), Out(Array(GLsizei, "count"), "lengths"), Out(Array(GLchar, "bufsize"), "message")], sideeffects=False), - - # GL_NV_texture_multisample - GlFunction(Void, "glTexImage2DMultisampleCoverageNV", [(GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedSampleLocations")]), - GlFunction(Void, "glTexImage3DMultisampleCoverageNV", [(GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedSampleLocations")]), - GlFunction(Void, "glTextureImage2DMultisampleNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "samples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedSampleLocations")]), - GlFunction(Void, "glTextureImage3DMultisampleNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "samples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedSampleLocations")]), - GlFunction(Void, "glTextureImage2DMultisampleCoverageNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedSampleLocations")]), - GlFunction(Void, "glTextureImage3DMultisampleCoverageNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedSampleLocations")]), - - # GL_AMD_sample_positions - GlFunction(Void, "glSetMultisamplefvAMD", [(GLenum, "pname"), (GLuint, "index"), (Array(Const(GLfloat), "2"), "val")]), - - # GL_EXT_x11_sync_object - GlFunction(GLsync, "glImportSyncEXT", [(GLenum, "external_sync_type"), (GLintptr, "external_sync"), (GLbitfield, "flags")]), - - # GL_AMD_multi_draw_indirect - GlFunction(Void, "glMultiDrawArraysIndirectAMD", [(GLenum_mode, "mode"), (OpaquePointer(Const(GLvoid)), "indirect"), (GLsizei, "primcount"), (GLsizei, "stride")]), - GlFunction(Void, "glMultiDrawElementsIndirectAMD", [(GLenum_mode, "mode"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indirect"), (GLsizei, "primcount"), (GLsizei, "stride")]), - - # GL_KTX_buffer_region - # XXX: http://www.west.net/~brittain/3dsmax2.htm does not mention EXT suffix - GlFunction(GLregion, "glNewBufferRegion", [(GLenum, "type")]), - GlFunction(Void, "glDeleteBufferRegion", [(GLregion, "region")]), - GlFunction(Void, "glReadBufferRegion", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glDrawBufferRegion", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "xDest"), (GLint, "yDest")]), - GlFunction(GLuint, "glBufferRegionEnabled", [], sideeffects=False), - # XXX: but GLEW uses EXT suffix - GlFunction(GLregion, "glNewBufferRegionEXT", [(GLenum, "type")]), - GlFunction(Void, "glDeleteBufferRegionEXT", [(GLregion, "region")]), - GlFunction(Void, "glReadBufferRegionEXT", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), - GlFunction(Void, "glDrawBufferRegionEXT", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "xDest"), (GLint, "yDest")]), - GlFunction(GLuint, "glBufferRegionEnabledEXT", [], sideeffects=False), - - # GL_WIN_swap_hint - GlFunction(Void, "glAddSwapHintRectWIN", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), -]) - - -# memcpy's prototype. We don't really want to trace all memcpy calls -- just -# emit a few fake memcpy calls --, which is why the prototype is not together -# with the rest. -memcpy = Function(Void, "memcpy", [(GLmap, "dest"), (Blob(Const(Void), "n"), "src"), (SizeT, "n")]) diff --git a/glparams.py b/glparams.py deleted file mode 100644 index 8636877..0000000 --- a/glparams.py +++ /dev/null @@ -1,2985 +0,0 @@ -########################################################################## -# -# Copyright 2011 Jose Fonseca -# 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 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. -# -##########################################################################/ - - -'''Describe GL parameters.''' - - -from stdapi import * - -from gltypes import * - - -# Shorthands for the types -X = None # To be determined, merely an enum -B = GLboolean -I = GLint -I64 = GLint64 -E = GLenum -F = GLfloat -D = GLdouble -P = OpaquePointer(Void) -S = CString -H = GLhandleARB - -# A underscore prefix (e.g., _glGet) is used to skip automatic code generation -# for parameters that are obtained through other ways. - -parameters = [ - # (functions, type, count, name) # value - ("", X, 1, "GL_ZERO"), # 0x0000 - ("", X, 1, "GL_ONE"), # 0x0001 - - # These are enumerated separately in GLenum_mode - #("", X, 1, "GL_POINTS"), # 0x0000 - #("", X, 1, "GL_LINES"), # 0x0001 - #("", X, 1, "GL_LINE_LOOP"), # 0x0002 - #("", X, 1, "GL_LINE_STRIP"), # 0x0003 - #("", X, 1, "GL_TRIANGLES"), # 0x0004 - #("", X, 1, "GL_TRIANGLE_STRIP"), # 0x0005 - #("", X, 1, "GL_TRIANGLE_FAN"), # 0x0006 - #("", X, 1, "GL_QUADS"), # 0x0007 - #("", X, 1, "GL_QUAD_STRIP"), # 0x0008 - #("", X, 1, "GL_POLYGON"), # 0x0009 - #("", X, 1, "GL_LINES_ADJACENCY"), # 0x000A - #("", X, 1, "GL_LINE_STRIP_ADJACENCY"), # 0x000B - #("", X, 1, "GL_TRIANGLES_ADJACENCY"), # 0x000C - #("", X, 1, "GL_TRIANGLE_STRIP_ADJACENCY"), # 0x000D - #("", X, 1, "GL_PATCHES"), # 0x000E - - ("", X, 1, "GL_ACCUM"), # 0x0100 - ("", X, 1, "GL_LOAD"), # 0x0101 - ("", X, 1, "GL_RETURN"), # 0x0102 - ("", X, 1, "GL_MULT"), # 0x0103 - ("", X, 1, "GL_ADD"), # 0x0104 - ("", X, 1, "GL_NEVER"), # 0x0200 - ("", X, 1, "GL_LESS"), # 0x0201 - ("", X, 1, "GL_EQUAL"), # 0x0202 - ("", X, 1, "GL_LEQUAL"), # 0x0203 - ("", X, 1, "GL_GREATER"), # 0x0204 - ("", X, 1, "GL_NOTEQUAL"), # 0x0205 - ("", X, 1, "GL_GEQUAL"), # 0x0206 - ("", X, 1, "GL_ALWAYS"), # 0x0207 - ("", X, 1, "GL_SRC_COLOR"), # 0x0300 - ("", X, 1, "GL_ONE_MINUS_SRC_COLOR"), # 0x0301 - ("", X, 1, "GL_SRC_ALPHA"), # 0x0302 - ("", X, 1, "GL_ONE_MINUS_SRC_ALPHA"), # 0x0303 - ("", X, 1, "GL_DST_ALPHA"), # 0x0304 - ("", X, 1, "GL_ONE_MINUS_DST_ALPHA"), # 0x0305 - ("", X, 1, "GL_DST_COLOR"), # 0x0306 - ("", X, 1, "GL_ONE_MINUS_DST_COLOR"), # 0x0307 - ("", X, 1, "GL_SRC_ALPHA_SATURATE"), # 0x0308 - ("", X, 1, "GL_FRONT_LEFT"), # 0x0400 - ("", X, 1, "GL_FRONT_RIGHT"), # 0x0401 - ("", X, 1, "GL_BACK_LEFT"), # 0x0402 - ("", X, 1, "GL_BACK_RIGHT"), # 0x0403 - ("", X, 1, "GL_FRONT"), # 0x0404 - ("", X, 1, "GL_BACK"), # 0x0405 - ("", X, 1, "GL_LEFT"), # 0x0406 - ("", X, 1, "GL_RIGHT"), # 0x0407 - ("", X, 1, "GL_FRONT_AND_BACK"), # 0x0408 - ("", X, 1, "GL_AUX0"), # 0x0409 - ("", X, 1, "GL_AUX1"), # 0x040A - ("", X, 1, "GL_AUX2"), # 0x040B - ("", X, 1, "GL_AUX3"), # 0x040C - ("", X, 1, "GL_INVALID_ENUM"), # 0x0500 - ("", X, 1, "GL_INVALID_VALUE"), # 0x0501 - ("", X, 1, "GL_INVALID_OPERATION"), # 0x0502 - ("", X, 1, "GL_STACK_OVERFLOW"), # 0x0503 - ("", X, 1, "GL_STACK_UNDERFLOW"), # 0x0504 - ("", X, 1, "GL_OUT_OF_MEMORY"), # 0x0505 - ("", X, 1, "GL_INVALID_FRAMEBUFFER_OPERATION"), # 0x0506 - ("", X, 1, "GL_2D"), # 0x0600 - ("", X, 1, "GL_3D"), # 0x0601 - ("", X, 1, "GL_3D_COLOR"), # 0x0602 - ("", X, 1, "GL_3D_COLOR_TEXTURE"), # 0x0603 - ("", X, 1, "GL_4D_COLOR_TEXTURE"), # 0x0604 - ("", X, 1, "GL_PASS_THROUGH_TOKEN"), # 0x0700 - ("", X, 1, "GL_POINT_TOKEN"), # 0x0701 - ("", X, 1, "GL_LINE_TOKEN"), # 0x0702 - ("", X, 1, "GL_POLYGON_TOKEN"), # 0x0703 - ("", X, 1, "GL_BITMAP_TOKEN"), # 0x0704 - ("", X, 1, "GL_DRAW_PIXEL_TOKEN"), # 0x0705 - ("", X, 1, "GL_COPY_PIXEL_TOKEN"), # 0x0706 - ("", X, 1, "GL_LINE_RESET_TOKEN"), # 0x0707 - ("", X, 1, "GL_EXP"), # 0x0800 - ("", X, 1, "GL_EXP2"), # 0x0801 - ("", X, 1, "GL_CW"), # 0x0900 - ("", X, 1, "GL_CCW"), # 0x0901 - ("", X, 1, "GL_COEFF"), # 0x0A00 - ("", X, 1, "GL_ORDER"), # 0x0A01 - ("", X, 1, "GL_DOMAIN"), # 0x0A02 - ("glGet", F, 4, "GL_CURRENT_COLOR"), # 0x0B00 - ("glGet", F, 1, "GL_CURRENT_INDEX"), # 0x0B01 - ("glGet", F, 3, "GL_CURRENT_NORMAL"), # 0x0B02 - ("glGet", F, 4, "GL_CURRENT_TEXTURE_COORDS"), # 0x0B03 - ("glGet", F, 4, "GL_CURRENT_RASTER_COLOR"), # 0x0B04 - ("glGet", F, 1, "GL_CURRENT_RASTER_INDEX"), # 0x0B05 - ("glGet", F, 4, "GL_CURRENT_RASTER_TEXTURE_COORDS"), # 0x0B06 - ("glGet", F, 4, "GL_CURRENT_RASTER_POSITION"), # 0x0B07 - ("glGet", I, 1, "GL_CURRENT_RASTER_POSITION_VALID"), # 0x0B08 - ("glGet", F, 1, "GL_CURRENT_RASTER_DISTANCE"), # 0x0B09 - ("glGet", B, 1, "GL_POINT_SMOOTH"), # 0x0B10 - ("glGet", F, 1, "GL_POINT_SIZE"), # 0x0B11 - ("glGet", F, 2, "GL_POINT_SIZE_RANGE"), # 0x0B12 - ("glGet", F, 1, "GL_POINT_SIZE_GRANULARITY"), # 0x0B13 - ("glGet", B, 1, "GL_LINE_SMOOTH"), # 0x0B20 - ("glGet", F, 1, "GL_LINE_WIDTH"), # 0x0B21 - ("glGet", F, 2, "GL_LINE_WIDTH_RANGE"), # 0x0B22 - ("glGet", F, 1, "GL_LINE_WIDTH_GRANULARITY"), # 0x0B23 - ("glGet", B, 1, "GL_LINE_STIPPLE"), # 0x0B24 - ("glGet", I, 1, "GL_LINE_STIPPLE_PATTERN"), # 0x0B25 - ("glGet", I, 1, "GL_LINE_STIPPLE_REPEAT"), # 0x0B26 - ("glGet", E, 1, "GL_LIST_MODE"), # 0x0B30 - ("glGet", I, 1, "GL_MAX_LIST_NESTING"), # 0x0B31 - ("glGet", I, 1, "GL_LIST_BASE"), # 0x0B32 - ("glGet", I, 1, "GL_LIST_INDEX"), # 0x0B33 - ("glGet", E, 2, "GL_POLYGON_MODE"), # 0x0B40 - ("glGet", B, 1, "GL_POLYGON_SMOOTH"), # 0x0B41 - ("glGet", B, 1, "GL_POLYGON_STIPPLE"), # 0x0B42 - ("glGet", B, 1, "GL_EDGE_FLAG"), # 0x0B43 - ("glGet", B, 1, "GL_CULL_FACE"), # 0x0B44 - ("glGet", E, 1, "GL_CULL_FACE_MODE"), # 0x0B45 - ("glGet", E, 1, "GL_FRONT_FACE"), # 0x0B46 - ("glGet", B, 1, "GL_LIGHTING"), # 0x0B50 - ("glGet", B, 1, "GL_LIGHT_MODEL_LOCAL_VIEWER"), # 0x0B51 - ("glGet", B, 1, "GL_LIGHT_MODEL_TWO_SIDE"), # 0x0B52 - ("glGet", F, 4, "GL_LIGHT_MODEL_AMBIENT"), # 0x0B53 - ("glGet", E, 1, "GL_SHADE_MODEL"), # 0x0B54 - ("glGet", E, 1, "GL_COLOR_MATERIAL_FACE"), # 0x0B55 - ("glGet", E, 1, "GL_COLOR_MATERIAL_PARAMETER"), # 0x0B56 - ("glGet", B, 1, "GL_COLOR_MATERIAL"), # 0x0B57 - ("glGet", B, 1, "GL_FOG"), # 0x0B60 - ("glGet", I, 1, "GL_FOG_INDEX"), # 0x0B61 - ("glGet", F, 1, "GL_FOG_DENSITY"), # 0x0B62 - ("glGet", F, 1, "GL_FOG_START"), # 0x0B63 - ("glGet", F, 1, "GL_FOG_END"), # 0x0B64 - ("glGet", E, 1, "GL_FOG_MODE"), # 0x0B65 - ("glGet", F, 4, "GL_FOG_COLOR"), # 0x0B66 - ("glGet", F, 2, "GL_DEPTH_RANGE"), # 0x0B70 - ("glGet", B, 1, "GL_DEPTH_TEST"), # 0x0B71 - ("glGet", B, 1, "GL_DEPTH_WRITEMASK"), # 0x0B72 - ("glGet", F, 1, "GL_DEPTH_CLEAR_VALUE"), # 0x0B73 - ("glGet", E, 1, "GL_DEPTH_FUNC"), # 0x0B74 - ("glGet", F, 4, "GL_ACCUM_CLEAR_VALUE"), # 0x0B80 - ("glGet", B, 1, "GL_STENCIL_TEST"), # 0x0B90 - ("glGet", I, 1, "GL_STENCIL_CLEAR_VALUE"), # 0x0B91 - ("glGet", E, 1, "GL_STENCIL_FUNC"), # 0x0B92 - ("glGet", I, 1, "GL_STENCIL_VALUE_MASK"), # 0x0B93 - ("glGet", E, 1, "GL_STENCIL_FAIL"), # 0x0B94 - ("glGet", E, 1, "GL_STENCIL_PASS_DEPTH_FAIL"), # 0x0B95 - ("glGet", E, 1, "GL_STENCIL_PASS_DEPTH_PASS"), # 0x0B96 - ("glGet", I, 1, "GL_STENCIL_REF"), # 0x0B97 - ("glGet", I, 1, "GL_STENCIL_WRITEMASK"), # 0x0B98 - ("glGet", E, 1, "GL_MATRIX_MODE"), # 0x0BA0 - ("glGet", B, 1, "GL_NORMALIZE"), # 0x0BA1 - ("glGet", I, 4, "GL_VIEWPORT"), # 0x0BA2 - ("glGet", I, 1, "GL_MODELVIEW_STACK_DEPTH"), # 0x0BA3 - ("glGet", I, 1, "GL_PROJECTION_STACK_DEPTH"), # 0x0BA4 - ("glGet", I, 1, "GL_TEXTURE_STACK_DEPTH"), # 0x0BA5 - ("glGet", F, 16, "GL_MODELVIEW_MATRIX"), # 0x0BA6 - ("glGet", F, 16, "GL_PROJECTION_MATRIX"), # 0x0BA7 - ("glGet", F, 16, "GL_TEXTURE_MATRIX"), # 0x0BA8 - ("glGet", I, 1, "GL_ATTRIB_STACK_DEPTH"), # 0x0BB0 - ("glGet", I, 1, "GL_CLIENT_ATTRIB_STACK_DEPTH"), # 0x0BB1 - ("glGet", B, 1, "GL_ALPHA_TEST"), # 0x0BC0 - ("glGet", E, 1, "GL_ALPHA_TEST_FUNC"), # 0x0BC1 - ("glGet", F, 1, "GL_ALPHA_TEST_REF"), # 0x0BC2 - ("glGet", B, 1, "GL_DITHER"), # 0x0BD0 - ("glGet", E, 1, "GL_BLEND_DST"), # 0x0BE0 - ("glGet", E, 1, "GL_BLEND_SRC"), # 0x0BE1 - ("glGet", B, 1, "GL_BLEND"), # 0x0BE2 - ("glGet", E, 1, "GL_LOGIC_OP_MODE"), # 0x0BF0 - ("glGet", B, 1, "GL_INDEX_LOGIC_OP"), # 0x0BF1 - ("glGet", B, 1, "GL_COLOR_LOGIC_OP"), # 0x0BF2 - ("glGet", I, 1, "GL_AUX_BUFFERS"), # 0x0C00 - ("glGet", E, 1, "GL_DRAW_BUFFER"), # 0x0C01 - ("glGet", E, 1, "GL_READ_BUFFER"), # 0x0C02 - ("glGet", I, 4, "GL_SCISSOR_BOX"), # 0x0C10 - ("glGet", B, 1, "GL_SCISSOR_TEST"), # 0x0C11 - ("glGet", I, 1, "GL_INDEX_CLEAR_VALUE"), # 0x0C20 - ("glGet", I, 1, "GL_INDEX_WRITEMASK"), # 0x0C21 - ("glGet", F, 4, "GL_COLOR_CLEAR_VALUE"), # 0x0C22 - ("glGet", B, 4, "GL_COLOR_WRITEMASK"), # 0x0C23 - ("glGet", B, 1, "GL_INDEX_MODE"), # 0x0C30 - ("glGet", B, 1, "GL_RGBA_MODE"), # 0x0C31 - ("glGet", B, 1, "GL_DOUBLEBUFFER"), # 0x0C32 - ("glGet", B, 1, "GL_STEREO"), # 0x0C33 - ("glGet", E, 1, "GL_RENDER_MODE"), # 0x0C40 - ("glGet", E, 1, "GL_PERSPECTIVE_CORRECTION_HINT"), # 0x0C50 - ("glGet", E, 1, "GL_POINT_SMOOTH_HINT"), # 0x0C51 - ("glGet", E, 1, "GL_LINE_SMOOTH_HINT"), # 0x0C52 - ("glGet", E, 1, "GL_POLYGON_SMOOTH_HINT"), # 0x0C53 - ("glGet", E, 1, "GL_FOG_HINT"), # 0x0C54 - ("glGet", B, 1, "GL_TEXTURE_GEN_S"), # 0x0C60 - ("glGet", B, 1, "GL_TEXTURE_GEN_T"), # 0x0C61 - ("glGet", B, 1, "GL_TEXTURE_GEN_R"), # 0x0C62 - ("glGet", B, 1, "GL_TEXTURE_GEN_Q"), # 0x0C63 - ("", X, 1, "GL_PIXEL_MAP_I_TO_I"), # 0x0C70 - ("", X, 1, "GL_PIXEL_MAP_S_TO_S"), # 0x0C71 - ("", X, 1, "GL_PIXEL_MAP_I_TO_R"), # 0x0C72 - ("", X, 1, "GL_PIXEL_MAP_I_TO_G"), # 0x0C73 - ("", X, 1, "GL_PIXEL_MAP_I_TO_B"), # 0x0C74 - ("", X, 1, "GL_PIXEL_MAP_I_TO_A"), # 0x0C75 - ("", X, 1, "GL_PIXEL_MAP_R_TO_R"), # 0x0C76 - ("", X, 1, "GL_PIXEL_MAP_G_TO_G"), # 0x0C77 - ("", X, 1, "GL_PIXEL_MAP_B_TO_B"), # 0x0C78 - ("", X, 1, "GL_PIXEL_MAP_A_TO_A"), # 0x0C79 - ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_I_SIZE"), # 0x0CB0 - ("glGet", I, 1, "GL_PIXEL_MAP_S_TO_S_SIZE"), # 0x0CB1 - ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_R_SIZE"), # 0x0CB2 - ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_G_SIZE"), # 0x0CB3 - ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_B_SIZE"), # 0x0CB4 - ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_A_SIZE"), # 0x0CB5 - ("glGet", I, 1, "GL_PIXEL_MAP_R_TO_R_SIZE"), # 0x0CB6 - ("glGet", I, 1, "GL_PIXEL_MAP_G_TO_G_SIZE"), # 0x0CB7 - ("glGet", I, 1, "GL_PIXEL_MAP_B_TO_B_SIZE"), # 0x0CB8 - ("glGet", I, 1, "GL_PIXEL_MAP_A_TO_A_SIZE"), # 0x0CB9 - ("glGet", B, 1, "GL_UNPACK_SWAP_BYTES"), # 0x0CF0 - ("glGet", B, 1, "GL_UNPACK_LSB_FIRST"), # 0x0CF1 - ("glGet", I, 1, "GL_UNPACK_ROW_LENGTH"), # 0x0CF2 - ("glGet", I, 1, "GL_UNPACK_SKIP_ROWS"), # 0x0CF3 - ("glGet", I, 1, "GL_UNPACK_SKIP_PIXELS"), # 0x0CF4 - ("glGet", I, 1, "GL_UNPACK_ALIGNMENT"), # 0x0CF5 - ("glGet", B, 1, "GL_PACK_SWAP_BYTES"), # 0x0D00 - ("glGet", B, 1, "GL_PACK_LSB_FIRST"), # 0x0D01 - ("glGet", I, 1, "GL_PACK_ROW_LENGTH"), # 0x0D02 - ("glGet", I, 1, "GL_PACK_SKIP_ROWS"), # 0x0D03 - ("glGet", I, 1, "GL_PACK_SKIP_PIXELS"), # 0x0D04 - ("glGet", I, 1, "GL_PACK_ALIGNMENT"), # 0x0D05 - ("glGet", B, 1, "GL_MAP_COLOR"), # 0x0D10 - ("glGet", B, 1, "GL_MAP_STENCIL"), # 0x0D11 - ("glGet", I, 1, "GL_INDEX_SHIFT"), # 0x0D12 - ("glGet", I, 1, "GL_INDEX_OFFSET"), # 0x0D13 - ("glGet", F, 1, "GL_RED_SCALE"), # 0x0D14 - ("glGet", F, 1, "GL_RED_BIAS"), # 0x0D15 - ("glGet", F, 1, "GL_ZOOM_X"), # 0x0D16 - ("glGet", F, 1, "GL_ZOOM_Y"), # 0x0D17 - ("glGet", F, 1, "GL_GREEN_SCALE"), # 0x0D18 - ("glGet", F, 1, "GL_GREEN_BIAS"), # 0x0D19 - ("glGet", F, 1, "GL_BLUE_SCALE"), # 0x0D1A - ("glGet", F, 1, "GL_BLUE_BIAS"), # 0x0D1B - ("glGet,glGetTexEnv", F, 1, "GL_ALPHA_SCALE"), # 0x0D1C - ("glGet", F, 1, "GL_ALPHA_BIAS"), # 0x0D1D - ("glGet", F, 1, "GL_DEPTH_SCALE"), # 0x0D1E - ("glGet", F, 1, "GL_DEPTH_BIAS"), # 0x0D1F - ("glGet", I, 1, "GL_MAX_EVAL_ORDER"), # 0x0D30 - ("glGet", I, 1, "GL_MAX_LIGHTS"), # 0x0D31 - ("glGet", I, 1, "GL_MAX_CLIP_DISTANCES"), # 0x0D32 - ("glGet", I, 1, "GL_MAX_TEXTURE_SIZE"), # 0x0D33 - ("glGet", I, 1, "GL_MAX_PIXEL_MAP_TABLE"), # 0x0D34 - ("glGet", I, 1, "GL_MAX_ATTRIB_STACK_DEPTH"), # 0x0D35 - ("glGet", I, 1, "GL_MAX_MODELVIEW_STACK_DEPTH"), # 0x0D36 - ("glGet", I, 1, "GL_MAX_NAME_STACK_DEPTH"), # 0x0D37 - ("glGet", I, 1, "GL_MAX_PROJECTION_STACK_DEPTH"), # 0x0D38 - ("glGet", I, 1, "GL_MAX_TEXTURE_STACK_DEPTH"), # 0x0D39 - ("glGet", F, 2, "GL_MAX_VIEWPORT_DIMS"), # 0x0D3A - ("glGet", I, 1, "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"), # 0x0D3B - ("glGet", I, 1, "GL_SUBPIXEL_BITS"), # 0x0D50 - ("glGet", I, 1, "GL_INDEX_BITS"), # 0x0D51 - ("glGet", I, 1, "GL_RED_BITS"), # 0x0D52 - ("glGet", I, 1, "GL_GREEN_BITS"), # 0x0D53 - ("glGet", I, 1, "GL_BLUE_BITS"), # 0x0D54 - ("glGet", I, 1, "GL_ALPHA_BITS"), # 0x0D55 - ("glGet", I, 1, "GL_DEPTH_BITS"), # 0x0D56 - ("glGet", I, 1, "GL_STENCIL_BITS"), # 0x0D57 - ("glGet", I, 1, "GL_ACCUM_RED_BITS"), # 0x0D58 - ("glGet", I, 1, "GL_ACCUM_GREEN_BITS"), # 0x0D59 - ("glGet", I, 1, "GL_ACCUM_BLUE_BITS"), # 0x0D5A - ("glGet", I, 1, "GL_ACCUM_ALPHA_BITS"), # 0x0D5B - ("glGet", I, 1, "GL_NAME_STACK_DEPTH"), # 0x0D70 - ("glGet", B, 1, "GL_AUTO_NORMAL"), # 0x0D80 - ("glGet", B, 1, "GL_MAP1_COLOR_4"), # 0x0D90 - ("glGet", B, 1, "GL_MAP1_INDEX"), # 0x0D91 - ("glGet", B, 1, "GL_MAP1_NORMAL"), # 0x0D92 - ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_1"), # 0x0D93 - ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_2"), # 0x0D94 - ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_3"), # 0x0D95 - ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_4"), # 0x0D96 - ("glGet", B, 1, "GL_MAP1_VERTEX_3"), # 0x0D97 - ("glGet", B, 1, "GL_MAP1_VERTEX_4"), # 0x0D98 - ("glGet", B, 1, "GL_MAP2_COLOR_4"), # 0x0DB0 - ("glGet", B, 1, "GL_MAP2_INDEX"), # 0x0DB1 - ("glGet", B, 1, "GL_MAP2_NORMAL"), # 0x0DB2 - ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_1"), # 0x0DB3 - ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_2"), # 0x0DB4 - ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_3"), # 0x0DB5 - ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_4"), # 0x0DB6 - ("glGet", B, 1, "GL_MAP2_VERTEX_3"), # 0x0DB7 - ("glGet", B, 1, "GL_MAP2_VERTEX_4"), # 0x0DB8 - ("glGet", F, 2, "GL_MAP1_GRID_DOMAIN"), # 0x0DD0 - ("glGet", I, 1, "GL_MAP1_GRID_SEGMENTS"), # 0x0DD1 - ("glGet", F, 4, "GL_MAP2_GRID_DOMAIN"), # 0x0DD2 - ("glGet", I, 2, "GL_MAP2_GRID_SEGMENTS"), # 0x0DD3 - ("_glGet", B, 1, "GL_TEXTURE_1D"), # 0x0DE0 - ("_glGet", B, 1, "GL_TEXTURE_2D"), # 0x0DE1 - ("glGet", P, 1, "GL_FEEDBACK_BUFFER_POINTER"), # 0x0DF0 - ("glGet", I, 1, "GL_FEEDBACK_BUFFER_SIZE"), # 0x0DF1 - ("glGet", E, 1, "GL_FEEDBACK_BUFFER_TYPE"), # 0x0DF2 - ("glGet", P, 1, "GL_SELECTION_BUFFER_POINTER"), # 0x0DF3 - ("glGet", I, 1, "GL_SELECTION_BUFFER_SIZE"), # 0x0DF4 - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_WIDTH"), # 0x1000 - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_HEIGHT"), # 0x1001 - ("glGetTexLevelParameter", E, 1, "GL_TEXTURE_INTERNAL_FORMAT"), # 0x1003 - ("glGetTexParameter", F, 4, "GL_TEXTURE_BORDER_COLOR"), # 0x1004 - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_BORDER"), # 0x1005 - ("", X, 1, "GL_DONT_CARE"), # 0x1100 - ("", X, 1, "GL_FASTEST"), # 0x1101 - ("", X, 1, "GL_NICEST"), # 0x1102 - ("glGetLight,glGetMaterial", F, 4, "GL_AMBIENT"), # 0x1200 - ("glGetLight,glGetMaterial", F, 4, "GL_DIFFUSE"), # 0x1201 - ("glGetLight,glGetMaterial", F, 4, "GL_SPECULAR"), # 0x1202 - ("glGetLight", F, 4, "GL_POSITION"), # 0x1203 - ("glGetLight", F, 3, "GL_SPOT_DIRECTION"), # 0x1204 - ("glGetLight", F, 1, "GL_SPOT_EXPONENT"), # 0x1205 - ("glGetLight", F, 1, "GL_SPOT_CUTOFF"), # 0x1206 - ("glGetLight", F, 1, "GL_CONSTANT_ATTENUATION"), # 0x1207 - ("glGetLight", F, 1, "GL_LINEAR_ATTENUATION"), # 0x1208 - ("glGetLight", F, 1, "GL_QUADRATIC_ATTENUATION"), # 0x1209 - ("", X, 1, "GL_COMPILE"), # 0x1300 - ("", X, 1, "GL_COMPILE_AND_EXECUTE"), # 0x1301 - ("", X, 1, "GL_BYTE"), # 0x1400 - ("", X, 1, "GL_UNSIGNED_BYTE"), # 0x1401 - ("", X, 1, "GL_SHORT"), # 0x1402 - ("", X, 1, "GL_UNSIGNED_SHORT"), # 0x1403 - ("", X, 1, "GL_INT"), # 0x1404 - ("", X, 1, "GL_UNSIGNED_INT"), # 0x1405 - ("", X, 1, "GL_FLOAT"), # 0x1406 - ("", X, 1, "GL_2_BYTES"), # 0x1407 - ("", X, 1, "GL_3_BYTES"), # 0x1408 - ("", X, 1, "GL_4_BYTES"), # 0x1409 - ("", X, 1, "GL_DOUBLE"), # 0x140A - ("", X, 1, "GL_HALF_FLOAT"), # 0x140B - ("", X, 1, "GL_FIXED"), # 0x140C - ("", X, 1, "GL_INT64_NV"), # 0x140E - ("", X, 1, "GL_UNSIGNED_INT64_NV"), # 0x140F - ("", X, 1, "GL_CLEAR"), # 0x1500 - ("", X, 1, "GL_AND"), # 0x1501 - ("", X, 1, "GL_AND_REVERSE"), # 0x1502 - ("", X, 1, "GL_COPY"), # 0x1503 - ("", X, 1, "GL_AND_INVERTED"), # 0x1504 - ("", X, 1, "GL_NOOP"), # 0x1505 - ("", X, 1, "GL_XOR"), # 0x1506 - ("", X, 1, "GL_OR"), # 0x1507 - ("", X, 1, "GL_NOR"), # 0x1508 - ("", X, 1, "GL_EQUIV"), # 0x1509 - ("", X, 1, "GL_INVERT"), # 0x150A - ("", X, 1, "GL_OR_REVERSE"), # 0x150B - ("", X, 1, "GL_COPY_INVERTED"), # 0x150C - ("", X, 1, "GL_OR_INVERTED"), # 0x150D - ("", X, 1, "GL_NAND"), # 0x150E - ("", X, 1, "GL_SET"), # 0x150F - ("glGetMaterial", F, 4, "GL_EMISSION"), # 0x1600 - ("glGetMaterial", F, 1, "GL_SHININESS"), # 0x1601 - ("", F, 4, "GL_AMBIENT_AND_DIFFUSE"), # 0x1602 - ("glGetMaterial", F, 3, "GL_COLOR_INDEXES"), # 0x1603 - ("", X, 1, "GL_MODELVIEW"), # 0x1700 - ("", X, 1, "GL_PROJECTION"), # 0x1701 - ("", X, 1, "GL_TEXTURE"), # 0x1702 - ("", X, 1, "GL_COLOR"), # 0x1800 - ("", X, 1, "GL_DEPTH"), # 0x1801 - ("", X, 1, "GL_STENCIL"), # 0x1802 - ("", X, 1, "GL_COLOR_INDEX"), # 0x1900 - ("", X, 1, "GL_STENCIL_INDEX"), # 0x1901 - ("", X, 1, "GL_DEPTH_COMPONENT"), # 0x1902 - ("", X, 1, "GL_RED"), # 0x1903 - ("", X, 1, "GL_GREEN"), # 0x1904 - ("", X, 1, "GL_BLUE"), # 0x1905 - ("", X, 1, "GL_ALPHA"), # 0x1906 - ("", X, 1, "GL_RGB"), # 0x1907 - ("", X, 1, "GL_RGBA"), # 0x1908 - ("", X, 1, "GL_LUMINANCE"), # 0x1909 - ("", X, 1, "GL_LUMINANCE_ALPHA"), # 0x190A - ("_glGet", B, 1, "GL_RASTER_POSITION_UNCLIPPED_IBM"), # 0x19262 - ("", X, 1, "GL_BITMAP"), # 0x1A00 - ("", X, 1, "GL_PREFER_DOUBLEBUFFER_HINT_PGI"), # 0x1A1F8 - ("", X, 1, "GL_CONSERVE_MEMORY_HINT_PGI"), # 0x1A1FD - ("", X, 1, "GL_RECLAIM_MEMORY_HINT_PGI"), # 0x1A1FE - ("", X, 1, "GL_NATIVE_GRAPHICS_HANDLE_PGI"), # 0x1A202 - ("", X, 1, "GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"), # 0x1A203 - ("", X, 1, "GL_NATIVE_GRAPHICS_END_HINT_PGI"), # 0x1A204 - ("", X, 1, "GL_ALWAYS_FAST_HINT_PGI"), # 0x1A20C - ("", X, 1, "GL_ALWAYS_SOFT_HINT_PGI"), # 0x1A20D - ("", X, 1, "GL_ALLOW_DRAW_OBJ_HINT_PGI"), # 0x1A20E - ("", X, 1, "GL_ALLOW_DRAW_WIN_HINT_PGI"), # 0x1A20F - ("", X, 1, "GL_ALLOW_DRAW_FRG_HINT_PGI"), # 0x1A210 - ("", X, 1, "GL_ALLOW_DRAW_MEM_HINT_PGI"), # 0x1A211 - ("", X, 1, "GL_STRICT_DEPTHFUNC_HINT_PGI"), # 0x1A216 - ("", X, 1, "GL_STRICT_LIGHTING_HINT_PGI"), # 0x1A217 - ("", X, 1, "GL_STRICT_SCISSOR_HINT_PGI"), # 0x1A218 - ("", X, 1, "GL_FULL_STIPPLE_HINT_PGI"), # 0x1A219 - ("", X, 1, "GL_CLIP_NEAR_HINT_PGI"), # 0x1A220 - ("", X, 1, "GL_CLIP_FAR_HINT_PGI"), # 0x1A221 - ("", X, 1, "GL_WIDE_LINE_HINT_PGI"), # 0x1A222 - ("", X, 1, "GL_BACK_NORMALS_HINT_PGI"), # 0x1A223 - ("", X, 1, "GL_VERTEX_DATA_HINT_PGI"), # 0x1A22A - ("", X, 1, "GL_VERTEX_CONSISTENT_HINT_PGI"), # 0x1A22B - ("", X, 1, "GL_MATERIAL_SIDE_HINT_PGI"), # 0x1A22C - ("", X, 1, "GL_MAX_VERTEX_HINT_PGI"), # 0x1A22D - ("", X, 1, "GL_POINT"), # 0x1B00 - ("", X, 1, "GL_LINE"), # 0x1B01 - ("", X, 1, "GL_FILL"), # 0x1B02 - ("", X, 1, "GL_RENDER"), # 0x1C00 - ("", X, 1, "GL_FEEDBACK"), # 0x1C01 - ("", X, 1, "GL_SELECT"), # 0x1C02 - ("", X, 1, "GL_FLAT"), # 0x1D00 - ("", X, 1, "GL_SMOOTH"), # 0x1D01 - ("", X, 1, "GL_KEEP"), # 0x1E00 - ("", X, 1, "GL_REPLACE"), # 0x1E01 - ("", X, 1, "GL_INCR"), # 0x1E02 - ("", X, 1, "GL_DECR"), # 0x1E03 - ("glGet", S, 1, "GL_VENDOR"), # 0x1F00 - ("glGet", S, 1, "GL_RENDERER"), # 0x1F01 - ("glGet", S, 1, "GL_VERSION"), # 0x1F02 - ("glGet", S, 1, "GL_EXTENSIONS"), # 0x1F03 - ("", X, 1, "GL_S"), # 0x2000 - ("", X, 1, "GL_T"), # 0x2001 - ("", X, 1, "GL_R"), # 0x2002 - ("", X, 1, "GL_Q"), # 0x2003 - ("", X, 1, "GL_MODULATE"), # 0x2100 - ("", X, 1, "GL_DECAL"), # 0x2101 - ("glGetTexEnv", E, 1, "GL_TEXTURE_ENV_MODE"), # 0x2200 - ("glGetTexEnv", F, 4, "GL_TEXTURE_ENV_COLOR"), # 0x2201 - ("_glGet", X, 1, "GL_TEXTURE_ENV"), # 0x2300 - ("", X, 1, "GL_EYE_LINEAR"), # 0x2400 - ("", X, 1, "GL_OBJECT_LINEAR"), # 0x2401 - ("", X, 1, "GL_SPHERE_MAP"), # 0x2402 - ("glGetTexGen", E, 1, "GL_TEXTURE_GEN_MODE"), # 0x2500 - ("glGetTexGen", F, 4, "GL_OBJECT_PLANE"), # 0x2501 - ("glGetTexGen", F, 4, "GL_EYE_PLANE"), # 0x2502 - ("", X, 1, "GL_NEAREST"), # 0x2600 - ("", X, 1, "GL_LINEAR"), # 0x2601 - ("", X, 1, "GL_NEAREST_MIPMAP_NEAREST"), # 0x2700 - ("", X, 1, "GL_LINEAR_MIPMAP_NEAREST"), # 0x2701 - ("", X, 1, "GL_NEAREST_MIPMAP_LINEAR"), # 0x2702 - ("", X, 1, "GL_LINEAR_MIPMAP_LINEAR"), # 0x2703 - ("glGetTexParameter", E, 1, "GL_TEXTURE_MAG_FILTER"), # 0x2800 - ("glGetTexParameter", E, 1, "GL_TEXTURE_MIN_FILTER"), # 0x2801 - ("glGetTexParameter", E, 1, "GL_TEXTURE_WRAP_S"), # 0x2802 - ("glGetTexParameter", E, 1, "GL_TEXTURE_WRAP_T"), # 0x2803 - ("", X, 1, "GL_CLAMP"), # 0x2900 - ("", X, 1, "GL_REPEAT"), # 0x2901 - ("glGet", F, 1, "GL_POLYGON_OFFSET_UNITS"), # 0x2A00 - ("glGet", B, 1, "GL_POLYGON_OFFSET_POINT"), # 0x2A01 - ("glGet", B, 1, "GL_POLYGON_OFFSET_LINE"), # 0x2A02 - ("", X, 1, "GL_R3_G3_B2"), # 0x2A10 - ("", X, 1, "GL_V2F"), # 0x2A20 - ("", X, 1, "GL_V3F"), # 0x2A21 - ("", X, 1, "GL_C4UB_V2F"), # 0x2A22 - ("", X, 1, "GL_C4UB_V3F"), # 0x2A23 - ("", X, 1, "GL_C3F_V3F"), # 0x2A24 - ("", X, 1, "GL_N3F_V3F"), # 0x2A25 - ("", X, 1, "GL_C4F_N3F_V3F"), # 0x2A26 - ("", X, 1, "GL_T2F_V3F"), # 0x2A27 - ("", X, 1, "GL_T4F_V4F"), # 0x2A28 - ("", X, 1, "GL_T2F_C4UB_V3F"), # 0x2A29 - ("", X, 1, "GL_T2F_C3F_V3F"), # 0x2A2A - ("", X, 1, "GL_T2F_N3F_V3F"), # 0x2A2B - ("", X, 1, "GL_T2F_C4F_N3F_V3F"), # 0x2A2C - ("", X, 1, "GL_T4F_C4F_N3F_V4F"), # 0x2A2D - ("glGet", B, 1, "GL_CLIP_DISTANCE0"), # 0x3000 - ("glGet", B, 1, "GL_CLIP_DISTANCE1"), # 0x3001 - ("glGet", B, 1, "GL_CLIP_DISTANCE2"), # 0x3002 - ("glGet", B, 1, "GL_CLIP_DISTANCE3"), # 0x3003 - ("glGet", B, 1, "GL_CLIP_DISTANCE4"), # 0x3004 - ("glGet", B, 1, "GL_CLIP_DISTANCE5"), # 0x3005 - ("glGet", B, 1, "GL_CLIP_DISTANCE6"), # 0x3006 - ("glGet", B, 1, "GL_CLIP_DISTANCE7"), # 0x3007 - ("_glGet", B, 1, "GL_LIGHT0"), # 0x4000 - ("_glGet", B, 1, "GL_LIGHT1"), # 0x4001 - ("_glGet", B, 1, "GL_LIGHT2"), # 0x4002 - ("_glGet", B, 1, "GL_LIGHT3"), # 0x4003 - ("_glGet", B, 1, "GL_LIGHT4"), # 0x4004 - ("_glGet", B, 1, "GL_LIGHT5"), # 0x4005 - ("_glGet", B, 1, "GL_LIGHT6"), # 0x4006 - ("_glGet", B, 1, "GL_LIGHT7"), # 0x4007 - ("", X, 1, "GL_ABGR_EXT"), # 0x8000 - ("", X, 1, "GL_CONSTANT_COLOR"), # 0x8001 - ("", X, 1, "GL_ONE_MINUS_CONSTANT_COLOR"), # 0x8002 - ("", X, 1, "GL_CONSTANT_ALPHA"), # 0x8003 - ("", X, 1, "GL_ONE_MINUS_CONSTANT_ALPHA"), # 0x8004 - ("glGet", F, 4, "GL_BLEND_COLOR"), # 0x8005 - ("", X, 1, "GL_FUNC_ADD"), # 0x8006 - ("", X, 1, "GL_MIN"), # 0x8007 - ("", X, 1, "GL_MAX"), # 0x8008 - ("glGet", E, 1, "GL_BLEND_EQUATION"), # 0x8009 - ("", X, 1, "GL_FUNC_SUBTRACT"), # 0x800A - ("", X, 1, "GL_FUNC_REVERSE_SUBTRACT"), # 0x800B - ("", X, 1, "GL_CMYK_EXT"), # 0x800C - ("", X, 1, "GL_CMYKA_EXT"), # 0x800D - ("glGet", I, 1, "GL_PACK_CMYK_HINT_EXT"), # 0x800E - ("glGet", I, 1, "GL_UNPACK_CMYK_HINT_EXT"), # 0x800F - ("glGet", B, 1, "GL_CONVOLUTION_1D"), # 0x8010 - ("glGet", B, 1, "GL_CONVOLUTION_2D"), # 0x8011 - ("glGet", B, 1, "GL_SEPARABLE_2D"), # 0x8012 - ("glGetConvolutionParameter", E, 1, "GL_CONVOLUTION_BORDER_MODE"), # 0x8013 - ("glGetConvolutionParameter", F, 4, "GL_CONVOLUTION_FILTER_SCALE"), # 0x8014 - ("glGetConvolutionParameter", F, 4, "GL_CONVOLUTION_FILTER_BIAS"), # 0x8015 - ("", X, 1, "GL_REDUCE"), # 0x8016 - ("glGetConvolutionParameter", E, 1, "GL_CONVOLUTION_FORMAT"), # 0x8017 - ("glGetConvolutionParameter", I, 1, "GL_CONVOLUTION_WIDTH"), # 0x8018 - ("glGetConvolutionParameter", I, 1, "GL_CONVOLUTION_HEIGHT"), # 0x8019 - ("glGetConvolutionParameter", I, 1, "GL_MAX_CONVOLUTION_WIDTH"), # 0x801A - ("glGetConvolutionParameter", I, 1, "GL_MAX_CONVOLUTION_HEIGHT"), # 0x801B - ("glGet", F, 1, "GL_POST_CONVOLUTION_RED_SCALE"), # 0x801C - ("glGet", F, 1, "GL_POST_CONVOLUTION_GREEN_SCALE"), # 0x801D - ("glGet", F, 1, "GL_POST_CONVOLUTION_BLUE_SCALE"), # 0x801E - ("glGet", F, 1, "GL_POST_CONVOLUTION_ALPHA_SCALE"), # 0x801F - ("glGet", F, 1, "GL_POST_CONVOLUTION_RED_BIAS"), # 0x8020 - ("glGet", F, 1, "GL_POST_CONVOLUTION_GREEN_BIAS"), # 0x8021 - ("glGet", F, 1, "GL_POST_CONVOLUTION_BLUE_BIAS"), # 0x8022 - ("glGet", F, 1, "GL_POST_CONVOLUTION_ALPHA_BIAS"), # 0x8023 - ("glGet", B, 1, "GL_HISTOGRAM"), # 0x8024 - ("", X, 1, "GL_PROXY_HISTOGRAM"), # 0x8025 - ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_WIDTH"), # 0x8026 - ("glGetHistogramParameter", E, 1, "GL_HISTOGRAM_FORMAT"), # 0x8027 - ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_RED_SIZE"), # 0x8028 - ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_GREEN_SIZE"), # 0x8029 - ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_BLUE_SIZE"), # 0x802A - ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_ALPHA_SIZE"), # 0x802B - ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_LUMINANCE_SIZE"), # 0x802C - ("glGetHistogramParameter", B, 1, "GL_HISTOGRAM_SINK"), # 0x802D - ("glGet", B, 1, "GL_MINMAX"), # 0x802E - ("glGetMinMaxParameter", E, 1, "GL_MINMAX_FORMAT"), # 0x802F - ("glGetMinMaxParameter", B, 1, "GL_MINMAX_SINK"), # 0x8030 - ("", X, 1, "GL_TABLE_TOO_LARGE"), # 0x8031 - ("", X, 1, "GL_UNSIGNED_BYTE_3_3_2"), # 0x8032 - ("", X, 1, "GL_UNSIGNED_SHORT_4_4_4_4"), # 0x8033 - ("", X, 1, "GL_UNSIGNED_SHORT_5_5_5_1"), # 0x8034 - ("", X, 1, "GL_UNSIGNED_INT_8_8_8_8"), # 0x8035 - ("", X, 1, "GL_UNSIGNED_INT_10_10_10_2"), # 0x8036 - ("glGet", B, 1, "GL_POLYGON_OFFSET_FILL"), # 0x8037 - ("glGet", F, 1, "GL_POLYGON_OFFSET_FACTOR"), # 0x8038 - ("glGet", F, 1, "GL_POLYGON_OFFSET_BIAS_EXT"), # 0x8039 - ("glGet", B, 1, "GL_RESCALE_NORMAL"), # 0x803A - ("", X, 1, "GL_ALPHA4"), # 0x803B - ("", X, 1, "GL_ALPHA8"), # 0x803C - ("", X, 1, "GL_ALPHA12"), # 0x803D - ("", X, 1, "GL_ALPHA16"), # 0x803E - ("", X, 1, "GL_LUMINANCE4"), # 0x803F - ("", X, 1, "GL_LUMINANCE8"), # 0x8040 - ("", X, 1, "GL_LUMINANCE12"), # 0x8041 - ("", X, 1, "GL_LUMINANCE16"), # 0x8042 - ("", X, 1, "GL_LUMINANCE4_ALPHA4"), # 0x8043 - ("", X, 1, "GL_LUMINANCE6_ALPHA2"), # 0x8044 - ("", X, 1, "GL_LUMINANCE8_ALPHA8"), # 0x8045 - ("", X, 1, "GL_LUMINANCE12_ALPHA4"), # 0x8046 - ("", X, 1, "GL_LUMINANCE12_ALPHA12"), # 0x8047 - ("", X, 1, "GL_LUMINANCE16_ALPHA16"), # 0x8048 - ("", X, 1, "GL_INTENSITY"), # 0x8049 - ("", X, 1, "GL_INTENSITY4"), # 0x804A - ("", X, 1, "GL_INTENSITY8"), # 0x804B - ("", X, 1, "GL_INTENSITY12"), # 0x804C - ("", X, 1, "GL_INTENSITY16"), # 0x804D - ("", X, 1, "GL_RGB2_EXT"), # 0x804E - ("", X, 1, "GL_RGB4"), # 0x804F - ("", X, 1, "GL_RGB5"), # 0x8050 - ("", X, 1, "GL_RGB8"), # 0x8051 - ("", X, 1, "GL_RGB10"), # 0x8052 - ("", X, 1, "GL_RGB12"), # 0x8053 - ("", X, 1, "GL_RGB16"), # 0x8054 - ("", X, 1, "GL_RGBA2"), # 0x8055 - ("", X, 1, "GL_RGBA4"), # 0x8056 - ("", X, 1, "GL_RGB5_A1"), # 0x8057 - ("", X, 1, "GL_RGBA8"), # 0x8058 - ("", X, 1, "GL_RGB10_A2"), # 0x8059 - ("", X, 1, "GL_RGBA12"), # 0x805A - ("", X, 1, "GL_RGBA16"), # 0x805B - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_RED_SIZE"), # 0x805C - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_GREEN_SIZE"), # 0x805D - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_BLUE_SIZE"), # 0x805E - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_ALPHA_SIZE"), # 0x805F - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_LUMINANCE_SIZE"), # 0x8060 - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_INTENSITY_SIZE"), # 0x8061 - ("", X, 1, "GL_REPLACE_EXT"), # 0x8062 - ("", X, 1, "GL_PROXY_TEXTURE_1D"), # 0x8063 - ("", X, 1, "GL_PROXY_TEXTURE_2D"), # 0x8064 - ("", X, 1, "GL_TEXTURE_TOO_LARGE_EXT"), # 0x8065 - ("glGetTexParameter", F, 1, "GL_TEXTURE_PRIORITY"), # 0x8066 - ("glGetTexParameter", B, 1, "GL_TEXTURE_RESIDENT"), # 0x8067 - ("_glGet", I, 1, "GL_TEXTURE_BINDING_1D"), # 0x8068 - ("_glGet", I, 1, "GL_TEXTURE_BINDING_2D"), # 0x8069 - ("_glGet", I, 1, "GL_TEXTURE_BINDING_3D"), # 0x806A - ("glGet", I, 1, "GL_PACK_SKIP_IMAGES"), # 0x806B - ("glGet", F, 1, "GL_PACK_IMAGE_HEIGHT"), # 0x806C - ("glGet", I, 1, "GL_UNPACK_SKIP_IMAGES"), # 0x806D - ("glGet", F, 1, "GL_UNPACK_IMAGE_HEIGHT"), # 0x806E - ("glGet", B, 1, "GL_TEXTURE_3D"), # 0x806F - ("", X, 1, "GL_PROXY_TEXTURE_3D"), # 0x8070 - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_DEPTH"), # 0x8071 - ("glGetTexParameter", E, 1, "GL_TEXTURE_WRAP_R"), # 0x8072 - ("glGet", I, 1, "GL_MAX_3D_TEXTURE_SIZE"), # 0x8073 - ("glGet", B, 1, "GL_VERTEX_ARRAY"), # 0x8074 - ("glGet", B, 1, "GL_NORMAL_ARRAY"), # 0x8075 - ("glGet", B, 1, "GL_COLOR_ARRAY"), # 0x8076 - ("glGet", B, 1, "GL_INDEX_ARRAY"), # 0x8077 - ("glGet", B, 1, "GL_TEXTURE_COORD_ARRAY"), # 0x8078 - ("glGet", B, 1, "GL_EDGE_FLAG_ARRAY"), # 0x8079 - ("glGet", I, 1, "GL_VERTEX_ARRAY_SIZE"), # 0x807A - ("glGet", E, 1, "GL_VERTEX_ARRAY_TYPE"), # 0x807B - ("glGet", I, 1, "GL_VERTEX_ARRAY_STRIDE"), # 0x807C - ("glGet", I, 1, "GL_VERTEX_ARRAY_COUNT_EXT"), # 0x807D - ("glGet", E, 1, "GL_NORMAL_ARRAY_TYPE"), # 0x807E - ("glGet", I, 1, "GL_NORMAL_ARRAY_STRIDE"), # 0x807F - ("glGet", I, 1, "GL_NORMAL_ARRAY_COUNT_EXT"), # 0x8080 - ("glGet", I, 1, "GL_COLOR_ARRAY_SIZE"), # 0x8081 - ("glGet", E, 1, "GL_COLOR_ARRAY_TYPE"), # 0x8082 - ("glGet", I, 1, "GL_COLOR_ARRAY_STRIDE"), # 0x8083 - ("glGet", I, 1, "GL_COLOR_ARRAY_COUNT_EXT"), # 0x8084 - ("glGet", E, 1, "GL_INDEX_ARRAY_TYPE"), # 0x8085 - ("glGet", I, 1, "GL_INDEX_ARRAY_STRIDE"), # 0x8086 - ("glGet", I, 1, "GL_INDEX_ARRAY_COUNT_EXT"), # 0x8087 - ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_SIZE"), # 0x8088 - ("glGet", E, 1, "GL_TEXTURE_COORD_ARRAY_TYPE"), # 0x8089 - ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_STRIDE"), # 0x808A - ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_COUNT_EXT"), # 0x808B - ("glGet", I, 1, "GL_EDGE_FLAG_ARRAY_STRIDE"), # 0x808C - ("glGet", I, 1, "GL_EDGE_FLAG_ARRAY_COUNT_EXT"), # 0x808D - ("glGet", P, 1, "GL_VERTEX_ARRAY_POINTER"), # 0x808E - ("glGet", P, 1, "GL_NORMAL_ARRAY_POINTER"), # 0x808F - ("glGet", P, 1, "GL_COLOR_ARRAY_POINTER"), # 0x8090 - ("glGet", P, 1, "GL_INDEX_ARRAY_POINTER"), # 0x8091 - ("glGet", P, 1, "GL_TEXTURE_COORD_ARRAY_POINTER"), # 0x8092 - ("glGet", P, 1, "GL_EDGE_FLAG_ARRAY_POINTER"), # 0x8093 - ("glGet", I, 1, "GL_INTERLACE_SGIX"), # 0x8094 - ("", X, 1, "GL_DETAIL_TEXTURE_2D_SGIS"), # 0x8095 - ("glGet", I, 1, "GL_DETAIL_TEXTURE_2D_BINDING_SGIS"), # 0x8096 - ("", X, 1, "GL_LINEAR_DETAIL_SGIS"), # 0x8097 - ("", X, 1, "GL_LINEAR_DETAIL_ALPHA_SGIS"), # 0x8098 - ("", X, 1, "GL_LINEAR_DETAIL_COLOR_SGIS"), # 0x8099 - ("", X, 1, "GL_DETAIL_TEXTURE_LEVEL_SGIS"), # 0x809A - ("", X, 1, "GL_DETAIL_TEXTURE_MODE_SGIS"), # 0x809B - ("", X, 1, "GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"), # 0x809C - ("glGet", I, 1, "GL_MULTISAMPLE"), # 0x809D - ("glGet", I, 1, "GL_SAMPLE_ALPHA_TO_COVERAGE"), # 0x809E - ("glGet", I, 1, "GL_SAMPLE_ALPHA_TO_ONE"), # 0x809F - ("glGet", I, 1, "GL_SAMPLE_COVERAGE"), # 0x80A0 - ("", X, 1, "GL_1PASS_EXT"), # 0x80A1 - ("", X, 1, "GL_2PASS_0_EXT"), # 0x80A2 - ("", X, 1, "GL_2PASS_1_EXT"), # 0x80A3 - ("", X, 1, "GL_4PASS_0_EXT"), # 0x80A4 - ("", X, 1, "GL_4PASS_1_EXT"), # 0x80A5 - ("", X, 1, "GL_4PASS_2_EXT"), # 0x80A6 - ("", X, 1, "GL_4PASS_3_EXT"), # 0x80A7 - ("glGet", I, 1, "GL_SAMPLE_BUFFERS"), # 0x80A8 - ("glGet", I, 1, "GL_SAMPLES"), # 0x80A9 - ("glGet", F, 1, "GL_SAMPLE_COVERAGE_VALUE"), # 0x80AA - ("glGet", I, 1, "GL_SAMPLE_COVERAGE_INVERT"), # 0x80AB - ("glGet", I, 1, "GL_SAMPLE_PATTERN_EXT"), # 0x80AC - ("", X, 1, "GL_LINEAR_SHARPEN_SGIS"), # 0x80AD - ("", X, 1, "GL_LINEAR_SHARPEN_ALPHA_SGIS"), # 0x80AE - ("", X, 1, "GL_LINEAR_SHARPEN_COLOR_SGIS"), # 0x80AF - ("", X, 1, "GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"), # 0x80B0 - ("glGet", F, 16, "GL_COLOR_MATRIX"), # 0x80B1 - ("glGet", I, 1, "GL_COLOR_MATRIX_STACK_DEPTH"), # 0x80B2 - ("glGet", I, 1, "GL_MAX_COLOR_MATRIX_STACK_DEPTH"), # 0x80B3 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_RED_SCALE"), # 0x80B4 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_GREEN_SCALE"), # 0x80B5 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_BLUE_SCALE"), # 0x80B6 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_ALPHA_SCALE"), # 0x80B7 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_RED_BIAS"), # 0x80B8 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_GREEN_BIAS"), # 0x80B9 - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_BLUE_BIAS"), # 0x80BA - ("glGet", F, 1, "GL_POST_COLOR_MATRIX_ALPHA_BIAS"), # 0x80BB - ("glGet", I, 1, "GL_TEXTURE_COLOR_TABLE_SGI"), # 0x80BC - ("", X, 1, "GL_PROXY_TEXTURE_COLOR_TABLE_SGI"), # 0x80BD - ("", X, 1, "GL_TEXTURE_ENV_BIAS_SGIX"), # 0x80BE - ("glGetTexParameter", F, 1, "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"), # 0x80BF - ("glGet", E, 1, "GL_BLEND_DST_RGB"), # 0x80C8 - ("glGet", E, 1, "GL_BLEND_SRC_RGB"), # 0x80C9 - ("glGet", E, 1, "GL_BLEND_DST_ALPHA"), # 0x80CA - ("glGet", E, 1, "GL_BLEND_SRC_ALPHA"), # 0x80CB - ("", X, 1, "GL_422_EXT"), # 0x80CC - ("", X, 1, "GL_422_REV_EXT"), # 0x80CD - ("", X, 1, "GL_422_AVERAGE_EXT"), # 0x80CE - ("", X, 1, "GL_422_REV_AVERAGE_EXT"), # 0x80CF - ("glGet", B, 1, "GL_COLOR_TABLE"), # 0x80D0 - ("glGet", I, 1, "GL_POST_CONVOLUTION_COLOR_TABLE"), # 0x80D1 - ("glGet", I, 1, "GL_POST_COLOR_MATRIX_COLOR_TABLE"), # 0x80D2 - ("", X, 1, "GL_PROXY_COLOR_TABLE"), # 0x80D3 - ("", X, 1, "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"), # 0x80D4 - ("", X, 1, "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"), # 0x80D5 - ("glGetColorTableParameter", F, 4, "GL_COLOR_TABLE_SCALE"), # 0x80D6 - ("glGetColorTableParameter", F, 4, "GL_COLOR_TABLE_BIAS"), # 0x80D7 - ("glGetColorTableParameter", E, 1, "GL_COLOR_TABLE_FORMAT"), # 0x80D8 - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_WIDTH"), # 0x80D9 - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_RED_SIZE"), # 0x80DA - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_GREEN_SIZE"), # 0x80DB - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_BLUE_SIZE"), # 0x80DC - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_ALPHA_SIZE"), # 0x80DD - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_LUMINANCE_SIZE"), # 0x80DE - ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_INTENSITY_SIZE"), # 0x80DF - ("", X, 1, "GL_BGR"), # 0x80E0 - ("", X, 1, "GL_BGRA"), # 0x80E1 - ("", X, 1, "GL_COLOR_INDEX1_EXT"), # 0x80E2 - ("", X, 1, "GL_COLOR_INDEX2_EXT"), # 0x80E3 - ("", X, 1, "GL_COLOR_INDEX4_EXT"), # 0x80E4 - ("", X, 1, "GL_COLOR_INDEX8_EXT"), # 0x80E5 - ("", X, 1, "GL_COLOR_INDEX12_EXT"), # 0x80E6 - ("", X, 1, "GL_COLOR_INDEX16_EXT"), # 0x80E7 - ("glGet", I, 1, "GL_MAX_ELEMENTS_VERTICES"), # 0x80E8 - ("glGet", I, 1, "GL_MAX_ELEMENTS_INDICES"), # 0x80E9 - ("", X, 1, "GL_PHONG_WIN"), # 0x80EA - ("", X, 1, "GL_PHONG_HINT_WIN"), # 0x80EB - ("", X, 1, "GL_FOG_SPECULAR_TEXTURE_WIN"), # 0x80EC - ("", X, 1, "GL_TEXTURE_INDEX_SIZE_EXT"), # 0x80ED - ("glGet", E, 1, "GL_CLIP_VOLUME_CLIPPING_HINT_EXT"), # 0x80F0 - ("", X, 1, "GL_DUAL_ALPHA4_SGIS"), # 0x8110 - ("", X, 1, "GL_DUAL_ALPHA8_SGIS"), # 0x8111 - ("", X, 1, "GL_DUAL_ALPHA12_SGIS"), # 0x8112 - ("", X, 1, "GL_DUAL_ALPHA16_SGIS"), # 0x8113 - ("", X, 1, "GL_DUAL_LUMINANCE4_SGIS"), # 0x8114 - ("", X, 1, "GL_DUAL_LUMINANCE8_SGIS"), # 0x8115 - ("", X, 1, "GL_DUAL_LUMINANCE12_SGIS"), # 0x8116 - ("", X, 1, "GL_DUAL_LUMINANCE16_SGIS"), # 0x8117 - ("", X, 1, "GL_DUAL_INTENSITY4_SGIS"), # 0x8118 - ("", X, 1, "GL_DUAL_INTENSITY8_SGIS"), # 0x8119 - ("", X, 1, "GL_DUAL_INTENSITY12_SGIS"), # 0x811A - ("", X, 1, "GL_DUAL_INTENSITY16_SGIS"), # 0x811B - ("", X, 1, "GL_DUAL_LUMINANCE_ALPHA4_SGIS"), # 0x811C - ("", X, 1, "GL_DUAL_LUMINANCE_ALPHA8_SGIS"), # 0x811D - ("", X, 1, "GL_QUAD_ALPHA4_SGIS"), # 0x811E - ("", X, 1, "GL_QUAD_ALPHA8_SGIS"), # 0x811F - ("", X, 1, "GL_QUAD_LUMINANCE4_SGIS"), # 0x8120 - ("", X, 1, "GL_QUAD_LUMINANCE8_SGIS"), # 0x8121 - ("", X, 1, "GL_QUAD_INTENSITY4_SGIS"), # 0x8122 - ("", X, 1, "GL_QUAD_INTENSITY8_SGIS"), # 0x8123 - ("", X, 1, "GL_DUAL_TEXTURE_SELECT_SGIS"), # 0x8124 - ("", X, 1, "GL_QUAD_TEXTURE_SELECT_SGIS"), # 0x8125 - ("glGet", F, 1, "GL_POINT_SIZE_MIN"), # 0x8126 - ("glGet", F, 1, "GL_POINT_SIZE_MAX"), # 0x8127 - ("glGet", F, 1, "GL_POINT_FADE_THRESHOLD_SIZE"), # 0x8128 - ("glGet", F, 3, "GL_POINT_DISTANCE_ATTENUATION"), # 0x8129 - ("", X, 1, "GL_FOG_FUNC_SGIS"), # 0x812A - ("glGet", I, 1, "GL_FOG_FUNC_POINTS_SGIS"), # 0x812B - ("glGet", I, 1, "GL_MAX_FOG_FUNC_POINTS_SGIS"), # 0x812C - ("", X, 1, "GL_CLAMP_TO_BORDER"), # 0x812D - ("", X, 1, "GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"), # 0x812E - ("", X, 1, "GL_CLAMP_TO_EDGE"), # 0x812F - ("glGet", I, 1, "GL_PACK_SKIP_VOLUMES_SGIS"), # 0x8130 - ("glGet", I, 1, "GL_PACK_IMAGE_DEPTH_SGIS"), # 0x8131 - ("glGet", I, 1, "GL_UNPACK_SKIP_VOLUMES_SGIS"), # 0x8132 - ("glGet", I, 1, "GL_UNPACK_IMAGE_DEPTH_SGIS"), # 0x8133 - ("glGet", I, 1, "GL_TEXTURE_4D_SGIS"), # 0x8134 - ("", X, 1, "GL_PROXY_TEXTURE_4D_SGIS"), # 0x8135 - ("", X, 1, "GL_TEXTURE_4DSIZE_SGIS"), # 0x8136 - ("", X, 1, "GL_TEXTURE_WRAP_Q_SGIS"), # 0x8137 - ("glGet", I, 1, "GL_MAX_4D_TEXTURE_SIZE_SGIS"), # 0x8138 - ("glGet", I, 1, "GL_PIXEL_TEX_GEN_SGIX"), # 0x8139 - ("glGetTexParameter", F, 1, "GL_TEXTURE_MIN_LOD"), # 0x813A - ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_LOD"), # 0x813B - ("glGetTexParameter", F, 1, "GL_TEXTURE_BASE_LEVEL"), # 0x813C - ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_LEVEL"), # 0x813D - ("glGet", I, 1, "GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX"), # 0x813E - ("glGet", I, 1, "GL_PIXEL_TILE_CACHE_INCREMENT_SGIX"), # 0x813F - ("glGet", I, 1, "GL_PIXEL_TILE_WIDTH_SGIX"), # 0x8140 - ("glGet", I, 1, "GL_PIXEL_TILE_HEIGHT_SGIX"), # 0x8141 - ("glGet", I, 1, "GL_PIXEL_TILE_GRID_WIDTH_SGIX"), # 0x8142 - ("glGet", I, 1, "GL_PIXEL_TILE_GRID_HEIGHT_SGIX"), # 0x8143 - ("glGet", I, 1, "GL_PIXEL_TILE_GRID_DEPTH_SGIX"), # 0x8144 - ("glGet", I, 1, "GL_PIXEL_TILE_CACHE_SIZE_SGIX"), # 0x8145 - ("", X, 1, "GL_FILTER4_SGIS"), # 0x8146 - ("", X, 1, "GL_TEXTURE_FILTER4_SIZE_SGIS"), # 0x8147 - ("glGet", I, 1, "GL_SPRITE_SGIX"), # 0x8148 - ("glGet", I, 1, "GL_SPRITE_MODE_SGIX"), # 0x8149 - ("glGet", F, 3, "GL_SPRITE_AXIS_SGIX"), # 0x814A - ("glGet", F, 3, "GL_SPRITE_TRANSLATION_SGIX"), # 0x814B - ("", X, 1, "GL_SPRITE_AXIAL_SGIX"), # 0x814C - ("", X, 1, "GL_SPRITE_OBJECT_ALIGNED_SGIX"), # 0x814D - ("", X, 1, "GL_SPRITE_EYE_ALIGNED_SGIX"), # 0x814E - ("glGet", I, 1, "GL_TEXTURE_4D_BINDING_SGIS"), # 0x814F - ("", X, 1, "GL_IGNORE_BORDER_HP"), # 0x8150 - ("", X, 1, "GL_CONSTANT_BORDER"), # 0x8151 - ("", X, 1, "GL_REPLICATE_BORDER"), # 0x8153 - ("glGetConvolutionParameter", F, 4, "GL_CONVOLUTION_BORDER_COLOR"), # 0x8154 - ("", X, 1, "GL_IMAGE_SCALE_X_HP"), # 0x8155 - ("", X, 1, "GL_IMAGE_SCALE_Y_HP"), # 0x8156 - ("", X, 1, "GL_IMAGE_TRANSLATE_X_HP"), # 0x8157 - ("", X, 1, "GL_IMAGE_TRANSLATE_Y_HP"), # 0x8158 - ("", X, 1, "GL_IMAGE_ROTATE_ANGLE_HP"), # 0x8159 - ("", X, 1, "GL_IMAGE_ROTATE_ORIGIN_X_HP"), # 0x815A - ("", X, 1, "GL_IMAGE_ROTATE_ORIGIN_Y_HP"), # 0x815B - ("", X, 1, "GL_IMAGE_MAG_FILTER_HP"), # 0x815C - ("", X, 1, "GL_IMAGE_MIN_FILTER_HP"), # 0x815D - ("", X, 1, "GL_IMAGE_CUBIC_WEIGHT_HP"), # 0x815E - ("", X, 1, "GL_CUBIC_HP"), # 0x815F - ("", X, 1, "GL_AVERAGE_HP"), # 0x8160 - ("", X, 1, "GL_IMAGE_TRANSFORM_2D_HP"), # 0x8161 - ("", X, 1, "GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"), # 0x8162 - ("", X, 1, "GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"), # 0x8163 - ("_glGet", B, 1, "GL_OCCLUSION_TEST_HP"), # 0x8165 - ("_glGet", B, 1, "GL_OCCLUSION_TEST_RESULT_HP"), # 0x8166 - ("", X, 1, "GL_TEXTURE_LIGHTING_MODE_HP"), # 0x8167 - ("", X, 1, "GL_TEXTURE_POST_SPECULAR_HP"), # 0x8168 - ("", X, 1, "GL_TEXTURE_PRE_SPECULAR_HP"), # 0x8169 - ("", X, 1, "GL_LINEAR_CLIPMAP_LINEAR_SGIX"), # 0x8170 - ("glGetTexParameter", I, 2, "GL_TEXTURE_CLIPMAP_CENTER_SGIX"), # 0x8171 - ("glGetTexParameter", F, 1, "GL_TEXTURE_CLIPMAP_FRAME_SGIX"), # 0x8172 - ("glGetTexParameter", I, 2, "GL_TEXTURE_CLIPMAP_OFFSET_SGIX"), # 0x8173 - ("glGetTexParameter", I, 3, "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"), # 0x8174 - ("", X, 1, "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"), # 0x8175 - ("", X, 1, "GL_TEXTURE_CLIPMAP_DEPTH_SGIX"), # 0x8176 - ("glGet", I, 1, "GL_MAX_CLIPMAP_DEPTH_SGIX"), # 0x8177 - ("glGet", I, 1, "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX"), # 0x8178 - ("glGetTexParameter", F, 1, "GL_POST_TEXTURE_FILTER_BIAS_SGIX"), # 0x8179 - ("glGetTexParameter", F, 1, "GL_POST_TEXTURE_FILTER_SCALE_SGIX"), # 0x817A - ("glGet", F, 2, "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"), # 0x817B - ("glGet", F, 2, "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"), # 0x817C - ("glGet", I, 1, "GL_REFERENCE_PLANE_SGIX"), # 0x817D - ("glGet", F, 4, "GL_REFERENCE_PLANE_EQUATION_SGIX"), # 0x817E - ("glGet", I, 1, "GL_IR_INSTRUMENT1_SGIX"), # 0x817F - ("", X, 1, "GL_INSTRUMENT_BUFFER_POINTER_SGIX"), # 0x8180 - ("glGet", I, 1, "GL_INSTRUMENT_MEASUREMENTS_SGIX"), # 0x8181 - ("", X, 1, "GL_LIST_PRIORITY_SGIX"), # 0x8182 - ("glGet", I, 1, "GL_CALLIGRAPHIC_FRAGMENT_SGIX"), # 0x8183 - ("", X, 1, "GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"), # 0x8184 - ("", X, 1, "GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"), # 0x8185 - ("", X, 1, "GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"), # 0x8186 - ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX"), # 0x8187 - ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX"), # 0x8188 - ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX"), # 0x8189 - ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX"), # 0x818A - ("glGet", I, 1, "GL_FRAMEZOOM_SGIX"), # 0x818B - ("glGet", I, 1, "GL_FRAMEZOOM_FACTOR_SGIX"), # 0x818C - ("glGet", I, 1, "GL_MAX_FRAMEZOOM_FACTOR_SGIX"), # 0x818D - ("glGetTexParameter", F, 1, "GL_TEXTURE_LOD_BIAS_S_SGIX"), # 0x818E - ("glGetTexParameter", F, 1, "GL_TEXTURE_LOD_BIAS_T_SGIX"), # 0x818F - ("glGetTexParameter", F, 1, "GL_TEXTURE_LOD_BIAS_R_SGIX"), # 0x8190 - ("glGetTexParameter", B, 1, "GL_GENERATE_MIPMAP"), # 0x8191 - ("glGet", E, 1, "GL_GENERATE_MIPMAP_HINT"), # 0x8192 - ("", X, 1, "GL_GEOMETRY_DEFORMATION_SGIX"), # 0x8194 - ("", X, 1, "GL_TEXTURE_DEFORMATION_SGIX"), # 0x8195 - ("glGet", I, 1, "GL_DEFORMATIONS_MASK_SGIX"), # 0x8196 - ("", X, 1, "GL_MAX_DEFORMATION_ORDER_SGIX"), # 0x8197 - ("glGet", I, 1, "GL_FOG_OFFSET_SGIX"), # 0x8198 - ("glGet", F, 4, "GL_FOG_OFFSET_VALUE_SGIX"), # 0x8199 - ("glGetTexParameter", B, 1, "GL_TEXTURE_COMPARE_SGIX"), # 0x819A - ("glGetTexParameter", E, 1, "GL_TEXTURE_COMPARE_OPERATOR_SGIX"), # 0x819B - ("", X, 1, "GL_TEXTURE_LEQUAL_R_SGIX"), # 0x819C - ("", X, 1, "GL_TEXTURE_GEQUAL_R_SGIX"), # 0x819D - ("", X, 1, "GL_DEPTH_COMPONENT16"), # 0x81A5 - ("", X, 1, "GL_DEPTH_COMPONENT24"), # 0x81A6 - ("", X, 1, "GL_DEPTH_COMPONENT32"), # 0x81A7 - ("", X, 1, "GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"), # 0x81A8 - ("", X, 1, "GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"), # 0x81A9 - ("", X, 1, "GL_CULL_VERTEX_EXT"), # 0x81AA - ("", X, 1, "GL_CULL_VERTEX_EYE_POSITION_EXT"), # 0x81AB - ("", X, 1, "GL_CULL_VERTEX_OBJECT_POSITION_EXT"), # 0x81AC - ("", X, 1, "GL_IUI_V2F_EXT"), # 0x81AD - ("", X, 1, "GL_IUI_V3F_EXT"), # 0x81AE - ("", X, 1, "GL_IUI_N3F_V2F_EXT"), # 0x81AF - ("", X, 1, "GL_IUI_N3F_V3F_EXT"), # 0x81B0 - ("", X, 1, "GL_T2F_IUI_V2F_EXT"), # 0x81B1 - ("", X, 1, "GL_T2F_IUI_V3F_EXT"), # 0x81B2 - ("", X, 1, "GL_T2F_IUI_N3F_V2F_EXT"), # 0x81B3 - ("", X, 1, "GL_T2F_IUI_N3F_V3F_EXT"), # 0x81B4 - ("", X, 1, "GL_INDEX_TEST_EXT"), # 0x81B5 - ("", X, 1, "GL_INDEX_TEST_FUNC_EXT"), # 0x81B6 - ("", X, 1, "GL_INDEX_TEST_REF_EXT"), # 0x81B7 - ("", X, 1, "GL_INDEX_MATERIAL_EXT"), # 0x81B8 - ("", X, 1, "GL_INDEX_MATERIAL_PARAMETER_EXT"), # 0x81B9 - ("", X, 1, "GL_INDEX_MATERIAL_FACE_EXT"), # 0x81BA - ("", X, 1, "GL_YCRCB_422_SGIX"), # 0x81BB - ("", X, 1, "GL_YCRCB_444_SGIX"), # 0x81BC - ("", X, 1, "GL_WRAP_BORDER_SUN"), # 0x81D4 - ("", X, 1, "GL_UNPACK_CONSTANT_DATA_SUNX"), # 0x81D5 - ("", X, 1, "GL_TEXTURE_CONSTANT_DATA_SUNX"), # 0x81D6 - ("", X, 1, "GL_TRIANGLE_LIST_SUN"), # 0x81D7 - ("", X, 1, "GL_REPLACEMENT_CODE_SUN"), # 0x81D8 - ("", X, 1, "GL_GLOBAL_ALPHA_SUN"), # 0x81D9 - ("", X, 1, "GL_GLOBAL_ALPHA_FACTOR_SUN"), # 0x81DA - ("", X, 1, "GL_TEXTURE_COLOR_WRITEMASK_SGIS"), # 0x81EF - ("", X, 1, "GL_EYE_DISTANCE_TO_POINT_SGIS"), # 0x81F0 - ("", X, 1, "GL_OBJECT_DISTANCE_TO_POINT_SGIS"), # 0x81F1 - ("", X, 1, "GL_EYE_DISTANCE_TO_LINE_SGIS"), # 0x81F2 - ("", X, 1, "GL_OBJECT_DISTANCE_TO_LINE_SGIS"), # 0x81F3 - ("", X, 1, "GL_EYE_POINT_SGIS"), # 0x81F4 - ("", X, 1, "GL_OBJECT_POINT_SGIS"), # 0x81F5 - ("", X, 1, "GL_EYE_LINE_SGIS"), # 0x81F6 - ("", X, 1, "GL_OBJECT_LINE_SGIS"), # 0x81F7 - ("glGet", E, 1, "GL_LIGHT_MODEL_COLOR_CONTROL"), # 0x81F8 - ("", X, 1, "GL_SINGLE_COLOR"), # 0x81F9 - ("", X, 1, "GL_SEPARATE_SPECULAR_COLOR"), # 0x81FA - ("", X, 1, "GL_SHARED_TEXTURE_PALETTE_EXT"), # 0x81FB - ("", X, 1, "GL_FOG_SCALE_SGIX"), # 0x81FC - ("", X, 1, "GL_FOG_SCALE_VALUE_SGIX"), # 0x81FD - ("", X, 1, "GL_TEXT_FRAGMENT_SHADER_ATI"), # 0x8200 - ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"), # 0x8210 - ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"), # 0x8211 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"), # 0x8212 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"), # 0x8213 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"), # 0x8214 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"), # 0x8215 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"), # 0x8216 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"), # 0x8217 - ("", X, 1, "GL_FRAMEBUFFER_DEFAULT"), # 0x8218 - ("", X, 1, "GL_FRAMEBUFFER_UNDEFINED"), # 0x8219 - ("", X, 1, "GL_DEPTH_STENCIL_ATTACHMENT"), # 0x821A - ("glGet", I, 1, "GL_MAJOR_VERSION"), # 0x821B - ("glGet", I, 1, "GL_MINOR_VERSION"), # 0x821C - ("glGet", I, 1, "GL_NUM_EXTENSIONS"), # 0x821D - ("glGet", I, 1, "GL_CONTEXT_FLAGS"), # 0x821E - ("", X, 1, "GL_INDEX"), # 0x8222 - ("", X, 1, "GL_DEPTH_BUFFER"), # 0x8223 - ("", X, 1, "GL_STENCIL_BUFFER"), # 0x8224 - ("", X, 1, "GL_COMPRESSED_RED"), # 0x8225 - ("", X, 1, "GL_COMPRESSED_RG"), # 0x8226 - ("", X, 1, "GL_RG"), # 0x8227 - ("", X, 1, "GL_RG_INTEGER"), # 0x8228 - ("", X, 1, "GL_R8"), # 0x8229 - ("", X, 1, "GL_R16"), # 0x822A - ("", X, 1, "GL_RG8"), # 0x822B - ("", X, 1, "GL_RG16"), # 0x822C - ("", X, 1, "GL_R16F"), # 0x822D - ("", X, 1, "GL_R32F"), # 0x822E - ("", X, 1, "GL_RG16F"), # 0x822F - ("", X, 1, "GL_RG32F"), # 0x8230 - ("", X, 1, "GL_R8I"), # 0x8231 - ("", X, 1, "GL_R8UI"), # 0x8232 - ("", X, 1, "GL_R16I"), # 0x8233 - ("", X, 1, "GL_R16UI"), # 0x8234 - ("", X, 1, "GL_R32I"), # 0x8235 - ("", X, 1, "GL_R32UI"), # 0x8236 - ("", X, 1, "GL_RG8I"), # 0x8237 - ("", X, 1, "GL_RG8UI"), # 0x8238 - ("", X, 1, "GL_RG16I"), # 0x8239 - ("", X, 1, "GL_RG16UI"), # 0x823A - ("", X, 1, "GL_RG32I"), # 0x823B - ("", X, 1, "GL_RG32UI"), # 0x823C - ("", X, 1, "GL_SYNC_CL_EVENT_ARB"), # 0x8240 - ("", X, 1, "GL_SYNC_CL_EVENT_COMPLETE_ARB"), # 0x8241 - ("", X, 1, "GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"), # 0x8242 - ("", X, 1, "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"), # 0x8243 - ("", X, 1, "GL_DEBUG_CALLBACK_FUNCTION_ARB"), # 0x8244 - ("", X, 1, "GL_DEBUG_CALLBACK_USER_PARAM_ARB"), # 0x8245 - ("", X, 1, "GL_DEBUG_SOURCE_API_ARB"), # 0x8246 - ("", X, 1, "GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"), # 0x8247 - ("", X, 1, "GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"), # 0x8248 - ("", X, 1, "GL_DEBUG_SOURCE_THIRD_PARTY_ARB"), # 0x8249 - ("", X, 1, "GL_DEBUG_SOURCE_APPLICATION_ARB"), # 0x824A - ("", X, 1, "GL_DEBUG_SOURCE_OTHER_ARB"), # 0x824B - ("", X, 1, "GL_DEBUG_TYPE_ERROR_ARB"), # 0x824C - ("", X, 1, "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"), # 0x824D - ("", X, 1, "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"), # 0x824E - ("", X, 1, "GL_DEBUG_TYPE_PORTABILITY_ARB"), # 0x824F - ("", X, 1, "GL_DEBUG_TYPE_PERFORMANCE_ARB"), # 0x8250 - ("", X, 1, "GL_DEBUG_TYPE_OTHER_ARB"), # 0x8251 - ("", X, 1, "GL_LOSE_CONTEXT_ON_RESET_ARB"), # 0x8252 - ("", X, 1, "GL_GUILTY_CONTEXT_RESET_ARB"), # 0x8253 - ("", X, 1, "GL_INNOCENT_CONTEXT_RESET_ARB"), # 0x8254 - ("", X, 1, "GL_UNKNOWN_CONTEXT_RESET_ARB"), # 0x8255 - ("glGet", E, 1, "GL_RESET_NOTIFICATION_STRATEGY_ARB"), # 0x8256 - ("", X, 1, "GL_PROGRAM_BINARY_RETRIEVABLE_HINT"), # 0x8257 - ("", X, 1, "GL_PROGRAM_SEPARABLE"), # 0x8258 - ("glGet", I, 1, "GL_ACTIVE_PROGRAM"), # 0x8259 - ("glGet", I, 1, "GL_PROGRAM_PIPELINE_BINDING"), # 0x825A - ("glGet", I, 1, "GL_MAX_VIEWPORTS"), # 0x825B - ("glGet", I, 1, "GL_VIEWPORT_SUBPIXEL_BITS"), # 0x825C - ("glGet", F, 2, "GL_VIEWPORT_BOUNDS_RANGE"), # 0x825D - ("glGet", E, 1, "GL_LAYER_PROVOKING_VERTEX"), # 0x825E - ("glGet", E, 1, "GL_VIEWPORT_INDEX_PROVOKING_VERTEX"), # 0x825F - ("", X, 1, "GL_UNDEFINED_VERTEX"), # 0x8260 - ("", X, 1, "GL_NO_RESET_NOTIFICATION_ARB"), # 0x8261 - ("", X, 1, "GL_DEPTH_PASS_INSTRUMENT_SGIX"), # 0x8310 - ("", X, 1, "GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX"), # 0x8311 - ("", X, 1, "GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX"), # 0x8312 - ("glGet", I, 1, "GL_CONVOLUTION_HINT_SGIX"), # 0x8316 - ("", X, 1, "GL_YCRCB_SGIX"), # 0x8318 - ("", X, 1, "GL_YCRCBA_SGIX"), # 0x8319 - ("", X, 1, "GL_ALPHA_MIN_SGIX"), # 0x8320 - ("", X, 1, "GL_ALPHA_MAX_SGIX"), # 0x8321 - ("", X, 1, "GL_SCALEBIAS_HINT_SGIX"), # 0x8322 - ("", X, 1, "GL_ASYNC_MARKER_SGIX"), # 0x8329 - ("glGet", I, 1, "GL_PIXEL_TEX_GEN_MODE_SGIX"), # 0x832B - ("", X, 1, "GL_ASYNC_HISTOGRAM_SGIX"), # 0x832C - ("", X, 1, "GL_MAX_ASYNC_HISTOGRAM_SGIX"), # 0x832D - ("", X, 1, "GL_PIXEL_TRANSFORM_2D_EXT"), # 0x8330 - ("", X, 1, "GL_PIXEL_MAG_FILTER_EXT"), # 0x8331 - ("", X, 1, "GL_PIXEL_MIN_FILTER_EXT"), # 0x8332 - ("", X, 1, "GL_PIXEL_CUBIC_WEIGHT_EXT"), # 0x8333 - ("", X, 1, "GL_CUBIC_EXT"), # 0x8334 - ("", X, 1, "GL_AVERAGE_EXT"), # 0x8335 - ("", X, 1, "GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"), # 0x8336 - ("", X, 1, "GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"), # 0x8337 - ("", X, 1, "GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"), # 0x8338 - ("", X, 1, "GL_FRAGMENT_MATERIAL_EXT"), # 0x8349 - ("", X, 1, "GL_FRAGMENT_NORMAL_EXT"), # 0x834A - ("", X, 1, "GL_FRAGMENT_COLOR_EXT"), # 0x834C - ("", X, 1, "GL_ATTENUATION_EXT"), # 0x834D - ("", X, 1, "GL_SHADOW_ATTENUATION_EXT"), # 0x834E - ("glGet", I, 1, "GL_TEXTURE_APPLICATION_MODE_EXT"), # 0x834F - ("glGet", I, 1, "GL_TEXTURE_LIGHT_EXT"), # 0x8350 - ("glGet", I, 1, "GL_TEXTURE_MATERIAL_FACE_EXT"), # 0x8351 - ("glGet", I, 1, "GL_TEXTURE_MATERIAL_PARAMETER_EXT"), # 0x8352 - ("glGet", I, 1, "GL_PIXEL_TEXTURE_SGIS"), # 0x8353 - ("glGet", I, 1, "GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"), # 0x8354 - ("glGet", I, 1, "GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"), # 0x8355 - ("glGet", I, 1, "GL_PIXEL_GROUP_COLOR_SGIS"), # 0x8356 - ("", X, 1, "GL_ASYNC_TEX_IMAGE_SGIX"), # 0x835C - ("", X, 1, "GL_ASYNC_DRAW_PIXELS_SGIX"), # 0x835D - ("", X, 1, "GL_ASYNC_READ_PIXELS_SGIX"), # 0x835E - ("", X, 1, "GL_MAX_ASYNC_TEX_IMAGE_SGIX"), # 0x835F - ("", X, 1, "GL_MAX_ASYNC_DRAW_PIXELS_SGIX"), # 0x8360 - ("", X, 1, "GL_MAX_ASYNC_READ_PIXELS_SGIX"), # 0x8361 - ("", X, 1, "GL_UNSIGNED_BYTE_2_3_3_REV"), # 0x8362 - ("", X, 1, "GL_UNSIGNED_SHORT_5_6_5"), # 0x8363 - ("", X, 1, "GL_UNSIGNED_SHORT_5_6_5_REV"), # 0x8364 - ("", X, 1, "GL_UNSIGNED_SHORT_4_4_4_4_REV"), # 0x8365 - ("", X, 1, "GL_UNSIGNED_SHORT_1_5_5_5_REV"), # 0x8366 - ("", X, 1, "GL_UNSIGNED_INT_8_8_8_8_REV"), # 0x8367 - ("", X, 1, "GL_UNSIGNED_INT_2_10_10_10_REV"), # 0x8368 - ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_CLAMP_S_SGIX"), # 0x8369 - ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_CLAMP_T_SGIX"), # 0x836A - ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_CLAMP_R_SGIX"), # 0x836B - ("", X, 1, "GL_MIRRORED_REPEAT"), # 0x8370 - ("", X, 1, "GL_RGB_S3TC"), # 0x83A0 - ("", X, 1, "GL_RGB4_S3TC"), # 0x83A1 - ("", X, 1, "GL_RGBA_S3TC"), # 0x83A2 - ("", X, 1, "GL_RGBA4_S3TC"), # 0x83A3 - ("", X, 1, "GL_VERTEX_PRECLIP_SGIX"), # 0x83EE - ("", X, 1, "GL_VERTEX_PRECLIP_HINT_SGIX"), # 0x83EF - ("", X, 1, "GL_COMPRESSED_RGB_S3TC_DXT1_EXT"), # 0x83F0 - ("", X, 1, "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"), # 0x83F1 - ("", X, 1, "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"), # 0x83F2 - ("", X, 1, "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"), # 0x83F3 - ("", X, 1, "GL_PARALLEL_ARRAYS_INTEL"), # 0x83F4 - ("", X, 1, "GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F5 - ("", X, 1, "GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F6 - ("", X, 1, "GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F7 - ("", X, 1, "GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F8 - ("glGet", I, 1, "GL_FRAGMENT_LIGHTING_SGIX"), # 0x8400 - ("glGet", I, 1, "GL_FRAGMENT_COLOR_MATERIAL_SGIX"), # 0x8401 - ("glGet", I, 1, "GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"), # 0x8402 - ("glGet", I, 1, "GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"), # 0x8403 - ("glGet", I, 1, "GL_MAX_FRAGMENT_LIGHTS_SGIX"), # 0x8404 - ("glGet", I, 1, "GL_MAX_ACTIVE_LIGHTS_SGIX"), # 0x8405 - ("glGet", I, 1, "GL_CURRENT_RASTER_NORMAL_SGIX"), # 0x8406 - ("glGet", I, 1, "GL_LIGHT_ENV_MODE_SGIX"), # 0x8407 - ("glGet", I, 1, "GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"), # 0x8408 - ("glGet", I, 1, "GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"), # 0x8409 - ("glGet", F, 4, "GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"), # 0x840A - ("glGet", I, 1, "GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"), # 0x840B - ("glGet", I, 1, "GL_FRAGMENT_LIGHT0_SGIX"), # 0x840C - ("", X, 1, "GL_FRAGMENT_LIGHT1_SGIX"), # 0x840D - ("", X, 1, "GL_FRAGMENT_LIGHT2_SGIX"), # 0x840E - ("", X, 1, "GL_FRAGMENT_LIGHT3_SGIX"), # 0x840F - ("", X, 1, "GL_FRAGMENT_LIGHT4_SGIX"), # 0x8410 - ("", X, 1, "GL_FRAGMENT_LIGHT5_SGIX"), # 0x8411 - ("", X, 1, "GL_FRAGMENT_LIGHT6_SGIX"), # 0x8412 - ("", X, 1, "GL_FRAGMENT_LIGHT7_SGIX"), # 0x8413 - ("", X, 1, "GL_PACK_RESAMPLE_SGIX"), # 0x842C - ("", X, 1, "GL_UNPACK_RESAMPLE_SGIX"), # 0x842D - ("", X, 1, "GL_RESAMPLE_REPLICATE_SGIX"), # 0x842E - ("", X, 1, "GL_RESAMPLE_ZERO_FILL_SGIX"), # 0x842F - ("", X, 1, "GL_RESAMPLE_DECIMATE_SGIX"), # 0x8430 - ("", X, 1, "GL_TANGENT_ARRAY_EXT"), # 0x8439 - ("", X, 1, "GL_BINORMAL_ARRAY_EXT"), # 0x843A - ("", X, 1, "GL_CURRENT_TANGENT_EXT"), # 0x843B - ("", X, 1, "GL_CURRENT_BINORMAL_EXT"), # 0x843C - ("glGet", E, 1, "GL_TANGENT_ARRAY_TYPE_EXT"), # 0x843E - ("", X, 1, "GL_TANGENT_ARRAY_STRIDE_EXT"), # 0x843F - ("glGet", E, 1, "GL_BINORMAL_ARRAY_TYPE_EXT"), # 0x8440 - ("", X, 1, "GL_BINORMAL_ARRAY_STRIDE_EXT"), # 0x8441 - ("glGet", P, 1, "GL_TANGENT_ARRAY_POINTER_EXT"), # 0x8442 - ("glGet", P, 1, "GL_BINORMAL_ARRAY_POINTER_EXT"), # 0x8443 - ("", X, 1, "GL_MAP1_TANGENT_EXT"), # 0x8444 - ("", X, 1, "GL_MAP2_TANGENT_EXT"), # 0x8445 - ("", X, 1, "GL_MAP1_BINORMAL_EXT"), # 0x8446 - ("", X, 1, "GL_MAP2_BINORMAL_EXT"), # 0x8447 - ("", X, 1, "GL_NEAREST_CLIPMAP_NEAREST_SGIX"), # 0x844D - ("", X, 1, "GL_NEAREST_CLIPMAP_LINEAR_SGIX"), # 0x844E - ("", X, 1, "GL_LINEAR_CLIPMAP_NEAREST_SGIX"), # 0x844F - ("glGet", E, 1, "GL_FOG_COORD_SRC"), # 0x8450 - ("", X, 1, "GL_FOG_COORD"), # 0x8451 - ("", X, 1, "GL_FRAGMENT_DEPTH"), # 0x8452 - ("glGet", F, 1, "GL_CURRENT_FOG_COORD"), # 0x8453 - ("glGet", E, 1, "GL_FOG_COORD_ARRAY_TYPE"), # 0x8454 - ("glGet", I, 1, "GL_FOG_COORD_ARRAY_STRIDE"), # 0x8455 - ("", X, 1, "GL_FOG_COORD_ARRAY_POINTER"), # 0x8456 - ("glGet", B, 1, "GL_FOG_COORD_ARRAY"), # 0x8457 - ("glGet", B, 1, "GL_COLOR_SUM"), # 0x8458 - ("glGet", F, 3, "GL_CURRENT_SECONDARY_COLOR"), # 0x8459 - ("glGet", I, 1, "GL_SECONDARY_COLOR_ARRAY_SIZE"), # 0x845A - ("glGet", E, 1, "GL_SECONDARY_COLOR_ARRAY_TYPE"), # 0x845B - ("glGet", I, 1, "GL_SECONDARY_COLOR_ARRAY_STRIDE"), # 0x845C - ("", X, 1, "GL_SECONDARY_COLOR_ARRAY_POINTER"), # 0x845D - ("glGet", B, 1, "GL_SECONDARY_COLOR_ARRAY"), # 0x845E - ("", X, 1, "GL_CURRENT_RASTER_SECONDARY_COLOR"), # 0x845F - ("glGet", F, 2, "GL_ALIASED_POINT_SIZE_RANGE"), # 0x846D - ("glGet", F, 2, "GL_ALIASED_LINE_WIDTH_RANGE"), # 0x846E - ("", X, 1, "GL_SCREEN_COORDINATES_REND"), # 0x8490 - ("", X, 1, "GL_INVERTED_SCREEN_W_REND"), # 0x8491 - ("", X, 1, "GL_TEXTURE0"), # 0x84C0 - ("", X, 1, "GL_TEXTURE1"), # 0x84C1 - ("", X, 1, "GL_TEXTURE2"), # 0x84C2 - ("", X, 1, "GL_TEXTURE3"), # 0x84C3 - ("", X, 1, "GL_TEXTURE4"), # 0x84C4 - ("", X, 1, "GL_TEXTURE5"), # 0x84C5 - ("", X, 1, "GL_TEXTURE6"), # 0x84C6 - ("", X, 1, "GL_TEXTURE7"), # 0x84C7 - ("", X, 1, "GL_TEXTURE8"), # 0x84C8 - ("", X, 1, "GL_TEXTURE9"), # 0x84C9 - ("", X, 1, "GL_TEXTURE10"), # 0x84CA - ("", X, 1, "GL_TEXTURE11"), # 0x84CB - ("", X, 1, "GL_TEXTURE12"), # 0x84CC - ("", X, 1, "GL_TEXTURE13"), # 0x84CD - ("", X, 1, "GL_TEXTURE14"), # 0x84CE - ("", X, 1, "GL_TEXTURE15"), # 0x84CF - ("", X, 1, "GL_TEXTURE16"), # 0x84D0 - ("", X, 1, "GL_TEXTURE17"), # 0x84D1 - ("", X, 1, "GL_TEXTURE18"), # 0x84D2 - ("", X, 1, "GL_TEXTURE19"), # 0x84D3 - ("", X, 1, "GL_TEXTURE20"), # 0x84D4 - ("", X, 1, "GL_TEXTURE21"), # 0x84D5 - ("", X, 1, "GL_TEXTURE22"), # 0x84D6 - ("", X, 1, "GL_TEXTURE23"), # 0x84D7 - ("", X, 1, "GL_TEXTURE24"), # 0x84D8 - ("", X, 1, "GL_TEXTURE25"), # 0x84D9 - ("", X, 1, "GL_TEXTURE26"), # 0x84DA - ("", X, 1, "GL_TEXTURE27"), # 0x84DB - ("", X, 1, "GL_TEXTURE28"), # 0x84DC - ("", X, 1, "GL_TEXTURE29"), # 0x84DD - ("", X, 1, "GL_TEXTURE30"), # 0x84DE - ("", X, 1, "GL_TEXTURE31"), # 0x84DF - ("glGet", E, 1, "GL_ACTIVE_TEXTURE"), # 0x84E0 - ("glGet", E, 1, "GL_CLIENT_ACTIVE_TEXTURE"), # 0x84E1 - ("glGet", I, 1, "GL_MAX_TEXTURE_UNITS"), # 0x84E2 - ("glGet", F, 16, "GL_TRANSPOSE_MODELVIEW_MATRIX"), # 0x84E3 - ("glGet", F, 16, "GL_TRANSPOSE_PROJECTION_MATRIX"), # 0x84E4 - ("glGet", F, 16, "GL_TRANSPOSE_TEXTURE_MATRIX"), # 0x84E5 - ("glGet", F, 16, "GL_TRANSPOSE_COLOR_MATRIX"), # 0x84E6 - ("", X, 1, "GL_SUBTRACT"), # 0x84E7 - ("glGet", I, 1, "GL_MAX_RENDERBUFFER_SIZE"), # 0x84E8 - ("", X, 1, "GL_COMPRESSED_ALPHA"), # 0x84E9 - ("", X, 1, "GL_COMPRESSED_LUMINANCE"), # 0x84EA - ("", X, 1, "GL_COMPRESSED_LUMINANCE_ALPHA"), # 0x84EB - ("", X, 1, "GL_COMPRESSED_INTENSITY"), # 0x84EC - ("", X, 1, "GL_COMPRESSED_RGB"), # 0x84ED - ("", X, 1, "GL_COMPRESSED_RGBA"), # 0x84EE - ("glGet", E, 1, "GL_TEXTURE_COMPRESSION_HINT"), # 0x84EF - ("", X, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"), # 0x84F0 - ("", X, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"), # 0x84F1 - ("", X, 1, "GL_ALL_COMPLETED_NV"), # 0x84F2 - ("", X, 1, "GL_FENCE_STATUS_NV"), # 0x84F3 - ("", X, 1, "GL_FENCE_CONDITION_NV"), # 0x84F4 - ("_glGet", B, 1, "GL_TEXTURE_RECTANGLE"), # 0x84F5 - ("_glGet", I, 1, "GL_TEXTURE_BINDING_RECTANGLE"), # 0x84F6 - ("", X, 1, "GL_PROXY_TEXTURE_RECTANGLE"), # 0x84F7 - ("glGet", I, 1, "GL_MAX_RECTANGLE_TEXTURE_SIZE"), # 0x84F8 - ("", X, 1, "GL_DEPTH_STENCIL"), # 0x84F9 - ("", X, 1, "GL_UNSIGNED_INT_24_8"), # 0x84FA - ("glGet", F, 1, "GL_MAX_TEXTURE_LOD_BIAS"), # 0x84FD - ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_ANISOTROPY_EXT"), # 0x84FE - ("glGet", F, 1, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"), # 0x84FF - ("glGetTexEnv", E, 1, "GL_TEXTURE_FILTER_CONTROL"), # 0x8500 - ("glGetTexParameter,glGetTexEnv", F, 1, "GL_TEXTURE_LOD_BIAS"), # 0x8501 - ("", X, 1, "GL_MODELVIEW1_STACK_DEPTH_EXT"), # 0x8502 - ("", X, 1, "GL_COMBINE4_NV"), # 0x8503 - ("glGet", F, 1, "GL_MAX_SHININESS_NV"), # 0x8504 - ("glGet", F, 1, "GL_MAX_SPOT_EXPONENT_NV"), # 0x8505 - ("", X, 1, "GL_MODELVIEW1_MATRIX_EXT"), # 0x8506 - ("", X, 1, "GL_INCR_WRAP"), # 0x8507 - ("", X, 1, "GL_DECR_WRAP"), # 0x8508 - ("", X, 1, "GL_VERTEX_WEIGHTING_EXT"), # 0x8509 - ("", X, 1, "GL_MODELVIEW1_ARB"), # 0x850A - ("", X, 1, "GL_CURRENT_VERTEX_WEIGHT_EXT"), # 0x850B - ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_EXT"), # 0x850C - ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"), # 0x850D - ("glGet", E, 1, "GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"), # 0x850E - ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"), # 0x850F - ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"), # 0x8510 - ("", X, 1, "GL_NORMAL_MAP"), # 0x8511 - ("", X, 1, "GL_REFLECTION_MAP"), # 0x8512 - ("_glGet", B, 1, "GL_TEXTURE_CUBE_MAP"), # 0x8513 - ("_glGet", I, 1, "GL_TEXTURE_BINDING_CUBE_MAP"), # 0x8514 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_POSITIVE_X"), # 0x8515 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_NEGATIVE_X"), # 0x8516 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_POSITIVE_Y"), # 0x8517 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"), # 0x8518 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_POSITIVE_Z"), # 0x8519 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"), # 0x851A - ("", X, 1, "GL_PROXY_TEXTURE_CUBE_MAP"), # 0x851B - ("glGet", I, 1, "GL_MAX_CUBE_MAP_TEXTURE_SIZE"), # 0x851C - ("_glGet", B, 1, "GL_VERTEX_ARRAY_RANGE_NV"), # 0x851D - ("_glGet", I, 1, "GL_VERTEX_ARRAY_RANGE_LENGTH_NV"), # 0x851E - ("_glGet", B, 1, "GL_VERTEX_ARRAY_RANGE_VALID_NV"), # 0x851F - ("_glGet", I, 1, "GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"), # 0x8520 - ("_glGet", P, 1, "GL_VERTEX_ARRAY_RANGE_POINTER_NV"), # 0x8521 - ("", X, 1, "GL_REGISTER_COMBINERS_NV"), # 0x8522 - ("", X, 1, "GL_VARIABLE_A_NV"), # 0x8523 - ("", X, 1, "GL_VARIABLE_B_NV"), # 0x8524 - ("", X, 1, "GL_VARIABLE_C_NV"), # 0x8525 - ("", X, 1, "GL_VARIABLE_D_NV"), # 0x8526 - ("", X, 1, "GL_VARIABLE_E_NV"), # 0x8527 - ("", X, 1, "GL_VARIABLE_F_NV"), # 0x8528 - ("", X, 1, "GL_VARIABLE_G_NV"), # 0x8529 - ("glGet", F, 4, "GL_CONSTANT_COLOR0_NV"), # 0x852A - ("glGet", F, 4, "GL_CONSTANT_COLOR1_NV"), # 0x852B - ("", X, 1, "GL_PRIMARY_COLOR_NV"), # 0x852C - ("", X, 1, "GL_SECONDARY_COLOR_NV"), # 0x852D - ("", X, 1, "GL_SPARE0_NV"), # 0x852E - ("", X, 1, "GL_SPARE1_NV"), # 0x852F - ("", X, 1, "GL_DISCARD_NV"), # 0x8530 - ("", X, 1, "GL_E_TIMES_F_NV"), # 0x8531 - ("", X, 1, "GL_SPARE0_PLUS_SECONDARY_COLOR_NV"), # 0x8532 - ("", X, 1, "GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"), # 0x8533 - ("glGet", E, 1, "GL_MULTISAMPLE_FILTER_HINT_NV"), # 0x8534 - ("", X, 1, "GL_PER_STAGE_CONSTANTS_NV"), # 0x8535 - ("", X, 1, "GL_UNSIGNED_IDENTITY_NV"), # 0x8536 - ("", X, 1, "GL_UNSIGNED_INVERT_NV"), # 0x8537 - ("", X, 1, "GL_EXPAND_NORMAL_NV"), # 0x8538 - ("", X, 1, "GL_EXPAND_NEGATE_NV"), # 0x8539 - ("", X, 1, "GL_HALF_BIAS_NORMAL_NV"), # 0x853A - ("", X, 1, "GL_HALF_BIAS_NEGATE_NV"), # 0x853B - ("", X, 1, "GL_SIGNED_IDENTITY_NV"), # 0x853C - ("", X, 1, "GL_SIGNED_NEGATE_NV"), # 0x853D - ("", X, 1, "GL_SCALE_BY_TWO_NV"), # 0x853E - ("", X, 1, "GL_SCALE_BY_FOUR_NV"), # 0x853F - ("", X, 1, "GL_SCALE_BY_ONE_HALF_NV"), # 0x8540 - ("", X, 1, "GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"), # 0x8541 - ("", X, 1, "GL_COMBINER_INPUT_NV"), # 0x8542 - ("", X, 1, "GL_COMBINER_MAPPING_NV"), # 0x8543 - ("", X, 1, "GL_COMBINER_COMPONENT_USAGE_NV"), # 0x8544 - ("", X, 1, "GL_COMBINER_AB_DOT_PRODUCT_NV"), # 0x8545 - ("", X, 1, "GL_COMBINER_CD_DOT_PRODUCT_NV"), # 0x8546 - ("", X, 1, "GL_COMBINER_MUX_SUM_NV"), # 0x8547 - ("", X, 1, "GL_COMBINER_SCALE_NV"), # 0x8548 - ("", X, 1, "GL_COMBINER_BIAS_NV"), # 0x8549 - ("", X, 1, "GL_COMBINER_AB_OUTPUT_NV"), # 0x854A - ("", X, 1, "GL_COMBINER_CD_OUTPUT_NV"), # 0x854B - ("", X, 1, "GL_COMBINER_SUM_OUTPUT_NV"), # 0x854C - ("glGet", I, 1, "GL_MAX_GENERAL_COMBINERS_NV"), # 0x854D - ("glGet", I, 1, "GL_NUM_GENERAL_COMBINERS_NV"), # 0x854E - ("glGet", B, 1, "GL_COLOR_SUM_CLAMP_NV"), # 0x854F - ("", X, 1, "GL_COMBINER0_NV"), # 0x8550 - ("", X, 1, "GL_COMBINER1_NV"), # 0x8551 - ("", X, 1, "GL_COMBINER2_NV"), # 0x8552 - ("", X, 1, "GL_COMBINER3_NV"), # 0x8553 - ("", X, 1, "GL_COMBINER4_NV"), # 0x8554 - ("", X, 1, "GL_COMBINER5_NV"), # 0x8555 - ("", X, 1, "GL_COMBINER6_NV"), # 0x8556 - ("", X, 1, "GL_COMBINER7_NV"), # 0x8557 - ("", X, 1, "GL_PRIMITIVE_RESTART_NV"), # 0x8558 - ("", X, 1, "GL_PRIMITIVE_RESTART_INDEX_NV"), # 0x8559 - ("glGet", E, 1, "GL_FOG_DISTANCE_MODE_NV"), # 0x855A - ("", X, 1, "GL_EYE_RADIAL_NV"), # 0x855B - ("", X, 1, "GL_EYE_PLANE_ABSOLUTE_NV"), # 0x855C - ("", X, 1, "GL_EMBOSS_LIGHT_NV"), # 0x855D - ("", X, 1, "GL_EMBOSS_CONSTANT_NV"), # 0x855E - ("", X, 1, "GL_EMBOSS_MAP_NV"), # 0x855F - ("", X, 1, "GL_RED_MIN_CLAMP_INGR"), # 0x8560 - ("", X, 1, "GL_GREEN_MIN_CLAMP_INGR"), # 0x8561 - ("", X, 1, "GL_BLUE_MIN_CLAMP_INGR"), # 0x8562 - ("", X, 1, "GL_ALPHA_MIN_CLAMP_INGR"), # 0x8563 - ("", X, 1, "GL_RED_MAX_CLAMP_INGR"), # 0x8564 - ("", X, 1, "GL_GREEN_MAX_CLAMP_INGR"), # 0x8565 - ("", X, 1, "GL_BLUE_MAX_CLAMP_INGR"), # 0x8566 - ("", X, 1, "GL_ALPHA_MAX_CLAMP_INGR"), # 0x8567 - ("", X, 1, "GL_INTERLACE_READ_INGR"), # 0x8568 - ("", X, 1, "GL_COMBINE"), # 0x8570 - ("glGetTexEnv", E, 1, "GL_COMBINE_RGB"), # 0x8571 - ("glGetTexEnv", E, 1, "GL_COMBINE_ALPHA"), # 0x8572 - ("glGetTexEnv", F, 1, "GL_RGB_SCALE"), # 0x8573 - ("", X, 1, "GL_ADD_SIGNED"), # 0x8574 - ("", X, 1, "GL_INTERPOLATE"), # 0x8575 - ("", X, 1, "GL_CONSTANT"), # 0x8576 - ("", X, 1, "GL_PRIMARY_COLOR"), # 0x8577 - ("", X, 1, "GL_PREVIOUS"), # 0x8578 - ("glGetTexEnv", E, 1, "GL_SRC0_RGB"), # 0x8580 - ("glGetTexEnv", E, 1, "GL_SRC1_RGB"), # 0x8581 - ("glGetTexEnv", E, 1, "GL_SRC2_RGB"), # 0x8582 - ("glGetTexEnv", E, 1, "GL_SOURCE3_RGB_NV"), # 0x8583 - ("glGetTexEnv", E, 1, "GL_SRC0_ALPHA"), # 0x8588 - ("glGetTexEnv", E, 1, "GL_SRC1_ALPHA"), # 0x8589 - ("glGetTexEnv", E, 1, "GL_SRC2_ALPHA"), # 0x858A - ("glGetTexEnv", E, 1, "GL_SOURCE3_ALPHA_NV"), # 0x858B - ("glGetTexEnv", E, 1, "GL_OPERAND0_RGB"), # 0x8590 - ("glGetTexEnv", E, 1, "GL_OPERAND1_RGB"), # 0x8591 - ("glGetTexEnv", E, 1, "GL_OPERAND2_RGB"), # 0x8592 - ("glGetTexEnv", E, 1, "GL_OPERAND3_RGB_NV"), # 0x8593 - ("glGetTexEnv", E, 1, "GL_OPERAND0_ALPHA"), # 0x8598 - ("glGetTexEnv", E, 1, "GL_OPERAND1_ALPHA"), # 0x8599 - ("glGetTexEnv", E, 1, "GL_OPERAND2_ALPHA"), # 0x859A - ("glGetTexEnv", E, 1, "GL_OPERAND3_ALPHA_NV"), # 0x859B - ("", X, 1, "GL_PACK_SUBSAMPLE_RATE_SGIX"), # 0x85A0 - ("", X, 1, "GL_UNPACK_SUBSAMPLE_RATE_SGIX"), # 0x85A1 - ("", X, 1, "GL_PIXEL_SUBSAMPLE_4444_SGIX"), # 0x85A2 - ("", X, 1, "GL_PIXEL_SUBSAMPLE_2424_SGIX"), # 0x85A3 - ("", X, 1, "GL_PIXEL_SUBSAMPLE_4242_SGIX"), # 0x85A4 - ("", X, 1, "GL_PERTURB_EXT"), # 0x85AE - ("", X, 1, "GL_TEXTURE_NORMAL_EXT"), # 0x85AF - ("", X, 1, "GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE"), # 0x85B0 - ("", X, 1, "GL_TRANSFORM_HINT_APPLE"), # 0x85B1 - ("", X, 1, "GL_UNPACK_CLIENT_STORAGE_APPLE"), # 0x85B2 - ("", X, 1, "GL_BUFFER_OBJECT_APPLE"), # 0x85B3 - ("", X, 1, "GL_STORAGE_CLIENT_APPLE"), # 0x85B4 - ("glGet", I, 1, "GL_VERTEX_ARRAY_BINDING"), # 0x85B5 - ("glGetTexParameter", X, 1, "GL_TEXTURE_RANGE_LENGTH_APPLE"), # 0x85B7 - ("", P, 1, "GL_TEXTURE_RANGE_POINTER_APPLE"), # 0x85B8 - ("", X, 1, "GL_YCBCR_422_APPLE"), # 0x85B9 - ("", X, 1, "GL_UNSIGNED_SHORT_8_8_MESA"), # 0x85BA - ("", X, 1, "GL_UNSIGNED_SHORT_8_8_REV_MESA"), # 0x85BB - ("glGetTexParameter", E, 1, "GL_TEXTURE_STORAGE_HINT_APPLE"), # 0x85BC - ("", X, 1, "GL_STORAGE_PRIVATE_APPLE"), # 0x85BD - ("", X, 1, "GL_STORAGE_CACHED_APPLE"), # 0x85BE - ("", X, 1, "GL_STORAGE_SHARED_APPLE"), # 0x85BF - ("", X, 1, "GL_REPLACEMENT_CODE_ARRAY_SUN"), # 0x85C0 - ("glGet", E, 1, "GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"), # 0x85C1 - ("", X, 1, "GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"), # 0x85C2 - ("", X, 1, "GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"), # 0x85C3 - ("", X, 1, "GL_R1UI_V3F_SUN"), # 0x85C4 - ("", X, 1, "GL_R1UI_C4UB_V3F_SUN"), # 0x85C5 - ("", X, 1, "GL_R1UI_C3F_V3F_SUN"), # 0x85C6 - ("", X, 1, "GL_R1UI_N3F_V3F_SUN"), # 0x85C7 - ("", X, 1, "GL_R1UI_C4F_N3F_V3F_SUN"), # 0x85C8 - ("", X, 1, "GL_R1UI_T2F_V3F_SUN"), # 0x85C9 - ("", X, 1, "GL_R1UI_T2F_N3F_V3F_SUN"), # 0x85CA - ("", X, 1, "GL_R1UI_T2F_C4F_N3F_V3F_SUN"), # 0x85CB - ("", X, 1, "GL_SLICE_ACCUM_SUN"), # 0x85CC - ("", X, 1, "GL_QUAD_MESH_SUN"), # 0x8614 - ("", X, 1, "GL_TRIANGLE_MESH_SUN"), # 0x8615 - ("_glGet", B, 1, "GL_VERTEX_PROGRAM_ARB"), # 0x8620 - ("", X, 1, "GL_VERTEX_STATE_PROGRAM_NV"), # 0x8621 - ("glGetVertexAttrib", B, 1, "GL_VERTEX_ATTRIB_ARRAY_ENABLED"), # 0x8622 - ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_SIZE"), # 0x8623 - ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_STRIDE"), # 0x8624 - ("glGetVertexAttrib", E, 1, "GL_VERTEX_ATTRIB_ARRAY_TYPE"), # 0x8625 - ("glGetVertexAttrib", D, 4, "GL_CURRENT_VERTEX_ATTRIB"), # 0x8626 - ("glGetProgramARB", I, 1, "GL_PROGRAM_LENGTH_ARB"), # 0x8627 - ("", S, 1, "GL_PROGRAM_STRING_ARB"), # 0x8628 - ("", X, 1, "GL_MODELVIEW_PROJECTION_NV"), # 0x8629 - ("", X, 1, "GL_IDENTITY_NV"), # 0x862A - ("", X, 1, "GL_INVERSE_NV"), # 0x862B - ("", X, 1, "GL_TRANSPOSE_NV"), # 0x862C - ("", X, 1, "GL_INVERSE_TRANSPOSE_NV"), # 0x862D - ("glGet", I, 1, "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"), # 0x862E - ("glGet", I, 1, "GL_MAX_PROGRAM_MATRICES_ARB"), # 0x862F - ("", X, 1, "GL_MATRIX0_NV"), # 0x8630 - ("", X, 1, "GL_MATRIX1_NV"), # 0x8631 - ("", X, 1, "GL_MATRIX2_NV"), # 0x8632 - ("", X, 1, "GL_MATRIX3_NV"), # 0x8633 - ("", X, 1, "GL_MATRIX4_NV"), # 0x8634 - ("", X, 1, "GL_MATRIX5_NV"), # 0x8635 - ("", X, 1, "GL_MATRIX6_NV"), # 0x8636 - ("", X, 1, "GL_MATRIX7_NV"), # 0x8637 - ("glGet", I, 1, "GL_CURRENT_MATRIX_STACK_DEPTH_ARB"), # 0x8640 - ("glGet", F, 16, "GL_CURRENT_MATRIX_ARB"), # 0x8641 - ("glGet", B, 1, "GL_PROGRAM_POINT_SIZE"), # 0x8642 - ("glGet", B, 1, "GL_VERTEX_PROGRAM_TWO_SIDE"), # 0x8643 - ("", X, 1, "GL_PROGRAM_PARAMETER_NV"), # 0x8644 - ("glGetVertexAttrib", P, 1, "GL_VERTEX_ATTRIB_ARRAY_POINTER"), # 0x8645 - ("glGetProgramNV", I, 1, "GL_PROGRAM_TARGET_NV"), # 0x8646 - ("glGetProgramNV", B, 1, "GL_PROGRAM_RESIDENT_NV"), # 0x8647 - ("", X, 1, "GL_TRACK_MATRIX_NV"), # 0x8648 - ("", X, 1, "GL_TRACK_MATRIX_TRANSFORM_NV"), # 0x8649 - ("glGet", I, 1, "GL_VERTEX_PROGRAM_BINDING_NV"), # 0x864A - ("glGet", I, 1, "GL_PROGRAM_ERROR_POSITION_ARB"), # 0x864B - ("", X, 1, "GL_OFFSET_TEXTURE_RECTANGLE_NV"), # 0x864C - ("", X, 1, "GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV"), # 0x864D - ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV"), # 0x864E - ("glGet", B, 1, "GL_DEPTH_CLAMP"), # 0x864F - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY0_NV"), # 0x8650 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY1_NV"), # 0x8651 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY2_NV"), # 0x8652 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY3_NV"), # 0x8653 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY4_NV"), # 0x8654 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY5_NV"), # 0x8655 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY6_NV"), # 0x8656 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY7_NV"), # 0x8657 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY8_NV"), # 0x8658 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY9_NV"), # 0x8659 - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY10_NV"), # 0x865A - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY11_NV"), # 0x865B - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY12_NV"), # 0x865C - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY13_NV"), # 0x865D - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY14_NV"), # 0x865E - ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY15_NV"), # 0x865F - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB0_4_NV"), # 0x8660 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB1_4_NV"), # 0x8661 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB2_4_NV"), # 0x8662 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB3_4_NV"), # 0x8663 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB4_4_NV"), # 0x8664 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB5_4_NV"), # 0x8665 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB6_4_NV"), # 0x8666 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB7_4_NV"), # 0x8667 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB8_4_NV"), # 0x8668 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB9_4_NV"), # 0x8669 - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB10_4_NV"), # 0x866A - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB11_4_NV"), # 0x866B - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB12_4_NV"), # 0x866C - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB13_4_NV"), # 0x866D - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB14_4_NV"), # 0x866E - ("", X, 1, "GL_MAP1_VERTEX_ATTRIB15_4_NV"), # 0x866F - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB0_4_NV"), # 0x8670 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB1_4_NV"), # 0x8671 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB2_4_NV"), # 0x8672 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB3_4_NV"), # 0x8673 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB4_4_NV"), # 0x8674 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB5_4_NV"), # 0x8675 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB6_4_NV"), # 0x8676 - ("glGetProgramARB", I, 1, "GL_PROGRAM_BINDING_ARB"), # 0x8677 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB8_4_NV"), # 0x8678 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB9_4_NV"), # 0x8679 - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB10_4_NV"), # 0x867A - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB11_4_NV"), # 0x867B - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB12_4_NV"), # 0x867C - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB13_4_NV"), # 0x867D - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB14_4_NV"), # 0x867E - ("", X, 1, "GL_MAP2_VERTEX_ATTRIB15_4_NV"), # 0x867F - ("", X, 1, "GL_TEXTURE_COMPRESSED_IMAGE_SIZE"), # 0x86A0 - ("glGetTexLevelParameter", B, 1, "GL_TEXTURE_COMPRESSED"), # 0x86A1 - ("", X, 1, "GL_NUM_COMPRESSED_TEXTURE_FORMATS"), # 0x86A2 - #XXX: the list is GL_NUM_COMPRESSED_TEXTURES - #("glGet", E, 1, "GL_COMPRESSED_TEXTURE_FORMATS"), # 0x86A3 - ("glGet", I, 1, "GL_MAX_VERTEX_UNITS_ARB"), # 0x86A4 - ("glGet", I, 1, "GL_ACTIVE_VERTEX_UNITS_ARB"), # 0x86A5 - ("glGet", B, 1, "GL_WEIGHT_SUM_UNITY_ARB"), # 0x86A6 - ("glGet", B, 1, "GL_VERTEX_BLEND_ARB"), # 0x86A7 - ("glGet", F, 1, "GL_CURRENT_WEIGHT_ARB"), # 0x86A8 - ("glGet", E, 1, "GL_WEIGHT_ARRAY_TYPE_ARB"), # 0x86A9 - ("glGet", I, 1, "GL_WEIGHT_ARRAY_STRIDE_ARB"), # 0x86AA - ("glGet", I, 1, "GL_WEIGHT_ARRAY_SIZE_ARB"), # 0x86AB - ("glGet", P, 1, "GL_WEIGHT_ARRAY_POINTER_ARB"), # 0x86AC - ("glGet", B, 1, "GL_WEIGHT_ARRAY_ARB"), # 0x86AD - ("", X, 1, "GL_DOT3_RGB"), # 0x86AE - ("", X, 1, "GL_DOT3_RGBA"), # 0x86AF - ("", X, 1, "GL_COMPRESSED_RGB_FXT1_3DFX"), # 0x86B0 - ("", X, 1, "GL_COMPRESSED_RGBA_FXT1_3DFX"), # 0x86B1 - ("", X, 1, "GL_MULTISAMPLE_3DFX"), # 0x86B2 - ("", X, 1, "GL_SAMPLE_BUFFERS_3DFX"), # 0x86B3 - ("", X, 1, "GL_SAMPLES_3DFX"), # 0x86B4 - ("", X, 1, "GL_EVAL_2D_NV"), # 0x86C0 - ("", X, 1, "GL_EVAL_TRIANGULAR_2D_NV"), # 0x86C1 - ("", X, 1, "GL_MAP_TESSELLATION_NV"), # 0x86C2 - ("", X, 1, "GL_MAP_ATTRIB_U_ORDER_NV"), # 0x86C3 - ("", X, 1, "GL_MAP_ATTRIB_V_ORDER_NV"), # 0x86C4 - ("", X, 1, "GL_EVAL_FRACTIONAL_TESSELLATION_NV"), # 0x86C5 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB0_NV"), # 0x86C6 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB1_NV"), # 0x86C7 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB2_NV"), # 0x86C8 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB3_NV"), # 0x86C9 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB4_NV"), # 0x86CA - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB5_NV"), # 0x86CB - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB6_NV"), # 0x86CC - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB7_NV"), # 0x86CD - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB8_NV"), # 0x86CE - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB9_NV"), # 0x86CF - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB10_NV"), # 0x86D0 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB11_NV"), # 0x86D1 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB12_NV"), # 0x86D2 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB13_NV"), # 0x86D3 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB14_NV"), # 0x86D4 - ("", X, 1, "GL_EVAL_VERTEX_ATTRIB15_NV"), # 0x86D5 - ("", X, 1, "GL_MAX_MAP_TESSELLATION_NV"), # 0x86D6 - ("", X, 1, "GL_MAX_RATIONAL_EVAL_ORDER_NV"), # 0x86D7 - ("", X, 1, "GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"), # 0x86D8 - ("glGetTexEnv", E, 1, "GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV"), # 0x86D9 - ("", X, 1, "GL_UNSIGNED_INT_S8_S8_8_8_NV"), # 0x86DA - ("", X, 1, "GL_UNSIGNED_INT_8_8_S8_S8_REV_NV"), # 0x86DB - ("", X, 1, "GL_DSDT_MAG_INTENSITY_NV"), # 0x86DC - ("", X, 1, "GL_SHADER_CONSISTENT_NV"), # 0x86DD - ("", X, 1, "GL_TEXTURE_SHADER_NV"), # 0x86DE - ("glGetTexEnv", E, 1, "GL_SHADER_OPERATION_NV"), # 0x86DF - ("glGetTexEnv", E, 4, "GL_CULL_MODES_NV"), # 0x86E0 - ("glGetTexEnv", F, 4, "GL_OFFSET_TEXTURE_MATRIX_NV"), # 0x86E1 - ("glGetTexEnv", F, 1, "GL_OFFSET_TEXTURE_SCALE_NV"), # 0x86E2 - ("glGetTexEnv", F, 1, "GL_OFFSET_TEXTURE_BIAS_NV"), # 0x86E3 - ("glGetTexEnv", E, 1, "GL_PREVIOUS_TEXTURE_INPUT_NV"), # 0x86E4 - ("glGetTexEnv", F, 3, "GL_CONST_EYE_NV"), # 0x86E5 - ("", X, 1, "GL_PASS_THROUGH_NV"), # 0x86E6 - ("", X, 1, "GL_CULL_FRAGMENT_NV"), # 0x86E7 - ("", X, 1, "GL_OFFSET_TEXTURE_2D_NV"), # 0x86E8 - ("", X, 1, "GL_DEPENDENT_AR_TEXTURE_2D_NV"), # 0x86E9 - ("", X, 1, "GL_DEPENDENT_GB_TEXTURE_2D_NV"), # 0x86EA - ("", X, 1, "GL_SURFACE_STATE_NV"), # 0x86EB - ("", X, 1, "GL_DOT_PRODUCT_NV"), # 0x86EC - ("", X, 1, "GL_DOT_PRODUCT_DEPTH_REPLACE_NV"), # 0x86ED - ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_2D_NV"), # 0x86EE - ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_3D_NV"), # 0x86EF - ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV"), # 0x86F0 - ("", X, 1, "GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV"), # 0x86F1 - ("", X, 1, "GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV"), # 0x86F2 - ("", X, 1, "GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV"), # 0x86F3 - ("", X, 1, "GL_HILO_NV"), # 0x86F4 - ("", X, 1, "GL_DSDT_NV"), # 0x86F5 - ("", X, 1, "GL_DSDT_MAG_NV"), # 0x86F6 - ("", X, 1, "GL_DSDT_MAG_VIB_NV"), # 0x86F7 - ("", X, 1, "GL_HILO16_NV"), # 0x86F8 - ("", X, 1, "GL_SIGNED_HILO_NV"), # 0x86F9 - ("", X, 1, "GL_SIGNED_HILO16_NV"), # 0x86FA - ("", X, 1, "GL_SIGNED_RGBA_NV"), # 0x86FB - ("", X, 1, "GL_SIGNED_RGBA8_NV"), # 0x86FC - ("", X, 1, "GL_SURFACE_REGISTERED_NV"), # 0x86FD - ("", X, 1, "GL_SIGNED_RGB_NV"), # 0x86FE - ("", X, 1, "GL_SIGNED_RGB8_NV"), # 0x86FF - ("", X, 1, "GL_SURFACE_MAPPED_NV"), # 0x8700 - ("", X, 1, "GL_SIGNED_LUMINANCE_NV"), # 0x8701 - ("", X, 1, "GL_SIGNED_LUMINANCE8_NV"), # 0x8702 - ("", X, 1, "GL_SIGNED_LUMINANCE_ALPHA_NV"), # 0x8703 - ("", X, 1, "GL_SIGNED_LUMINANCE8_ALPHA8_NV"), # 0x8704 - ("", X, 1, "GL_SIGNED_ALPHA_NV"), # 0x8705 - ("", X, 1, "GL_SIGNED_ALPHA8_NV"), # 0x8706 - ("", X, 1, "GL_SIGNED_INTENSITY_NV"), # 0x8707 - ("", X, 1, "GL_SIGNED_INTENSITY8_NV"), # 0x8708 - ("", X, 1, "GL_DSDT8_NV"), # 0x8709 - ("", X, 1, "GL_DSDT8_MAG8_NV"), # 0x870A - ("", X, 1, "GL_DSDT8_MAG8_INTENSITY8_NV"), # 0x870B - ("", X, 1, "GL_SIGNED_RGB_UNSIGNED_ALPHA_NV"), # 0x870C - ("", X, 1, "GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"), # 0x870D - ("", X, 1, "GL_HI_SCALE_NV"), # 0x870E - ("", X, 1, "GL_LO_SCALE_NV"), # 0x870F - ("", X, 1, "GL_DS_SCALE_NV"), # 0x8710 - ("", X, 1, "GL_DT_SCALE_NV"), # 0x8711 - ("", X, 1, "GL_MAGNITUDE_SCALE_NV"), # 0x8712 - ("", X, 1, "GL_VIBRANCE_SCALE_NV"), # 0x8713 - ("", X, 1, "GL_HI_BIAS_NV"), # 0x8714 - ("", X, 1, "GL_LO_BIAS_NV"), # 0x8715 - ("", X, 1, "GL_DS_BIAS_NV"), # 0x8716 - ("", X, 1, "GL_DT_BIAS_NV"), # 0x8717 - ("", X, 1, "GL_MAGNITUDE_BIAS_NV"), # 0x8718 - ("", X, 1, "GL_VIBRANCE_BIAS_NV"), # 0x8719 - ("", X, 1, "GL_TEXTURE_BORDER_VALUES_NV"), # 0x871A - ("", X, 1, "GL_TEXTURE_HI_SIZE_NV"), # 0x871B - ("", X, 1, "GL_TEXTURE_LO_SIZE_NV"), # 0x871C - ("", X, 1, "GL_TEXTURE_DS_SIZE_NV"), # 0x871D - ("", X, 1, "GL_TEXTURE_DT_SIZE_NV"), # 0x871E - ("", X, 1, "GL_TEXTURE_MAG_SIZE_NV"), # 0x871F - ("_glGet", F, 16, "GL_MODELVIEW2_ARB"), # 0x8722 - ("_glGet", F, 16, "GL_MODELVIEW3_ARB"), # 0x8723 - ("_glGet", F, 16, "GL_MODELVIEW4_ARB"), # 0x8724 - ("_glGet", F, 16, "GL_MODELVIEW5_ARB"), # 0x8725 - ("_glGet", F, 16, "GL_MODELVIEW6_ARB"), # 0x8726 - ("_glGet", F, 16, "GL_MODELVIEW7_ARB"), # 0x8727 - ("_glGet", F, 16, "GL_MODELVIEW8_ARB"), # 0x8728 - ("_glGet", F, 16, "GL_MODELVIEW9_ARB"), # 0x8729 - ("_glGet", F, 16, "GL_MODELVIEW10_ARB"), # 0x872A - ("_glGet", F, 16, "GL_MODELVIEW11_ARB"), # 0x872B - ("_glGet", F, 16, "GL_MODELVIEW12_ARB"), # 0x872C - ("_glGet", F, 16, "GL_MODELVIEW13_ARB"), # 0x872D - ("_glGet", F, 16, "GL_MODELVIEW14_ARB"), # 0x872E - ("_glGet", F, 16, "GL_MODELVIEW15_ARB"), # 0x872F - ("_glGet", F, 16, "GL_MODELVIEW16_ARB"), # 0x8730 - ("_glGet", F, 16, "GL_MODELVIEW17_ARB"), # 0x8731 - ("_glGet", F, 16, "GL_MODELVIEW18_ARB"), # 0x8732 - ("_glGet", F, 16, "GL_MODELVIEW19_ARB"), # 0x8733 - ("_glGet", F, 16, "GL_MODELVIEW20_ARB"), # 0x8734 - ("_glGet", F, 16, "GL_MODELVIEW21_ARB"), # 0x8735 - ("_glGet", F, 16, "GL_MODELVIEW22_ARB"), # 0x8736 - ("_glGet", F, 16, "GL_MODELVIEW23_ARB"), # 0x8737 - ("_glGet", F, 16, "GL_MODELVIEW24_ARB"), # 0x8738 - ("_glGet", F, 16, "GL_MODELVIEW25_ARB"), # 0x8739 - ("_glGet", F, 16, "GL_MODELVIEW26_ARB"), # 0x873A - ("_glGet", F, 16, "GL_MODELVIEW27_ARB"), # 0x873B - ("_glGet", F, 16, "GL_MODELVIEW28_ARB"), # 0x873C - ("_glGet", F, 16, "GL_MODELVIEW29_ARB"), # 0x873D - ("_glGet", F, 16, "GL_MODELVIEW30_ARB"), # 0x873E - ("_glGet", F, 16, "GL_MODELVIEW31_ARB"), # 0x873F - ("", X, 1, "GL_DOT3_RGB_EXT"), # 0x8740 - ("", X, 1, "GL_DOT3_RGBA_EXT"), # 0x8741 - ("", X, 1, "GL_MIRROR_CLAMP_ATI"), # 0x8742 - ("", X, 1, "GL_MIRROR_CLAMP_TO_EDGE_ATI"), # 0x8743 - ("", X, 1, "GL_MODULATE_ADD_ATI"), # 0x8744 - ("", X, 1, "GL_MODULATE_SIGNED_ADD_ATI"), # 0x8745 - ("", X, 1, "GL_MODULATE_SUBTRACT_ATI"), # 0x8746 - ("", X, 1, "GL_YCBCR_MESA"), # 0x8757 - ("glGet", B, 1, "GL_PACK_INVERT_MESA"), # 0x8758 - ("", X, 1, "GL_TEXTURE_1D_STACK_MESAX"), # 0x8759 - ("", X, 1, "GL_TEXTURE_2D_STACK_MESAX"), # 0x875A - ("", X, 1, "GL_PROXY_TEXTURE_1D_STACK_MESAX"), # 0x875B - ("", X, 1, "GL_PROXY_TEXTURE_2D_STACK_MESAX"), # 0x875C - ("", X, 1, "GL_TEXTURE_1D_STACK_BINDING_MESAX"), # 0x875D - ("", X, 1, "GL_TEXTURE_2D_STACK_BINDING_MESAX"), # 0x875E - ("", X, 1, "GL_STATIC_ATI"), # 0x8760 - ("", X, 1, "GL_DYNAMIC_ATI"), # 0x8761 - ("", X, 1, "GL_PRESERVE_ATI"), # 0x8762 - ("", X, 1, "GL_DISCARD_ATI"), # 0x8763 - ("glGetBufferParameter", I, 1, "GL_BUFFER_SIZE"), # 0x8764 - ("glGetBufferParameter", E, 1, "GL_BUFFER_USAGE"), # 0x8765 - ("", X, 1, "GL_ARRAY_OBJECT_BUFFER_ATI"), # 0x8766 - ("", X, 1, "GL_ARRAY_OBJECT_OFFSET_ATI"), # 0x8767 - ("", X, 1, "GL_ELEMENT_ARRAY_ATI"), # 0x8768 - ("glGet", E, 1, "GL_ELEMENT_ARRAY_TYPE_ATI"), # 0x8769 - ("", X, 1, "GL_ELEMENT_ARRAY_POINTER_ATI"), # 0x876A - ("", X, 1, "GL_MAX_VERTEX_STREAMS_ATI"), # 0x876B - ("", X, 1, "GL_VERTEX_STREAM0_ATI"), # 0x876C - ("", X, 1, "GL_VERTEX_STREAM1_ATI"), # 0x876D - ("", X, 1, "GL_VERTEX_STREAM2_ATI"), # 0x876E - ("", X, 1, "GL_VERTEX_STREAM3_ATI"), # 0x876F - ("", X, 1, "GL_VERTEX_STREAM4_ATI"), # 0x8770 - ("", X, 1, "GL_VERTEX_STREAM5_ATI"), # 0x8771 - ("", X, 1, "GL_VERTEX_STREAM6_ATI"), # 0x8772 - ("", X, 1, "GL_VERTEX_STREAM7_ATI"), # 0x8773 - ("", X, 1, "GL_VERTEX_SOURCE_ATI"), # 0x8774 - ("", X, 1, "GL_BUMP_ROT_MATRIX_ATI"), # 0x8775 - ("", X, 1, "GL_BUMP_ROT_MATRIX_SIZE_ATI"), # 0x8776 - ("", X, 1, "GL_BUMP_NUM_TEX_UNITS_ATI"), # 0x8777 - ("", X, 1, "GL_BUMP_TEX_UNITS_ATI"), # 0x8778 - ("", X, 1, "GL_DUDV_ATI"), # 0x8779 - ("", X, 1, "GL_DU8DV8_ATI"), # 0x877A - ("", X, 1, "GL_BUMP_ENVMAP_ATI"), # 0x877B - ("glGetTexEnv", E, 1, "GL_BUMP_TARGET_ATI"), # 0x877C - ("", X, 1, "GL_VERTEX_SHADER_EXT"), # 0x8780 - ("glGet", I, 1, "GL_VERTEX_SHADER_BINDING_EXT"), # 0x8781 - ("", X, 1, "GL_OP_INDEX_EXT"), # 0x8782 - ("", X, 1, "GL_OP_NEGATE_EXT"), # 0x8783 - ("", X, 1, "GL_OP_DOT3_EXT"), # 0x8784 - ("", X, 1, "GL_OP_DOT4_EXT"), # 0x8785 - ("", X, 1, "GL_OP_MUL_EXT"), # 0x8786 - ("", X, 1, "GL_OP_ADD_EXT"), # 0x8787 - ("", X, 1, "GL_OP_MADD_EXT"), # 0x8788 - ("", X, 1, "GL_OP_FRAC_EXT"), # 0x8789 - ("", X, 1, "GL_OP_MAX_EXT"), # 0x878A - ("", X, 1, "GL_OP_MIN_EXT"), # 0x878B - ("", X, 1, "GL_OP_SET_GE_EXT"), # 0x878C - ("", X, 1, "GL_OP_SET_LT_EXT"), # 0x878D - ("", X, 1, "GL_OP_CLAMP_EXT"), # 0x878E - ("", X, 1, "GL_OP_FLOOR_EXT"), # 0x878F - ("", X, 1, "GL_OP_ROUND_EXT"), # 0x8790 - ("", X, 1, "GL_OP_EXP_BASE_2_EXT"), # 0x8791 - ("", X, 1, "GL_OP_LOG_BASE_2_EXT"), # 0x8792 - ("", X, 1, "GL_OP_POWER_EXT"), # 0x8793 - ("", X, 1, "GL_OP_RECIP_EXT"), # 0x8794 - ("", X, 1, "GL_OP_RECIP_SQRT_EXT"), # 0x8795 - ("", X, 1, "GL_OP_SUB_EXT"), # 0x8796 - ("", X, 1, "GL_OP_CROSS_PRODUCT_EXT"), # 0x8797 - ("", X, 1, "GL_OP_MULTIPLY_MATRIX_EXT"), # 0x8798 - ("", X, 1, "GL_OP_MOV_EXT"), # 0x8799 - ("", X, 1, "GL_OUTPUT_VERTEX_EXT"), # 0x879A - ("", X, 1, "GL_OUTPUT_COLOR0_EXT"), # 0x879B - ("", X, 1, "GL_OUTPUT_COLOR1_EXT"), # 0x879C - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD0_EXT"), # 0x879D - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD1_EXT"), # 0x879E - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD2_EXT"), # 0x879F - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD3_EXT"), # 0x87A0 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD4_EXT"), # 0x87A1 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD5_EXT"), # 0x87A2 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD6_EXT"), # 0x87A3 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD7_EXT"), # 0x87A4 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD8_EXT"), # 0x87A5 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD9_EXT"), # 0x87A6 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD10_EXT"), # 0x87A7 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD11_EXT"), # 0x87A8 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD12_EXT"), # 0x87A9 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD13_EXT"), # 0x87AA - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD14_EXT"), # 0x87AB - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD15_EXT"), # 0x87AC - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD16_EXT"), # 0x87AD - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD17_EXT"), # 0x87AE - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD18_EXT"), # 0x87AF - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD19_EXT"), # 0x87B0 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD20_EXT"), # 0x87B1 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD21_EXT"), # 0x87B2 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD22_EXT"), # 0x87B3 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD23_EXT"), # 0x87B4 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD24_EXT"), # 0x87B5 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD25_EXT"), # 0x87B6 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD26_EXT"), # 0x87B7 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD27_EXT"), # 0x87B8 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD28_EXT"), # 0x87B9 - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD29_EXT"), # 0x87BA - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD30_EXT"), # 0x87BB - ("", X, 1, "GL_OUTPUT_TEXTURE_COORD31_EXT"), # 0x87BC - ("", X, 1, "GL_OUTPUT_FOG_EXT"), # 0x87BD - ("", X, 1, "GL_SCALAR_EXT"), # 0x87BE - ("", X, 1, "GL_VECTOR_EXT"), # 0x87BF - ("", X, 1, "GL_MATRIX_EXT"), # 0x87C0 - ("", X, 1, "GL_VARIANT_EXT"), # 0x87C1 - ("", X, 1, "GL_INVARIANT_EXT"), # 0x87C2 - ("", X, 1, "GL_LOCAL_CONSTANT_EXT"), # 0x87C3 - ("", X, 1, "GL_LOCAL_EXT"), # 0x87C4 - ("", X, 1, "GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"), # 0x87C5 - ("", X, 1, "GL_MAX_VERTEX_SHADER_VARIANTS_EXT"), # 0x87C6 - ("", X, 1, "GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"), # 0x87C7 - ("", X, 1, "GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"), # 0x87C8 - ("", X, 1, "GL_MAX_VERTEX_SHADER_LOCALS_EXT"), # 0x87C9 - ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"), # 0x87CA - ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"), # 0x87CB - ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"), # 0x87CC - ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"), # 0x87CD - ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"), # 0x87CE - ("", X, 1, "GL_VERTEX_SHADER_INSTRUCTIONS_EXT"), # 0x87CF - ("", X, 1, "GL_VERTEX_SHADER_VARIANTS_EXT"), # 0x87D0 - ("", X, 1, "GL_VERTEX_SHADER_INVARIANTS_EXT"), # 0x87D1 - ("", X, 1, "GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"), # 0x87D2 - ("", X, 1, "GL_VERTEX_SHADER_LOCALS_EXT"), # 0x87D3 - ("", X, 1, "GL_VERTEX_SHADER_OPTIMIZED_EXT"), # 0x87D4 - ("", X, 1, "GL_X_EXT"), # 0x87D5 - ("", X, 1, "GL_Y_EXT"), # 0x87D6 - ("", X, 1, "GL_Z_EXT"), # 0x87D7 - ("", X, 1, "GL_W_EXT"), # 0x87D8 - ("", X, 1, "GL_NEGATIVE_X_EXT"), # 0x87D9 - ("", X, 1, "GL_NEGATIVE_Y_EXT"), # 0x87DA - ("", X, 1, "GL_NEGATIVE_Z_EXT"), # 0x87DB - ("", X, 1, "GL_NEGATIVE_W_EXT"), # 0x87DC - ("", X, 1, "GL_ZERO_EXT"), # 0x87DD - ("", X, 1, "GL_ONE_EXT"), # 0x87DE - ("", X, 1, "GL_NEGATIVE_ONE_EXT"), # 0x87DF - ("", X, 1, "GL_NORMALIZED_RANGE_EXT"), # 0x87E0 - ("", X, 1, "GL_FULL_RANGE_EXT"), # 0x87E1 - ("", X, 1, "GL_CURRENT_VERTEX_EXT"), # 0x87E2 - ("", X, 1, "GL_MVP_MATRIX_EXT"), # 0x87E3 - ("", X, 1, "GL_VARIANT_VALUE_EXT"), # 0x87E4 - ("", X, 1, "GL_VARIANT_DATATYPE_EXT"), # 0x87E5 - ("", X, 1, "GL_VARIANT_ARRAY_STRIDE_EXT"), # 0x87E6 - ("glGet", E, 1, "GL_VARIANT_ARRAY_TYPE_EXT"), # 0x87E7 - ("", X, 1, "GL_VARIANT_ARRAY_EXT"), # 0x87E8 - ("", X, 1, "GL_VARIANT_ARRAY_POINTER_EXT"), # 0x87E9 - ("", X, 1, "GL_INVARIANT_VALUE_EXT"), # 0x87EA - ("", X, 1, "GL_INVARIANT_DATATYPE_EXT"), # 0x87EB - ("", X, 1, "GL_LOCAL_CONSTANT_VALUE_EXT"), # 0x87EC - ("", X, 1, "GL_LOCAL_CONSTANT_DATATYPE_EXT"), # 0x87ED - ("", X, 1, "GL_PN_TRIANGLES_ATI"), # 0x87F0 - ("", X, 1, "GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"), # 0x87F1 - ("", X, 1, "GL_PN_TRIANGLES_POINT_MODE_ATI"), # 0x87F2 - ("", X, 1, "GL_PN_TRIANGLES_NORMAL_MODE_ATI"), # 0x87F3 - ("", X, 1, "GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"), # 0x87F4 - ("", X, 1, "GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"), # 0x87F5 - ("", X, 1, "GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"), # 0x87F6 - ("", X, 1, "GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"), # 0x87F7 - ("", X, 1, "GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"), # 0x87F8 - ("", X, 1, "GL_VBO_FREE_MEMORY_ATI"), # 0x87FB - ("", X, 1, "GL_TEXTURE_FREE_MEMORY_ATI"), # 0x87FC - ("", X, 1, "GL_RENDERBUFFER_FREE_MEMORY_ATI"), # 0x87FD - ("", X, 1, "GL_NUM_PROGRAM_BINARY_FORMATS"), # 0x87FE - ("", X, 1, "GL_PROGRAM_BINARY_FORMATS"), # 0x87FF - ("glGet", E, 1, "GL_STENCIL_BACK_FUNC"), # 0x8800 - ("glGet", E, 1, "GL_STENCIL_BACK_FAIL"), # 0x8801 - ("glGet", E, 1, "GL_STENCIL_BACK_PASS_DEPTH_FAIL"), # 0x8802 - ("glGet", E, 1, "GL_STENCIL_BACK_PASS_DEPTH_PASS"), # 0x8803 - ("_glGet", B, 1, "GL_FRAGMENT_PROGRAM_ARB"), # 0x8804 - ("glGetProgramARB", I, 1, "GL_PROGRAM_ALU_INSTRUCTIONS_ARB"), # 0x8805 - ("glGetProgramARB", I, 1, "GL_PROGRAM_TEX_INSTRUCTIONS_ARB"), # 0x8806 - ("glGetProgramARB", I, 1, "GL_PROGRAM_TEX_INDIRECTIONS_ARB"), # 0x8807 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"), # 0x8808 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"), # 0x8809 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"), # 0x880A - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"), # 0x880B - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"), # 0x880C - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"), # 0x880D - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"), # 0x880E - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"), # 0x880F - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"), # 0x8810 - ("", X, 1, "GL_RGBA32F"), # 0x8814 - ("", X, 1, "GL_RGB32F"), # 0x8815 - ("", X, 1, "GL_ALPHA32F_ARB"), # 0x8816 - ("", X, 1, "GL_INTENSITY32F_ARB"), # 0x8817 - ("", X, 1, "GL_LUMINANCE32F_ARB"), # 0x8818 - ("", X, 1, "GL_LUMINANCE_ALPHA32F_ARB"), # 0x8819 - ("", X, 1, "GL_RGBA16F"), # 0x881A - ("", X, 1, "GL_RGB16F"), # 0x881B - ("", X, 1, "GL_ALPHA16F_ARB"), # 0x881C - ("", X, 1, "GL_INTENSITY16F_ARB"), # 0x881D - ("", X, 1, "GL_LUMINANCE16F_ARB"), # 0x881E - ("", X, 1, "GL_LUMINANCE_ALPHA16F_ARB"), # 0x881F - ("", X, 1, "GL_RGBA_FLOAT_MODE_ARB"), # 0x8820 - ("glGet", I, 1, "GL_MAX_DRAW_BUFFERS"), # 0x8824 - ("glGet", E, 1, "GL_DRAW_BUFFER0"), # 0x8825 - ("glGet", E, 1, "GL_DRAW_BUFFER1"), # 0x8826 - ("glGet", E, 1, "GL_DRAW_BUFFER2"), # 0x8827 - ("glGet", E, 1, "GL_DRAW_BUFFER3"), # 0x8828 - ("glGet", E, 1, "GL_DRAW_BUFFER4"), # 0x8829 - ("glGet", E, 1, "GL_DRAW_BUFFER5"), # 0x882A - ("glGet", E, 1, "GL_DRAW_BUFFER6"), # 0x882B - ("glGet", E, 1, "GL_DRAW_BUFFER7"), # 0x882C - ("glGet", E, 1, "GL_DRAW_BUFFER8"), # 0x882D - ("glGet", E, 1, "GL_DRAW_BUFFER9"), # 0x882E - ("glGet", E, 1, "GL_DRAW_BUFFER10"), # 0x882F - ("glGet", E, 1, "GL_DRAW_BUFFER11"), # 0x8830 - ("glGet", E, 1, "GL_DRAW_BUFFER12"), # 0x8831 - ("glGet", E, 1, "GL_DRAW_BUFFER13"), # 0x8832 - ("glGet", E, 1, "GL_DRAW_BUFFER14"), # 0x8833 - ("glGet", E, 1, "GL_DRAW_BUFFER15"), # 0x8834 - ("", X, 1, "GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"), # 0x8835 - ("glGet", E, 1, "GL_BLEND_EQUATION_ALPHA"), # 0x883D - ("glGet", B, 1, "GL_MATRIX_PALETTE_ARB"), # 0x8840 - ("glGet", I, 1, "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"), # 0x8841 - ("glGet", I, 1, "GL_MAX_PALETTE_MATRICES_ARB"), # 0x8842 - ("glGet", I, 1, "GL_CURRENT_PALETTE_MATRIX_ARB"), # 0x8843 - ("glGet", B, 1, "GL_MATRIX_INDEX_ARRAY_ARB"), # 0x8844 - ("glGet", I, 1, "GL_CURRENT_MATRIX_INDEX_ARB"), # 0x8845 - ("glGet", I, 1, "GL_MATRIX_INDEX_ARRAY_SIZE_ARB"), # 0x8846 - ("glGet", E, 1, "GL_MATRIX_INDEX_ARRAY_TYPE_ARB"), # 0x8847 - ("glGet", I, 1, "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"), # 0x8848 - ("glGet", P, 1, "GL_MATRIX_INDEX_ARRAY_POINTER_ARB"), # 0x8849 - ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_DEPTH_SIZE"), # 0x884A - ("glGetTexParameter", E, 1, "GL_DEPTH_TEXTURE_MODE"), # 0x884B - ("glGetTexParameter", E, 1, "GL_TEXTURE_COMPARE_MODE"), # 0x884C - ("glGetTexParameter", E, 1, "GL_TEXTURE_COMPARE_FUNC"), # 0x884D - ("", X, 1, "GL_COMPARE_REF_TO_TEXTURE"), # 0x884E - ("glGet", B, 1, "GL_TEXTURE_CUBE_MAP_SEAMLESS"), # 0x884F - ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV"), # 0x8850 - ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV"), # 0x8851 - ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV"), # 0x8852 - ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV"), # 0x8853 - ("", X, 1, "GL_OFFSET_HILO_TEXTURE_2D_NV"), # 0x8854 - ("", X, 1, "GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV"), # 0x8855 - ("", X, 1, "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV"), # 0x8856 - ("", X, 1, "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV"), # 0x8857 - ("", X, 1, "GL_DEPENDENT_HILO_TEXTURE_2D_NV"), # 0x8858 - ("", X, 1, "GL_DEPENDENT_RGB_TEXTURE_3D_NV"), # 0x8859 - ("", X, 1, "GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV"), # 0x885A - ("", X, 1, "GL_DOT_PRODUCT_PASS_THROUGH_NV"), # 0x885B - ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_1D_NV"), # 0x885C - ("", X, 1, "GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV"), # 0x885D - ("", X, 1, "GL_HILO8_NV"), # 0x885E - ("", X, 1, "GL_SIGNED_HILO8_NV"), # 0x885F - ("", X, 1, "GL_FORCE_BLUE_TO_ONE_NV"), # 0x8860 - ("_glGet", B, 1, "GL_POINT_SPRITE"), # 0x8861 - ("glGetTexEnv", B, 1, "GL_COORD_REPLACE"), # 0x8862 - ("glGet", E, 1, "GL_POINT_SPRITE_R_MODE_NV"), # 0x8863 - ("glGetQuery", I, 1, "GL_QUERY_COUNTER_BITS"), # 0x8864 - ("glGetQuery", I, 1, "GL_CURRENT_QUERY"), # 0x8865 - ("glGetQueryObject", I, 1, "GL_QUERY_RESULT"), # 0x8866 - ("glGetQueryObject", B, 1, "GL_QUERY_RESULT_AVAILABLE"), # 0x8867 - ("", X, 1, "GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"), # 0x8868 - ("glGet", I, 1, "GL_MAX_VERTEX_ATTRIBS"), # 0x8869 - ("glGetVertexAttrib", B, 1, "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"), # 0x886A - ("", X, 1, "GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"), # 0x886C - ("", X, 1, "GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"), # 0x886D - ("", X, 1, "GL_DEPTH_STENCIL_TO_RGBA_NV"), # 0x886E - ("", X, 1, "GL_DEPTH_STENCIL_TO_BGRA_NV"), # 0x886F - ("", X, 1, "GL_FRAGMENT_PROGRAM_NV"), # 0x8870 - ("glGet", I, 1, "GL_MAX_TEXTURE_COORDS"), # 0x8871 - ("glGet", I, 1, "GL_MAX_TEXTURE_IMAGE_UNITS"), # 0x8872 - ("glGet", I, 1, "GL_FRAGMENT_PROGRAM_BINDING_NV"), # 0x8873 - ("glGet", S, 1, "GL_PROGRAM_ERROR_STRING_ARB"), # 0x8874 - ("", X, 1, "GL_PROGRAM_FORMAT_ASCII_ARB"), # 0x8875 - ("glGetProgramARB", E, 1, "GL_PROGRAM_FORMAT_ARB"), # 0x8876 - ("", X, 1, "GL_WRITE_PIXEL_DATA_RANGE_NV"), # 0x8878 - ("", X, 1, "GL_READ_PIXEL_DATA_RANGE_NV"), # 0x8879 - ("", X, 1, "GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"), # 0x887A - ("", X, 1, "GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"), # 0x887B - ("", X, 1, "GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"), # 0x887C - ("", X, 1, "GL_READ_PIXEL_DATA_RANGE_POINTER_NV"), # 0x887D - ("", X, 1, "GL_GEOMETRY_SHADER_INVOCATIONS"), # 0x887F - ("", X, 1, "GL_FLOAT_R_NV"), # 0x8880 - ("", X, 1, "GL_FLOAT_RG_NV"), # 0x8881 - ("", X, 1, "GL_FLOAT_RGB_NV"), # 0x8882 - ("", X, 1, "GL_FLOAT_RGBA_NV"), # 0x8883 - ("", X, 1, "GL_FLOAT_R16_NV"), # 0x8884 - ("", X, 1, "GL_FLOAT_R32_NV"), # 0x8885 - ("", X, 1, "GL_FLOAT_RG16_NV"), # 0x8886 - ("", X, 1, "GL_FLOAT_RG32_NV"), # 0x8887 - ("", X, 1, "GL_FLOAT_RGB16_NV"), # 0x8888 - ("", X, 1, "GL_FLOAT_RGB32_NV"), # 0x8889 - ("", X, 1, "GL_FLOAT_RGBA16_NV"), # 0x888A - ("", X, 1, "GL_FLOAT_RGBA32_NV"), # 0x888B - ("", X, 1, "GL_TEXTURE_FLOAT_COMPONENTS_NV"), # 0x888C - ("", X, 1, "GL_FLOAT_CLEAR_COLOR_VALUE_NV"), # 0x888D - ("", X, 1, "GL_FLOAT_RGBA_MODE_NV"), # 0x888E - ("glGetTexParameter", E, 1, "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV"), # 0x888F - ("glGet", B, 1, "GL_DEPTH_BOUNDS_TEST_EXT"), # 0x8890 - ("glGet", F, 2, "GL_DEPTH_BOUNDS_EXT"), # 0x8891 - ("", X, 1, "GL_ARRAY_BUFFER"), # 0x8892 - ("", X, 1, "GL_ELEMENT_ARRAY_BUFFER"), # 0x8893 - ("glGet", I, 1, "GL_ARRAY_BUFFER_BINDING"), # 0x8894 - ("glGet", I, 1, "GL_ELEMENT_ARRAY_BUFFER_BINDING"), # 0x8895 - ("glGet", I, 1, "GL_VERTEX_ARRAY_BUFFER_BINDING"), # 0x8896 - ("glGet", I, 1, "GL_NORMAL_ARRAY_BUFFER_BINDING"), # 0x8897 - ("glGet", I, 1, "GL_COLOR_ARRAY_BUFFER_BINDING"), # 0x8898 - ("glGet", I, 1, "GL_INDEX_ARRAY_BUFFER_BINDING"), # 0x8899 - ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"), # 0x889A - ("glGet", I, 1, "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"), # 0x889B - ("glGet", I, 1, "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"), # 0x889C - ("glGet", I, 1, "GL_FOG_COORD_ARRAY_BUFFER_BINDING"), # 0x889D - ("glGet", I, 1, "GL_WEIGHT_ARRAY_BUFFER_BINDING"), # 0x889E - ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"), # 0x889F - ("glGetProgramARB", I, 1, "GL_PROGRAM_INSTRUCTIONS_ARB"), # 0x88A0 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_INSTRUCTIONS_ARB"), # 0x88A1 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"), # 0x88A2 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"), # 0x88A3 - ("glGetProgramARB", I, 1, "GL_PROGRAM_TEMPORARIES_ARB"), # 0x88A4 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_TEMPORARIES_ARB"), # 0x88A5 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_TEMPORARIES_ARB"), # 0x88A6 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"), # 0x88A7 - ("glGetProgramARB", I, 1, "GL_PROGRAM_PARAMETERS_ARB"), # 0x88A8 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_PARAMETERS_ARB"), # 0x88A9 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_PARAMETERS_ARB"), # 0x88AA - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"), # 0x88AB - ("glGetProgramARB", I, 1, "GL_PROGRAM_ATTRIBS_ARB"), # 0x88AC - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ATTRIBS_ARB"), # 0x88AD - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_ATTRIBS_ARB"), # 0x88AE - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"), # 0x88AF - ("glGetProgramARB", I, 1, "GL_PROGRAM_ADDRESS_REGISTERS_ARB"), # 0x88B0 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"), # 0x88B1 - ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"), # 0x88B2 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"), # 0x88B3 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"), # 0x88B4 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"), # 0x88B5 - ("glGetProgramARB", B, 1, "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"), # 0x88B6 - ("glGet", E, 1, "GL_TRANSPOSE_CURRENT_MATRIX_ARB"), # 0x88B7 - ("", X, 1, "GL_READ_ONLY"), # 0x88B8 - ("", X, 1, "GL_WRITE_ONLY"), # 0x88B9 - ("", X, 1, "GL_READ_WRITE"), # 0x88BA - ("glGetBufferParameter", E, 1, "GL_BUFFER_ACCESS"), # 0x88BB - ("glGetBufferParameter", B, 1, "GL_BUFFER_MAPPED"), # 0x88BC - ("glGetBufferParameter", P, 1, "GL_BUFFER_MAP_POINTER"), # 0x88BD - ("", X, 1, "GL_WRITE_DISCARD_NV"), # 0x88BE - ("", X, 1, "GL_TIME_ELAPSED"), # 0x88BF - ("", X, 1, "GL_MATRIX0_ARB"), # 0x88C0 - ("", X, 1, "GL_MATRIX1_ARB"), # 0x88C1 - ("", X, 1, "GL_MATRIX2_ARB"), # 0x88C2 - ("", X, 1, "GL_MATRIX3_ARB"), # 0x88C3 - ("", X, 1, "GL_MATRIX4_ARB"), # 0x88C4 - ("", X, 1, "GL_MATRIX5_ARB"), # 0x88C5 - ("", X, 1, "GL_MATRIX6_ARB"), # 0x88C6 - ("", X, 1, "GL_MATRIX7_ARB"), # 0x88C7 - ("", X, 1, "GL_MATRIX8_ARB"), # 0x88C8 - ("", X, 1, "GL_MATRIX9_ARB"), # 0x88C9 - ("", X, 1, "GL_MATRIX10_ARB"), # 0x88CA - ("", X, 1, "GL_MATRIX11_ARB"), # 0x88CB - ("", X, 1, "GL_MATRIX12_ARB"), # 0x88CC - ("", X, 1, "GL_MATRIX13_ARB"), # 0x88CD - ("", X, 1, "GL_MATRIX14_ARB"), # 0x88CE - ("", X, 1, "GL_MATRIX15_ARB"), # 0x88CF - ("", X, 1, "GL_MATRIX16_ARB"), # 0x88D0 - ("", X, 1, "GL_MATRIX17_ARB"), # 0x88D1 - ("", X, 1, "GL_MATRIX18_ARB"), # 0x88D2 - ("", X, 1, "GL_MATRIX19_ARB"), # 0x88D3 - ("", X, 1, "GL_MATRIX20_ARB"), # 0x88D4 - ("", X, 1, "GL_MATRIX21_ARB"), # 0x88D5 - ("", X, 1, "GL_MATRIX22_ARB"), # 0x88D6 - ("", X, 1, "GL_MATRIX23_ARB"), # 0x88D7 - ("", X, 1, "GL_MATRIX24_ARB"), # 0x88D8 - ("", X, 1, "GL_MATRIX25_ARB"), # 0x88D9 - ("", X, 1, "GL_MATRIX26_ARB"), # 0x88DA - ("", X, 1, "GL_MATRIX27_ARB"), # 0x88DB - ("", X, 1, "GL_MATRIX28_ARB"), # 0x88DC - ("", X, 1, "GL_MATRIX29_ARB"), # 0x88DD - ("", X, 1, "GL_MATRIX30_ARB"), # 0x88DE - ("", X, 1, "GL_MATRIX31_ARB"), # 0x88DF - ("", X, 1, "GL_STREAM_DRAW"), # 0x88E0 - ("", X, 1, "GL_STREAM_READ"), # 0x88E1 - ("", X, 1, "GL_STREAM_COPY"), # 0x88E2 - ("", X, 1, "GL_STATIC_DRAW"), # 0x88E4 - ("", X, 1, "GL_STATIC_READ"), # 0x88E5 - ("", X, 1, "GL_STATIC_COPY"), # 0x88E6 - ("", X, 1, "GL_DYNAMIC_DRAW"), # 0x88E8 - ("", X, 1, "GL_DYNAMIC_READ"), # 0x88E9 - ("", X, 1, "GL_DYNAMIC_COPY"), # 0x88EA - ("", X, 1, "GL_PIXEL_PACK_BUFFER"), # 0x88EB - ("", X, 1, "GL_PIXEL_UNPACK_BUFFER"), # 0x88EC - ("glGet", I, 1, "GL_PIXEL_PACK_BUFFER_BINDING"), # 0x88ED - ("glGet", I, 1, "GL_PIXEL_UNPACK_BUFFER_BINDING"), # 0x88EF - ("", X, 1, "GL_DEPTH24_STENCIL8"), # 0x88F0 - ("", X, 1, "GL_TEXTURE_STENCIL_SIZE"), # 0x88F1 - ("", X, 1, "GL_STENCIL_TAG_BITS_EXT"), # 0x88F2 - ("", X, 1, "GL_STENCIL_CLEAR_TAG_VALUE_EXT"), # 0x88F3 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"), # 0x88F4 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_CALL_DEPTH_NV"), # 0x88F5 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_IF_DEPTH_NV"), # 0x88F6 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_LOOP_DEPTH_NV"), # 0x88F7 - ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_LOOP_COUNT_NV"), # 0x88F8 - ("", X, 1, "GL_SRC1_COLOR"), # 0x88F9 - ("", X, 1, "GL_ONE_MINUS_SRC1_COLOR"), # 0x88FA - ("", X, 1, "GL_ONE_MINUS_SRC1_ALPHA"), # 0x88FB - ("", X, 1, "GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"), # 0x88FC - ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_INTEGER"), # 0x88FD - ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_DIVISOR"), # 0x88FE - ("glGet", I, 1, "GL_MAX_ARRAY_TEXTURE_LAYERS"), # 0x88FF - ("glGet", F, 1, "GL_MIN_PROGRAM_TEXEL_OFFSET"), # 0x8904 - ("glGet", F, 1, "GL_MAX_PROGRAM_TEXEL_OFFSET"), # 0x8905 - ("", X, 1, "GL_PROGRAM_ATTRIB_COMPONENTS_NV"), # 0x8906 - ("", X, 1, "GL_PROGRAM_RESULT_COMPONENTS_NV"), # 0x8907 - ("", X, 1, "GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"), # 0x8908 - ("", X, 1, "GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"), # 0x8909 - ("glGet", B, 1, "GL_STENCIL_TEST_TWO_SIDE_EXT"), # 0x8910 - ("glGet", E, 1, "GL_ACTIVE_STENCIL_FACE_EXT"), # 0x8911 - ("", X, 1, "GL_MIRROR_CLAMP_TO_BORDER_EXT"), # 0x8912 - ("", X, 1, "GL_SAMPLES_PASSED"), # 0x8914 - ("", X, 1, "GL_GEOMETRY_VERTICES_OUT"), # 0x8916 - ("", X, 1, "GL_GEOMETRY_INPUT_TYPE"), # 0x8917 - ("", X, 1, "GL_GEOMETRY_OUTPUT_TYPE"), # 0x8918 - ("glGet", I, 1, "GL_SAMPLER_BINDING"), # 0x8919 - ("", X, 1, "GL_CLAMP_VERTEX_COLOR"), # 0x891A - ("", X, 1, "GL_CLAMP_FRAGMENT_COLOR"), # 0x891B - ("", X, 1, "GL_CLAMP_READ_COLOR"), # 0x891C - ("", X, 1, "GL_FIXED_ONLY"), # 0x891D - ("", X, 1, "GL_TESS_CONTROL_PROGRAM_NV"), # 0x891E - ("", X, 1, "GL_TESS_EVALUATION_PROGRAM_NV"), # 0x891F - ("", X, 1, "GL_FRAGMENT_SHADER_ATI"), # 0x8920 - ("", X, 1, "GL_REG_0_ATI"), # 0x8921 - ("", X, 1, "GL_REG_1_ATI"), # 0x8922 - ("", X, 1, "GL_REG_2_ATI"), # 0x8923 - ("", X, 1, "GL_REG_3_ATI"), # 0x8924 - ("", X, 1, "GL_REG_4_ATI"), # 0x8925 - ("", X, 1, "GL_REG_5_ATI"), # 0x8926 - ("", X, 1, "GL_REG_6_ATI"), # 0x8927 - ("", X, 1, "GL_REG_7_ATI"), # 0x8928 - ("", X, 1, "GL_REG_8_ATI"), # 0x8929 - ("", X, 1, "GL_REG_9_ATI"), # 0x892A - ("", X, 1, "GL_REG_10_ATI"), # 0x892B - ("", X, 1, "GL_REG_11_ATI"), # 0x892C - ("", X, 1, "GL_REG_12_ATI"), # 0x892D - ("", X, 1, "GL_REG_13_ATI"), # 0x892E - ("", X, 1, "GL_REG_14_ATI"), # 0x892F - ("", X, 1, "GL_REG_15_ATI"), # 0x8930 - ("", X, 1, "GL_REG_16_ATI"), # 0x8931 - ("", X, 1, "GL_REG_17_ATI"), # 0x8932 - ("", X, 1, "GL_REG_18_ATI"), # 0x8933 - ("", X, 1, "GL_REG_19_ATI"), # 0x8934 - ("", X, 1, "GL_REG_20_ATI"), # 0x8935 - ("", X, 1, "GL_REG_21_ATI"), # 0x8936 - ("", X, 1, "GL_REG_22_ATI"), # 0x8937 - ("", X, 1, "GL_REG_23_ATI"), # 0x8938 - ("", X, 1, "GL_REG_24_ATI"), # 0x8939 - ("", X, 1, "GL_REG_25_ATI"), # 0x893A - ("", X, 1, "GL_REG_26_ATI"), # 0x893B - ("", X, 1, "GL_REG_27_ATI"), # 0x893C - ("", X, 1, "GL_REG_28_ATI"), # 0x893D - ("", X, 1, "GL_REG_29_ATI"), # 0x893E - ("", X, 1, "GL_REG_30_ATI"), # 0x893F - ("", X, 1, "GL_REG_31_ATI"), # 0x8940 - ("", X, 1, "GL_CON_0_ATI"), # 0x8941 - ("", X, 1, "GL_CON_1_ATI"), # 0x8942 - ("", X, 1, "GL_CON_2_ATI"), # 0x8943 - ("", X, 1, "GL_CON_3_ATI"), # 0x8944 - ("", X, 1, "GL_CON_4_ATI"), # 0x8945 - ("", X, 1, "GL_CON_5_ATI"), # 0x8946 - ("", X, 1, "GL_CON_6_ATI"), # 0x8947 - ("", X, 1, "GL_CON_7_ATI"), # 0x8948 - ("", X, 1, "GL_CON_8_ATI"), # 0x8949 - ("", X, 1, "GL_CON_9_ATI"), # 0x894A - ("", X, 1, "GL_CON_10_ATI"), # 0x894B - ("", X, 1, "GL_CON_11_ATI"), # 0x894C - ("", X, 1, "GL_CON_12_ATI"), # 0x894D - ("", X, 1, "GL_CON_13_ATI"), # 0x894E - ("", X, 1, "GL_CON_14_ATI"), # 0x894F - ("", X, 1, "GL_CON_15_ATI"), # 0x8950 - ("", X, 1, "GL_CON_16_ATI"), # 0x8951 - ("", X, 1, "GL_CON_17_ATI"), # 0x8952 - ("", X, 1, "GL_CON_18_ATI"), # 0x8953 - ("", X, 1, "GL_CON_19_ATI"), # 0x8954 - ("", X, 1, "GL_CON_20_ATI"), # 0x8955 - ("", X, 1, "GL_CON_21_ATI"), # 0x8956 - ("", X, 1, "GL_CON_22_ATI"), # 0x8957 - ("", X, 1, "GL_CON_23_ATI"), # 0x8958 - ("", X, 1, "GL_CON_24_ATI"), # 0x8959 - ("", X, 1, "GL_CON_25_ATI"), # 0x895A - ("", X, 1, "GL_CON_26_ATI"), # 0x895B - ("", X, 1, "GL_CON_27_ATI"), # 0x895C - ("", X, 1, "GL_CON_28_ATI"), # 0x895D - ("", X, 1, "GL_CON_29_ATI"), # 0x895E - ("", X, 1, "GL_CON_30_ATI"), # 0x895F - ("", X, 1, "GL_CON_31_ATI"), # 0x8960 - ("", X, 1, "GL_MOV_ATI"), # 0x8961 - ("", X, 1, "GL_ADD_ATI"), # 0x8963 - ("", X, 1, "GL_MUL_ATI"), # 0x8964 - ("", X, 1, "GL_SUB_ATI"), # 0x8965 - ("", X, 1, "GL_DOT3_ATI"), # 0x8966 - ("", X, 1, "GL_DOT4_ATI"), # 0x8967 - ("", X, 1, "GL_MAD_ATI"), # 0x8968 - ("", X, 1, "GL_LERP_ATI"), # 0x8969 - ("", X, 1, "GL_CND_ATI"), # 0x896A - ("", X, 1, "GL_CND0_ATI"), # 0x896B - ("", X, 1, "GL_DOT2_ADD_ATI"), # 0x896C - ("", X, 1, "GL_SECONDARY_INTERPOLATOR_ATI"), # 0x896D - ("", X, 1, "GL_NUM_FRAGMENT_REGISTERS_ATI"), # 0x896E - ("", X, 1, "GL_NUM_FRAGMENT_CONSTANTS_ATI"), # 0x896F - ("", X, 1, "GL_NUM_PASSES_ATI"), # 0x8970 - ("", X, 1, "GL_NUM_INSTRUCTIONS_PER_PASS_ATI"), # 0x8971 - ("", X, 1, "GL_NUM_INSTRUCTIONS_TOTAL_ATI"), # 0x8972 - ("", X, 1, "GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"), # 0x8973 - ("", X, 1, "GL_NUM_LOOPBACK_COMPONENTS_ATI"), # 0x8974 - ("", X, 1, "GL_COLOR_ALPHA_PAIRING_ATI"), # 0x8975 - ("", X, 1, "GL_SWIZZLE_STR_ATI"), # 0x8976 - ("", X, 1, "GL_SWIZZLE_STQ_ATI"), # 0x8977 - ("", X, 1, "GL_SWIZZLE_STR_DR_ATI"), # 0x8978 - ("", X, 1, "GL_SWIZZLE_STQ_DQ_ATI"), # 0x8979 - ("", X, 1, "GL_SWIZZLE_STRQ_ATI"), # 0x897A - ("", X, 1, "GL_SWIZZLE_STRQ_DQ_ATI"), # 0x897B - ("", X, 1, "GL_INTERLACE_OML"), # 0x8980 - ("", X, 1, "GL_INTERLACE_READ_OML"), # 0x8981 - ("", X, 1, "GL_FORMAT_SUBSAMPLE_24_24_OML"), # 0x8982 - ("", X, 1, "GL_FORMAT_SUBSAMPLE_244_244_OML"), # 0x8983 - ("", X, 1, "GL_PACK_RESAMPLE_OML"), # 0x8984 - ("", X, 1, "GL_UNPACK_RESAMPLE_OML"), # 0x8985 - ("", X, 1, "GL_RESAMPLE_REPLICATE_OML"), # 0x8986 - ("", X, 1, "GL_RESAMPLE_ZERO_FILL_OML"), # 0x8987 - ("", X, 1, "GL_RESAMPLE_AVERAGE_OML"), # 0x8988 - ("", X, 1, "GL_RESAMPLE_DECIMATE_OML"), # 0x8989 - #("", X, 1, "GL_POINT_SIZE_ARRAY_TYPE_OES"), # 0x898A - #("", X, 1, "GL_POINT_SIZE_ARRAY_STRIDE_OES"), # 0x898B - #("", X, 1, "GL_POINT_SIZE_ARRAY_POINTER_OES"), # 0x898C - #("", X, 1, "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"), # 0x898D - #("", X, 1, "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"), # 0x898E - #("", X, 1, "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"), # 0x898F - ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_APPLE"), # 0x8A00 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_APPLE"), # 0x8A01 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"), # 0x8A02 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"), # 0x8A03 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"), # 0x8A04 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"), # 0x8A05 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"), # 0x8A06 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"), # 0x8A07 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"), # 0x8A08 - ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"), # 0x8A09 - ("", X, 1, "GL_DRAW_PIXELS_APPLE"), # 0x8A0A - ("", X, 1, "GL_FENCE_APPLE"), # 0x8A0B - ("", X, 1, "GL_ELEMENT_ARRAY_APPLE"), # 0x8A0C - ("glGet", E, 1, "GL_ELEMENT_ARRAY_TYPE_APPLE"), # 0x8A0D - ("", X, 1, "GL_ELEMENT_ARRAY_POINTER_APPLE"), # 0x8A0E - ("", X, 1, "GL_COLOR_FLOAT_APPLE"), # 0x8A0F - ("", X, 1, "GL_UNIFORM_BUFFER"), # 0x8A11 - ("", X, 1, "GL_BUFFER_SERIALIZED_MODIFY_APPLE"), # 0x8A12 - ("", X, 1, "GL_BUFFER_FLUSHING_UNMAP_APPLE"), # 0x8A13 - ("", X, 1, "GL_AUX_DEPTH_STENCIL_APPLE"), # 0x8A14 - ("", X, 1, "GL_PACK_ROW_BYTES_APPLE"), # 0x8A15 - ("", X, 1, "GL_UNPACK_ROW_BYTES_APPLE"), # 0x8A16 - ("", X, 1, "GL_RELEASED_APPLE"), # 0x8A19 - ("", X, 1, "GL_VOLATILE_APPLE"), # 0x8A1A - ("", X, 1, "GL_RETAINED_APPLE"), # 0x8A1B - ("", X, 1, "GL_UNDEFINED_APPLE"), # 0x8A1C - ("", X, 1, "GL_PURGEABLE_APPLE"), # 0x8A1D - ("", X, 1, "GL_RGB_422_APPLE"), # 0x8A1F - ("glGet", I, 1, "GL_UNIFORM_BUFFER_BINDING"), # 0x8A28 - ("glGet", I, 1, "GL_UNIFORM_BUFFER_START"), # 0x8A29 - ("glGet", I, 1, "GL_UNIFORM_BUFFER_SIZE"), # 0x8A2A - ("glGet", I, 1, "GL_MAX_VERTEX_UNIFORM_BLOCKS"), # 0x8A2B - ("glGet", I, 1, "GL_MAX_GEOMETRY_UNIFORM_BLOCKS"), # 0x8A2C - ("glGet", I, 1, "GL_MAX_FRAGMENT_UNIFORM_BLOCKS"), # 0x8A2D - ("glGet", I, 1, "GL_MAX_COMBINED_UNIFORM_BLOCKS"), # 0x8A2E - ("glGet", I, 1, "GL_MAX_UNIFORM_BUFFER_BINDINGS"), # 0x8A2F - ("glGet", I, 1, "GL_MAX_UNIFORM_BLOCK_SIZE"), # 0x8A30 - ("glGet", I, 1, "GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"), # 0x8A31 - ("glGet", I, 1, "GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"), # 0x8A32 - ("glGet", I, 1, "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"), # 0x8A33 - ("glGet", I, 1, "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"), # 0x8A34 - ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"), # 0x8A35 - ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORM_BLOCKS"), # 0x8A36 - ("glGetActiveUniforms", E, 1, "GL_UNIFORM_TYPE"), # 0x8A37 - ("glGetActiveUniforms", I, 1, "GL_UNIFORM_SIZE"), # 0x8A38 - ("glGetActiveUniforms", I, 1, "GL_UNIFORM_NAME_LENGTH"), # 0x8A39 - ("glGetActiveUniforms", I, 1, "GL_UNIFORM_BLOCK_INDEX"), # 0x8A3A - ("glGetActiveUniforms", I, 1, "GL_UNIFORM_OFFSET"), # 0x8A3B - ("glGetActiveUniforms", I, 1, "GL_UNIFORM_ARRAY_STRIDE"), # 0x8A3C - ("glGetActiveUniforms", I, 1, "GL_UNIFORM_MATRIX_STRIDE"), # 0x8A3D - ("glGetActiveUniforms", B, 1, "GL_UNIFORM_IS_ROW_MAJOR"), # 0x8A3E - ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_BINDING"), # 0x8A3F - ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_DATA_SIZE"), # 0x8A40 - ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_NAME_LENGTH"), # 0x8A41 - ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"), # 0x8A42 - ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"), # 0x8A43 - ("glGetActiveUniformBlock", B, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"), # 0x8A44 - ("glGetActiveUniformBlock", B, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"), # 0x8A45 - ("glGetActiveUniformBlock", B, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"), # 0x8A46 - ("glGetTexParameter", E, 1, "GL_TEXTURE_SRGB_DECODE_EXT"), # 0x8A48 - ("", X, 1, "GL_DECODE_EXT"), # 0x8A49 - ("", X, 1, "GL_SKIP_DECODE_EXT"), # 0x8A4A - ("", X, 1, "GL_FRAGMENT_SHADER"), # 0x8B30 - ("", X, 1, "GL_VERTEX_SHADER"), # 0x8B31 - ("", H, 1, "GL_PROGRAM_OBJECT_ARB"), # 0x8B40 - ("", X, 1, "GL_SHADER_OBJECT_ARB"), # 0x8B48 - ("glGet", I, 1, "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"), # 0x8B49 - ("glGet", I, 1, "GL_MAX_VERTEX_UNIFORM_COMPONENTS"), # 0x8B4A - ("glGet", I, 1, "GL_MAX_VARYING_COMPONENTS"), # 0x8B4B - ("glGet", I, 1, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"), # 0x8B4C - ("glGet", I, 1, "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"), # 0x8B4D - ("glGet", E, 1, "GL_OBJECT_TYPE_ARB"), # 0x8B4E - ("glGetShader", E, 1, "GL_SHADER_TYPE"), # 0x8B4F - ("", X, 1, "GL_FLOAT_VEC2"), # 0x8B50 - ("", X, 1, "GL_FLOAT_VEC3"), # 0x8B51 - ("", X, 1, "GL_FLOAT_VEC4"), # 0x8B52 - ("", X, 1, "GL_INT_VEC2"), # 0x8B53 - ("", X, 1, "GL_INT_VEC3"), # 0x8B54 - ("", X, 1, "GL_INT_VEC4"), # 0x8B55 - ("", X, 1, "GL_BOOL"), # 0x8B56 - ("", X, 1, "GL_BOOL_VEC2"), # 0x8B57 - ("", X, 1, "GL_BOOL_VEC3"), # 0x8B58 - ("", X, 1, "GL_BOOL_VEC4"), # 0x8B59 - ("", X, 1, "GL_FLOAT_MAT2"), # 0x8B5A - ("", X, 1, "GL_FLOAT_MAT3"), # 0x8B5B - ("", X, 1, "GL_FLOAT_MAT4"), # 0x8B5C - ("", X, 1, "GL_SAMPLER_1D"), # 0x8B5D - ("", X, 1, "GL_SAMPLER_2D"), # 0x8B5E - ("", X, 1, "GL_SAMPLER_3D"), # 0x8B5F - ("", X, 1, "GL_SAMPLER_CUBE"), # 0x8B60 - ("", X, 1, "GL_SAMPLER_1D_SHADOW"), # 0x8B61 - ("", X, 1, "GL_SAMPLER_2D_SHADOW"), # 0x8B62 - ("", X, 1, "GL_SAMPLER_2D_RECT"), # 0x8B63 - ("", X, 1, "GL_SAMPLER_2D_RECT_SHADOW"), # 0x8B64 - ("", X, 1, "GL_FLOAT_MAT2x3"), # 0x8B65 - ("", X, 1, "GL_FLOAT_MAT2x4"), # 0x8B66 - ("", X, 1, "GL_FLOAT_MAT3x2"), # 0x8B67 - ("", X, 1, "GL_FLOAT_MAT3x4"), # 0x8B68 - ("", X, 1, "GL_FLOAT_MAT4x2"), # 0x8B69 - ("", X, 1, "GL_FLOAT_MAT4x3"), # 0x8B6A - ("glGetShader,glGetProgram", B, 1, "GL_DELETE_STATUS"), # 0x8B80 - ("glGetShader,glGetProgram", B, 1, "GL_COMPILE_STATUS"), # 0x8B81 - ("glGetShader,glGetProgram", B, 1, "GL_LINK_STATUS"), # 0x8B82 - ("glGetShader,glGetProgram", B, 1, "GL_VALIDATE_STATUS"), # 0x8B83 - ("glGetShader,glGetProgram", I, 1, "GL_INFO_LOG_LENGTH"), # 0x8B84 - ("glGetProgram", I, 1, "GL_ATTACHED_SHADERS"), # 0x8B85 - ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORMS"), # 0x8B86 - ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORM_MAX_LENGTH"), # 0x8B87 - ("glGetShader", I, 1, "GL_SHADER_SOURCE_LENGTH"), # 0x8B88 - ("glGetProgram", I, 1, "GL_ACTIVE_ATTRIBUTES"), # 0x8B89 - ("glGetProgram", I, 1, "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"), # 0x8B8A - ("", X, 1, "GL_FRAGMENT_SHADER_DERIVATIVE_HINT"), # 0x8B8B - ("", X, 1, "GL_SHADING_LANGUAGE_VERSION"), # 0x8B8C - ("glGet", I, 1, "GL_CURRENT_PROGRAM"), # 0x8B8D - #("", X, 1, "GL_PALETTE4_RGB8_OES"), # 0x8B90 - #("", X, 1, "GL_PALETTE4_RGBA8_OES"), # 0x8B91 - #("", X, 1, "GL_PALETTE4_R5_G6_B5_OES"), # 0x8B92 - #("", X, 1, "GL_PALETTE4_RGBA4_OES"), # 0x8B93 - #("", X, 1, "GL_PALETTE4_RGB5_A1_OES"), # 0x8B94 - #("", X, 1, "GL_PALETTE8_RGB8_OES"), # 0x8B95 - #("", X, 1, "GL_PALETTE8_RGBA8_OES"), # 0x8B96 - #("", X, 1, "GL_PALETTE8_R5_G6_B5_OES"), # 0x8B97 - #("", X, 1, "GL_PALETTE8_RGBA4_OES"), # 0x8B98 - #("", X, 1, "GL_PALETTE8_RGB5_A1_OES"), # 0x8B99 - ("", X, 1, "GL_IMPLEMENTATION_COLOR_READ_TYPE"), # 0x8B9A - ("", X, 1, "GL_IMPLEMENTATION_COLOR_READ_FORMAT"), # 0x8B9B - #("", X, 1, "GL_POINT_SIZE_ARRAY_OES"), # 0x8B9C - #("", X, 1, "GL_TEXTURE_CROP_RECT_OES"), # 0x8B9D - #("", X, 1, "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"), # 0x8B9E - #("", X, 1, "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"), # 0x8B9F - #("", X, 1, "GL_FRAGMENT_PROGRAM_POSITION_MESA"), # 0x8BB0 - #("", X, 1, "GL_FRAGMENT_PROGRAM_CALLBACK_MESA"), # 0x8BB1 - #("", X, 1, "GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA"), # 0x8BB2 - #("", X, 1, "GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA"), # 0x8BB3 - #("", X, 1, "GL_VERTEX_PROGRAM_CALLBACK_MESA"), # 0x8BB4 - #("", X, 1, "GL_VERTEX_PROGRAM_POSITION_MESA"), # 0x8BB4 - #("", X, 1, "GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA"), # 0x8BB6 - #("", X, 1, "GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA"), # 0x8BB7 - ("", X, 1, "GL_COUNTER_TYPE_AMD"), # 0x8BC0 - ("", X, 1, "GL_COUNTER_RANGE_AMD"), # 0x8BC1 - ("", X, 1, "GL_UNSIGNED_INT64_AMD"), # 0x8BC2 - ("", X, 1, "GL_PERCENTAGE_AMD"), # 0x8BC3 - ("", X, 1, "GL_PERFMON_RESULT_AVAILABLE_AMD"), # 0x8BC4 - ("", X, 1, "GL_PERFMON_RESULT_SIZE_AMD"), # 0x8BC5 - ("", X, 1, "GL_PERFMON_RESULT_AMD"), # 0x8BC6 - #("", X, 1, "GL_TEXTURE_WIDTH_QCOM"), # 0x8BD2 - #("", X, 1, "GL_TEXTURE_HEIGHT_QCOM"), # 0x8BD3 - #("", X, 1, "GL_TEXTURE_DEPTH_QCOM"), # 0x8BD4 - #("", X, 1, "GL_TEXTURE_INTERNAL_FORMAT_QCOM"), # 0x8BD5 - #("", X, 1, "GL_TEXTURE_FORMAT_QCOM"), # 0x8BD6 - #("", X, 1, "GL_TEXTURE_TYPE_QCOM"), # 0x8BD7 - #("", X, 1, "GL_TEXTURE_IMAGE_VALID_QCOM"), # 0x8BD8 - #("", X, 1, "GL_TEXTURE_NUM_LEVELS_QCOM"), # 0x8BD9 - #("", X, 1, "GL_TEXTURE_TARGET_QCOM"), # 0x8BDA - #("", X, 1, "GL_TEXTURE_OBJECT_VALID_QCOM"), # 0x8BDB - #("", X, 1, "GL_STATE_RESTORE"), # 0x8BDC - #("", X, 1, "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"), # 0x8C00 - #("", X, 1, "GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"), # 0x8C01 - #("", X, 1, "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"), # 0x8C02 - #("", X, 1, "GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"), # 0x8C03 - #("", X, 1, "GL_MODULATE_COLOR_IMG"), # 0x8C04 - #("", X, 1, "GL_RECIP_ADD_SIGNED_ALPHA_IMG"), # 0x8C05 - #("", X, 1, "GL_TEXTURE_ALPHA_MODULATE_IMG"), # 0x8C06 - #("", X, 1, "GL_FACTOR_ALPHA_MODULATE_IMG"), # 0x8C07 - #("", X, 1, "GL_FRAGMENT_ALPHA_MODULATE_IMG"), # 0x8C08 - #("", X, 1, "GL_ADD_BLEND_IMG"), # 0x8C09 - #("", X, 1, "GL_SGX_BINARY_IMG"), # 0x8C0A - ("", X, 1, "GL_TEXTURE_RED_TYPE"), # 0x8C10 - ("", X, 1, "GL_TEXTURE_GREEN_TYPE"), # 0x8C11 - ("", X, 1, "GL_TEXTURE_BLUE_TYPE"), # 0x8C12 - ("", X, 1, "GL_TEXTURE_ALPHA_TYPE"), # 0x8C13 - ("", X, 1, "GL_TEXTURE_LUMINANCE_TYPE"), # 0x8C14 - ("", X, 1, "GL_TEXTURE_INTENSITY_TYPE"), # 0x8C15 - ("", X, 1, "GL_TEXTURE_DEPTH_TYPE"), # 0x8C16 - ("", X, 1, "GL_UNSIGNED_NORMALIZED"), # 0x8C17 - ("", X, 1, "GL_TEXTURE_1D_ARRAY"), # 0x8C18 - ("", X, 1, "GL_PROXY_TEXTURE_1D_ARRAY"), # 0x8C19 - ("", X, 1, "GL_TEXTURE_2D_ARRAY"), # 0x8C1A - ("", X, 1, "GL_PROXY_TEXTURE_2D_ARRAY"), # 0x8C1B - ("_glGet", I, 1, "GL_TEXTURE_BINDING_1D_ARRAY"), # 0x8C1C - ("_glGet", I, 1, "GL_TEXTURE_BINDING_2D_ARRAY"), # 0x8C1D - ("", X, 1, "GL_GEOMETRY_PROGRAM_NV"), # 0x8C26 - ("", X, 1, "GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"), # 0x8C27 - ("", X, 1, "GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"), # 0x8C28 - ("glGet", I, 1, "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"), # 0x8C29 - ("", X, 1, "GL_TEXTURE_BUFFER"), # 0x8C2A - ("", X, 1, "GL_MAX_TEXTURE_BUFFER_SIZE"), # 0x8C2B - ("", X, 1, "GL_TEXTURE_BINDING_BUFFER"), # 0x8C2C - ("glGet", I, 1, "GL_TEXTURE_BUFFER_DATA_STORE_BINDING"), # 0x8C2D - ("", X, 1, "GL_TEXTURE_BUFFER_FORMAT"), # 0x8C2E - ("", X, 1, "GL_ANY_SAMPLES_PASSED"), # 0x8C2F - ("", X, 1, "GL_SAMPLE_SHADING"), # 0x8C36 - ("", X, 1, "GL_MIN_SAMPLE_SHADING_VALUE"), # 0x8C37 - ("", X, 1, "GL_R11F_G11F_B10F"), # 0x8C3A - ("", X, 1, "GL_UNSIGNED_INT_10F_11F_11F_REV"), # 0x8C3B - ("", X, 1, "GL_RGBA_SIGNED_COMPONENTS_EXT"), # 0x8C3C - ("", X, 1, "GL_RGB9_E5"), # 0x8C3D - ("", X, 1, "GL_UNSIGNED_INT_5_9_9_9_REV"), # 0x8C3E - ("", X, 1, "GL_TEXTURE_SHARED_SIZE"), # 0x8C3F - ("", X, 1, "GL_SRGB"), # 0x8C40 - ("", X, 1, "GL_SRGB8"), # 0x8C41 - ("", X, 1, "GL_SRGB_ALPHA"), # 0x8C42 - ("", X, 1, "GL_SRGB8_ALPHA8"), # 0x8C43 - ("", X, 1, "GL_SLUMINANCE_ALPHA"), # 0x8C44 - ("", X, 1, "GL_SLUMINANCE8_ALPHA8"), # 0x8C45 - ("", X, 1, "GL_SLUMINANCE"), # 0x8C46 - ("", X, 1, "GL_SLUMINANCE8"), # 0x8C47 - ("", X, 1, "GL_COMPRESSED_SRGB"), # 0x8C48 - ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA"), # 0x8C49 - ("", X, 1, "GL_COMPRESSED_SLUMINANCE"), # 0x8C4A - ("", X, 1, "GL_COMPRESSED_SLUMINANCE_ALPHA"), # 0x8C4B - ("", X, 1, "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"), # 0x8C4C - ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"), # 0x8C4D - ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"), # 0x8C4E - ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"), # 0x8C4F - ("", X, 1, "GL_COMPRESSED_LUMINANCE_LATC1_EXT"), # 0x8C70 - ("", X, 1, "GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"), # 0x8C71 - ("", X, 1, "GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"), # 0x8C72 - ("", X, 1, "GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"), # 0x8C73 - ("", X, 1, "GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8C74 - ("", X, 1, "GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8C75 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"), # 0x8C76 - ("", X, 1, "GL_BACK_PRIMARY_COLOR_NV"), # 0x8C77 - ("", X, 1, "GL_BACK_SECONDARY_COLOR_NV"), # 0x8C78 - ("", X, 1, "GL_TEXTURE_COORD_NV"), # 0x8C79 - ("", X, 1, "GL_CLIP_DISTANCE_NV"), # 0x8C7A - ("", X, 1, "GL_VERTEX_ID_NV"), # 0x8C7B - ("", X, 1, "GL_PRIMITIVE_ID_NV"), # 0x8C7C - ("", X, 1, "GL_GENERIC_ATTRIB_NV"), # 0x8C7D - ("", X, 1, "GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"), # 0x8C7F - ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_MODE"), # 0x8C7F - ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"), # 0x8C80 - ("", X, 1, "GL_ACTIVE_VARYINGS_NV"), # 0x8C81 - ("", X, 1, "GL_ACTIVE_VARYING_MAX_LENGTH_NV"), # 0x8C82 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_VARYINGS"), # 0x8C83 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_START"), # 0x8C84 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"), # 0x8C85 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_RECORD_NV"), # 0x8C86 - ("", X, 1, "GL_PRIMITIVES_GENERATED"), # 0x8C87 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"), # 0x8C88 - ("", X, 1, "GL_RASTERIZER_DISCARD"), # 0x8C89 - ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"), # 0x8C8A - ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"), # 0x8C8B - ("", X, 1, "GL_INTERLEAVED_ATTRIBS"), # 0x8C8C - ("", X, 1, "GL_SEPARATE_ATTRIBS"), # 0x8C8D - ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER"), # 0x8C8E - ("glGet", I, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"), # 0x8C8F - #("", X, 1, "GL_ATC_RGB_AMD"), # 0x8C92 - #("", X, 1, "GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"), # 0x8C93 - ("glGet", E, 1, "GL_POINT_SPRITE_COORD_ORIGIN"), # 0x8CA0 - ("", X, 1, "GL_LOWER_LEFT"), # 0x8CA1 - ("", X, 1, "GL_UPPER_LEFT"), # 0x8CA2 - ("", X, 1, "GL_STENCIL_BACK_REF"), # 0x8CA3 - ("", X, 1, "GL_STENCIL_BACK_VALUE_MASK"), # 0x8CA4 - ("", X, 1, "GL_STENCIL_BACK_WRITEMASK"), # 0x8CA5 - ("glGet", I, 1, "GL_DRAW_FRAMEBUFFER_BINDING"), # 0x8CA6 - ("glGet", I, 1, "GL_RENDERBUFFER_BINDING"), # 0x8CA7 - ("", I, 1, "GL_READ_FRAMEBUFFER"), # 0x8CA8 - ("", I, 1, "GL_DRAW_FRAMEBUFFER"), # 0x8CA9 - ("glGet", I, 1, "GL_READ_FRAMEBUFFER_BINDING"), # 0x8CAA - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_SAMPLES"), # 0x8CAB - ("", X, 1, "GL_DEPTH_COMPONENT32F"), # 0x8CAC - ("", X, 1, "GL_DEPTH32F_STENCIL8"), # 0x8CAD - ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"), # 0x8CD0 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"), # 0x8CD1 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"), # 0x8CD2 - ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"), # 0x8CD3 - ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"), # 0x8CD4 - ("", X, 1, "GL_FRAMEBUFFER_COMPLETE"), # 0x8CD5 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"), # 0x8CD6 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"), # 0x8CD7 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"), # 0x8CD9 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"), # 0x8CDA - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"), # 0x8CDB - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"), # 0x8CDC - ("", X, 1, "GL_FRAMEBUFFER_UNSUPPORTED"), # 0x8CDD - ("glGet", I, 1, "GL_MAX_COLOR_ATTACHMENTS"), # 0x8CDF - ("", X, 1, "GL_COLOR_ATTACHMENT0"), # 0x8CE0 - ("", X, 1, "GL_COLOR_ATTACHMENT1"), # 0x8CE1 - ("", X, 1, "GL_COLOR_ATTACHMENT2"), # 0x8CE2 - ("", X, 1, "GL_COLOR_ATTACHMENT3"), # 0x8CE3 - ("", X, 1, "GL_COLOR_ATTACHMENT4"), # 0x8CE4 - ("", X, 1, "GL_COLOR_ATTACHMENT5"), # 0x8CE5 - ("", X, 1, "GL_COLOR_ATTACHMENT6"), # 0x8CE6 - ("", X, 1, "GL_COLOR_ATTACHMENT7"), # 0x8CE7 - ("", X, 1, "GL_COLOR_ATTACHMENT8"), # 0x8CE8 - ("", X, 1, "GL_COLOR_ATTACHMENT9"), # 0x8CE9 - ("", X, 1, "GL_COLOR_ATTACHMENT10"), # 0x8CEA - ("", X, 1, "GL_COLOR_ATTACHMENT11"), # 0x8CEB - ("", X, 1, "GL_COLOR_ATTACHMENT12"), # 0x8CEC - ("", X, 1, "GL_COLOR_ATTACHMENT13"), # 0x8CED - ("", X, 1, "GL_COLOR_ATTACHMENT14"), # 0x8CEE - ("", X, 1, "GL_COLOR_ATTACHMENT15"), # 0x8CEF - ("", X, 1, "GL_DEPTH_ATTACHMENT"), # 0x8D00 - ("", X, 1, "GL_STENCIL_ATTACHMENT"), # 0x8D20 - ("", X, 1, "GL_FRAMEBUFFER"), # 0x8D40 - ("", X, 1, "GL_RENDERBUFFER"), # 0x8D41 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_WIDTH"), # 0x8D42 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_HEIGHT"), # 0x8D43 - ("glGetRenderbufferParameter", E, 1, "GL_RENDERBUFFER_INTERNAL_FORMAT"), # 0x8D44 - ("", X, 1, "GL_STENCIL_INDEX1"), # 0x8D46 - ("", X, 1, "GL_STENCIL_INDEX4"), # 0x8D47 - ("", X, 1, "GL_STENCIL_INDEX8"), # 0x8D48 - ("", X, 1, "GL_STENCIL_INDEX16"), # 0x8D49 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_RED_SIZE"), # 0x8D50 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_GREEN_SIZE"), # 0x8D51 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_BLUE_SIZE"), # 0x8D52 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_ALPHA_SIZE"), # 0x8D53 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_DEPTH_SIZE"), # 0x8D54 - ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_STENCIL_SIZE"), # 0x8D55 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"), # 0x8D56 - ("glGet", I, 1, "GL_MAX_SAMPLES"), # 0x8D57 - #("", X, 1, "GL_TEXTURE_GEN_STR_OES"), # 0x8D60 - #("", X, 1, "GL_HALF_FLOAT_OES"), # 0x8D61 - #("", X, 1, "GL_RGB565_OES"), # 0x8D62 - #("", X, 1, "GL_ETC1_RGB8_OES"), # 0x8D64 - #("", X, 1, "GL_TEXTURE_EXTERNAL_OES"), # 0x8D65 - #("", X, 1, "GL_SAMPLER_EXTERNAL_OES"), # 0x8D66 - #("", X, 1, "GL_TEXTURE_BINDING_EXTERNAL_OES"), # 0x8D67 - #("", X, 1, "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"), # 0x8D68 - ("", X, 1, "GL_RGBA32UI"), # 0x8D70 - ("", X, 1, "GL_RGB32UI"), # 0x8D71 - ("", X, 1, "GL_ALPHA32UI_EXT"), # 0x8D72 - ("", X, 1, "GL_INTENSITY32UI_EXT"), # 0x8D73 - ("", X, 1, "GL_LUMINANCE32UI_EXT"), # 0x8D74 - ("", X, 1, "GL_LUMINANCE_ALPHA32UI_EXT"), # 0x8D75 - ("", X, 1, "GL_RGBA16UI"), # 0x8D76 - ("", X, 1, "GL_RGB16UI"), # 0x8D77 - ("", X, 1, "GL_ALPHA16UI_EXT"), # 0x8D78 - ("", X, 1, "GL_INTENSITY16UI_EXT"), # 0x8D79 - ("", X, 1, "GL_LUMINANCE16UI_EXT"), # 0x8D7A - ("", X, 1, "GL_LUMINANCE_ALPHA16UI_EXT"), # 0x8D7B - ("", X, 1, "GL_RGBA8UI"), # 0x8D7C - ("", X, 1, "GL_RGB8UI"), # 0x8D7D - ("", X, 1, "GL_ALPHA8UI_EXT"), # 0x8D7E - ("", X, 1, "GL_INTENSITY8UI_EXT"), # 0x8D7F - ("", X, 1, "GL_LUMINANCE8UI_EXT"), # 0x8D80 - ("", X, 1, "GL_LUMINANCE_ALPHA8UI_EXT"), # 0x8D81 - ("", X, 1, "GL_RGBA32I"), # 0x8D82 - ("", X, 1, "GL_RGB32I"), # 0x8D83 - ("", X, 1, "GL_ALPHA32I_EXT"), # 0x8D84 - ("", X, 1, "GL_INTENSITY32I_EXT"), # 0x8D85 - ("", X, 1, "GL_LUMINANCE32I_EXT"), # 0x8D86 - ("", X, 1, "GL_LUMINANCE_ALPHA32I_EXT"), # 0x8D87 - ("", X, 1, "GL_RGBA16I"), # 0x8D88 - ("", X, 1, "GL_RGB16I"), # 0x8D89 - ("", X, 1, "GL_ALPHA16I_EXT"), # 0x8D8A - ("", X, 1, "GL_INTENSITY16I_EXT"), # 0x8D8B - ("", X, 1, "GL_LUMINANCE16I_EXT"), # 0x8D8C - ("", X, 1, "GL_LUMINANCE_ALPHA16I_EXT"), # 0x8D8D - ("", X, 1, "GL_RGBA8I"), # 0x8D8E - ("", X, 1, "GL_RGB8I"), # 0x8D8F - ("", X, 1, "GL_ALPHA8I_EXT"), # 0x8D90 - ("", X, 1, "GL_INTENSITY8I_EXT"), # 0x8D91 - ("", X, 1, "GL_LUMINANCE8I_EXT"), # 0x8D92 - ("", X, 1, "GL_LUMINANCE_ALPHA8I_EXT"), # 0x8D93 - ("", X, 1, "GL_RED_INTEGER"), # 0x8D94 - ("", X, 1, "GL_GREEN_INTEGER"), # 0x8D95 - ("", X, 1, "GL_BLUE_INTEGER"), # 0x8D96 - ("", X, 1, "GL_ALPHA_INTEGER"), # 0x8D97 - ("", X, 1, "GL_RGB_INTEGER"), # 0x8D98 - ("", X, 1, "GL_RGBA_INTEGER"), # 0x8D99 - ("", X, 1, "GL_BGR_INTEGER"), # 0x8D9A - ("", X, 1, "GL_BGRA_INTEGER"), # 0x8D9B - ("", X, 1, "GL_LUMINANCE_INTEGER_EXT"), # 0x8D9C - ("", X, 1, "GL_LUMINANCE_ALPHA_INTEGER_EXT"), # 0x8D9D - ("glGet", B, 1, "GL_RGBA_INTEGER_MODE_EXT"), # 0x8D9E - ("", X, 1, "GL_INT_2_10_10_10_REV"), # 0x8D9F - ("", X, 1, "GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"), # 0x8DA0 - ("", X, 1, "GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"), # 0x8DA1 - ("", X, 1, "GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8DA2 - ("", X, 1, "GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8DA3 - ("", X, 1, "GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8DA4 - ("", X, 1, "GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"), # 0x8DA5 - ("", X, 1, "GL_MAX_PROGRAM_GENERIC_RESULTS_NV"), # 0x8DA6 - ("glGetFramebufferAttachmentParameter", B, 1, "GL_FRAMEBUFFER_ATTACHMENT_LAYERED"), # 0x8DA7 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"), # 0x8DA8 - ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"), # 0x8DA9 - ("", X, 1, "GL_LAYER_NV"), # 0x8DAA - ("", X, 1, "GL_DEPTH_COMPONENT32F_NV"), # 0x8DAB - ("", X, 1, "GL_DEPTH32F_STENCIL8_NV"), # 0x8DAC - ("", X, 1, "GL_FLOAT_32_UNSIGNED_INT_24_8_REV"), # 0x8DAD - ("", X, 1, "GL_SHADER_INCLUDE_ARB"), # 0x8DAE - ("", X, 1, "GL_DEPTH_BUFFER_FLOAT_MODE_NV"), # 0x8DAF - ("glGet", B, 1, "GL_FRAMEBUFFER_SRGB"), # 0x8DB9 - ("glGet", B, 1, "GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"), # 0x8DBA - ("", X, 1, "GL_COMPRESSED_RED_RGTC1"), # 0x8DBB - ("", X, 1, "GL_COMPRESSED_SIGNED_RED_RGTC1"), # 0x8DBC - ("", X, 1, "GL_COMPRESSED_RG_RGTC2"), # 0x8DBD - ("", X, 1, "GL_COMPRESSED_SIGNED_RG_RGTC2"), # 0x8DBE - ("", X, 1, "GL_SAMPLER_1D_ARRAY"), # 0x8DC0 - ("", X, 1, "GL_SAMPLER_2D_ARRAY"), # 0x8DC1 - ("", X, 1, "GL_SAMPLER_BUFFER"), # 0x8DC2 - ("", X, 1, "GL_SAMPLER_1D_ARRAY_SHADOW"), # 0x8DC3 - ("", X, 1, "GL_SAMPLER_2D_ARRAY_SHADOW"), # 0x8DC4 - ("", X, 1, "GL_SAMPLER_CUBE_SHADOW"), # 0x8DC5 - ("", X, 1, "GL_UNSIGNED_INT_VEC2"), # 0x8DC6 - ("", X, 1, "GL_UNSIGNED_INT_VEC3"), # 0x8DC7 - ("", X, 1, "GL_UNSIGNED_INT_VEC4"), # 0x8DC8 - ("", X, 1, "GL_INT_SAMPLER_1D"), # 0x8DC9 - ("", X, 1, "GL_INT_SAMPLER_2D"), # 0x8DCA - ("", X, 1, "GL_INT_SAMPLER_3D"), # 0x8DCB - ("", X, 1, "GL_INT_SAMPLER_CUBE"), # 0x8DCC - ("", X, 1, "GL_INT_SAMPLER_2D_RECT"), # 0x8DCD - ("", X, 1, "GL_INT_SAMPLER_1D_ARRAY"), # 0x8DCE - ("", X, 1, "GL_INT_SAMPLER_2D_ARRAY"), # 0x8DCF - ("", X, 1, "GL_INT_SAMPLER_BUFFER"), # 0x8DD0 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_1D"), # 0x8DD1 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D"), # 0x8DD2 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_3D"), # 0x8DD3 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_CUBE"), # 0x8DD4 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_RECT"), # 0x8DD5 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"), # 0x8DD6 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"), # 0x8DD7 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_BUFFER"), # 0x8DD8 - ("", X, 1, "GL_GEOMETRY_SHADER"), # 0x8DD9 - ("", X, 1, "GL_GEOMETRY_VERTICES_OUT_ARB"), # 0x8DDA - ("", X, 1, "GL_GEOMETRY_INPUT_TYPE_ARB"), # 0x8DDB - ("", X, 1, "GL_GEOMETRY_OUTPUT_TYPE_ARB"), # 0x8DDC - ("glGet", I, 1, "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"), # 0x8DDD - ("glGet", I, 1, "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"), # 0x8DDE - ("glGet", I, 1, "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"), # 0x8DDF - ("glGet", I, 1, "GL_MAX_GEOMETRY_OUTPUT_VERTICES"), # 0x8DE0 - ("glGet", I, 1, "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"), # 0x8DE1 - ("", X, 1, "GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"), # 0x8DE2 - ("", X, 1, "GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"), # 0x8DE3 - ("", X, 1, "GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"), # 0x8DE4 - ("", X, 1, "GL_ACTIVE_SUBROUTINES"), # 0x8DE5 - ("", X, 1, "GL_ACTIVE_SUBROUTINE_UNIFORMS"), # 0x8DE6 - ("", X, 1, "GL_MAX_SUBROUTINES"), # 0x8DE7 - ("", X, 1, "GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"), # 0x8DE8 - ("", X, 1, "GL_NAMED_STRING_LENGTH_ARB"), # 0x8DE9 - ("", X, 1, "GL_NAMED_STRING_TYPE_ARB"), # 0x8DEA - ("", X, 1, "GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"), # 0x8DED - ("", X, 1, "GL_UNIFORM_BUFFER_EXT"), # 0x8DEE - ("glGet", I, 1, "GL_UNIFORM_BUFFER_BINDING_EXT"), # 0x8DEF - ("", X, 1, "GL_LOW_FLOAT"), # 0x8DF0 - ("", X, 1, "GL_MEDIUM_FLOAT"), # 0x8DF1 - ("", X, 1, "GL_HIGH_FLOAT"), # 0x8DF2 - ("", X, 1, "GL_LOW_INT"), # 0x8DF3 - ("", X, 1, "GL_MEDIUM_INT"), # 0x8DF4 - ("", X, 1, "GL_HIGH_INT"), # 0x8DF5 - ("", X, 1, "GL_NUM_SHADER_BINARY_FORMATS"), # 0x8DF9 - ("", X, 1, "GL_SHADER_COMPILER"), # 0x8DFA - ("", X, 1, "GL_MAX_VERTEX_UNIFORM_VECTORS"), # 0x8DFB - ("", X, 1, "GL_MAX_VARYING_VECTORS"), # 0x8DFC - ("", X, 1, "GL_MAX_FRAGMENT_UNIFORM_VECTORS"), # 0x8DFD - ("", X, 1, "GL_RENDERBUFFER_COLOR_SAMPLES_NV"), # 0x8E10 - ("", X, 1, "GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"), # 0x8E11 - ("", X, 1, "GL_MULTISAMPLE_COVERAGE_MODES_NV"), # 0x8E12 - ("", X, 1, "GL_QUERY_WAIT"), # 0x8E13 - ("", X, 1, "GL_QUERY_NO_WAIT"), # 0x8E14 - ("", X, 1, "GL_QUERY_BY_REGION_WAIT"), # 0x8E15 - ("", X, 1, "GL_QUERY_BY_REGION_NO_WAIT"), # 0x8E16 - ("", X, 1, "GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"), # 0x8E1E - ("", X, 1, "GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"), # 0x8E1F - ("", X, 1, "GL_COLOR_SAMPLES_NV"), # 0x8E20 - ("", X, 1, "GL_TRANSFORM_FEEDBACK"), # 0x8E22 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"), # 0x8E23 - ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"), # 0x8E24 - ("glGet", I, 1, "GL_TRANSFORM_FEEDBACK_BINDING"), # 0x8E25 - ("", X, 1, "GL_FRAME_NV"), # 0x8E26 - ("", X, 1, "GL_FIELDS_NV"), # 0x8E27 - ("", X, 1, "GL_TIMESTAMP"), # 0x8E28 - ("", X, 1, "GL_NUM_FILL_STREAMS_NV"), # 0x8E29 - ("", X, 1, "GL_PRESENT_TIME_NV"), # 0x8E2A - ("", X, 1, "GL_PRESENT_DURATION_NV"), # 0x8E2B - ("", X, 1, "GL_PROGRAM_MATRIX_EXT"), # 0x8E2D - ("", X, 1, "GL_TRANSPOSE_PROGRAM_MATRIX_EXT"), # 0x8E2E - ("", X, 1, "GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"), # 0x8E2F - ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_R"), # 0x8E42 - ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_G"), # 0x8E43 - ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_B"), # 0x8E44 - ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_A"), # 0x8E45 - ("glGetTexParameter", E, 4, "GL_TEXTURE_SWIZZLE_RGBA"), # 0x8E46 - ("", X, 1, "GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"), # 0x8E47 - ("", X, 1, "GL_ACTIVE_SUBROUTINE_MAX_LENGTH"), # 0x8E48 - ("", X, 1, "GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"), # 0x8E49 - ("", X, 1, "GL_NUM_COMPATIBLE_SUBROUTINES"), # 0x8E4A - ("", X, 1, "GL_COMPATIBLE_SUBROUTINES"), # 0x8E4B - ("glGet", B, 1, "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"), # 0x8E4C - ("", X, 1, "GL_FIRST_VERTEX_CONVENTION"), # 0x8E4D - ("", X, 1, "GL_LAST_VERTEX_CONVENTION"), # 0x8E4E - ("glGet", E, 1, "GL_PROVOKING_VERTEX"), # 0x8E4F - ("", X, 1, "GL_SAMPLE_POSITION"), # 0x8E50 - ("", X, 1, "GL_SAMPLE_MASK"), # 0x8E51 - ("", X, 1, "GL_SAMPLE_MASK_VALUE"), # 0x8E52 - ("", X, 1, "GL_TEXTURE_BINDING_RENDERBUFFER_NV"), # 0x8E53 - ("glGet", I, 1, "GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"), # 0x8E54 - ("", X, 1, "GL_TEXTURE_RENDERBUFFER_NV"), # 0x8E55 - ("", X, 1, "GL_SAMPLER_RENDERBUFFER_NV"), # 0x8E56 - ("", X, 1, "GL_INT_SAMPLER_RENDERBUFFER_NV"), # 0x8E57 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"), # 0x8E58 - ("", X, 1, "GL_MAX_SAMPLE_MASK_WORDS"), # 0x8E59 - ("", X, 1, "GL_MAX_GEOMETRY_SHADER_INVOCATIONS"), # 0x8E5A - ("", X, 1, "GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"), # 0x8E5B - ("", X, 1, "GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"), # 0x8E5C - ("", X, 1, "GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"), # 0x8E5D - ("", X, 1, "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"), # 0x8E5E - ("", X, 1, "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"), # 0x8E5F - ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"), # 0x8E70 - ("", X, 1, "GL_MAX_VERTEX_STREAMS"), # 0x8E71 - ("", X, 1, "GL_PATCH_VERTICES"), # 0x8E72 - ("", F, 2, "GL_PATCH_DEFAULT_INNER_LEVEL"), # 0x8E73 - ("glGetPatchParameter", F, 4, "GL_PATCH_DEFAULT_OUTER_LEVEL"), # 0x8E74 - ("glGetPatchParameter", X, 1, "GL_TESS_CONTROL_OUTPUT_VERTICES"), # 0x8E75 - ("", X, 1, "GL_TESS_GEN_MODE"), # 0x8E76 - ("", X, 1, "GL_TESS_GEN_SPACING"), # 0x8E77 - ("", X, 1, "GL_TESS_GEN_VERTEX_ORDER"), # 0x8E78 - ("", X, 1, "GL_TESS_GEN_POINT_MODE"), # 0x8E79 - ("", X, 1, "GL_ISOLINES"), # 0x8E7A - ("", X, 1, "GL_FRACTIONAL_ODD"), # 0x8E7B - ("", X, 1, "GL_FRACTIONAL_EVEN"), # 0x8E7C - ("", X, 1, "GL_MAX_PATCH_VERTICES"), # 0x8E7D - ("", X, 1, "GL_MAX_TESS_GEN_LEVEL"), # 0x8E7E - ("", X, 1, "GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"), # 0x8E7F - ("", X, 1, "GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"), # 0x8E80 - ("", X, 1, "GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"), # 0x8E81 - ("", X, 1, "GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"), # 0x8E82 - ("", X, 1, "GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"), # 0x8E83 - ("", X, 1, "GL_MAX_TESS_PATCH_COMPONENTS"), # 0x8E84 - ("", X, 1, "GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"), # 0x8E85 - ("", X, 1, "GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"), # 0x8E86 - ("", X, 1, "GL_TESS_EVALUATION_SHADER"), # 0x8E87 - ("", X, 1, "GL_TESS_CONTROL_SHADER"), # 0x8E88 - ("", X, 1, "GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"), # 0x8E89 - ("", X, 1, "GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"), # 0x8E8A - ("", X, 1, "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"), # 0x8E8C - ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"), # 0x8E8D - ("", X, 1, "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"), # 0x8E8E - ("", X, 1, "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"), # 0x8E8F - #("", X, 1, "GL_COVERAGE_COMPONENT_NV"), # 0x8ED0 - #("", X, 1, "GL_COVERAGE_COMPONENT4_NV"), # 0x8ED1 - #("", X, 1, "GL_COVERAGE_ATTACHMENT_NV"), # 0x8ED2 - #("", X, 1, "GL_COVERAGE_BUFFERS_NV"), # 0x8ED3 - #("", X, 1, "GL_COVERAGE_SAMPLES_NV"), # 0x8ED4 - #("", X, 1, "GL_COVERAGE_ALL_FRAGMENTS_NV"), # 0x8ED5 - #("", X, 1, "GL_COVERAGE_EDGE_FRAGMENTS_NV"), # 0x8ED6 - #("", X, 1, "GL_COVERAGE_AUTOMATIC_NV"), # 0x8ED7 - ("", X, 1, "GL_BUFFER_GPU_ADDRESS_NV"), # 0x8F1D - ("", X, 1, "GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"), # 0x8F1E - ("", X, 1, "GL_ELEMENT_ARRAY_UNIFIED_NV"), # 0x8F1F - ("", X, 1, "GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"), # 0x8F20 - ("", X, 1, "GL_VERTEX_ARRAY_ADDRESS_NV"), # 0x8F21 - ("", X, 1, "GL_NORMAL_ARRAY_ADDRESS_NV"), # 0x8F22 - ("", X, 1, "GL_COLOR_ARRAY_ADDRESS_NV"), # 0x8F23 - ("", X, 1, "GL_INDEX_ARRAY_ADDRESS_NV"), # 0x8F24 - ("", X, 1, "GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"), # 0x8F25 - ("", X, 1, "GL_EDGE_FLAG_ARRAY_ADDRESS_NV"), # 0x8F26 - ("", X, 1, "GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"), # 0x8F27 - ("", X, 1, "GL_FOG_COORD_ARRAY_ADDRESS_NV"), # 0x8F28 - ("", X, 1, "GL_ELEMENT_ARRAY_ADDRESS_NV"), # 0x8F29 - ("", X, 1, "GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"), # 0x8F2A - ("", X, 1, "GL_VERTEX_ARRAY_LENGTH_NV"), # 0x8F2B - ("", X, 1, "GL_NORMAL_ARRAY_LENGTH_NV"), # 0x8F2C - ("", X, 1, "GL_COLOR_ARRAY_LENGTH_NV"), # 0x8F2D - ("", X, 1, "GL_INDEX_ARRAY_LENGTH_NV"), # 0x8F2E - ("", X, 1, "GL_TEXTURE_COORD_ARRAY_LENGTH_NV"), # 0x8F2F - ("", X, 1, "GL_EDGE_FLAG_ARRAY_LENGTH_NV"), # 0x8F30 - ("", X, 1, "GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"), # 0x8F31 - ("", X, 1, "GL_FOG_COORD_ARRAY_LENGTH_NV"), # 0x8F32 - ("", X, 1, "GL_ELEMENT_ARRAY_LENGTH_NV"), # 0x8F33 - ("", X, 1, "GL_GPU_ADDRESS_NV"), # 0x8F34 - ("", X, 1, "GL_MAX_SHADER_BUFFER_ADDRESS_NV"), # 0x8F35 - ("", X, 1, "GL_COPY_READ_BUFFER"), # 0x8F36 - ("", X, 1, "GL_COPY_WRITE_BUFFER"), # 0x8F37 - ("", X, 1, "GL_MAX_IMAGE_UNITS"), # 0x8F38 - ("", X, 1, "GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"), # 0x8F39 - ("", X, 1, "GL_IMAGE_BINDING_NAME"), # 0x8F3A - ("", X, 1, "GL_IMAGE_BINDING_LEVEL"), # 0x8F3B - ("", X, 1, "GL_IMAGE_BINDING_LAYERED"), # 0x8F3C - ("", X, 1, "GL_IMAGE_BINDING_LAYER"), # 0x8F3D - ("", X, 1, "GL_IMAGE_BINDING_ACCESS"), # 0x8F3E - ("", X, 1, "GL_DRAW_INDIRECT_BUFFER"), # 0x8F3F - ("", X, 1, "GL_DRAW_INDIRECT_UNIFIED_NV"), # 0x8F40 - ("", X, 1, "GL_DRAW_INDIRECT_ADDRESS_NV"), # 0x8F41 - ("", X, 1, "GL_DRAW_INDIRECT_LENGTH_NV"), # 0x8F42 - ("glGet", I, 1, "GL_DRAW_INDIRECT_BUFFER_BINDING"), # 0x8F43 - ("", X, 1, "GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"), # 0x8F44 - ("", X, 1, "GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"), # 0x8F45 - ("", X, 1, "GL_DOUBLE_MAT2"), # 0x8F46 - ("", X, 1, "GL_DOUBLE_MAT3"), # 0x8F47 - ("", X, 1, "GL_DOUBLE_MAT4"), # 0x8F48 - ("", X, 1, "GL_DOUBLE_MAT2x3"), # 0x8F49 - ("", X, 1, "GL_DOUBLE_MAT2x4"), # 0x8F4A - ("", X, 1, "GL_DOUBLE_MAT3x2"), # 0x8F4B - ("", X, 1, "GL_DOUBLE_MAT3x4"), # 0x8F4C - ("", X, 1, "GL_DOUBLE_MAT4x2"), # 0x8F4D - ("", X, 1, "GL_DOUBLE_MAT4x3"), # 0x8F4E - #("", X, 1, "GL_MALI_SHADER_BINARY_ARM"), # 0x8F60 - ("", X, 1, "GL_RED_SNORM"), # 0x8F90 - ("", X, 1, "GL_RG_SNORM"), # 0x8F91 - ("", X, 1, "GL_RGB_SNORM"), # 0x8F92 - ("", X, 1, "GL_RGBA_SNORM"), # 0x8F93 - ("", X, 1, "GL_R8_SNORM"), # 0x8F94 - ("", X, 1, "GL_RG8_SNORM"), # 0x8F95 - ("", X, 1, "GL_RGB8_SNORM"), # 0x8F96 - ("", X, 1, "GL_RGBA8_SNORM"), # 0x8F97 - ("", X, 1, "GL_R16_SNORM"), # 0x8F98 - ("", X, 1, "GL_RG16_SNORM"), # 0x8F99 - ("", X, 1, "GL_RGB16_SNORM"), # 0x8F9A - ("", X, 1, "GL_RGBA16_SNORM"), # 0x8F9B - ("", X, 1, "GL_SIGNED_NORMALIZED"), # 0x8F9C - ("glGet", B, 1, "GL_PRIMITIVE_RESTART"), # 0x8F9D - ("glGet", I, 1, "GL_PRIMITIVE_RESTART_INDEX"), # 0x8F9E - #("", X, 1, "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS"), # 0x8F9F - #("", X, 1, "GL_PERFMON_GLOBAL_MODE_QCOM"), # 0x8FA0 - #("", X, 1, "GL_SHADER_BINARY_VIV"), # 0x8FC4 - ("", X, 1, "GL_INT8_NV"), # 0x8FE0 - ("", X, 1, "GL_INT8_VEC2_NV"), # 0x8FE1 - ("", X, 1, "GL_INT8_VEC3_NV"), # 0x8FE2 - ("", X, 1, "GL_INT8_VEC4_NV"), # 0x8FE3 - ("", X, 1, "GL_INT16_NV"), # 0x8FE4 - ("", X, 1, "GL_INT16_VEC2_NV"), # 0x8FE5 - ("", X, 1, "GL_INT16_VEC3_NV"), # 0x8FE6 - ("", X, 1, "GL_INT16_VEC4_NV"), # 0x8FE7 - ("", X, 1, "GL_INT64_VEC2_NV"), # 0x8FE9 - ("", X, 1, "GL_INT64_VEC3_NV"), # 0x8FEA - ("", X, 1, "GL_INT64_VEC4_NV"), # 0x8FEB - ("", X, 1, "GL_UNSIGNED_INT8_NV"), # 0x8FEC - ("", X, 1, "GL_UNSIGNED_INT8_VEC2_NV"), # 0x8FED - ("", X, 1, "GL_UNSIGNED_INT8_VEC3_NV"), # 0x8FEE - ("", X, 1, "GL_UNSIGNED_INT8_VEC4_NV"), # 0x8FEF - ("", X, 1, "GL_UNSIGNED_INT16_NV"), # 0x8FF0 - ("", X, 1, "GL_UNSIGNED_INT16_VEC2_NV"), # 0x8FF1 - ("", X, 1, "GL_UNSIGNED_INT16_VEC3_NV"), # 0x8FF2 - ("", X, 1, "GL_UNSIGNED_INT16_VEC4_NV"), # 0x8FF3 - ("", X, 1, "GL_UNSIGNED_INT64_VEC2_NV"), # 0x8FF5 - ("", X, 1, "GL_UNSIGNED_INT64_VEC3_NV"), # 0x8FF6 - ("", X, 1, "GL_UNSIGNED_INT64_VEC4_NV"), # 0x8FF7 - ("", X, 1, "GL_FLOAT16_NV"), # 0x8FF8 - ("", X, 1, "GL_FLOAT16_VEC2_NV"), # 0x8FF9 - ("", X, 1, "GL_FLOAT16_VEC3_NV"), # 0x8FFA - ("", X, 1, "GL_FLOAT16_VEC4_NV"), # 0x8FFB - ("", X, 1, "GL_DOUBLE_VEC2"), # 0x8FFC - ("", X, 1, "GL_DOUBLE_VEC3"), # 0x8FFD - ("", X, 1, "GL_DOUBLE_VEC4"), # 0x8FFE - ("", X, 1, "GL_SAMPLER_BUFFER_AMD"), # 0x9001 - ("", X, 1, "GL_INT_SAMPLER_BUFFER_AMD"), # 0x9002 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"), # 0x9003 - ("", X, 1, "GL_TESSELLATION_MODE_AMD"), # 0x9004 - ("", X, 1, "GL_TESSELLATION_FACTOR_AMD"), # 0x9005 - ("", X, 1, "GL_DISCRETE_AMD"), # 0x9006 - ("", X, 1, "GL_CONTINUOUS_AMD"), # 0x9007 - ("", X, 1, "GL_TEXTURE_CUBE_MAP_ARRAY"), # 0x9009 - ("_glGet", I, 1, "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"), # 0x900A - ("", X, 1, "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"), # 0x900B - ("", X, 1, "GL_SAMPLER_CUBE_MAP_ARRAY"), # 0x900C - ("", X, 1, "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"), # 0x900D - ("", X, 1, "GL_INT_SAMPLER_CUBE_MAP_ARRAY"), # 0x900E - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"), # 0x900F - ("", X, 1, "GL_ALPHA_SNORM"), # 0x9010 - ("", X, 1, "GL_LUMINANCE_SNORM"), # 0x9011 - ("", X, 1, "GL_LUMINANCE_ALPHA_SNORM"), # 0x9012 - ("", X, 1, "GL_INTENSITY_SNORM"), # 0x9013 - ("", X, 1, "GL_ALPHA8_SNORM"), # 0x9014 - ("", X, 1, "GL_LUMINANCE8_SNORM"), # 0x9015 - ("", X, 1, "GL_LUMINANCE8_ALPHA8_SNORM"), # 0x9016 - ("", X, 1, "GL_INTENSITY8_SNORM"), # 0x9017 - ("", X, 1, "GL_ALPHA16_SNORM"), # 0x9018 - ("", X, 1, "GL_LUMINANCE16_SNORM"), # 0x9019 - ("", X, 1, "GL_LUMINANCE16_ALPHA16_SNORM"), # 0x901A - ("", X, 1, "GL_INTENSITY16_SNORM"), # 0x901B - ("", X, 1, "GL_FACTOR_MIN_AMD"), # 0x901C - ("", X, 1, "GL_FACTOR_MAX_AMD"), # 0x901D - ("", B, 1, "GL_DEPTH_CLAMP_NEAR_AMD"), # 0x901E - ("", B, 1, "GL_DEPTH_CLAMP_FAR_AMD"), # 0x901F - ("", X, 1, "GL_VIDEO_BUFFER_NV"), # 0x9020 - ("glGet", I, 1, "GL_VIDEO_BUFFER_BINDING_NV"), # 0x9021 - ("", X, 1, "GL_FIELD_UPPER_NV"), # 0x9022 - ("", X, 1, "GL_FIELD_LOWER_NV"), # 0x9023 - ("", X, 1, "GL_NUM_VIDEO_CAPTURE_STREAMS_NV"), # 0x9024 - ("", X, 1, "GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"), # 0x9025 - ("", X, 1, "GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"), # 0x9026 - ("", X, 1, "GL_LAST_VIDEO_CAPTURE_STATUS_NV"), # 0x9027 - ("", X, 1, "GL_VIDEO_BUFFER_PITCH_NV"), # 0x9028 - ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"), # 0x9029 - ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_MAX_NV"), # 0x902A - ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_MIN_NV"), # 0x902B - ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"), # 0x902C - ("", X, 1, "GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"), # 0x902D - ("", X, 1, "GL_PARTIAL_SUCCESS_NV"), # 0x902E - ("", X, 1, "GL_SUCCESS_NV"), # 0x902F - ("", X, 1, "GL_FAILURE_NV"), # 0x9030 - ("", X, 1, "GL_YCBYCR8_422_NV"), # 0x9031 - ("", X, 1, "GL_YCBAYCR8A_4224_NV"), # 0x9032 - ("", X, 1, "GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"), # 0x9033 - ("", X, 1, "GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"), # 0x9034 - ("", X, 1, "GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"), # 0x9035 - ("", X, 1, "GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"), # 0x9036 - ("", X, 1, "GL_Z4Y12Z4CB12Z4CR12_444_NV"), # 0x9037 - ("", X, 1, "GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"), # 0x9038 - ("", X, 1, "GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"), # 0x9039 - ("", X, 1, "GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"), # 0x903A - ("", X, 1, "GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"), # 0x903B - ("", X, 1, "GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"), # 0x903C - ("", X, 1, "GL_TEXTURE_COVERAGE_SAMPLES_NV"), # 0x9045 - ("", X, 1, "GL_TEXTURE_COLOR_SAMPLES_NV"), # 0x9046 - ("", X, 1, "GL_IMAGE_1D"), # 0x904C - ("", X, 1, "GL_IMAGE_2D"), # 0x904D - ("", X, 1, "GL_IMAGE_3D"), # 0x904E - ("", X, 1, "GL_IMAGE_2D_RECT"), # 0x904F - ("", X, 1, "GL_IMAGE_CUBE"), # 0x9050 - ("", X, 1, "GL_IMAGE_BUFFER"), # 0x9051 - ("", X, 1, "GL_IMAGE_1D_ARRAY"), # 0x9052 - ("", X, 1, "GL_IMAGE_2D_ARRAY"), # 0x9053 - ("", X, 1, "GL_IMAGE_CUBE_MAP_ARRAY"), # 0x9054 - ("", X, 1, "GL_IMAGE_2D_MULTISAMPLE"), # 0x9055 - ("", X, 1, "GL_IMAGE_2D_MULTISAMPLE_ARRAY"), # 0x9056 - ("", X, 1, "GL_INT_IMAGE_1D"), # 0x9057 - ("", X, 1, "GL_INT_IMAGE_2D"), # 0x9058 - ("", X, 1, "GL_INT_IMAGE_3D"), # 0x9059 - ("", X, 1, "GL_INT_IMAGE_2D_RECT"), # 0x905A - ("", X, 1, "GL_INT_IMAGE_CUBE"), # 0x905B - ("", X, 1, "GL_INT_IMAGE_BUFFER"), # 0x905C - ("", X, 1, "GL_INT_IMAGE_1D_ARRAY"), # 0x905D - ("", X, 1, "GL_INT_IMAGE_2D_ARRAY"), # 0x905E - ("", X, 1, "GL_INT_IMAGE_CUBE_MAP_ARRAY"), # 0x905F - ("", X, 1, "GL_INT_IMAGE_2D_MULTISAMPLE"), # 0x9060 - ("", X, 1, "GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"), # 0x9061 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_1D"), # 0x9062 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D"), # 0x9063 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_3D"), # 0x9064 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_RECT"), # 0x9065 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_CUBE"), # 0x9066 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_BUFFER"), # 0x9067 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_1D_ARRAY"), # 0x9068 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_ARRAY"), # 0x9069 - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"), # 0x906A - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"), # 0x906B - ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"), # 0x906C - ("", X, 1, "GL_MAX_IMAGE_SAMPLES"), # 0x906D - ("", X, 1, "GL_IMAGE_BINDING_FORMAT"), # 0x906E - ("", X, 1, "GL_RGB10_A2UI"), # 0x906F - ("", X, 1, "GL_SCALED_RESOLVE_FASTEST_EXT"), # 0x90BA - ("", X, 1, "GL_SCALED_RESOLVE_NICEST_EXT"), # 0x90BB - ("", X, 1, "GL_MIN_MAP_BUFFER_ALIGNMENT"), # 0x90BC - ("", X, 1, "GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"), # 0x90C7 - ("", X, 1, "GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"), # 0x90C8 - ("", X, 1, "GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"), # 0x90C9 - ("", X, 1, "GL_MAX_VERTEX_IMAGE_UNIFORMS"), # 0x90CA - ("", X, 1, "GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"), # 0x90CB - ("", X, 1, "GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"), # 0x90CC - ("", X, 1, "GL_MAX_GEOMETRY_IMAGE_UNIFORMS"), # 0x90CD - ("", X, 1, "GL_MAX_FRAGMENT_IMAGE_UNIFORMS"), # 0x90CE - ("", X, 1, "GL_MAX_COMBINED_IMAGE_UNIFORMS"), # 0x90CF - ("", X, 1, "GL_SYNC_X11_FENCE_EXT"), # 0x90E1 - ("", X, 1, "GL_TEXTURE_2D_MULTISAMPLE"), # 0x9100 - ("", X, 1, "GL_PROXY_TEXTURE_2D_MULTISAMPLE"), # 0x9101 - ("", X, 1, "GL_TEXTURE_2D_MULTISAMPLE_ARRAY"), # 0x9102 - ("", X, 1, "GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"), # 0x9103 - ("", X, 1, "GL_TEXTURE_BINDING_2D_MULTISAMPLE"), # 0x9104 - ("", X, 1, "GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"), # 0x9105 - ("", X, 1, "GL_TEXTURE_SAMPLES"), # 0x9106 - ("", X, 1, "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"), # 0x9107 - ("", X, 1, "GL_SAMPLER_2D_MULTISAMPLE"), # 0x9108 - ("", X, 1, "GL_INT_SAMPLER_2D_MULTISAMPLE"), # 0x9109 - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"), # 0x910A - ("", X, 1, "GL_SAMPLER_2D_MULTISAMPLE_ARRAY"), # 0x910B - ("", X, 1, "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"), # 0x910C - ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"), # 0x910D - ("", X, 1, "GL_MAX_COLOR_TEXTURE_SAMPLES"), # 0x910E - ("", X, 1, "GL_MAX_DEPTH_TEXTURE_SAMPLES"), # 0x910F - ("", X, 1, "GL_MAX_INTEGER_SAMPLES"), # 0x9110 - ("_glGet", I64, 1, "GL_MAX_SERVER_WAIT_TIMEOUT"), # 0x9111 - ("", X, 1, "GL_OBJECT_TYPE"), # 0x9112 - ("", X, 1, "GL_SYNC_CONDITION"), # 0x9113 - ("", X, 1, "GL_SYNC_STATUS"), # 0x9114 - ("", X, 1, "GL_SYNC_FLAGS"), # 0x9115 - ("", X, 1, "GL_SYNC_FENCE"), # 0x9116 - ("", X, 1, "GL_SYNC_GPU_COMMANDS_COMPLETE"), # 0x9117 - ("", X, 1, "GL_UNSIGNALED"), # 0x9118 - ("", X, 1, "GL_SIGNALED"), # 0x9119 - ("", X, 1, "GL_ALREADY_SIGNALED"), # 0x911A - ("", X, 1, "GL_TIMEOUT_EXPIRED"), # 0x911B - ("", X, 1, "GL_CONDITION_SATISFIED"), # 0x911C - ("", X, 1, "GL_WAIT_FAILED"), # 0x911D - ("glGetBufferParameter", I, 1, "GL_BUFFER_ACCESS_FLAGS"), # 0x911F - ("glGetBufferParameter", I, 1, "GL_BUFFER_MAP_LENGTH"), # 0x9120 - ("glGetBufferParameter", I, 1, "GL_BUFFER_MAP_OFFSET"), # 0x9121 - ("", X, 1, "GL_MAX_VERTEX_OUTPUT_COMPONENTS"), # 0x9122 - ("", X, 1, "GL_MAX_GEOMETRY_INPUT_COMPONENTS"), # 0x9123 - ("", X, 1, "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"), # 0x9124 - ("", X, 1, "GL_MAX_FRAGMENT_INPUT_COMPONENTS"), # 0x9125 - ("glGet", I, 1, "GL_CONTEXT_PROFILE_MASK"), # 0x9126 - ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_WIDTH"), # 0x9127 - ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"), # 0x9128 - ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_DEPTH"), # 0x9129 - ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_SIZE"), # 0x912A - ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_WIDTH"), # 0x912B - ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_HEIGHT"), # 0x912C - ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_DEPTH"), # 0x912D - ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_SIZE"), # 0x912E - ("", X, 1, "GL_TEXTURE_IMMUTABLE_FORMAT"), # 0x912F - #("", X, 1, "GL_SGX_PROGRAM_BINARY_IMG"), # 0x9130 - #("", X, 1, "GL_RENDERBUFFER_SAMPLES_IMG"), # 0x9133 - #("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"), # 0x9134 - #("", X, 1, "GL_MAX_SAMPLES_IMG"), # 0x9135 - #("", X, 1, "GL_TEXTURE_SAMPLES_IMG"), # 0x9136 - ("", X, 1, "GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"), # 0x9143 - ("", X, 1, "GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"), # 0x9144 - ("", X, 1, "GL_DEBUG_LOGGED_MESSAGES_ARB"), # 0x9145 - ("", X, 1, "GL_DEBUG_SEVERITY_HIGH_ARB"), # 0x9146 - ("", X, 1, "GL_DEBUG_SEVERITY_MEDIUM_ARB"), # 0x9147 - ("", X, 1, "GL_DEBUG_SEVERITY_LOW_ARB"), # 0x9148 - ("", X, 1, "GL_DEBUG_CATEGORY_API_ERROR_AMD"), # 0x9149 - ("", X, 1, "GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"), # 0x914A - ("", X, 1, "GL_DEBUG_CATEGORY_DEPRECATION_AMD"), # 0x914B - ("", X, 1, "GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"), # 0x914C - ("", X, 1, "GL_DEBUG_CATEGORY_PERFORMANCE_AMD"), # 0x914D - ("", X, 1, "GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"), # 0x914E - ("", X, 1, "GL_DEBUG_CATEGORY_APPLICATION_AMD"), # 0x914F - ("", X, 1, "GL_DEBUG_CATEGORY_OTHER_AMD"), # 0x9150 - ("", X, 1, "GL_DATA_BUFFER_AMD"), # 0x9151 - ("", X, 1, "GL_PERFORMANCE_MONITOR_AMD"), # 0x9152 - ("", X, 1, "GL_QUERY_OBJECT_AMD"), # 0x9153 - ("", X, 1, "GL_VERTEX_ARRAY_OBJECT_AMD"), # 0x9154 - ("", X, 1, "GL_SAMPLER_OBJECT_AMD"), # 0x9155 - #("", X, 1, "GL_SHADER_BINARY_DMP"), # 0x9250 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER"), # 0x92C0 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_BINDING"), # 0x92C1 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_START"), # 0x92C2 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_SIZE"), # 0x92C3 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"), # 0x92C4 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"), # 0x92C5 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"), # 0x92C6 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"), # 0x92C7 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"), # 0x92C8 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"), # 0x92C9 - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"), # 0x92CA - ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"), # 0x92CB - ("", X, 1, "GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"), # 0x92CC - ("", X, 1, "GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"), # 0x92CD - ("", X, 1, "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"), # 0x92CE - ("", X, 1, "GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"), # 0x92CF - ("", X, 1, "GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"), # 0x92D0 - ("", X, 1, "GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"), # 0x92D1 - ("", X, 1, "GL_MAX_VERTEX_ATOMIC_COUNTERS"), # 0x92D2 - ("", X, 1, "GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"), # 0x92D3 - ("", X, 1, "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"), # 0x92D4 - ("", X, 1, "GL_MAX_GEOMETRY_ATOMIC_COUNTERS"), # 0x92D5 - ("", X, 1, "GL_MAX_FRAGMENT_ATOMIC_COUNTERS"), # 0x92D6 - ("", X, 1, "GL_MAX_COMBINED_ATOMIC_COUNTERS"), # 0x92D7 - ("", X, 1, "GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"), # 0x92D8 - ("", X, 1, "GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"), # 0x92D9 - ("", X, 1, "GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"), # 0x92DA - ("", X, 1, "GL_UNSIGNED_INT_ATOMIC_COUNTER"), # 0x92DB - ("", X, 1, "GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"), # 0x92DC - ("", X, 1, "GL_NUM_SAMPLE_COUNTS"), # 0x9380 - ("", X, 1, "GL_INVALID_INDEX"), # 0xFFFFFFFFu -] - - -# Add all enums to GLenum type descriptor -for _function, _type, _count, _name in parameters: - GLenum.values.append(_name) - diff --git a/glproc.py b/glproc.py index 7c7beb9..05a3201 100644 --- a/glproc.py +++ b/glproc.py @@ -29,12 +29,12 @@ covers all the functions we support. """ -import stdapi +import specs.stdapi as stdapi from dispatch import Dispatcher -from glapi import glapi -from glxapi import glxapi -from wglapi import wglapi -from cglapi import cglapi +from specs.glapi import glapi +from specs.glxapi import glxapi +from specs.wglapi import wglapi +from specs.cglapi import cglapi # See http://www.opengl.org/registry/ABI/ diff --git a/glretrace.py b/glretrace.py index 356659a..4edd93a 100644 --- a/glretrace.py +++ b/glretrace.py @@ -27,8 +27,8 @@ """GL retracer generator.""" -import stdapi -import glapi +import specs.stdapi as stdapi +import specs.glapi as glapi from retrace import Retracer diff --git a/glstate.py b/glstate.py index c348d2b..acd43d0 100644 --- a/glstate.py +++ b/glstate.py @@ -27,10 +27,10 @@ '''Generate code to dump most GL state into JSON.''' -from stdapi import * +from specs.stdapi import * -from gltypes import * -from glparams import * +from specs.gltypes import * +from specs.glparams import * texture_targets = [ diff --git a/gltrace.py b/gltrace.py index f935e29..bb9d9e0 100644 --- a/gltrace.py +++ b/gltrace.py @@ -27,10 +27,10 @@ """GL tracing generator.""" -import stdapi -import glapi -import glparams -from glxapi import glxapi +import specs.stdapi as stdapi +import specs.glapi as glapi +import specs.glparams as glparams +from specs.glxapi import glxapi from trace import Tracer, dump_instance diff --git a/gltypes.py b/gltypes.py deleted file mode 100644 index e25cd7e..0000000 --- a/gltypes.py +++ /dev/null @@ -1,203 +0,0 @@ -########################################################################## -# -# Copyright 2011 Jose Fonseca -# 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 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. -# -##########################################################################/ - - -'''Describe GL types.''' - - -import platform - -from stdapi import * - - -GLboolean = Alias("GLboolean", Bool) -GLvoid = Alias("GLvoid", Void) -GLbyte = Alias("GLbyte", SChar) -GLshort = Alias("GLshort", Short) -GLint = Alias("GLint", Int) -GLint64 = Alias("GLint64", Int64) -GLubyte = Alias("GLubyte", UChar) -GLushort = Alias("GLushort", UShort) -GLuint = Alias("GLuint", UInt) -GLuint64 = Alias("GLuint64", UInt64) -GLsizei = Alias("GLsizei", Int) -GLintptr = Alias("GLintptr", Int) -GLsizeiptr = Alias("GLsizeiptr", Int) -GLfloat = Alias("GLfloat", Float) -GLclampf = Alias("GLclampf", Float) -GLdouble = Alias("GLdouble", Double) -GLclampd = Alias("GLclampd", Double) -GLchar = Alias("GLchar", SChar) -GLstring = String("GLchar *") - -GLcharARB = Alias("GLcharARB", SChar) -GLstringARB = String("GLcharARB *") -GLintptrARB = Alias("GLintptrARB", Int) -GLsizeiptrARB = Alias("GLsizeiptrARB", Int) -GLhandleARB = Handle("handleARB", Alias("GLhandleARB", UInt)) -GLhalfARB = Alias("GLhalfARB", UShort) -GLhalfNV = Alias("GLhalfNV", UShort) -GLint64EXT = Alias("GLint64EXT", Int64) -GLuint64EXT = Alias("GLuint64EXT", UInt64) -GLDEBUGPROCARB = Opaque("GLDEBUGPROCARB") -GLDEBUGPROCAMD = Opaque("GLDEBUGPROCAMD") - -GLlist = Handle("list", GLuint) -GLtexture = Handle("texture", GLuint) -GLbuffer = Handle("buffer", GLuint) -GLquery = Handle("query", GLuint) -GLfenceNV = Handle("fenceNV", GLuint) -GLprogram = Handle("program", GLuint) -GLshader = Handle("shader", GLuint) -GLlocation = Handle("location", GLint, key=('program', GLuint)) -GLlocationARB = Handle("locationARB", GLint, key=('programObj', GLhandleARB)) -GLprogramARB = Handle("programARB", GLuint) -GLframebuffer = Handle("framebuffer", GLuint) -GLrenderbuffer = Handle("renderbuffer", GLuint) -GLfragmentShaderATI = Handle("fragmentShaderATI", GLuint) -GLarray = Handle("array", GLuint) -GLregion = Handle("region", GLuint) -GLmap = Handle("map", OpaquePointer(GLvoid)) -GLpipeline = Handle("pipeline", GLuint) -GLsampler = Handle("sampler", GLuint) -GLfeedback = Handle("feedback", GLuint) - -GLsync_ = Opaque("GLsync") -GLsync = Handle("sync", GLsync_) - -GLenum = Enum("GLenum", [ - # Parameters are added later from glparams.py's parameter table -]) - -# Some functions take GLenum disguised as GLint. Apple noticed and fixed it in -# the gl.h header. Regardless, C++ typechecking rules force the wrappers to -# match the prototype precisely. -if platform.system() == 'Darwin': - GLenum_int = GLenum -else: - GLenum_int = Alias("GLint", GLenum) - -GLenum_mode = FakeEnum(GLenum, [ - "GL_POINTS", # 0x0000 - "GL_LINES", # 0x0001 - "GL_LINE_LOOP", # 0x0002 - "GL_LINE_STRIP", # 0x0003 - "GL_TRIANGLES", # 0x0004 - "GL_TRIANGLE_STRIP", # 0x0005 - "GL_TRIANGLE_FAN", # 0x0006 - "GL_QUADS", # 0x0007 - "GL_QUAD_STRIP", # 0x0008 - "GL_POLYGON", # 0x0009 - "GL_LINES_ADJACENCY", # 0x000A - "GL_LINE_STRIP_ADJACENCY", # 0x000B - "GL_TRIANGLES_ADJACENCY", # 0x000C - "GL_TRIANGLE_STRIP_ADJACENCY", # 0x000D - "GL_PATCHES", # 0x000E -]) - -GLenum_error = FakeEnum(GLenum, [ - "GL_NO_ERROR", # 0x0 - "GL_INVALID_ENUM", # 0x0500 - "GL_INVALID_VALUE", # 0x0501 - "GL_INVALID_OPERATION", # 0x0502 - "GL_STACK_OVERFLOW", # 0x0503 - "GL_STACK_UNDERFLOW", # 0x0504 - "GL_OUT_OF_MEMORY", # 0x0505 - "GL_INVALID_FRAMEBUFFER_OPERATION", # 0x0506 - "GL_TABLE_TOO_LARGE", # 0x8031 -]) - -GLbitfield = Alias("GLbitfield", UInt) - -GLbitfield_attrib = Flags(GLbitfield, [ - "GL_ALL_ATTRIB_BITS", # 0x000FFFFF - "GL_CURRENT_BIT", # 0x00000001 - "GL_POINT_BIT", # 0x00000002 - "GL_LINE_BIT", # 0x00000004 - "GL_POLYGON_BIT", # 0x00000008 - "GL_POLYGON_STIPPLE_BIT", # 0x00000010 - "GL_PIXEL_MODE_BIT", # 0x00000020 - "GL_LIGHTING_BIT", # 0x00000040 - "GL_FOG_BIT", # 0x00000080 - "GL_DEPTH_BUFFER_BIT", # 0x00000100 - "GL_ACCUM_BUFFER_BIT", # 0x00000200 - "GL_STENCIL_BUFFER_BIT", # 0x00000400 - "GL_VIEWPORT_BIT", # 0x00000800 - "GL_TRANSFORM_BIT", # 0x00001000 - "GL_ENABLE_BIT", # 0x00002000 - "GL_COLOR_BUFFER_BIT", # 0x00004000 - "GL_HINT_BIT", # 0x00008000 - "GL_EVAL_BIT", # 0x00010000 - "GL_LIST_BIT", # 0x00020000 - "GL_TEXTURE_BIT", # 0x00040000 - "GL_SCISSOR_BIT", # 0x00080000 - "GL_MULTISAMPLE_BIT", # 0x20000000 -]) - -GLbitfield_client_attrib = Flags(GLbitfield, [ - "GL_CLIENT_ALL_ATTRIB_BITS", # 0xFFFFFFFF - "GL_CLIENT_PIXEL_STORE_BIT", # 0x00000001 - "GL_CLIENT_VERTEX_ARRAY_BIT", # 0x00000002 -]) - -GLbitfield_shader = Flags(GLbitfield, [ - "GL_ALL_SHADER_BITS", # 0xFFFFFFFF - "GL_VERTEX_SHADER_BIT", # 0x00000001 - "GL_FRAGMENT_SHADER_BIT", # 0x00000002 - "GL_GEOMETRY_SHADER_BIT", # 0x00000004 - "GL_TESS_CONTROL_SHADER_BIT", # 0x00000008 - "GL_TESS_EVALUATION_SHADER_BIT", # 0x00000010 -]) - -GLbitfield_access = Flags(GLbitfield, [ - "GL_MAP_READ_BIT", # 0x0001 - "GL_MAP_WRITE_BIT", # 0x0002 - "GL_MAP_INVALIDATE_RANGE_BIT", # 0x0004 - "GL_MAP_INVALIDATE_BUFFER_BIT", # 0x0008 - "GL_MAP_FLUSH_EXPLICIT_BIT", # 0x0010 - "GL_MAP_UNSYNCHRONIZED_BIT", # 0x0020 -]) - -GLbitfield_sync_flush = Flags(GLbitfield, [ - "GL_SYNC_FLUSH_COMMANDS_BIT", # 0x00000001 -]) - -GLbitfield_barrier = Flags(GLbitfield, [ - "GL_ALL_BARRIER_BITS", # 0xFFFFFFFF - "GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT", # 0x00000001 - "GL_ELEMENT_ARRAY_BARRIER_BIT", # 0x00000002 - "GL_UNIFORM_BARRIER_BIT", # 0x00000004 - "GL_TEXTURE_FETCH_BARRIER_BIT", # 0x00000008 - "GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV", # 0x00000010 - "GL_SHADER_IMAGE_ACCESS_BARRIER_BIT", # 0x00000020 - "GL_COMMAND_BARRIER_BIT", # 0x00000040 - "GL_PIXEL_BUFFER_BARRIER_BIT", # 0x00000080 - "GL_TEXTURE_UPDATE_BARRIER_BIT", # 0x00000100 - "GL_BUFFER_UPDATE_BARRIER_BIT", # 0x00000200 - "GL_FRAMEBUFFER_BARRIER_BIT", # 0x00000400 - "GL_TRANSFORM_FEEDBACK_BARRIER_BIT", # 0x00000800 - "GL_ATOMIC_COUNTER_BARRIER_BIT", # 0x00001000 -]) - diff --git a/glxapi.py b/glxapi.py deleted file mode 100644 index 361e89a..0000000 --- a/glxapi.py +++ /dev/null @@ -1,445 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""GLX API description.""" - - -from stdapi import * -from glapi import * - -VisualID = Alias("VisualID", UInt32) -Display = Opaque("Display *") -Visual = Opaque("Visual *") -Font = Alias("Font", UInt32) -Pixmap = Alias("Pixmap", UInt32) -Window = Alias("Window", UInt32) - -GLXContext = Opaque("GLXContext") -GLXPixmap = Alias("GLXPixmap", UInt32) -GLXDrawable = Alias("GLXDrawable", UInt32) -GLXFBConfig = Opaque("GLXFBConfig") -GLXFBConfigSGIX = Opaque("GLXFBConfigSGIX") -GLXFBConfigID = Alias("GLXFBConfigID", UInt32) -GLXContextID = Alias("GLXContextID", UInt32) -GLXWindow = Alias("GLXWindow", UInt32) -GLXPbuffer = Alias("GLXPbuffer", UInt32) -GLXPbufferSGIX = Alias("GLXPbufferSGIX", UInt32) -GLXVideoSourceSGIX = Alias("GLXVideoSourceSGIX", UInt32) - -XVisualInfo = Struct("XVisualInfo", [ - (Visual, "visual"), - (VisualID, "visualid"), - (Int, "screen"), - (Int, "depth"), - (Int, "c_class"), - (ULong, "red_mask"), - (ULong, "green_mask"), - (ULong, "blue_mask"), - (Int, "colormap_size"), - (Int, "bits_per_rgb"), -]) - -Bool = FakeEnum(Int, [ - "False", - "True", -]) - -GLXAttrib = FakeEnum(Int, [ - "GLX_USE_GL", - "GLX_BUFFER_SIZE", - "GLX_LEVEL", - "GLX_RGBA", - "GLX_DOUBLEBUFFER", - "GLX_STEREO", - "GLX_AUX_BUFFERS", - "GLX_RED_SIZE", - "GLX_GREEN_SIZE", - "GLX_BLUE_SIZE", - "GLX_ALPHA_SIZE", - "GLX_DEPTH_SIZE", - "GLX_STENCIL_SIZE", - "GLX_ACCUM_RED_SIZE", - "GLX_ACCUM_GREEN_SIZE", - "GLX_ACCUM_BLUE_SIZE", - "GLX_ACCUM_ALPHA_SIZE", - - "GLX_CONFIG_CAVEAT", # 0x20 - "GLX_X_VISUAL_TYPE", # 0x22 - "GLX_TRANSPARENT_TYPE", # 0x23 - "GLX_TRANSPARENT_INDEX_VALUE", # 0x24 - "GLX_TRANSPARENT_RED_VALUE", # 0x25 - "GLX_TRANSPARENT_GREEN_VALUE", # 0x26 - "GLX_TRANSPARENT_BLUE_VALUE", # 0x27 - "GLX_TRANSPARENT_ALPHA_VALUE", # 0x28 - - "GLX_BIND_TO_TEXTURE_RGB_EXT", # 0x20D0 - "GLX_BIND_TO_TEXTURE_RGBA_EXT", # 0x20D1 - "GLX_BIND_TO_MIPMAP_TEXTURE_EXT", # 0x20D2 - "GLX_BIND_TO_TEXTURE_TARGETS_EXT", # 0x20D3 - "GLX_Y_INVERTED_EXT", # 0x20D4 - "GLX_TEXTURE_FORMAT_EXT", # 0x20D5 - "GLX_TEXTURE_TARGET_EXT", # 0x20D6 - "GLX_MIPMAP_TEXTURE_EXT", # 0x20D7 - "GLX_TEXTURE_FORMAT_NONE_EXT", # 0x20D8 - "GLX_TEXTURE_FORMAT_RGB_EXT", # 0x20D9 - "GLX_TEXTURE_FORMAT_RGBA_EXT", # 0x20DA - "GLX_TEXTURE_1D_EXT", # 0x20DB - "GLX_TEXTURE_2D_EXT", # 0x20DC - "GLX_TEXTURE_RECTANGLE_EXT", # 0x20DD - "GLX_FRONT_LEFT_EXT", # 0x20DE - "GLX_FRONT_RIGHT_EXT", # 0x20DF - "GLX_BACK_LEFT_EXT", # 0x20E0 - "GLX_BACK_RIGHT_EXT", # 0x20E1 - "GLX_AUX0_EXT", # 0x20E2 - "GLX_AUX1_EXT", # 0x20E3 - "GLX_AUX2_EXT", # 0x20E4 - "GLX_AUX3_EXT", # 0x20E5 - "GLX_AUX4_EXT", # 0x20E6 - "GLX_AUX5_EXT", # 0x20E7 - "GLX_AUX6_EXT", # 0x20E8 - "GLX_AUX7_EXT", # 0x20E9 - "GLX_AUX8_EXT", # 0x20EA - "GLX_AUX9_EXT", # 0x20EB - - "GLX_NONE", # 0x8000 - "GLX_SLOW_CONFIG", # 0x8001 - "GLX_TRUE_COLOR", # 0x8002 - "GLX_DIRECT_COLOR", # 0x8003 - "GLX_PSEUDO_COLOR", # 0x8004 - "GLX_STATIC_COLOR", # 0x8005 - "GLX_GRAY_SCALE", # 0x8006 - "GLX_STATIC_GRAY", # 0x8007 - "GLX_TRANSPARENT_RGB", # 0x8008 - "GLX_TRANSPARENT_INDEX", # 0x8009 - "GLX_VISUAL_ID", # 0x800B - "GLX_SCREEN", # 0x800C - "GLX_NON_CONFORMANT_CONFIG", # 0x800D - "GLX_DRAWABLE_TYPE", # 0x8010 - "GLX_RENDER_TYPE", # 0x8011 - "GLX_X_RENDERABLE", # 0x8012 - "GLX_FBCONFIG_ID", # 0x8013 - "GLX_RGBA_TYPE", # 0x8014 - "GLX_COLOR_INDEX_TYPE", # 0x8015 - "GLX_MAX_PBUFFER_WIDTH", # 0x8016 - "GLX_MAX_PBUFFER_HEIGHT", # 0x8017 - "GLX_MAX_PBUFFER_PIXELS", # 0x8018 - "GLX_PRESERVED_CONTENTS", # 0x801B - "GLX_LARGEST_PBUFFER", # 0x801C - "GLX_WIDTH", # 0x801D - "GLX_HEIGHT", # 0x801E - "GLX_EVENT_MASK", # 0x801F - "GLX_DAMAGED", # 0x8020 - "GLX_SAVED", # 0x8021 - "GLX_WINDOW", # 0x8022 - "GLX_PBUFFER", # 0x8023 - "GLX_PBUFFER_HEIGHT", # 0x8040 - "GLX_PBUFFER_WIDTH", # 0x8041 - - "GLX_SAMPLE_BUFFERS", # 100000 - "GLX_SAMPLES", # 100001 - - "GLX_DONT_CARE", # 0xFFFFFFFF -]) - -GLXError = FakeEnum(Int, [ - "GLX_BAD_SCREEN", - "GLX_BAD_ATTRIBUTE", - "GLX_NO_EXTENSION", - "GLX_BAD_VISUAL", - "GLX_BAD_CONTEXT", - "GLX_BAD_VALUE", - "GLX_BAD_ENUM", -]) - -GLXname = FakeEnum(Int, [ - "GLX_VENDOR", - "GLX_VERSION", - "GLX_EXTENSIONS", -]) - -GLXbuffer = Flags(Int, [ - "GLX_WINDOW_BIT", - "GLX_PIXMAP_BIT", - "GLX_PBUFFER_BIT", - "GLX_AUX_BUFFERS_BIT", - "GLX_FRONT_LEFT_BUFFER_BIT", - "GLX_FRONT_RIGHT_BUFFER_BIT", - "GLX_BACK_LEFT_BUFFER_BIT", - "GLX_BACK_RIGHT_BUFFER_BIT", - "GLX_DEPTH_BUFFER_BIT", - "GLX_STENCIL_BUFFER_BIT", - "GLX_ACCUM_BUFFER_BIT", -]) - -GLXEnum = FakeEnum(Int, [ - "GLX_NONE", - "GLX_SLOW_CONFIG", - "GLX_TRUE_COLOR", - "GLX_DIRECT_COLOR", - "GLX_PSEUDO_COLOR", - "GLX_STATIC_COLOR", - "GLX_GRAY_SCALE", - "GLX_STATIC_GRAY", - "GLX_TRANSPARENT_RGB", - "GLX_TRANSPARENT_INDEX", - "GLX_VISUAL_ID", - "GLX_SCREEN", - "GLX_NON_CONFORMANT_CONFIG", - "GLX_DRAWABLE_TYPE", - "GLX_RENDER_TYPE", - "GLX_X_RENDERABLE", - "GLX_FBCONFIG_ID", - "GLX_RGBA_TYPE", - "GLX_COLOR_INDEX_TYPE", - "GLX_MAX_PBUFFER_WIDTH", - "GLX_MAX_PBUFFER_HEIGHT", - "GLX_MAX_PBUFFER_PIXELS", - "GLX_PRESERVED_CONTENTS", - "GLX_LARGEST_PBUFFER", - "GLX_WIDTH", - "GLX_HEIGHT", - "GLX_EVENT_MASK", - "GLX_DAMAGED", - "GLX_SAVED", - "GLX_WINDOW", - "GLX_PBUFFER", - "GLX_PBUFFER_HEIGHT", - "GLX_PBUFFER_WIDTH", -]) - -GLXbuffer = Flags(Int, [ - "GLX_RGBA_BIT", - "GLX_COLOR_INDEX_BIT", - "GLX_PBUFFER_CLOBBER_MASK", -]) - -glxapi = API("GLX") - -PROC = Opaque("__GLXextFuncPtr") - -glxapi.add_functions([ - # GLX - Function(Pointer(XVisualInfo), "glXChooseVisual", [(Display, "dpy"), (Int, "screen"), (Array(GLXAttrib, "__AttribList_size(attribList)"), "attribList")]), - Function(GLXContext, "glXCreateContext", [(Display, "dpy"), (Pointer(XVisualInfo), "vis"), (GLXContext, "shareList"), (Bool, "direct")]), - Function(Void, "glXDestroyContext", [(Display, "dpy"), (GLXContext, "ctx")]), - Function(Bool, "glXMakeCurrent", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLXContext, "ctx")]), - Function(Void, "glXCopyContext", [(Display, "dpy"), (GLXContext, "src"), (GLXContext, "dst"), - (ULong, "mask")]), - Function(Void, "glXSwapBuffers", [(Display, "dpy"), (GLXDrawable, "drawable")]), - Function(GLXPixmap, "glXCreateGLXPixmap", [(Display, "dpy"), (Pointer(XVisualInfo), "visual"), - (Pixmap, "pixmap")]), - Function(Void, "glXDestroyGLXPixmap", [(Display, "dpy"), (GLXPixmap, "pixmap")]), - Function(Bool, "glXQueryExtension", [(Display, "dpy"), Out(Pointer(Int), "errorb"), Out(Pointer(Int), "event")]), - Function(Bool, "glXQueryVersion", [(Display, "dpy"), Out(Pointer(Int), "maj"), Out(Pointer(Int), "min")]), - Function(Bool, "glXIsDirect", [(Display, "dpy"), (GLXContext, "ctx")]), - Function(GLXError, "glXGetConfig", [(Display, "dpy"), (Pointer(XVisualInfo), "visual"), - (GLXAttrib, "attrib"), Out(Pointer(Int), "value")]), - Function(GLXContext, "glXGetCurrentContext", [], sideeffects=False), - Function(GLXDrawable, "glXGetCurrentDrawable", [], sideeffects=False), - Function(Void, "glXWaitGL", []), - Function(Void, "glXWaitX", []), - Function(Void, "glXUseXFont", [(Font, "font"), (Int, "first"), (Int, "count"), (Int, "list")]), - - # GLX 1.1 and later - Function((Const(String("char *"))), "glXQueryExtensionsString", [(Display, "dpy"), (Int, "screen")]), - Function((Const(String("char *"))), "glXQueryServerString", [(Display, "dpy"), (Int, "screen"), (GLXname, "name")]), - Function((Const(String("char *"))), "glXGetClientString", [(Display, "dpy"), (GLXname, "name")]), - - # GLX 1.2 and later - Function(Display, "glXGetCurrentDisplay", [], sideeffects=False), - - # GLX 1.3 and later - Function(Array(GLXFBConfig, "*nitems"), "glXChooseFBConfig", [(Display, "dpy"), (Int, "screen"), (Array(Const(GLXAttrib), "__AttribList_size(attribList)"), "attribList"), Out(Pointer(Int), "nitems")]), - Function(Int, "glXGetFBConfigAttrib", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXAttrib, "attribute"), Out(Pointer(Int), "value")]), - Function(Array(GLXFBConfig, "*nelements"), "glXGetFBConfigs", [(Display, "dpy"), (Int, "screen"), - Out(Pointer(Int), "nelements")]), - Function(Pointer(XVisualInfo), "glXGetVisualFromFBConfig", [(Display, "dpy"), - (GLXFBConfig, "config")]), - Function(GLXWindow, "glXCreateWindow", [(Display, "dpy"), (GLXFBConfig, "config"), - (Window, "win"), (Array(Const(Int), "__AttribList_size(attribList)"), "attribList")]), - Function(Void, "glXDestroyWindow", [(Display, "dpy"), (GLXWindow, "window")]), - Function(GLXPixmap, "glXCreatePixmap", [(Display, "dpy"), (GLXFBConfig, "config"), - (Pixmap, "pixmap"), (Array(Const(Int), "__AttribList_size(attribList)"), "attribList")]), - Function(Void, "glXDestroyPixmap", [(Display, "dpy"), (GLXPixmap, "pixmap")]), - Function(GLXPbuffer, "glXCreatePbuffer", [(Display, "dpy"), (GLXFBConfig, "config"), - (Array(Const(GLXEnum), "__AttribList_size(attribList)"), "attribList")]), - Function(Void, "glXDestroyPbuffer", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), - Function(Void, "glXQueryDrawable", [(Display, "dpy"), (GLXDrawable, "draw"), (GLXEnum, "attribute"), - Out(Pointer(UInt), "value")]), - Function(GLXContext, "glXCreateNewContext", [(Display, "dpy"), (GLXFBConfig, "config"), - (GLXEnum, "renderType"), (GLXContext, "shareList"), - (Bool, "direct")]), - Function(Bool, "glXMakeContextCurrent", [(Display, "dpy"), (GLXDrawable, "draw"), - (GLXDrawable, "read"), (GLXContext, "ctx")]), - Function(GLXDrawable, "glXGetCurrentReadDrawable", []), - Function(Int, "glXQueryContext", [(Display, "dpy"), (GLXContext, "ctx"), (GLXEnum, "attribute"), - Out(Pointer(Int), "value")]), - Function(Void, "glXSelectEvent", [(Display, "dpy"), (GLXDrawable, "drawable"), - (ULong, "mask")]), - Function(Void, "glXGetSelectedEvent", [(Display, "dpy"), (GLXDrawable, "drawable"), - Out(Pointer(ULong), "mask")]), - - # GLX_ARB_create_context - Function(GLXContext, "glXCreateContextAttribsARB", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXContext, "share_context"), (Bool, "direct"), (OpaquePointer(Const(Int)), "attrib_list")]), - - # GLX_SGI_swap_control - Function(Int, "glXSwapIntervalSGI", [(Int, "interval")]), - - # GLX_SGI_video_sync - Function(Int, "glXGetVideoSyncSGI", [(OpaquePointer(UInt), "count")]), - Function(Int, "glXWaitVideoSyncSGI", [(Int, "divisor"), (Int, "remainder"), (OpaquePointer(UInt), "count")]), - - # GLX_SGI_make_current_read - Function(Bool, "glXMakeCurrentReadSGI", [(Display, "dpy"), (GLXDrawable, "draw"), (GLXDrawable, "read"), (GLXContext, "ctx")]), - Function(GLXDrawable, "glXGetCurrentReadDrawableSGI", []), - - # GLX_SGIX_video_source - #Function(GLXVideoSourceSGIX, "glXCreateGLXVideoSourceSGIX", [(Display, "display"), (Int, "screen"), (VLServer, "server"), (VLPath, "path"), (Int, "nodeClass"), (VLNode, "drainNode")]), - #Function(Void, "glXDestroyGLXVideoSourceSGIX", [(Display, "dpy"), (GLXVideoSourceSGIX, "glxvideosource")]), - - # GLX_EXT_import_context - Function(Display, "glXGetCurrentDisplayEXT", []), - Function(Int, "glXQueryContextInfoEXT", [(Display, "dpy"), (GLXContext, "context"), (Int, "attribute"), (OpaquePointer(Int), "value")]), - Function(GLXContextID, "glXGetContextIDEXT", [(Const(GLXContext), "context")]), - Function(GLXContext, "glXImportContextEXT", [(Display, "dpy"), (GLXContextID, "contextID")]), - Function(Void, "glXFreeContextEXT", [(Display, "dpy"), (GLXContext, "context")]), - - # GLX_SGIX_fbconfig - Function(Int, "glXGetFBConfigAttribSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Int, "attribute"), (OpaquePointer(Int), "value")]), - Function(OpaquePointer(GLXFBConfigSGIX), "glXChooseFBConfigSGIX", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "attrib_list"), (OpaquePointer(Int), "nelements")]), - Function(GLXPixmap, "glXCreateGLXPixmapWithConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Pixmap, "pixmap")]), - Function(GLXContext, "glXCreateContextWithConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Int, "render_type"), (GLXContext, "share_list"), (Bool, "direct")]), - Function(OpaquePointer(XVisualInfo), "glXGetVisualFromFBConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config")]), - Function(GLXFBConfigSGIX, "glXGetFBConfigFromVisualSGIX", [(Display, "dpy"), (OpaquePointer(XVisualInfo), "vis")]), - - # GLX_SGIX_pbuffer - Function(GLXPbufferSGIX, "glXCreateGLXPbufferSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (UInt, "width"), (UInt, "height"), (OpaquePointer(Int), "attrib_list")]), - Function(Void, "glXDestroyGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf")]), - Function(Int, "glXQueryGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf"), (Int, "attribute"), (OpaquePointer(UInt), "value")]), - Function(Void, "glXSelectEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (ULong, "mask")]), - Function(Void, "glXGetSelectedEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(ULong), "mask")]), - - # GLX_SGI_cushion - Function(Void, "glXCushionSGI", [(Display, "dpy"), (Window, "window"), (Float, "cushion")]), - - # GLX_SGIX_video_resize - Function(Int, "glXBindChannelToWindowSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (Window, "window")]), - Function(Int, "glXChannelRectSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (Int, "x"), (Int, "y"), (Int, "w"), (Int, "h")]), - Function(Int, "glXQueryChannelRectSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (OpaquePointer(Int), "dx"), (OpaquePointer(Int), "dy"), (OpaquePointer(Int), "dw"), (OpaquePointer(Int), "dh")]), - Function(Int, "glXQueryChannelDeltasSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (OpaquePointer(Int), "x"), (OpaquePointer(Int), "y"), (OpaquePointer(Int), "w"), (OpaquePointer(Int), "h")]), - Function(Int, "glXChannelRectSyncSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (GLenum, "synctype")]), - - # GLX_SGIX_dmbuffer - #Function(Bool, "glXAssociateDMPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuffer"), (OpaquePointer(DMparams), "params"), (DMbuffer, "dmbuffer")]), - - # GLX_SGIX_swap_group - Function(Void, "glXJoinSwapGroupSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLXDrawable, "member")]), - - # GLX_SGIX_swap_barrier - Function(Void, "glXBindSwapBarrierSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "barrier")]), - Function(Bool, "glXQueryMaxSwapBarriersSGIX", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "max")]), - - # GLX_SUN_get_transparent_index - #Function(Status, "glXGetTransparentIndexSUN", [(Display, "dpy"), (Window, "overlay"), (Window, "underlay"), (OpaquePointer(Long), "pTransparentIndex")]), - - # GLX_MESA_copy_sub_buffer - Function(Void, "glXCopySubBufferMESA", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height")]), - - # GLX_MESA_pixmap_colormap - #Function(GLXPixmap, "glXCreateGLXPixmapMESA", [(Display, "dpy"), (OpaquePointer(XVisualInfo), "visual"), (Pixmap, "pixmap"), (Colormap, "cmap")]), - - # GLX_MESA_release_buffers - Function(Bool, "glXReleaseBuffersMESA", [(Display, "dpy"), (GLXDrawable, "drawable")]), - - # GLX_MESA_set_3dfx_mode - Function(Bool, "glXSet3DfxModeMESA", [(Int, "mode")]), - - # GLX_OML_sync_control - Function(Bool, "glXGetSyncValuesOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), - Function(Bool, "glXGetMscRateOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(Int32), "numerator"), (OpaquePointer(Int32), "denominator")]), - Function(Int64, "glXSwapBuffersMscOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int64, "target_msc"), (Int64, "divisor"), (Int64, "remainder")]), - Function(Bool, "glXWaitForMscOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int64, "target_msc"), (Int64, "divisor"), (Int64, "remainder"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), - Function(Bool, "glXWaitForSbcOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int64, "target_sbc"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), - - # GLX_SGIX_hyperpipe - #Function(OpaquePointer(GLXHyperpipeNetworkSGIX), "glXQueryHyperpipeNetworkSGIX", [(Display, "dpy"), (OpaquePointer(Int), "npipes")]), - #Function(Int, "glXHyperpipeConfigSGIX", [(Display, "dpy"), (Int, "networkId"), (Int, "npipes"), (OpaquePointer(GLXHyperpipeConfigSGIX), "cfg"), (OpaquePointer(Int), "hpId")]), - #Function(OpaquePointer(GLXHyperpipeConfigSGIX), "glXQueryHyperpipeConfigSGIX", [(Display, "dpy"), (Int, "hpId"), (OpaquePointer(Int), "npipes")]), - #Function(Int, "glXDestroyHyperpipeConfigSGIX", [(Display, "dpy"), (Int, "hpId")]), - #Function(Int, "glXBindHyperpipeSGIX", [(Display, "dpy"), (Int, "hpId")]), - #Function(Int, "glXQueryHyperpipeBestAttribSGIX", [(Display, "dpy"), (Int, "timeSlice"), (Int, "attrib"), (Int, "size"), (OpaquePointer(Void), "attribList"), (OpaquePointer(Void), "returnAttribList")]), - #Function(Int, "glXHyperpipeAttribSGIX", [(Display, "dpy"), (Int, "timeSlice"), (Int, "attrib"), (Int, "size"), (OpaquePointer(Void), "attribList")]), - #Function(Int, "glXQueryHyperpipeAttribSGIX", [(Display, "dpy"), (Int, "timeSlice"), (Int, "attrib"), (Int, "size"), (OpaquePointer(Void), "returnAttribList")]), - - # GLX_MESA_agp_offset - Function(UInt, "glXGetAGPOffsetMESA", [(OpaquePointer(Const(Void)), "pointer")]), - - # EXT_texture_from_pixmap - Function(Void, "glXBindTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (Int, "buffer"), (Array(Const(Int), "__AttribList_size(attrib_list)"), "attrib_list")]), - Function(Void, "glXReleaseTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (Int, "buffer")]), - - # GLX_NV_present_video - #Function(OpaquePointer(UInt), "glXEnumerateVideoDevicesNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "nelements")]), - #Function(Int, "glXBindVideoDeviceNV", [(Display, "dpy"), (UInt, "video_slot"), (UInt, "video_device"), (OpaquePointer(Const(Int)), "attrib_list")]), - - # GLX_NV_video_output - #Function(Int, "glXGetVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (Int, "numVideoDevices"), (OpaquePointer(GLXVideoDeviceNV), "pVideoDevice")]), - #Function(Int, "glXReleaseVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice")]), - #Function(Int, "glXBindVideoImageNV", [(Display, "dpy"), (GLXVideoDeviceNV, "VideoDevice"), (GLXPbuffer, "pbuf"), (Int, "iVideoBuffer")]), - #Function(Int, "glXReleaseVideoImageNV", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), - #Function(Int, "glXSendPbufferToVideoNV", [(Display, "dpy"), (GLXPbuffer, "pbuf"), (Int, "iBufferType"), (OpaquePointer(ULong), "pulCounterPbuffer"), (GLboolean, "bBlock")]), - #Function(Int, "glXGetVideoInfoNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice"), (OpaquePointer(ULong), "pulCounterOutputPbuffer"), (OpaquePointer(ULong), "pulCounterOutputVideo")]), - - # GLX_NV_swap_group - Function(Bool, "glXJoinSwapGroupNV", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLuint, "group")]), - Function(Bool, "glXBindSwapBarrierNV", [(Display, "dpy"), (GLuint, "group"), (GLuint, "barrier")]), - Function(Bool, "glXQuerySwapGroupNV", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(GLuint), "group"), (OpaquePointer(GLuint), "barrier")]), - Function(Bool, "glXQueryMaxSwapGroupsNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(GLuint), "maxGroups"), (OpaquePointer(GLuint), "maxBarriers")]), - Function(Bool, "glXQueryFrameCountNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(GLuint), "count")]), - Function(Bool, "glXResetFrameCountNV", [(Display, "dpy"), (Int, "screen")]), - - # GLX_NV_video_capture - #Function(Int, "glXBindVideoCaptureDeviceNV", [(Display, "dpy"), (UInt, "video_capture_slot"), (GLXVideoCaptureDeviceNV, "device")]), - #Function(OpaquePointer(GLXVideoCaptureDeviceNV), "glXEnumerateVideoCaptureDevicesNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "nelements")]), - #Function(Void, "glXLockVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), - #Function(Int, "glXQueryVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device"), (Int, "attribute"), (OpaquePointer(Int), "value")]), - #Function(Void, "glXReleaseVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), - - # GLX_EXT_swap_control - Function(Int, "glXSwapIntervalEXT", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "interval")]), - - # GLX_NV_copy_image - Function(Void, "glXCopyImageSubDataNV", [(Display, "dpy"), (GLXContext, "srcCtx"), (GLuint, "srcName"), (GLenum, "srcTarget"), (GLint, "srcLevel"), (GLint, "srcX"), (GLint, "srcY"), (GLint, "srcZ"), (GLXContext, "dstCtx"), (GLuint, "dstName"), (GLenum, "dstTarget"), (GLint, "dstLevel"), (GLint, "dstX"), (GLint, "dstY"), (GLint, "dstZ"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), - - # GLX_NV_vertex_array_range - Function(OpaquePointer(Void), "glXAllocateMemoryNV", [(GLsizei, "size"), (GLfloat, "readfreq"), (GLfloat, "writefreq"), (GLfloat, "priority")]), - Function(Void, "glXFreeMemoryNV", [(OpaquePointer(Void), "pointer")]), - - # Must be last - Function(PROC, "glXGetProcAddressARB", [(Alias("const GLubyte *", CString), "procName")]), - Function(PROC, "glXGetProcAddress", [(Alias("const GLubyte *", CString), "procName")]), -]) - - diff --git a/glxtrace.py b/glxtrace.py index 6b5d786..70d9c1b 100644 --- a/glxtrace.py +++ b/glxtrace.py @@ -28,9 +28,9 @@ """GLX tracing generator.""" -from stdapi import API -from glapi import glapi -from glxapi import glxapi +from specs.stdapi import API +from specs.glapi import glapi +from specs.glxapi import glxapi from gltrace import GlTracer from dispatch import function_pointer_type, function_pointer_value diff --git a/retrace.py b/retrace.py index 392519b..724f522 100644 --- a/retrace.py +++ b/retrace.py @@ -26,8 +26,8 @@ """Generic retracing code generator.""" -import stdapi -import glapi +import specs.stdapi as stdapi +import specs.glapi as glapi from codegen import * diff --git a/specs/__init__.py b/specs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/specs/cglapi.py b/specs/cglapi.py new file mode 100644 index 0000000..1aac1b2 --- /dev/null +++ b/specs/cglapi.py @@ -0,0 +1,254 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""CGL API description.""" + + +from stdapi import * +from glapi import * +from glapi import glapi + +IOSurfaceRef = Opaque("IOSurfaceRef") +CGLContextObj = Opaque("CGLContextObj") +CGLPixelFormatObj = Opaque("CGLPixelFormatObj") +CGLRendererInfoObj = Opaque("CGLRendererInfoObj") +CGLPBufferObj = Opaque("CGLPBufferObj") +CGLShareGroup = Opaque("CGLShareGroup") +CGLShareGroupObj = Opaque("CGLShareGroupObj") +CGSConnectionID = Alias("CGSConnectionID", Int) +CGSWindowID = Alias("CGSWindowID", Int) +CGSSurfaceID = Alias("CGSSurfaceID", Int) + +CGLPixelFormatAttribute = Enum("CGLPixelFormatAttribute", [ + "kCGLPFAAllRenderers", + "kCGLPFADoubleBuffer", + "kCGLPFAStereo", + "kCGLPFAAuxBuffers", + "kCGLPFAColorSize", + "kCGLPFAAlphaSize", + "kCGLPFADepthSize", + "kCGLPFAStencilSize", + "kCGLPFAAccumSize", + "kCGLPFAMinimumPolicy", + "kCGLPFAMaximumPolicy", + "kCGLPFAOffScreen", + "kCGLPFAFullScreen", + "kCGLPFASampleBuffers", + "kCGLPFASamples", + "kCGLPFAAuxDepthStencil", + "kCGLPFAColorFloat", + "kCGLPFAMultisample", + "kCGLPFASupersample", + "kCGLPFASampleAlpha", + "kCGLPFARendererID", + "kCGLPFASingleRenderer", + "kCGLPFANoRecovery", + "kCGLPFAAccelerated", + "kCGLPFAClosestPolicy", + "kCGLPFABackingStore", + "kCGLPFAWindow", + "kCGLPFACompliant", + "kCGLPFADisplayMask", + "kCGLPFAPBuffer", + "kCGLPFARemotePBuffer", + "kCGLPFAAllowOfflineRenderers", + "kCGLPFAAcceleratedCompute", + "kCGLPFAVirtualScreenCount", + "kCGLPFARobust", + "kCGLPFAMPSafe", + "kCGLPFAMultiScreen", +]) + +CGLRendererProperty = Enum("CGLRendererProperty", [ + "kCGLRPOffScreen", + "kCGLRPFullScreen", + "kCGLRPRendererID", + "kCGLRPAccelerated", + "kCGLRPRobust", + "kCGLRPBackingStore", + "kCGLRPMPSafe", + "kCGLRPWindow", + "kCGLRPMultiScreen", + "kCGLRPCompliant", + "kCGLRPDisplayMask", + "kCGLRPBufferModes", + "kCGLRPColorModes", + "kCGLRPAccumModes", + "kCGLRPDepthModes", + "kCGLRPStencilModes", + "kCGLRPMaxAuxBuffers", + "kCGLRPMaxSampleBuffers", + "kCGLRPMaxSamples", + "kCGLRPSampleModes", + "kCGLRPSampleAlpha", + "kCGLRPVideoMemory", + "kCGLRPTextureMemory", + "kCGLRPGPUVertProcCapable", + "kCGLRPGPUFragProcCapable", + "kCGLRPRendererCount", + "kCGLRPOnline", + "kCGLRPAcceleratedCompute", +]) + +CGLContextEnable = Enum("CGLContextEnable", [ + "kCGLCESwapRectangle", + "kCGLCESwapLimit", + "kCGLCERasterization", + "kCGLCEStateValidation", + "kCGLCESurfaceBackingSize", + "kCGLCEDisplayListOptimization", + "kCGLCEMPEngine", +]) + +CGLContextParameter = Enum("CGLContextParameter", [ + "kCGLCPSwapRectangle", + "kCGLCPSwapInterval", + "kCGLCPDispatchTableSize", + "kCGLCPClientStorage", + "kCGLCPSurfaceTexture", + "kCGLCPSurfaceOrder", + "kCGLCPSurfaceOpacity", + "kCGLCPSurfaceBackingSize", + "kCGLCPSurfaceSurfaceVolatile", + "kCGLCPReclaimResources", + "kCGLCPCurrentRendererID", + "kCGLCPGPUVertexProcessing", + "kCGLCPGPUFragmentProcessing", + "kCGLCPHasDrawable", + "kCGLCPMPSwapsInFlight", +]) + +CGLGlobalOption = Enum("CGLGlobalOption", [ + "kCGLGOFormatCacheSize", + "kCGLGOClearFormatCache", + "kCGLGORetainRenderers", + "kCGLGOResetLibrary", + "kCGLGOUseErrorHandler", + "kCGLGOUseBuildCache", +]) + +CGLError = Enum("CGLError", [ + "kCGLNoError", + "kCGLBadAttribute", + "kCGLBadProperty", + "kCGLBadPixelFormat", + "kCGLBadRendererInfo", + "kCGLBadContext", + "kCGLBadDrawable", + "kCGLBadDisplay", + "kCGLBadState", + "kCGLBadValue", + "kCGLBadMatch", + "kCGLBadEnumeration", + "kCGLBadOffScreen", + "kCGLBadFullScreen", + "kCGLBadWindow", + "kCGLBadAddress", + "kCGLBadCodeModule", + "kCGLBadAlloc", + "kCGLBadConnection", +]) + +CGLContextObj = Opaque("CGLContextObj") + +cglapi = API("CGL") + +cglapi.add_functions([ + # CGLCurrent.h, libGL.dylib + Function(CGLError, "CGLSetCurrentContext", [(CGLContextObj, "ctx")]), + Function(CGLContextObj, "CGLGetCurrentContext", []), + + # OpenGL.h, OpenGL framework + Function(CGLError, "CGLChoosePixelFormat", [(OpaquePointer(Const(CGLPixelFormatAttribute)), "attribs"), (OpaquePointer(CGLPixelFormatObj), "pix"), (OpaquePointer(GLint), "npix")]), + Function(CGLError, "CGLDestroyPixelFormat", [(CGLPixelFormatObj, "pix")]), + Function(CGLError, "CGLDescribePixelFormat", [(CGLPixelFormatObj, "pix"), (GLint, "pix_num"), (CGLPixelFormatAttribute, "attrib"), (OpaquePointer(GLint), "value")]), + Function(Void, "CGLReleasePixelFormat", [(CGLPixelFormatObj, "pix")]), + Function(CGLPixelFormatObj, "CGLRetainPixelFormat", [(CGLPixelFormatObj, "pix")]), + Function(GLuint, "CGLGetPixelFormatRetainCount", [(CGLPixelFormatObj, "pix")]), + Function(CGLError, "CGLQueryRendererInfo", [(GLuint, "display_mask"), (OpaquePointer(CGLRendererInfoObj), "rend"), (OpaquePointer(GLint), "nrend")]), + Function(CGLError, "CGLDestroyRendererInfo", [(CGLRendererInfoObj, "rend")]), + Function(CGLError, "CGLDescribeRenderer", [(CGLRendererInfoObj, "rend"), (GLint, "rend_num"), (CGLRendererProperty, "prop"), (OpaquePointer(GLint), "value")]), + Function(CGLError, "CGLCreateContext", [(CGLPixelFormatObj, "pix"), (CGLContextObj, "share"), (OpaquePointer(CGLContextObj), "ctx")]), + Function(CGLError, "CGLDestroyContext", [(CGLContextObj, "ctx")]), + Function(CGLError, "CGLCopyContext", [(CGLContextObj, "src"), (CGLContextObj, "dst"), (GLbitfield, "mask")]), + Function(CGLContextObj, "CGLRetainContext", [(CGLContextObj, "ctx")]), + Function(Void, "CGLReleaseContext", [(CGLContextObj, "ctx")]), + Function(GLuint, "CGLGetContextRetainCount", [(CGLContextObj, "ctx")]), + Function(CGLPixelFormatObj, "CGLGetPixelFormat", [(CGLContextObj, "ctx")]), + Function(CGLError, "CGLCreatePBuffer", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "target"), (GLenum, "internalFormat"), (GLint, "max_level"), (OpaquePointer(CGLPBufferObj), "pbuffer")]), + Function(CGLError, "CGLDestroyPBuffer", [(CGLPBufferObj, "pbuffer")]), + Function(CGLError, "CGLDescribePBuffer", [(CGLPBufferObj, "obj"), (OpaquePointer(GLsizei), "width"), (OpaquePointer(GLsizei), "height"), (OpaquePointer(GLenum), "target"), (OpaquePointer(GLenum), "internalFormat"), (OpaquePointer(GLint), "mipmap")]), + Function(CGLError, "CGLTexImagePBuffer", [(CGLContextObj, "ctx"), (CGLPBufferObj, "pbuffer"), (GLenum, "source")]), + Function(CGLPBufferObj, "CGLRetainPBuffer", [(CGLPBufferObj, "pbuffer")]), + Function(Void, "CGLReleasePBuffer", [(CGLPBufferObj, "pbuffer")]), + Function(GLuint, "CGLGetPBufferRetainCount", [(CGLPBufferObj, "pbuffer")]), + Function(CGLError, "CGLSetOffScreen", [(CGLContextObj, "ctx"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "rowbytes"), (OpaquePointer(Void), "baseaddr")]), + Function(CGLError, "CGLGetOffScreen", [(CGLContextObj, "ctx"), (OpaquePointer(GLsizei), "width"), (OpaquePointer(GLsizei), "height"), (OpaquePointer(GLint), "rowbytes"), (OpaquePointer(OpaquePointer(Void)), "baseaddr")]), + Function(CGLError, "CGLSetFullScreen", [(CGLContextObj, "ctx")]), + Function(CGLError, "CGLSetFullScreenOnDisplay", [(CGLContextObj, "ctx"), (GLuint, "display_mask")]), + Function(CGLError, "CGLSetPBuffer", [(CGLContextObj, "ctx"), (CGLPBufferObj, "pbuffer"), (GLenum, "face"), (GLint, "level"), (GLint, "screen")]), + Function(CGLError, "CGLGetPBuffer", [(CGLContextObj, "ctx"), (OpaquePointer(CGLPBufferObj), "pbuffer"), (OpaquePointer(GLenum), "face"), (OpaquePointer(GLint), "level"), (OpaquePointer(GLint), "screen")]), + Function(CGLError, "CGLClearDrawable", [(CGLContextObj, "ctx")]), + Function(CGLError, "CGLFlushDrawable", [(CGLContextObj, "ctx")]), + Function(CGLError, "CGLEnable", [(CGLContextObj, "ctx"), (CGLContextEnable, "pname")]), + Function(CGLError, "CGLDisable", [(CGLContextObj, "ctx"), (CGLContextEnable, "pname")]), + Function(CGLError, "CGLIsEnabled", [(CGLContextObj, "ctx"), (CGLContextEnable, "pname"), (OpaquePointer(GLint), "enable")]), + Function(CGLError, "CGLSetParameter", [(CGLContextObj, "ctx"), (CGLContextParameter, "pname"), (OpaquePointer(Const(GLint)), "params")]), + Function(CGLError, "CGLGetParameter", [(CGLContextObj, "ctx"), (CGLContextParameter, "pname"), (OpaquePointer(GLint), "params")]), + Function(CGLError, "CGLSetVirtualScreen", [(CGLContextObj, "ctx"), (GLint, "screen")]), + Function(CGLError, "CGLGetVirtualScreen", [(CGLContextObj, "ctx"), (OpaquePointer(GLint), "screen")]), + Function(CGLError, "CGLSetGlobalOption", [(CGLGlobalOption, "pname"), (OpaquePointer(Const(GLint)), "params")]), + Function(CGLError, "CGLGetGlobalOption", [(CGLGlobalOption, "pname"), (OpaquePointer(GLint), "params")]), + Function(CGLError, "CGLSetOption", [(CGLGlobalOption, "pname"), (GLint, "param")]), + Function(CGLError, "CGLGetOption", [(CGLGlobalOption, "pname"), (OpaquePointer(GLint), "param")]), + Function(CGLError, "CGLLockContext", [(CGLContextObj, "ctx")]), + Function(CGLError, "CGLUnlockContext", [(CGLContextObj, "ctx")]), + Function(Void, "CGLGetVersion", [(OpaquePointer(GLint), "majorvers"), (OpaquePointer(GLint), "minorvers")]), + Function(Const(CString), "CGLErrorString", [(CGLError, "error")]), + + # CGLIOSurface.h, OpenGL framework + Function(CGLError, "CGLTexImageIOSurface2D", [(CGLContextObj, "ctx"), (GLenum, "target"), (GLenum, "internal_format"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (IOSurfaceRef, "ioSurface"), (GLuint, "plane")]), + + # CGLDevice.h, OpenGL framework + Function(CGLShareGroupObj, "CGLGetShareGroup", [(CGLContextObj, "ctx")]), + + # Undocumented, OpenGL framework + Function(CGLError, "CGLSetSurface", [(CGLContextObj, "ctx"), (CGSConnectionID, "cid"), (CGSWindowID, "wid"), (CGSSurfaceID, "sid")]), + Function(CGLError, "CGLGetSurface", [(CGLContextObj, "ctx"), (OpaquePointer(CGSConnectionID), "cid"), (OpaquePointer(CGSWindowID), "wid"), (OpaquePointer(CGSSurfaceID), "sid")]), + Function(CGLError, "CGLUpdateContext", [(CGLContextObj, "ctx")]), + # XXX: Confirm CGLOpenCLMuxLockDown + Function(CGLError, "CGLOpenCLMuxLockDown", []), + # FIXME: CGLAreContextsShared + # FIXME: CGLBackDispatch + # FIXME: CGLFrontDispatch + # FIXME: CGLGetNextContext + # FIXME: CGLRestoreDispatch + # FIXME: CGLRestoreDispatchFunction + # FIXME: CGLSelectDispatch + # FIXME: CGLSelectDispatchBounded + # FIXME: CGLSelectDispatchFunction + # FIXME: CGLSetPBufferVolatileState +]) + diff --git a/specs/d3d.py b/specs/d3d.py new file mode 100644 index 0000000..857e5b3 --- /dev/null +++ b/specs/d3d.py @@ -0,0 +1,475 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d.h""" + +from winapi import * +from ddraw import * +from d3dtypes import * +from d3dcaps import * + +def OutPointer(type): + return Out(Pointer(type), "out") + +d3dnextFlags = Flags(DWORD, [ + "D3DNEXT_NEXT", + "D3DNEXT_HEAD", + "D3DNEXT_TAIL", +]) + +direct3dFlags = Flags(DWORD, [ + "DIRECT3D_VERSION", +]) + +d3ddpFlags = Flags(DWORD, [ + "D3DDP_WAIT", + "D3DDP_OUTOFORDER", + "D3DDP_DONOTCLIP", + "D3DDP_DONOTUPDATEEXTENTS", + "D3DDP_DONOTLIGHT", +]) + +HRESULT = Enum("HRESULT", [ + "D3D_OK", + "D3DERR_BADMAJORVERSION", + "D3DERR_BADMINORVERSION", + "D3DERR_INVALID_DEVICE", + "D3DERR_INITFAILED", + "D3DERR_DEVICEAGGREGATED", + "D3DERR_EXECUTE_CREATE_FAILED", + "D3DERR_EXECUTE_DESTROY_FAILED", + "D3DERR_EXECUTE_LOCK_FAILED", + "D3DERR_EXECUTE_UNLOCK_FAILED", + "D3DERR_EXECUTE_LOCKED", + "D3DERR_EXECUTE_NOT_LOCKED", + "D3DERR_EXECUTE_FAILED", + "D3DERR_EXECUTE_CLIPPED_FAILED", + "D3DERR_TEXTURE_NO_SUPPORT", + "D3DERR_TEXTURE_CREATE_FAILED", + "D3DERR_TEXTURE_DESTROY_FAILED", + "D3DERR_TEXTURE_LOCK_FAILED", + "D3DERR_TEXTURE_UNLOCK_FAILED", + "D3DERR_TEXTURE_LOAD_FAILED", + "D3DERR_TEXTURE_SWAP_FAILED", + "D3DERR_TEXTURE_LOCKED", + "D3DERR_TEXTURE_NOT_LOCKED", + "D3DERR_TEXTURE_GETSURF_FAILED", + "D3DERR_MATRIX_CREATE_FAILED", + "D3DERR_MATRIX_DESTROY_FAILED", + "D3DERR_MATRIX_SETDATA_FAILED", + "D3DERR_MATRIX_GETDATA_FAILED", + "D3DERR_SETVIEWPORTDATA_FAILED", + "D3DERR_INVALIDCURRENTVIEWPORT", + "D3DERR_INVALIDPRIMITIVETYPE", + "D3DERR_INVALIDVERTEXTYPE", + "D3DERR_TEXTURE_BADSIZE", + "D3DERR_INVALIDRAMPTEXTURE", + "D3DERR_MATERIAL_CREATE_FAILED", + "D3DERR_MATERIAL_DESTROY_FAILED", + "D3DERR_MATERIAL_SETDATA_FAILED", + "D3DERR_MATERIAL_GETDATA_FAILED", + "D3DERR_INVALIDPALETTE", + "D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY", + "D3DERR_ZBUFF_NEEDS_VIDEOMEMORY", + "D3DERR_SURFACENOTINVIDMEM", + "D3DERR_LIGHT_SET_FAILED", + "D3DERR_LIGHTHASVIEWPORT", + "D3DERR_LIGHTNOTINTHISVIEWPORT", + "D3DERR_SCENE_IN_SCENE", + "D3DERR_SCENE_NOT_IN_SCENE", + "D3DERR_SCENE_BEGIN_FAILED", + "D3DERR_SCENE_END_FAILED", + "D3DERR_INBEGIN", + "D3DERR_NOTINBEGIN", + "D3DERR_NOVIEWPORTS", + "D3DERR_VIEWPORTDATANOTSET", + "D3DERR_VIEWPORTHASNODEVICE", + "D3DERR_NOCURRENTVIEWPORT", + "D3DERR_INVALIDVERTEXFORMAT", + "D3DERR_COLORKEYATTACHED", + "D3DERR_VERTEXBUFFEROPTIMIZED", + "D3DERR_VBUF_CREATE_FAILED", + "D3DERR_VERTEXBUFFERLOCKED", + "D3DERR_VERTEXBUFFERUNLOCKFAILED", + "D3DERR_ZBUFFER_NOTPRESENT", + "D3DERR_STENCILBUFFER_NOTPRESENT", + "D3DERR_WRONGTEXTUREFORMAT", + "D3DERR_UNSUPPORTEDCOLOROPERATION", + "D3DERR_UNSUPPORTEDCOLORARG", + "D3DERR_UNSUPPORTEDALPHAOPERATION", + "D3DERR_UNSUPPORTEDALPHAARG", + "D3DERR_TOOMANYOPERATIONS", + "D3DERR_CONFLICTINGTEXTUREFILTER", + "D3DERR_UNSUPPORTEDFACTORVALUE", + "D3DERR_CONFLICTINGRENDERSTATE", + "D3DERR_UNSUPPORTEDTEXTUREFILTER", + "D3DERR_TOOMANYPRIMITIVES", + "D3DERR_INVALIDMATRIX", + "D3DERR_TOOMANYVERTICES", + "D3DERR_CONFLICTINGTEXTUREPALETTE", + "D3DERR_INVALIDSTATEBLOCK", + "D3DERR_INBEGINSTATEBLOCK", + "D3DERR_NOTINBEGINSTATEBLOCK", +]) + +IDirect3D = Interface("IDirect3D", IUnknown) +IDirect3D2 = Interface("IDirect3D2", IUnknown) +IDirect3D3 = Interface("IDirect3D3", IUnknown) +IDirect3D7 = Interface("IDirect3D7", IUnknown) +IDirect3DDevice = Interface("IDirect3DDevice", IUnknown) +IDirect3DDevice2 = Interface("IDirect3DDevice2", IUnknown) +IDirect3DDevice3 = Interface("IDirect3DDevice3", IUnknown) +IDirect3DDevice7 = Interface("IDirect3DDevice7", IUnknown) +IDirect3DExecuteBuffer = Interface("IDirect3DExecuteBuffer", IUnknown) +IDirect3DLight = Interface("IDirect3DLight", IUnknown) +IDirect3DMaterial = Interface("IDirect3DMaterial", IUnknown) +IDirect3DMaterial2 = Interface("IDirect3DMaterial2", IUnknown) +IDirect3DMaterial3 = Interface("IDirect3DMaterial3", IUnknown) +IDirect3DTexture = Interface("IDirect3DTexture", IUnknown) +IDirect3DTexture2 = Interface("IDirect3DTexture2", IUnknown) +IDirect3DViewport = Interface("IDirect3DViewport", IUnknown) +IDirect3DViewport2 = Interface("IDirect3DViewport2", IDirect3DViewport) +IDirect3DViewport3 = Interface("IDirect3DViewport3", IDirect3DViewport2) +IDirect3DVertexBuffer = Interface("IDirect3DVertexBuffer", IUnknown) +IDirect3DVertexBuffer7 = Interface("IDirect3DVertexBuffer7", IUnknown) + +LPUNKNOWN = WrapPointer(IUnknown) + +LPDIRECT3D = WrapPointer(IDirect3D) +LPDIRECT3DDEVICE = WrapPointer(IDirect3DDevice) +LPDIRECT3DEXECUTEBUFFER = WrapPointer(IDirect3DExecuteBuffer) +LPDIRECT3DLIGHT = WrapPointer(IDirect3DLight) +LPDIRECT3DMATERIAL = WrapPointer(IDirect3DMaterial) +LPDIRECT3DTEXTURE = WrapPointer(IDirect3DTexture) +LPDIRECT3DVIEWPORT = WrapPointer(IDirect3DViewport) + +LPDIRECT3D2 = WrapPointer(IDirect3D2) +LPDIRECT3DDEVICE2 = WrapPointer(IDirect3DDevice2) +LPDIRECT3DMATERIAL2 = WrapPointer(IDirect3DMaterial2) +LPDIRECT3DTEXTURE2 = WrapPointer(IDirect3DTexture2) +LPDIRECT3DVIEWPORT2 = WrapPointer(IDirect3DViewport2) + +LPDIRECT3D3 = WrapPointer(IDirect3D3) +LPDIRECT3DDEVICE3 = WrapPointer(IDirect3DDevice3) +LPDIRECT3DMATERIAL3 = WrapPointer(IDirect3DMaterial3) +LPDIRECT3DVIEWPORT3 = WrapPointer(IDirect3DViewport3) +LPDIRECT3DVERTEXBUFFER = WrapPointer(IDirect3DVertexBuffer) + +LPDIRECT3D7 = WrapPointer(IDirect3D7) +LPDIRECT3DDEVICE7 = WrapPointer(IDirect3DDevice7) +LPDIRECT3DVERTEXBUFFER7 = WrapPointer(IDirect3DVertexBuffer7) + +IDirect3D.methods += [ + Method(HRESULT, "Initialize", [(REFCLSID, "riid")]), + Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), + Method(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL), "lplpDirect3DMaterial"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT), "lplpD3DViewport"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), (LPD3DFINDDEVICERESULT, "lplpD3DDevice")]), +] + +IDirect3D2.methods += [ + Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), + Method(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL2), "lplpDirect3DMaterial2"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpD3DViewport2"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), (LPD3DFINDDEVICERESULT, "lpD3DFDR")]), + Method(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE2), "lplpD3DDevice2")]), +] + +IDirect3D3.methods += [ + Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), + Method(HRESULT, "CreateLight", [Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "CreateMaterial", [Out(Pointer(LPDIRECT3DMATERIAL3), "lplpDirect3DMaterial3"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "CreateViewport", [Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpD3DViewport3"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "FindDevice", [(LPD3DFINDDEVICESEARCH, "lpD3DDFS"), Out(LPD3DFINDDEVICERESULT, "lpD3DFDR")]), + Method(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE4, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE3), "lplpD3DDevice3"), (LPUNKNOWN, "lpUnk")]), + Method(HRESULT, "CreateVertexBuffer", [(LPD3DVERTEXBUFFERDESC, "lpD3DVertBufDesc"), Out(Pointer(LPDIRECT3DVERTEXBUFFER), "lplpD3DVertBuf"), (DWORD, "dwFlags"), (LPUNKNOWN, "lpUnk")]), + Method(HRESULT, "EnumZBufferFormats", [(REFCLSID, "riidDevice"), (LPD3DENUMPIXELFORMATSCALLBACK, "lpEnumCallback"), (LPVOID, "lpContext")]), + Method(HRESULT, "EvictManagedTextures", []), +] + +IDirect3D7.methods += [ + Method(HRESULT, "EnumDevices", [(LPD3DENUMDEVICESCALLBACK7, "lpEnumDevicesCallback"), (LPVOID, "lpUserArg")]), + Method(HRESULT, "CreateDevice", [(REFCLSID, "rclsid"), (LPDIRECTDRAWSURFACE7, "lpDDS"), Out(Pointer(LPDIRECT3DDEVICE7), "lplpD3DDevice")]), + Method(HRESULT, "CreateVertexBuffer", [(LPD3DVERTEXBUFFERDESC, "lpD3DVertBufDesc"), Out(Pointer(LPDIRECT3DVERTEXBUFFER7), "lplpD3DVertBuf"), (DWORD, "dwFlags")]), + Method(HRESULT, "EnumZBufferFormats", [(REFCLSID, "riidDevice"), (LPD3DENUMPIXELFORMATSCALLBACK, "lpEnumCallback"), (LPVOID, "lpContext")]), + Method(HRESULT, "EvictManagedTextures", []), +] + +IDirect3DDevice.methods += [ + Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D"), (LPGUID, "lpGUID"), (LPD3DDEVICEDESC, "lpD3DDVDesc")]), + Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")]), + Method(HRESULT, "SwapTextureHandles", [(LPDIRECT3DTEXTURE, "lpD3Dtex1"), (LPDIRECT3DTEXTURE, "lpD3DTex2")]), + Method(HRESULT, "CreateExecuteBuffer", [(LPD3DEXECUTEBUFFERDESC, "lpDesc"), Out(Pointer(LPDIRECT3DEXECUTEBUFFER), "lplpDirect3DExecuteBuffer"), (LPUNKNOWN, "pUnkOuter")]), + Method(HRESULT, "GetStats", [(LPD3DSTATS, "lpD3DStats")]), + Method(HRESULT, "Execute", [(LPDIRECT3DEXECUTEBUFFER, "lpDirect3DExecuteBuffer"), (LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), (DWORD, "dwFlags")]), + Method(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport")]), + Method(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport")]), + Method(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), Out(Pointer(LPDIRECT3DVIEWPORT), "lplpDirect3DViewport"), (DWORD, "dwFlags")]), + Method(HRESULT, "Pick", [(LPDIRECT3DEXECUTEBUFFER, "lpDirect3DExecuteBuffer"), (LPDIRECT3DVIEWPORT, "lpDirect3DViewport"), (DWORD, "dwFlags"), (LPD3DRECT, "lpRect")]), + Method(HRESULT, "GetPickRecords", [(LPDWORD, "lpCount"), (LPD3DPICKRECORD, "lpD3DPickRec")]), + Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMTEXTUREFORMATSCALLBACK, "lpD3DEnumTextureProc"), (LPVOID, "lpArg")]), + Method(HRESULT, "CreateMatrix", [Out(LPD3DMATRIXHANDLE, "lpD3DMatHandle")]), + Method(HRESULT, "SetMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle"), (Const(LPD3DMATRIX), "lpD3DMatrix")]), + Method(HRESULT, "GetMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle"), Out(LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "DeleteMatrix", [(D3DMATRIXHANDLE, "D3DMatHandle")]), + Method(HRESULT, "BeginScene", []), + Method(HRESULT, "EndScene", []), + Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D), "lplpDirect3D")]), +] + +IDirect3DDevice2.methods += [ + Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")]), + Method(HRESULT, "SwapTextureHandles", [(LPDIRECT3DTEXTURE2, "lpD3DTex1"), (LPDIRECT3DTEXTURE2, "lpD3DTex2")]), + Method(HRESULT, "GetStats", [Out(LPD3DSTATS, "lpD3DStats")]), + Method(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), + Method(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), + Method(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2"), Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpDirect3DViewport2"), (DWORD, "dwFlags")]), + Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMTEXTUREFORMATSCALLBACK, "lpD3DEnumTextureProc"), (LPVOID, "lpArg")]), + Method(HRESULT, "BeginScene", []), + Method(HRESULT, "EndScene", []), + Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D2), "lplpDirect3D2")]), + Method(HRESULT, "SetCurrentViewport", [(LPDIRECT3DVIEWPORT2, "lpDirect3DViewport2")]), + Method(HRESULT, "GetCurrentViewport", [Out(Pointer(LPDIRECT3DVIEWPORT2), "lplpDirect3DViewport2")]), + Method(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE, "lpNewRenderTarget"), (DWORD, "dwFlags")]), + Method(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpRenderTarget")]), + Method(HRESULT, "Begin", [(D3DPRIMITIVETYPE, "d3dpt"), (D3DVERTEXTYPE, "dwVertexTypeDesc"), (DWORD, "dwFlags")]), + Method(HRESULT, "BeginIndexed", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), + Method(HRESULT, "Vertex", [(LPVOID, "lpVertexType")]), + Method(HRESULT, "Index", [(WORD, "wVertexIndex")]), + Method(HRESULT, "End", [(DWORD, "dwFlags")]), + Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")]), + Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), + Method(HRESULT, "GetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), Out(LPDWORD, "lpdwLightState")]), + Method(HRESULT, "SetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), (DWORD, "dwLightState")]), + Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (D3DVERTEXTYPE, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "dwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), + Method(HRESULT, "GetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), +] + +IDirect3DDevice3.methods += [ + Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC, "lpD3DHWDevDesc"), Out(LPD3DDEVICEDESC, "lpD3DHELDevDesc")]), + Method(HRESULT, "GetStats", [Out(LPD3DSTATS, "lpD3DStats")]), + Method(HRESULT, "AddViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), + Method(HRESULT, "DeleteViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), + Method(HRESULT, "NextViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3"), Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpDirect3DViewport3"), (DWORD, "dwFlags")]), + Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMPIXELFORMATSCALLBACK, "lpD3DEnumPixelProc"), (LPVOID, "lpArg")]), + Method(HRESULT, "BeginScene", []), + Method(HRESULT, "EndScene", []), + Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D3), "lplpDirect3D3")]), + Method(HRESULT, "SetCurrentViewport", [(LPDIRECT3DVIEWPORT3, "lpDirect3DViewport3")]), + Method(HRESULT, "GetCurrentViewport", [Out(Pointer(LPDIRECT3DVIEWPORT3), "lplpDirect3DViewport3")]), + Method(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE4, "lpNewRenderTarget"), (DWORD, "dwFlags")]), + Method(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpRenderTarget")]), + Method(HRESULT, "Begin", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexTypeDesc"), (DWORD, "dwFlags")]), + Method(HRESULT, "BeginIndexed", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), + Method(HRESULT, "Vertex", [(LPVOID, "lpVertexType")]), + Method(HRESULT, "Index", [(WORD, "wVertexIndex")]), + Method(HRESULT, "End", [(DWORD, "dwFlags")]), + Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")]), + Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), + Method(HRESULT, "GetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), Out(LPDWORD, "lpdwLightState")]), + Method(HRESULT, "SetLightState", [(D3DLIGHTSTATETYPE, "dwLightStateType"), (DWORD, "dwLightState")]), + Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "dwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), + Method(HRESULT, "GetClipStatus", [Out(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), + Method(HRESULT, "DrawPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (LPWORD, "lpIndex"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER, "lpD3DVertexBuf"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "ComputeSphereVisibility", [(LPD3DVECTOR, "lpCenters"), (LPD3DVALUE, "lpRadii"), (DWORD, "dwNumSpheres"), (DWORD, "dwFlags"), (LPDWORD, "lpdwReturnValues")]), + Method(HRESULT, "GetTexture", [(DWORD, "dwStage"), Out(Pointer(LPDIRECT3DTEXTURE2), "lplpTexture2")]), + Method(HRESULT, "SetTexture", [(DWORD, "dwStage"), (LPDIRECT3DTEXTURE2, "lpTexture2")]), + Method(HRESULT, "GetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), Out(LPDWORD, "lpdwState")]), + Method(HRESULT, "SetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), (DWORD, "dwState")]), + Method(HRESULT, "ValidateDevice", [(LPDWORD, "lpdwPasses")]), +] + +IDirect3DDevice7.methods += [ + Method(HRESULT, "GetCaps", [Out(LPD3DDEVICEDESC7, "lpD3DHELDevDesc")]), + Method(HRESULT, "EnumTextureFormats", [(LPD3DENUMPIXELFORMATSCALLBACK, "lpD3DEnumPixelProc"), (LPVOID, "lpArg")]), + Method(HRESULT, "BeginScene", []), + Method(HRESULT, "EndScene", []), + Method(HRESULT, "GetDirect3D", [Out(Pointer(LPDIRECT3D7), "lplpDirect3D3")]), + Method(HRESULT, "SetRenderTarget", [(LPDIRECTDRAWSURFACE7, "lpNewRenderTarget"), (DWORD, "dwFlags")]), + Method(HRESULT, "GetRenderTarget", [Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpRenderTarget")]), + Method(HRESULT, "Clear", [(DWORD, "dwCount"), (LPD3DRECT, "lpRects"), (DWORD, "dwFlags"), (D3DCOLOR, "dwColor"), (D3DVALUE, "dvZ"), (DWORD, "dwStencil")]), + Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), Out(LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "SetViewport", [(LPD3DVIEWPORT7, "lpData")]), + Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), (LPD3DMATRIX, "lpD3DMatrix")]), + Method(HRESULT, "GetViewport", [Out(LPD3DVIEWPORT7, "lpData")]), + Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL7, "lpMat")]), + Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL7, "lpMat")]), + Method(HRESULT, "SetLight", [(DWORD, "dwLightIndex"), (LPD3DLIGHT7, "lpLight")]), + Method(HRESULT, "GetLight", [(DWORD, "dwLightIndex"), (LPD3DLIGHT7, "lpLight")]), + Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), (DWORD, "dwRenderState")]), + Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "dwRenderStateType"), Out(LPDWORD, "lpdwRenderState")]), + Method(HRESULT, "BeginStateBlock", []), + Method(HRESULT, "EndStateBlock", [Out(LPDWORD, "lpdwBlockHandle")]), + Method(HRESULT, "PreLoad", [(LPDIRECTDRAWSURFACE7, "lpddsTexture")]), + Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "d3dvtVertexType"), (LPVOID, "lpvVertices"), (DWORD, "dwVertexCount"), (LPWORD, "dwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "SetClipStatus", [(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), + Method(HRESULT, "GetClipStatus", [Out(LPD3DCLIPSTATUS, "lpD3DClipStatus")]), + Method(HRESULT, "DrawPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitiveStrided", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (DWORD, "dwVertexType"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpD3DDrawPrimStrideData"), (DWORD, "dwVertexCount"), (LPWORD, "lpIndex"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER7, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (DWORD, "dwFlags")]), + Method(HRESULT, "DrawIndexedPrimitiveVB", [(D3DPRIMITIVETYPE, "d3dptPrimitiveType"), (LPDIRECT3DVERTEXBUFFER7, "lpD3DVertexBuf"), (DWORD, "dwStartVertex"), (DWORD, "dwNumVertices"), (LPWORD, "lpwIndices"), (DWORD, "dwIndexCount"), (DWORD, "dwFlags")]), + Method(HRESULT, "ComputeSphereVisibility", [(LPD3DVECTOR, "lpCenters"), (LPD3DVALUE, "lpRadii"), (DWORD, "dwNumSpheres"), (DWORD, "dwFlags"), (LPDWORD, "lpdwReturnValues")]), + Method(HRESULT, "GetTexture", [(DWORD, "dwStage"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lpTexture")]), + Method(HRESULT, "SetTexture", [(DWORD, "dwStage"), (LPDIRECTDRAWSURFACE7, "lpTexture")]), + Method(HRESULT, "GetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), Out(LPDWORD, "lpdwState")]), + Method(HRESULT, "SetTextureStageState", [(DWORD, "dwStage"), (D3DTEXTURESTAGESTATETYPE, "d3dTexStageStateType"), (DWORD, "dwState")]), + Method(HRESULT, "ValidateDevice", [Out(LPDWORD, "lpdwPasses")]), + Method(HRESULT, "ApplyStateBlock", [(DWORD, "dwBlockHandle")]), + Method(HRESULT, "CaptureStateBlock", [(DWORD, "dwBlockHandle")]), + Method(HRESULT, "DeleteStateBlock", [(DWORD, "dwBlockHandle")]), + Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "d3dsbType"), Out(LPDWORD, "lpdwBlockHandle")]), + Method(HRESULT, "Load", [(LPDIRECTDRAWSURFACE7, "lpDestTex"), (LPPOINT, "lpDestPoint"), (LPDIRECTDRAWSURFACE7, "lpSrcTex"), (LPRECT, "lprcSrcRect"), (DWORD, "dwFlags")]), + Method(HRESULT, "LightEnable", [(DWORD, "dwLightIndex"), (BOOL, "bEnable")]), + Method(HRESULT, "GetLightEnable", [(DWORD, "dwLightIndex"), Out(Pointer(BOOL), "pbEnable")]), + Method(HRESULT, "SetClipPlane", [(DWORD, "dwIndex"), (Pointer(D3DVALUE), "pPlaneEquation")]), + Method(HRESULT, "GetClipPlane", [(DWORD, "dwIndex"), Out(Pointer(D3DVALUE), "pPlaneEquation")]), + Method(HRESULT, "GetInfo", [(DWORD, "dwDevInfoID"), Out(LPVOID, "pDevInfoStruct"), (DWORD, "dwSize")]), +] + +IDirect3DExecuteBuffer.methods += [ + Method(HRESULT, "Initialize", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), (LPD3DEXECUTEBUFFERDESC, "lpDesc")]), + Method(HRESULT, "Lock", [(LPD3DEXECUTEBUFFERDESC, "lpDesc")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "SetExecuteData", [(LPD3DEXECUTEDATA, "lpData")]), + Method(HRESULT, "GetExecuteData", [Out(LPD3DEXECUTEDATA, "lpData")]), + Method(HRESULT, "Validate", [(LPDWORD, "lpdwOffset"), (LPD3DVALIDATECALLBACK, "lpFunc"), (LPVOID, "lpUserArg"), (DWORD, "dwReserved")]), + Method(HRESULT, "Optimize", [(DWORD, "dwDummy")]), +] + +IDirect3DLight.methods += [ + Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), + Method(HRESULT, "SetLight", [(LPD3DLIGHT, "lpLight")]), + Method(HRESULT, "GetLight", [Out(LPD3DLIGHT, "lpLight")]), +] + +IDirect3DMaterial.methods += [ + Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), + Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), + Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")]), + Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), + Method(HRESULT, "Reserve", []), + Method(HRESULT, "Unreserve", []), +] + +IDirect3DMaterial2.methods += [ + Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), + Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")]), + Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE2, "lpDirect3DDevice2"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), +] + +IDirect3DMaterial3.methods += [ + Method(HRESULT, "SetMaterial", [(LPD3DMATERIAL, "lpMat")]), + Method(HRESULT, "GetMaterial", [Out(LPD3DMATERIAL, "lpMat")]), + Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE3, "lpDirect3DDevice3"), Out(LPD3DMATERIALHANDLE, "lpHandle")]), +] + +IDirect3DTexture.methods += [ + Method(HRESULT, "Initialize", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), (LPDIRECTDRAWSURFACE, "lpDDSurface")]), + Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE, "lpDirect3DDevice"), Out(LPD3DTEXTUREHANDLE, "lpHandle")]), + Method(HRESULT, "PaletteChanged", [(DWORD, "dwStart"), (DWORD, "dwCount")]), + Method(HRESULT, "Load", [(LPDIRECT3DTEXTURE, "lpD3DTexture")]), + Method(HRESULT, "Unload", []), +] + +IDirect3DTexture2.methods += [ + Method(HRESULT, "GetHandle", [(LPDIRECT3DDEVICE2, "lpDirect3DDevice2"), Out(LPD3DTEXTUREHANDLE, "lpHandle")]), + Method(HRESULT, "PaletteChanged", [(DWORD, "dwStart"), (DWORD, "dwCount")]), + Method(HRESULT, "Load", [(LPDIRECT3DTEXTURE2, "lpD3DTexture2")]), +] + +IDirect3DViewport.methods += [ + Method(HRESULT, "Initialize", [(LPDIRECT3D, "lpDirect3D")]), + Method(HRESULT, "GetViewport", [Out(LPD3DVIEWPORT, "lpData")]), + Method(HRESULT, "SetViewport", [(LPD3DVIEWPORT, "lpData")]), + Method(HRESULT, "TransformVertices", [(DWORD, "dwVertexCount"), (LPD3DTRANSFORMDATA, "lpData"), (DWORD, "dwFlags"), (LPDWORD, "lpOffScreen")]), + Method(HRESULT, "LightElements", [(DWORD, "dwElementCount"), (LPD3DLIGHTDATA, "lpData")]), + Method(HRESULT, "SetBackground", [(D3DMATERIALHANDLE, "hMat")]), + Method(HRESULT, "GetBackground", [Out(LPD3DMATERIALHANDLE, "lphMat"), Out(LPBOOL, "lpValid")]), + Method(HRESULT, "SetBackgroundDepth", [(LPDIRECTDRAWSURFACE, "lpDDSurface")]), + Method(HRESULT, "GetBackgroundDepth", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), Out(LPBOOL, "lpValid")]), + Method(HRESULT, "Clear", [(DWORD, "dwCount"), (LPD3DRECT, "lpRects"), (DWORD, "dwFlags")]), + Method(HRESULT, "AddLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight")]), + Method(HRESULT, "DeleteLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight")]), + Method(HRESULT, "NextLight", [(LPDIRECT3DLIGHT, "lpDirect3DLight"), Out(Pointer(LPDIRECT3DLIGHT), "lplpDirect3DLight"), (DWORD, "dwFlags")]), +] + +IDirect3DViewport2.methods += [ + Method(HRESULT, "GetViewport2", [Out(LPD3DVIEWPORT2, "lpData")]), + Method(HRESULT, "SetViewport2", [(LPD3DVIEWPORT2, "lpData")]), +] + +IDirect3DViewport3.methods += [ + Method(HRESULT, "SetBackgroundDepth2", [(LPDIRECTDRAWSURFACE4, "lpDDS")]), + Method(HRESULT, "GetBackgroundDepth2", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDS"), (LPBOOL, "lpValid")]), + Method(HRESULT, "Clear2", [(DWORD, "dwCount"), (LPD3DRECT, "lpRects"), (DWORD, "dwFlags"), (D3DCOLOR, "dwColor"), (D3DVALUE, "dvZ"), (DWORD, "dwStencil")]), +] + +IDirect3DVertexBuffer.methods += [ + Method(HRESULT, "Lock", [(DWORD, "dwFlags"), Out(Pointer(LPVOID), "lplpData"), (LPDWORD, "lpdwSize")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "ProcessVertices", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPDIRECT3DVERTEXBUFFER, "lpSrcBuffer"), (DWORD, "dwSrcIndex"), (LPDIRECT3DDEVICE3, "lpD3DDevice"), (DWORD, "dwFlags")]), + Method(HRESULT, "GetVertexBufferDesc", [Out(LPD3DVERTEXBUFFERDESC, "lpD3DVertexBufferDesc")]), + Method(HRESULT, "Optimize", [(LPDIRECT3DDEVICE3, "lpD3DDevice"), (DWORD, "dwFlags")]), +] + +IDirect3DVertexBuffer7.methods += [ + Method(HRESULT, "Lock", [(DWORD, "dwFlags"), Out(Pointer(LPVOID), "lplpData"), (LPDWORD, "lpdwSize")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "ProcessVertices", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPDIRECT3DVERTEXBUFFER7, "lpSrcBuffer"), (DWORD, "dwSrcIndex"), (LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), + Method(HRESULT, "GetVertexBufferDesc", [Out(LPD3DVERTEXBUFFERDESC, "lpD3DVertexBufferDesc")]), + Method(HRESULT, "Optimize", [(LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), + Method(HRESULT, "ProcessVerticesStrided", [(DWORD, "dwVertexOp"), (DWORD, "dwDestIndex"), (DWORD, "dwCount"), (LPD3DDRAWPRIMITIVESTRIDEDDATA, "lpStrideData"), (DWORD, "dwVertexTypeDesc"), (LPDIRECT3DDEVICE7, "lpD3DDevice"), (DWORD, "dwFlags")]), +] + +interfaces = [ + IDirectDraw, + IDirectDraw2, + IDirectDraw4, + IDirectDraw7, + IDirect3D, + IDirect3D2, + IDirect3D3, + IDirect3D7, +] + +ddraw.add_interfaces(interfaces) + diff --git a/specs/d3d10.py b/specs/d3d10.py new file mode 100644 index 0000000..8af7ee5 --- /dev/null +++ b/specs/d3d10.py @@ -0,0 +1,903 @@ +########################################################################## +# +# Copyright 2011 Jose Fonseca +# 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 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. +# +##########################################################################/ + +from dxgi import * + +D3D10_BLEND = Enum("D3D10_BLEND", [ + "D3D10_BLEND_ZERO", + "D3D10_BLEND_ONE", + "D3D10_BLEND_SRC_COLOR", + "D3D10_BLEND_INV_SRC_COLOR", + "D3D10_BLEND_SRC_ALPHA", + "D3D10_BLEND_INV_SRC_ALPHA", + "D3D10_BLEND_DEST_ALPHA", + "D3D10_BLEND_INV_DEST_ALPHA", + "D3D10_BLEND_DEST_COLOR", + "D3D10_BLEND_INV_DEST_COLOR", + "D3D10_BLEND_SRC_ALPHA_SAT", + "D3D10_BLEND_BLEND_FACTOR", + "D3D10_BLEND_INV_BLEND_FACTOR", + "D3D10_BLEND_SRC1_COLOR", + "D3D10_BLEND_INV_SRC1_COLOR", + "D3D10_BLEND_SRC1_ALPHA", + "D3D10_BLEND_INV_SRC1_ALPHA", +]) + +D3D10_BLEND_OP = Enum("D3D10_BLEND_OP", [ + "D3D10_BLEND_OP_ADD", + "D3D10_BLEND_OP_SUBTRACT", + "D3D10_BLEND_OP_REV_SUBTRACT", + "D3D10_BLEND_OP_MIN", + "D3D10_BLEND_OP_MAX", +]) + +D3D10_BLEND_DESC = Struct("D3D10_BLEND_DESC", [ + (BOOL, "AlphaToCoverageEnable"), + (Array(BOOL, "8"), "BlendEnable"), + (D3D10_BLEND, "SrcBlend"), + (D3D10_BLEND, "DestBlend"), + (D3D10_BLEND_OP, "BlendOp"), + (D3D10_BLEND, "SrcBlendAlpha"), + (D3D10_BLEND, "DestBlendAlpha"), + (D3D10_BLEND_OP, "BlendOpAlpha"), + (Array(UINT8, "8"), "RenderTargetWriteMask"), +]) + +D3D10_DEPTH_WRITE_MASK = Enum("D3D10_DEPTH_WRITE_MASK", [ + "D3D10_DEPTH_WRITE_MASK_ZERO", + "D3D10_DEPTH_WRITE_MASK_ALL", +]) + +D3D10_COMPARISON_FUNC = Enum("D3D10_COMPARISON_FUNC", [ + "D3D10_COMPARISON_NEVER", + "D3D10_COMPARISON_LESS", + "D3D10_COMPARISON_EQUAL", + "D3D10_COMPARISON_LESS_EQUAL", + "D3D10_COMPARISON_GREATER", + "D3D10_COMPARISON_NOT_EQUAL", + "D3D10_COMPARISON_GREATER_EQUAL", + "D3D10_COMPARISON_ALWAYS", +]) + +D3D10_STENCIL_OP = Enum("D3D10_STENCIL_OP", [ + "D3D10_STENCIL_OP_KEEP", + "D3D10_STENCIL_OP_ZERO", + "D3D10_STENCIL_OP_REPLACE", + "D3D10_STENCIL_OP_INCR_SAT", + "D3D10_STENCIL_OP_DECR_SAT", + "D3D10_STENCIL_OP_INVERT", + "D3D10_STENCIL_OP_INCR", + "D3D10_STENCIL_OP_DECR", +]) + +D3D10_DEPTH_STENCILOP_DESC = Struct("D3D10_DEPTH_STENCILOP_DESC", [ + (D3D10_STENCIL_OP, "StencilFailOp"), + (D3D10_STENCIL_OP, "StencilDepthFailOp"), + (D3D10_STENCIL_OP, "StencilPassOp"), + (D3D10_COMPARISON_FUNC, "StencilFunc"), +]) + +D3D10_DEPTH_STENCIL_DESC = Struct("D3D10_DEPTH_STENCIL_DESC", [ + (BOOL, "DepthEnable"), + (D3D10_DEPTH_WRITE_MASK, "DepthWriteMask"), + (D3D10_COMPARISON_FUNC, "DepthFunc"), + (BOOL, "StencilEnable"), + (UINT8, "StencilReadMask"), + (UINT8, "StencilWriteMask"), + (D3D10_DEPTH_STENCILOP_DESC, "FrontFace"), + (D3D10_DEPTH_STENCILOP_DESC, "BackFace"), +]) + +D3D10_FILL_MODE = Enum("D3D10_FILL_MODE", [ + "D3D10_FILL_WIREFRAME", + "D3D10_FILL_SOLID", +]) + +D3D10_CULL_MODE = Enum("D3D10_CULL_MODE", [ + "D3D10_CULL_NONE", + "D3D10_CULL_FRONT", + "D3D10_CULL_BACK", +]) + +D3D10_RASTERIZER_DESC = Struct("D3D10_RASTERIZER_DESC", [ + (D3D10_FILL_MODE, "FillMode"), + (D3D10_CULL_MODE, "CullMode"), + (BOOL, "FrontCounterClockwise"), + (INT, "DepthBias"), + (FLOAT, "DepthBiasClamp"), + (FLOAT, "SlopeScaledDepthBias"), + (BOOL, "DepthClipEnable"), + (BOOL, "ScissorEnable"), + (BOOL, "MultisampleEnable"), + (BOOL, "AntialiasedLineEnable"), +]) + +D3D10_FILTER = Enum("D3D10_FILTER", [ + "D3D10_FILTER_MIN_MAG_MIP_POINT", + "D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR", + "D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT", + "D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR", + "D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT", + "D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR", + "D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT", + "D3D10_FILTER_MIN_MAG_MIP_LINEAR", + "D3D10_FILTER_ANISOTROPIC", + "D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT", + "D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR", + "D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT", + "D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR", + "D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT", + "D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR", + "D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT", + "D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR", + "D3D10_FILTER_COMPARISON_ANISOTROPIC", + "D3D10_FILTER_TEXT_1BIT", +]) + +D3D10_TEXTURE_ADDRESS_MODE = Enum("D3D10_TEXTURE_ADDRESS_MODE", [ + "D3D10_TEXTURE_ADDRESS_WRAP", + "D3D10_TEXTURE_ADDRESS_MIRROR", + "D3D10_TEXTURE_ADDRESS_CLAMP", + "D3D10_TEXTURE_ADDRESS_BORDER", + "D3D10_TEXTURE_ADDRESS_MIRROR_ONCE", +]) + +D3D10_SAMPLER_DESC = Struct("D3D10_SAMPLER_DESC", [ + (D3D10_FILTER, "Filter"), + (D3D10_TEXTURE_ADDRESS_MODE, "AddressU"), + (D3D10_TEXTURE_ADDRESS_MODE, "AddressV"), + (D3D10_TEXTURE_ADDRESS_MODE, "AddressW"), + (FLOAT, "MipLODBias"), + (UINT, "MaxAnisotropy"), + (D3D10_COMPARISON_FUNC, "ComparisonFunc"), + (Array(FLOAT, "4"), "BorderColor"), + (FLOAT, "MinLOD"), + (FLOAT, "MaxLOD"), +]) + +D3D10_COUNTER = Enum("D3D10_COUNTER", [ + "D3D10_COUNTER_GPU_IDLE", + "D3D10_COUNTER_VERTEX_PROCESSING", + "D3D10_COUNTER_GEOMETRY_PROCESSING", + "D3D10_COUNTER_PIXEL_PROCESSING", + "D3D10_COUNTER_OTHER_GPU_PROCESSING", + "D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION", + "D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION", + "D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION", + "D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION", + "D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION", + "D3D10_COUNTER_VS_MEMORY_LIMITED", + "D3D10_COUNTER_VS_COMPUTATION_LIMITED", + "D3D10_COUNTER_GS_MEMORY_LIMITED", + "D3D10_COUNTER_GS_COMPUTATION_LIMITED", + "D3D10_COUNTER_PS_MEMORY_LIMITED", + "D3D10_COUNTER_PS_COMPUTATION_LIMITED", + "D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE", + "D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE", + "D3D10_COUNTER_DEVICE_DEPENDENT_0", +]) + +D3D10_COUNTER_DESC = Struct("D3D10_COUNTER_DESC", [ + (D3D10_COUNTER, "Counter"), + (UINT, "MiscFlags"), +]) + +D3D10_COUNTER_TYPE = Enum("D3D10_COUNTER_TYPE", [ + "D3D10_COUNTER_TYPE_FLOAT32", + "D3D10_COUNTER_TYPE_UINT16", + "D3D10_COUNTER_TYPE_UINT32", + "D3D10_COUNTER_TYPE_UINT64", +]) + +D3D10_COUNTER_INFO = Struct("D3D10_COUNTER_INFO", [ + (D3D10_COUNTER, "LastDeviceDependentCounter"), + (UINT, "NumSimultaneousCounters"), + (UINT8, "NumDetectableParallelUnits"), +]) + +D3D10_RESOURCE_DIMENSION = Enum("D3D10_RESOURCE_DIMENSION", [ + "D3D10_RESOURCE_DIMENSION_UNKNOWN", + "D3D10_RESOURCE_DIMENSION_BUFFER", + "D3D10_RESOURCE_DIMENSION_TEXTURE1D", + "D3D10_RESOURCE_DIMENSION_TEXTURE2D", + "D3D10_RESOURCE_DIMENSION_TEXTURE3D", +]) + +D3D10_USAGE = Enum("D3D10_USAGE", [ + "D3D10_USAGE_DEFAULT", + "D3D10_USAGE_IMMUTABLE", + "D3D10_USAGE_DYNAMIC", + "D3D10_USAGE_STAGING", +]) + +D3D10_BIND_FLAG = Enum("D3D10_BIND_FLAG", [ + "D3D10_BIND_VERTEX_BUFFER", + "D3D10_BIND_INDEX_BUFFER", + "D3D10_BIND_CONSTANT_BUFFER", + "D3D10_BIND_SHADER_RESOURCE", + "D3D10_BIND_STREAM_OUTPUT", + "D3D10_BIND_RENDER_TARGET", + "D3D10_BIND_DEPTH_STENCIL", +]) + +D3D10_BUFFER_DESC = Struct("D3D10_BUFFER_DESC", [ + (UINT, "ByteWidth"), + (D3D10_USAGE, "Usage"), + (UINT, "BindFlags"), + (UINT, "CPUAccessFlags"), + (UINT, "MiscFlags"), +]) + +D3D10_MAP = Enum("D3D10_MAP", [ + "D3D10_MAP_READ", + "D3D10_MAP_WRITE", + "D3D10_MAP_READ_WRITE", + "D3D10_MAP_WRITE_DISCARD", + "D3D10_MAP_WRITE_NO_OVERWRITE", +]) + +D3D10_TEXTURE1D_DESC = Struct("D3D10_TEXTURE1D_DESC", [ + (UINT, "Width"), + (UINT, "MipLevels"), + (UINT, "ArraySize"), + (DXGI_FORMAT, "Format"), + (D3D10_USAGE, "Usage"), + (UINT, "BindFlags"), + (UINT, "CPUAccessFlags"), + (UINT, "MiscFlags"), +]) + +D3D10_TEXTURE2D_DESC = Struct("D3D10_TEXTURE2D_DESC", [ + (UINT, "Width"), + (UINT, "Height"), + (UINT, "MipLevels"), + (UINT, "ArraySize"), + (DXGI_FORMAT, "Format"), + (DXGI_SAMPLE_DESC, "SampleDesc"), + (D3D10_USAGE, "Usage"), + (UINT, "BindFlags"), + (UINT, "CPUAccessFlags"), + (UINT, "MiscFlags"), +]) + +D3D10_TEXTURE3D_DESC = Struct("D3D10_TEXTURE3D_DESC", [ + (UINT, "Width"), + (UINT, "Height"), + (UINT, "Depth"), + (UINT, "MipLevels"), + (DXGI_FORMAT, "Format"), + (D3D10_USAGE, "Usage"), + (UINT, "BindFlags"), + (UINT, "CPUAccessFlags"), + (UINT, "MiscFlags"), +]) + +D3D10_DSV_DIMENSION = Enum("D3D10_DSV_DIMENSION", [ + "D3D10_DSV_DIMENSION_UNKNOWN", + "D3D10_DSV_DIMENSION_TEXTURE1D", + "D3D10_DSV_DIMENSION_TEXTURE1DARRAY", + "D3D10_DSV_DIMENSION_TEXTURE2D", + "D3D10_DSV_DIMENSION_TEXTURE2DARRAY", + "D3D10_DSV_DIMENSION_TEXTURE2DMS", + "D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY", +]) + +D3D10_TEX1D_DSV = Struct("D3D10_TEX1D_DSV", [ + (UINT, "MipSlice"), +]) + +D3D10_TEX1D_ARRAY_DSV = Struct("D3D10_TEX1D_ARRAY_DSV", [ + (UINT, "MipSlice"), + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX2D_DSV = Struct("D3D10_TEX2D_DSV", [ + (UINT, "MipSlice"), +]) + +D3D10_TEX2D_ARRAY_DSV = Struct("D3D10_TEX2D_ARRAY_DSV", [ + (UINT, "MipSlice"), + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX2DMS_DSV = Struct("D3D10_TEX2DMS_DSV", [ + (UINT, "UnusedField_NothingToDefine"), +]) + +D3D10_TEX2DMS_ARRAY_DSV = Struct("D3D10_TEX2DMS_ARRAY_DSV", [ + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_DEPTH_STENCIL_VIEW_DESC = Struct("D3D10_DEPTH_STENCIL_VIEW_DESC", [ + (DXGI_FORMAT, "Format"), + (D3D10_DSV_DIMENSION, "ViewDimension"), + (D3D10_TEX1D_DSV, "Texture1D"), + (D3D10_TEX1D_ARRAY_DSV, "Texture1DArray"), + (D3D10_TEX2D_DSV, "Texture2D"), + (D3D10_TEX2D_ARRAY_DSV, "Texture2DArray"), + (D3D10_TEX2DMS_DSV, "Texture2DMS"), + (D3D10_TEX2DMS_ARRAY_DSV, "Texture2DMSArray"), +]) + +D3D10_RTV_DIMENSION = Enum("D3D10_RTV_DIMENSION", [ + "D3D10_RTV_DIMENSION_UNKNOWN", + "D3D10_RTV_DIMENSION_BUFFER", + "D3D10_RTV_DIMENSION_TEXTURE1D", + "D3D10_RTV_DIMENSION_TEXTURE1DARRAY", + "D3D10_RTV_DIMENSION_TEXTURE2D", + "D3D10_RTV_DIMENSION_TEXTURE2DARRAY", + "D3D10_RTV_DIMENSION_TEXTURE2DMS", + "D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY", + "D3D10_RTV_DIMENSION_TEXTURE3D", +]) + +D3D10_BUFFER_RTV = Struct("D3D10_BUFFER_RTV", [ + (UINT, "ElementOffset"), + (UINT, "ElementWidth"), +]) + +D3D10_TEX1D_RTV = Struct("D3D10_TEX1D_RTV", [ + (UINT, "MipSlice"), +]) + +D3D10_TEX1D_ARRAY_RTV = Struct("D3D10_TEX1D_ARRAY_RTV", [ + (UINT, "MipSlice"), + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX2D_RTV = Struct("D3D10_TEX2D_RTV", [ + (UINT, "MipSlice"), +]) + +D3D10_TEX2D_ARRAY_RTV = Struct("D3D10_TEX2D_ARRAY_RTV", [ + (UINT, "MipSlice"), + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX2DMS_RTV = Struct("D3D10_TEX2DMS_RTV", [ + (UINT, "UnusedField_NothingToDefine"), +]) + +D3D10_TEX2DMS_ARRAY_RTV = Struct("D3D10_TEX2DMS_ARRAY_RTV", [ + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX3D_RTV = Struct("D3D10_TEX3D_RTV", [ + (UINT, "MipSlice"), + (UINT, "FirstWSlice"), + (UINT, "WSize"), +]) + +D3D10_RENDER_TARGET_VIEW_DESC = Struct("D3D10_RENDER_TARGET_VIEW_DESC", [ + (DXGI_FORMAT, "Format"), + (D3D10_RTV_DIMENSION, "ViewDimension"), + (D3D10_BUFFER_RTV, "Buffer"), + (D3D10_TEX1D_RTV, "Texture1D"), + (D3D10_TEX1D_ARRAY_RTV, "Texture1DArray"), + (D3D10_TEX2D_RTV, "Texture2D"), + (D3D10_TEX2D_ARRAY_RTV, "Texture2DArray"), + (D3D10_TEX2DMS_RTV, "Texture2DMS"), + (D3D10_TEX2DMS_ARRAY_RTV, "Texture2DMSArray"), + (D3D10_TEX3D_RTV, "Texture3D"), +]) + +D3D10_SRV_DIMENSION = Enum("D3D10_SRV_DIMENSION", [ + "D3D10_SRV_DIMENSION_UNKNOWN", + "D3D10_SRV_DIMENSION_BUFFER", + "D3D10_SRV_DIMENSION_TEXTURE1D", + "D3D10_SRV_DIMENSION_TEXTURE1DARRAY", + "D3D10_SRV_DIMENSION_TEXTURE2D", + "D3D10_SRV_DIMENSION_TEXTURE2DARRAY", + "D3D10_SRV_DIMENSION_TEXTURE2DMS", + "D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY", + "D3D10_SRV_DIMENSION_TEXTURE3D", + "D3D10_SRV_DIMENSION_TEXTURECUBE", +]) + +D3D10_BUFFER_SRV = Struct("D3D10_BUFFER_SRV", [ + (UINT, "ElementOffset"), + (UINT, "ElementWidth"), +]) + +D3D10_TEX1D_SRV = Struct("D3D10_TEX1D_SRV", [ + (UINT, "MostDetailedMip"), + (UINT, "MipLevels"), +]) + +D3D10_TEX1D_ARRAY_SRV = Struct("D3D10_TEX1D_ARRAY_SRV", [ + (UINT, "MostDetailedMip"), + (UINT, "MipLevels"), + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX2D_SRV = Struct("D3D10_TEX2D_SRV", [ + (UINT, "MostDetailedMip"), + (UINT, "MipLevels"), +]) + +D3D10_TEX2D_ARRAY_SRV = Struct("D3D10_TEX2D_ARRAY_SRV", [ + (UINT, "MostDetailedMip"), + (UINT, "MipLevels"), + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX2DMS_SRV = Struct("D3D10_TEX2DMS_SRV", [ + (UINT, "UnusedField_NothingToDefine"), +]) + +D3D10_TEX2DMS_ARRAY_SRV = Struct("D3D10_TEX2DMS_ARRAY_SRV", [ + (UINT, "FirstArraySlice"), + (UINT, "ArraySize"), +]) + +D3D10_TEX3D_SRV = Struct("D3D10_TEX3D_SRV", [ + (UINT, "MostDetailedMip"), + (UINT, "MipLevels"), +]) + +D3D10_TEXCUBE_SRV = Struct("D3D10_TEXCUBE_SRV", [ + (UINT, "MostDetailedMip"), + (UINT, "MipLevels"), +]) + +D3D10_SHADER_RESOURCE_VIEW_DESC = Struct("D3D10_SHADER_RESOURCE_VIEW_DESC", [ + (DXGI_FORMAT, "Format"), + (D3D10_SRV_DIMENSION, "ViewDimension"), + (D3D10_BUFFER_SRV, "Buffer"), + (D3D10_TEX1D_SRV, "Texture1D"), + (D3D10_TEX1D_ARRAY_SRV, "Texture1DArray"), + (D3D10_TEX2D_SRV, "Texture2D"), + (D3D10_TEX2D_ARRAY_SRV, "Texture2DArray"), + (D3D10_TEX2DMS_SRV, "Texture2DMS"), + (D3D10_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"), + (D3D10_TEX3D_SRV, "Texture3D"), + (D3D10_TEXCUBE_SRV, "TextureCube"), +]) + +D3D10_BOX = Struct("D3D10_BOX", [ + (UINT, "left"), + (UINT, "top"), + (UINT, "front"), + (UINT, "right"), + (UINT, "bottom"), + (UINT, "back"), +]) + +D3D10_SUBRESOURCE_DATA = Struct("D3D10_SUBRESOURCE_DATA", [ + (OpaquePointer(Const(Void)), "pSysMem"), + (UINT, "SysMemPitch"), + (UINT, "SysMemSlicePitch"), +]) + +D3D10_SO_DECLARATION_ENTRY = Struct("D3D10_SO_DECLARATION_ENTRY", [ + (LPCSTR, "SemanticName"), + (UINT, "SemanticIndex"), + (BYTE, "StartComponent"), + (BYTE, "ComponentCount"), + (BYTE, "OutputSlot"), +]) + +D3D10_INPUT_CLASSIFICATION = Enum("D3D10_INPUT_CLASSIFICATION", [ + "D3D10_INPUT_PER_VERTEX_DATA", + "D3D10_INPUT_PER_INSTANCE_DATA", +]) + +D3D10_INPUT_ELEMENT_DESC = Struct("D3D10_INPUT_ELEMENT_DESC", [ + (LPCSTR, "SemanticName"), + (UINT, "SemanticIndex"), + (DXGI_FORMAT, "Format"), + (UINT, "InputSlot"), + (UINT, "AlignedByteOffset"), + (D3D10_INPUT_CLASSIFICATION, "InputSlotClass"), + (UINT, "InstanceDataStepRate"), +]) + +D3D10_QUERY = Enum("D3D10_QUERY", [ + "D3D10_QUERY_EVENT", + "D3D10_QUERY_OCCLUSION", + "D3D10_QUERY_TIMESTAMP", + "D3D10_QUERY_TIMESTAMP_DISJOINT", + "D3D10_QUERY_PIPELINE_STATISTICS", + "D3D10_QUERY_OCCLUSION_PREDICATE", + "D3D10_QUERY_SO_STATISTICS", + "D3D10_QUERY_SO_OVERFLOW_PREDICATE", +]) + +D3D10_QUERY_DESC = Struct("D3D10_QUERY_DESC", [ + (D3D10_QUERY, "Query"), + (UINT, "MiscFlags"), +]) + +D3D10_PRIMITIVE_TOPOLOGY = Enum("D3D10_PRIMITIVE_TOPOLOGY", [ + "D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED", + "D3D10_PRIMITIVE_TOPOLOGY_POINTLIST", + "D3D10_PRIMITIVE_TOPOLOGY_LINELIST", + "D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP", + "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST", + "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP", + "D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ", + "D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ", + "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ", + "D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ", +]) + +D3D10_PRIMITIVE = Enum("D3D10_PRIMITIVE", [ + "D3D10_PRIMITIVE_UNDEFINED", + "D3D10_PRIMITIVE_POINT", + "D3D10_PRIMITIVE_LINE", + "D3D10_PRIMITIVE_TRIANGLE", + "D3D10_PRIMITIVE_LINE_ADJ", + "D3D10_PRIMITIVE_TRIANGLE_ADJ", +]) + +D3D10_RECT = Alias("D3D10_RECT", RECT) +D3D10_VIEWPORT = Struct("D3D10_VIEWPORT", [ + (INT, "TopLeftX"), + (INT, "TopLeftY"), + (UINT, "Width"), + (UINT, "Height"), + (FLOAT, "MinDepth"), + (FLOAT, "MaxDepth"), +]) + +D3D10_MAPPED_TEXTURE2D = Struct("D3D10_MAPPED_TEXTURE2D", [ + (OpaquePointer(Void), "pData"), + (UINT, "RowPitch"), +]) + +D3D10_MAPPED_TEXTURE3D = Struct("D3D10_MAPPED_TEXTURE3D", [ + (OpaquePointer(Void), "pData"), + (UINT, "RowPitch"), + (UINT, "DepthPitch"), +]) + +D3D10_CPU_ACCESS_FLAG = Enum("D3D10_CPU_ACCESS_FLAG", [ + "D3D10_CPU_ACCESS_WRITE", + "D3D10_CPU_ACCESS_READ", +]) + +D3D10_RESOURCE_MISC_FLAG = Enum("D3D10_RESOURCE_MISC_FLAG", [ + "D3D10_RESOURCE_MISC_GENERATE_MIPS", + "D3D10_RESOURCE_MISC_SHARED", + "D3D10_RESOURCE_MISC_TEXTURECUBE", + "D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX", + "D3D10_RESOURCE_MISC_GDI_COMPATIBLE", +]) + +D3D10_MAP_FLAG = Enum("D3D10_MAP_FLAG", [ + "D3D10_MAP_FLAG_DO_NOT_WAIT", +]) + +D3D10_CLEAR_FLAG = Enum("D3D10_CLEAR_FLAG", [ + "D3D10_CLEAR_DEPTH", + "D3D10_CLEAR_STENCIL", +]) + +D3D10_COLOR_WRITE_ENABLE = Enum("D3D10_COLOR_WRITE_ENABLE", [ + "D3D10_COLOR_WRITE_ENABLE_RED", + "D3D10_COLOR_WRITE_ENABLE_GREEN", + "D3D10_COLOR_WRITE_ENABLE_BLUE", + "D3D10_COLOR_WRITE_ENABLE_ALPHA", + "D3D10_COLOR_WRITE_ENABLE_ALL", + "D3D10_COLOR_WRITE_ENABLE_RED", + "|", + "D3D10_COLOR_WRITE_ENABLE_GREEN", + "|", + "D3D10_COLOR_WRITE_ENABLE_BLUE", + "|", + "D3D10_COLOR_WRITE_ENABLE_ALPHA", + ")", +]) + +D3D10_TEXTURECUBE_FACE = Enum("D3D10_TEXTURECUBE_FACE", [ + "D3D10_TEXTURECUBE_FACE_POSITIVE_X", + "D3D10_TEXTURECUBE_FACE_NEGATIVE_X", + "D3D10_TEXTURECUBE_FACE_POSITIVE_Y", + "D3D10_TEXTURECUBE_FACE_NEGATIVE_Y", + "D3D10_TEXTURECUBE_FACE_POSITIVE_Z", + "D3D10_TEXTURECUBE_FACE_NEGATIVE_Z", +]) + +D3D10_ASYNC_GETDATA_FLAG = Enum("D3D10_ASYNC_GETDATA_FLAG", [ + "D3D10_ASYNC_GETDATA_DONOTFLUSH", +]) + +D3D10_FILTER_TYPE = Enum("D3D10_FILTER_TYPE", [ + "D3D10_FILTER_TYPE_POINT", + "D3D10_FILTER_TYPE_LINEAR", +]) + +D3D10_QUERY_MISC_FLAG = Enum("D3D10_QUERY_MISC_FLAG", [ + "D3D10_QUERY_MISC_PREDICATEHINT", +]) + +D3D10_QUERY_DATA_TIMESTAMP_DISJOINT = Struct("D3D10_QUERY_DATA_TIMESTAMP_DISJOINT", [ + (UINT64, "Frequency"), + (BOOL, "Disjoint"), +]) + +D3D10_QUERY_DATA_PIPELINE_STATISTICS = Struct("D3D10_QUERY_DATA_PIPELINE_STATISTICS", [ + (UINT64, "IAVertices"), + (UINT64, "IAPrimitives"), + (UINT64, "VSInvocations"), + (UINT64, "GSInvocations"), + (UINT64, "GSPrimitives"), + (UINT64, "CInvocations"), + (UINT64, "CPrimitives"), + (UINT64, "PSInvocations"), +]) + +D3D10_QUERY_DATA_SO_STATISTICS = Struct("D3D10_QUERY_DATA_SO_STATISTICS", [ + (UINT64, "NumPrimitivesWritten"), + (UINT64, "PrimitivesStorageNeeded"), +]) + +D3D10_CREATE_DEVICE_FLAG = Enum("D3D10_CREATE_DEVICE_FLAG", [ + "D3D10_CREATE_DEVICE_SINGLETHREADED", + "D3D10_CREATE_DEVICE_DEBUG", + "D3D10_CREATE_DEVICE_SWITCH_TO_REF", + "D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS", + "D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP", + "D3D10_CREATE_DEVICE_BGRA_SUPPORT", + "D3D10_CREATE_DEVICE_STRICT_VALIDATION", +]) + +ID3D10DeviceChild = Interface("ID3D10DeviceChild", IUnknown) +ID3D10Resource = Interface("ID3D10Resource", ID3D10DeviceChild) +ID3D10Buffer = Interface("ID3D10Buffer", ID3D10Resource) +ID3D10Texture1D = Interface("ID3D10Texture1D", ID3D10Resource) +ID3D10Texture2D = Interface("ID3D10Texture2D", ID3D10Resource) +ID3D10Texture3D = Interface("ID3D10Texture3D", ID3D10Resource) +ID3D10View = Interface("ID3D10View", ID3D10DeviceChild) +ID3D10DepthStencilView = Interface("ID3D10DepthStencilView", ID3D10View) +ID3D10RenderTargetView = Interface("ID3D10RenderTargetView", ID3D10View) +ID3D10ShaderResourceView = Interface("ID3D10ShaderResourceView", ID3D10View) +ID3D10BlendState = Interface("ID3D10BlendState", ID3D10DeviceChild) +ID3D10DepthStencilState = Interface("ID3D10DepthStencilState", ID3D10DeviceChild) +ID3D10GeometryShader = Interface("ID3D10GeometryShader", ID3D10DeviceChild) +ID3D10InputLayout = Interface("ID3D10InputLayout", ID3D10DeviceChild) +ID3D10PixelShader = Interface("ID3D10PixelShader", ID3D10DeviceChild) +ID3D10RasterizerState = Interface("ID3D10RasterizerState", ID3D10DeviceChild) +ID3D10SamplerState = Interface("ID3D10SamplerState", ID3D10DeviceChild) +ID3D10VertexShader = Interface("ID3D10VertexShader", ID3D10DeviceChild) +ID3D10Asynchronous = Interface("ID3D10Asynchronous", ID3D10DeviceChild) +ID3D10Counter = Interface("ID3D10Counter", ID3D10Asynchronous) +ID3D10Query = Interface("ID3D10Query", ID3D10Asynchronous) +ID3D10Predicate = Interface("ID3D10Predicate", ID3D10Query) +ID3D10Device = Interface("ID3D10Device", IUnknown) +ID3D10Multithread = Interface("ID3D10Multithread", IUnknown) + +ID3D10DeviceChild.methods += [ + Method(Void, "GetDevice", [Out(OpaquePointer(OpaquePointer(ID3D10Device)), "ppDevice")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(OpaquePointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaquePointer(Const(Void)), "pData")]), + Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]), +] + +ID3D10Resource.methods += [ + Method(Void, "GetType", [Out(OpaquePointer(D3D10_RESOURCE_DIMENSION), "rType")]), + Method(Void, "SetEvictionPriority", [(UINT, "EvictionPriority")]), + Method(UINT, "GetEvictionPriority", []), +] + +ID3D10Buffer.methods += [ + Method(HRESULT, "Map", [(D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(OpaquePointer(Void)), "ppData")]), + Method(Void, "Unmap", []), + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_BUFFER_DESC), "pDesc")]), +] + +ID3D10Texture1D.methods += [ + Method(HRESULT, "Map", [(UINT, "Subresource"), (D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(OpaquePointer(Void)), "ppData")]), + Method(Void, "Unmap", [(UINT, "Subresource")]), + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_TEXTURE1D_DESC), "pDesc")]), +] + +ID3D10Texture2D.methods += [ + Method(HRESULT, "Map", [(UINT, "Subresource"), (D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(D3D10_MAPPED_TEXTURE2D), "pMappedTex2D")]), + Method(Void, "Unmap", [(UINT, "Subresource")]), + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_TEXTURE2D_DESC), "pDesc")]), +] + +ID3D10Texture3D.methods += [ + Method(HRESULT, "Map", [(UINT, "Subresource"), (D3D10_MAP, "MapType"), (UINT, "MapFlags"), Out(OpaquePointer(D3D10_MAPPED_TEXTURE3D), "pMappedTex3D")]), + Method(Void, "Unmap", [(UINT, "Subresource")]), + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_TEXTURE3D_DESC), "pDesc")]), +] + +ID3D10View.methods += [ + Method(Void, "GetResource", [Out(OpaquePointer(OpaquePointer(ID3D10Resource)), "ppResource")]), +] + +ID3D10DepthStencilView.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_DEPTH_STENCIL_VIEW_DESC), "pDesc")]), +] + +ID3D10RenderTargetView.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_RENDER_TARGET_VIEW_DESC), "pDesc")]), +] + +ID3D10ShaderResourceView.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_SHADER_RESOURCE_VIEW_DESC), "pDesc")]), +] + +ID3D10BlendState.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_BLEND_DESC), "pDesc")]), +] + +ID3D10DepthStencilState.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_DEPTH_STENCIL_DESC), "pDesc")]), +] + +ID3D10GeometryShader.methods += [ +] + +ID3D10InputLayout.methods += [ +] + +ID3D10PixelShader.methods += [ +] + +ID3D10RasterizerState.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_RASTERIZER_DESC), "pDesc")]), +] + +ID3D10SamplerState.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_SAMPLER_DESC), "pDesc")]), +] + +ID3D10VertexShader.methods += [ +] + +ID3D10Asynchronous.methods += [ + Method(Void, "Begin", []), + Method(Void, "End", []), + Method(HRESULT, "GetData", [Out(OpaquePointer(Void), "pData"), (UINT, "DataSize"), (UINT, "GetDataFlags")]), + Method(UINT, "GetDataSize", []), +] + +ID3D10Counter.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_COUNTER_DESC), "pDesc")]), +] + +ID3D10Query.methods += [ + Method(Void, "GetDesc", [Out(OpaquePointer(D3D10_QUERY_DESC), "pDesc")]), +] + +ID3D10Predicate.methods += [ +] + +ID3D10Device.methods += [ + Method(Void, "VSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (Array(Const(OpaquePointer(ID3D10Buffer)), "NumBuffers"), "ppConstantBuffers")]), + Method(Void, "PSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (Array(Const(OpaquePointer(ID3D10ShaderResourceView)), "NumViews"), "ppShaderResourceViews")]), + Method(Void, "PSSetShader", [(OpaquePointer(ID3D10PixelShader), "pPixelShader")]), + Method(Void, "PSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (Array(Const(OpaquePointer(ID3D10SamplerState)), "NumSamplers"), "ppSamplers")]), + Method(Void, "VSSetShader", [(OpaquePointer(ID3D10VertexShader), "pVertexShader")]), + Method(Void, "DrawIndexed", [(UINT, "IndexCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation")]), + Method(Void, "Draw", [(UINT, "VertexCount"), (UINT, "StartVertexLocation")]), + Method(Void, "PSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppConstantBuffers")]), + Method(Void, "IASetInputLayout", [(OpaquePointer(ID3D10InputLayout), "pInputLayout")]), + Method(Void, "IASetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppVertexBuffers"), (OpaquePointer(Const(UINT)), "pStrides"), (OpaquePointer(Const(UINT)), "pOffsets")]), + Method(Void, "IASetIndexBuffer", [(OpaquePointer(ID3D10Buffer), "pIndexBuffer"), (DXGI_FORMAT, "Format"), (UINT, "Offset")]), + Method(Void, "DrawIndexedInstanced", [(UINT, "IndexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartIndexLocation"), (INT, "BaseVertexLocation"), (UINT, "StartInstanceLocation")]), + Method(Void, "DrawInstanced", [(UINT, "VertexCountPerInstance"), (UINT, "InstanceCount"), (UINT, "StartVertexLocation"), (UINT, "StartInstanceLocation")]), + Method(Void, "GSSetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppConstantBuffers")]), + Method(Void, "GSSetShader", [(OpaquePointer(ID3D10GeometryShader), "pShader")]), + Method(Void, "IASetPrimitiveTopology", [(D3D10_PRIMITIVE_TOPOLOGY, "Topology")]), + Method(Void, "VSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (OpaquePointer(Const(OpaquePointer(ID3D10ShaderResourceView))), "ppShaderResourceViews")]), + Method(Void, "VSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (OpaquePointer(Const(OpaquePointer(ID3D10SamplerState))), "ppSamplers")]), + Method(Void, "SetPredication", [(OpaquePointer(ID3D10Predicate), "pPredicate"), (BOOL, "PredicateValue")]), + Method(Void, "GSSetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), (OpaquePointer(Const(OpaquePointer(ID3D10ShaderResourceView))), "ppShaderResourceViews")]), + Method(Void, "GSSetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), (OpaquePointer(Const(OpaquePointer(ID3D10SamplerState))), "ppSamplers")]), + Method(Void, "OMSetRenderTargets", [(UINT, "NumViews"), (OpaquePointer(Const(OpaquePointer(ID3D10RenderTargetView))), "ppRenderTargetViews"), (OpaquePointer(ID3D10DepthStencilView), "pDepthStencilView")]), + Method(Void, "OMSetBlendState", [(OpaquePointer(ID3D10BlendState), "pBlendState"), (Array(Const(FLOAT), "4"), "BlendFactor"), (UINT, "SampleMask")]), + Method(Void, "OMSetDepthStencilState", [(OpaquePointer(ID3D10DepthStencilState), "pDepthStencilState"), (UINT, "StencilRef")]), + Method(Void, "SOSetTargets", [(UINT, "NumBuffers"), (OpaquePointer(Const(OpaquePointer(ID3D10Buffer))), "ppSOTargets"), (OpaquePointer(Const(UINT)), "pOffsets")]), + Method(Void, "DrawAuto", []), + Method(Void, "RSSetState", [(OpaquePointer(ID3D10RasterizerState), "pRasterizerState")]), + Method(Void, "RSSetViewports", [(UINT, "NumViewports"), (OpaquePointer(Const(D3D10_VIEWPORT)), "pViewports")]), + Method(Void, "RSSetScissorRects", [(UINT, "NumRects"), (OpaquePointer(Const(D3D10_RECT)), "pRects")]), + Method(Void, "CopySubresourceRegion", [(OpaquePointer(ID3D10Resource), "pDstResource"), (UINT, "DstSubresource"), (UINT, "DstX"), (UINT, "DstY"), (UINT, "DstZ"), (OpaquePointer(ID3D10Resource), "pSrcResource"), (UINT, "SrcSubresource"), (OpaquePointer(Const(D3D10_BOX)), "pSrcBox")]), + Method(Void, "CopyResource", [(OpaquePointer(ID3D10Resource), "pDstResource"), (OpaquePointer(ID3D10Resource), "pSrcResource")]), + Method(Void, "UpdateSubresource", [(OpaquePointer(ID3D10Resource), "pDstResource"), (UINT, "DstSubresource"), (OpaquePointer(Const(D3D10_BOX)), "pDstBox"), (OpaquePointer(Const(Void)), "pSrcData"), (UINT, "SrcRowPitch"), (UINT, "SrcDepthPitch")]), + Method(Void, "ClearRenderTargetView", [(OpaquePointer(ID3D10RenderTargetView), "pRenderTargetView"), (Array(Const(FLOAT), "4"), "ColorRGBA")]), + Method(Void, "ClearDepthStencilView", [(OpaquePointer(ID3D10DepthStencilView), "pDepthStencilView"), (UINT, "ClearFlags"), (FLOAT, "Depth"), (UINT8, "Stencil")]), + Method(Void, "GenerateMips", [(OpaquePointer(ID3D10ShaderResourceView), "pShaderResourceView")]), + Method(Void, "ResolveSubresource", [(OpaquePointer(ID3D10Resource), "pDstResource"), (UINT, "DstSubresource"), (OpaquePointer(ID3D10Resource), "pSrcResource"), (UINT, "SrcSubresource"), (DXGI_FORMAT, "Format")]), + Method(Void, "VSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppConstantBuffers")]), + Method(Void, "PSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppShaderResourceViews")]), + Method(Void, "PSGetShader", [Out(OpaquePointer(OpaquePointer(ID3D10PixelShader)), "ppPixelShader")]), + Method(Void, "PSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplers")]), + Method(Void, "VSGetShader", [Out(OpaquePointer(OpaquePointer(ID3D10VertexShader)), "ppVertexShader")]), + Method(Void, "PSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppConstantBuffers")]), + Method(Void, "IAGetInputLayout", [Out(OpaquePointer(OpaquePointer(ID3D10InputLayout)), "ppInputLayout")]), + Method(Void, "IAGetVertexBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppVertexBuffers"), Out(OpaquePointer(UINT), "pStrides"), Out(OpaquePointer(UINT), "pOffsets")]), + Method(Void, "IAGetIndexBuffer", [Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "pIndexBuffer"), Out(OpaquePointer(DXGI_FORMAT), "Format"), Out(OpaquePointer(UINT), "Offset")]), + Method(Void, "GSGetConstantBuffers", [(UINT, "StartSlot"), (UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppConstantBuffers")]), + Method(Void, "GSGetShader", [Out(OpaquePointer(OpaquePointer(ID3D10GeometryShader)), "ppGeometryShader")]), + Method(Void, "IAGetPrimitiveTopology", [Out(OpaquePointer(D3D10_PRIMITIVE_TOPOLOGY), "pTopology")]), + Method(Void, "VSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppShaderResourceViews")]), + Method(Void, "VSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplers")]), + Method(Void, "GetPredication", [Out(OpaquePointer(OpaquePointer(ID3D10Predicate)), "ppPredicate"), Out(OpaquePointer(BOOL), "pPredicateValue")]), + Method(Void, "GSGetShaderResources", [(UINT, "StartSlot"), (UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppShaderResourceViews")]), + Method(Void, "GSGetSamplers", [(UINT, "StartSlot"), (UINT, "NumSamplers"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplers")]), + Method(Void, "OMGetRenderTargets", [(UINT, "NumViews"), Out(OpaquePointer(OpaquePointer(ID3D10RenderTargetView)), "ppRenderTargetViews"), Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilView)), "ppDepthStencilView")]), + Method(Void, "OMGetBlendState", [Out(OpaquePointer(OpaquePointer(ID3D10BlendState)), "ppBlendState"), Out(Array(FLOAT, "4"), "BlendFactor"), Out(OpaquePointer(UINT), "pSampleMask")]), + Method(Void, "OMGetDepthStencilState", [Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilState)), "ppDepthStencilState"), Out(OpaquePointer(UINT), "pStencilRef")]), + Method(Void, "SOGetTargets", [(UINT, "NumBuffers"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppSOTargets"), Out(OpaquePointer(UINT), "pOffsets")]), + Method(Void, "RSGetState", [Out(OpaquePointer(OpaquePointer(ID3D10RasterizerState)), "ppRasterizerState")]), + Method(Void, "RSGetViewports", [Out(OpaquePointer(UINT), "NumViewports"), Out(OpaquePointer(D3D10_VIEWPORT), "pViewports")]), + Method(Void, "RSGetScissorRects", [Out(OpaquePointer(UINT), "NumRects"), Out(OpaquePointer(D3D10_RECT), "pRects")]), + Method(HRESULT, "GetDeviceRemovedReason", []), + Method(HRESULT, "SetExceptionMode", [(UINT, "RaiseFlags")]), + Method(UINT, "GetExceptionMode", []), + Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(OpaquePointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaquePointer(Const(Void)), "pData")]), + Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]), + Method(Void, "ClearState", []), + Method(Void, "Flush", []), + Method(HRESULT, "CreateBuffer", [(OpaquePointer(Const(D3D10_BUFFER_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Buffer)), "ppBuffer")]), + Method(HRESULT, "CreateTexture1D", [(OpaquePointer(Const(D3D10_TEXTURE1D_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Texture1D)), "ppTexture1D")]), + Method(HRESULT, "CreateTexture2D", [(OpaquePointer(Const(D3D10_TEXTURE2D_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Texture2D)), "ppTexture2D")]), + Method(HRESULT, "CreateTexture3D", [(OpaquePointer(Const(D3D10_TEXTURE3D_DESC)), "pDesc"), (OpaquePointer(Const(D3D10_SUBRESOURCE_DATA)), "pInitialData"), Out(OpaquePointer(OpaquePointer(ID3D10Texture3D)), "ppTexture3D")]), + Method(HRESULT, "CreateShaderResourceView", [(OpaquePointer(ID3D10Resource), "pResource"), (OpaquePointer(Const(D3D10_SHADER_RESOURCE_VIEW_DESC)), "pDesc"), Out(OpaquePointer(OpaquePointer(ID3D10ShaderResourceView)), "ppSRView")]), + Method(HRESULT, "CreateRenderTargetView", [(OpaquePointer(ID3D10Resource), "pResource"), (OpaquePointer(Const(D3D10_RENDER_TARGET_VIEW_DESC)), "pDesc"), Out(OpaquePointer(OpaquePointer(ID3D10RenderTargetView)), "ppRTView")]), + Method(HRESULT, "CreateDepthStencilView", [(OpaquePointer(ID3D10Resource), "pResource"), (OpaquePointer(Const(D3D10_DEPTH_STENCIL_VIEW_DESC)), "pDesc"), Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilView)), "ppDepthStencilView")]), + Method(HRESULT, "CreateInputLayout", [(OpaquePointer(Const(D3D10_INPUT_ELEMENT_DESC)), "pInputElementDescs"), (UINT, "NumElements"), (OpaquePointer(Const(Void)), "pShaderBytecodeWithInputSignature"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10InputLayout)), "ppInputLayout")]), + Method(HRESULT, "CreateVertexShader", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10VertexShader)), "ppVertexShader")]), + Method(HRESULT, "CreateGeometryShader", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10GeometryShader)), "ppGeometryShader")]), + Method(HRESULT, "CreateGeometryShaderWithStreamOutput", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), (OpaquePointer(Const(D3D10_SO_DECLARATION_ENTRY)), "pSODeclaration"), (UINT, "NumEntries"), (UINT, "OutputStreamStride"), Out(OpaquePointer(OpaquePointer(ID3D10GeometryShader)), "ppGeometryShader")]), + Method(HRESULT, "CreatePixelShader", [(OpaquePointer(Const(Void)), "pShaderBytecode"), (SIZE_T, "BytecodeLength"), Out(OpaquePointer(OpaquePointer(ID3D10PixelShader)), "ppPixelShader")]), + Method(HRESULT, "CreateBlendState", [(OpaquePointer(Const(D3D10_BLEND_DESC)), "pBlendStateDesc"), Out(OpaquePointer(OpaquePointer(ID3D10BlendState)), "ppBlendState")]), + Method(HRESULT, "CreateDepthStencilState", [(OpaquePointer(Const(D3D10_DEPTH_STENCIL_DESC)), "pDepthStencilDesc"), Out(OpaquePointer(OpaquePointer(ID3D10DepthStencilState)), "ppDepthStencilState")]), + Method(HRESULT, "CreateRasterizerState", [(OpaquePointer(Const(D3D10_RASTERIZER_DESC)), "pRasterizerDesc"), Out(OpaquePointer(OpaquePointer(ID3D10RasterizerState)), "ppRasterizerState")]), + Method(HRESULT, "CreateSamplerState", [(OpaquePointer(Const(D3D10_SAMPLER_DESC)), "pSamplerDesc"), Out(OpaquePointer(OpaquePointer(ID3D10SamplerState)), "ppSamplerState")]), + Method(HRESULT, "CreateQuery", [(OpaquePointer(Const(D3D10_QUERY_DESC)), "pQueryDesc"), Out(OpaquePointer(OpaquePointer(ID3D10Query)), "ppQuery")]), + Method(HRESULT, "CreatePredicate", [(OpaquePointer(Const(D3D10_QUERY_DESC)), "pPredicateDesc"), Out(OpaquePointer(OpaquePointer(ID3D10Predicate)), "ppPredicate")]), + Method(HRESULT, "CreateCounter", [(OpaquePointer(Const(D3D10_COUNTER_DESC)), "pCounterDesc"), Out(OpaquePointer(OpaquePointer(ID3D10Counter)), "ppCounter")]), + Method(HRESULT, "CheckFormatSupport", [(DXGI_FORMAT, "Format"), Out(OpaquePointer(UINT), "pFormatSupport")]), + Method(HRESULT, "CheckMultisampleQualityLevels", [(DXGI_FORMAT, "Format"), (UINT, "SampleCount"), Out(OpaquePointer(UINT), "pNumQualityLevels")]), + Method(Void, "CheckCounterInfo", [Out(OpaquePointer(D3D10_COUNTER_INFO), "pCounterInfo")]), + Method(HRESULT, "CheckCounter", [(OpaquePointer(Const(D3D10_COUNTER_DESC)), "pDesc"), Out(OpaquePointer(D3D10_COUNTER_TYPE), "pType"), Out(OpaquePointer(UINT), "pActiveCounters"), Out(LPSTR, "szName"), Out(OpaquePointer(UINT), "pNameLength"), Out(LPSTR, "szUnits"), Out(OpaquePointer(UINT), "pUnitsLength"), Out(LPSTR, "szDescription"), Out(OpaquePointer(UINT), "pDescriptionLength")]), + Method(UINT, "GetCreationFlags", []), + Method(HRESULT, "OpenSharedResource", [(HANDLE, "hResource"), (REFIID, "ReturnedInterface"), Out(OpaquePointer(OpaquePointer(Void)), "ppResource")]), + Method(Void, "SetTextFilterSize", [(UINT, "Width"), (UINT, "Height")]), + Method(Void, "GetTextFilterSize", [Out(OpaquePointer(UINT), "pWidth"), Out(OpaquePointer(UINT), "pHeight")]), +] + +ID3D10Multithread.methods += [ + Method(Void, "Enter", []), + Method(Void, "Leave", []), + Method(BOOL, "SetMultithreadProtected", [(BOOL, "bMTProtect")]), + Method(BOOL, "GetMultithreadProtected", []), +] + diff --git a/specs/d3d10_1.py b/specs/d3d10_1.py new file mode 100644 index 0000000..ebf2896 --- /dev/null +++ b/specs/d3d10_1.py @@ -0,0 +1,77 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d10_1.h""" + +from winapi import * + +ID3D10Blob = Interface("ID3D10Blob", IUnknown) +LPD3D10BLOB = Pointer(ID3D10Blob) + +ID3D10Blob.methods += [ + Method(LPVOID, "GetBufferPointer", []), + Method(SIZE_T, "GetBufferSize", []), +] + +D3D10_DRIVER_TYPE = Enum("D3D10_DRIVER_TYPE", [ + "D3D10_DRIVER_TYPE_HARDWARE", + "D3D10_DRIVER_TYPE_REFERENCE", + "D3D10_DRIVER_TYPE_NULL", + "D3D10_DRIVER_TYPE_SOFTWARE", + "D3D10_DRIVER_TYPE_WARP", +]) + +D3D10_FEATURE_LEVEL1 = Enum("D3D10_FEATURE_LEVEL1", [ + "D3D10_FEATURE_LEVEL_10_0", + "D3D10_FEATURE_LEVEL_10_1", + "D3D10_FEATURE_LEVEL_9_1", + "D3D10_FEATURE_LEVEL_9_2", + "D3D10_FEATURE_LEVEL_9_3", +]) + +# TODO +IDXGIAdapter = Alias("IDXGIAdapter", Void) +ID3D10Device1 = Alias("ID3D10Device1", Void) +IDXGISwapChain = Alias("IDXGISwapChain", Void) +DXGI_SWAP_CHAIN_DESC = Alias("DXGI_SWAP_CHAIN_DESC", Void) + +d3d10_1 = Dll("d3d10") +d3d10_1.functions += [ + StdFunction(HRESULT, "D3D10CreateDevice1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (OutPointer(Pointer(ID3D10Device1)), "ppDevice")]), + StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), (OutPointer(Pointer(IDXGISwapChain)), "ppSwapChain"), (OutPointer(Pointer(ID3D10Device1)), "ppDevice")]), + StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), (OutPointer(LPD3D10BLOB), "ppBuffer")]), +] + +if __name__ == '__main__': + print '#include ' + print '#include ' + print + print '#include "compat.h"' + print + print '#include ' + print + print '#include "trace_writer.hpp"' + print + wrap() diff --git a/specs/d3d10misc.py b/specs/d3d10misc.py new file mode 100644 index 0000000..1e1580f --- /dev/null +++ b/specs/d3d10misc.py @@ -0,0 +1,54 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d10misc.h""" + +from winapi import * +from d3d10 import * + + +ID3D10Blob = Interface("ID3D10Blob", IUnknown) +LPD3D10BLOB = Pointer(ID3D10Blob) + +ID3D10Blob.methods += [ + Method(LPVOID, "GetBufferPointer", []), + Method(SIZE_T, "GetBufferSize", []), +] + +D3D10_DRIVER_TYPE = Enum("D3D10_DRIVER_TYPE", [ + "D3D10_DRIVER_TYPE_HARDWARE", + "D3D10_DRIVER_TYPE_REFERENCE", + "D3D10_DRIVER_TYPE_NULL", + "D3D10_DRIVER_TYPE_SOFTWARE", + "D3D10_DRIVER_TYPE_WARP", +]) + + +d3d10 = API("d3d10") +d3d10.add_functions([ + StdFunction(HRESULT, "D3D10CreateDevice", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (UINT, "SDKVersion"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), + StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), Out(Pointer(Pointer(IDXGISwapChain)), "ppSwapChain"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), + StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), Out(Pointer(LPD3D10BLOB), "ppBuffer")]), +]) diff --git a/specs/d3d8.py b/specs/d3d8.py new file mode 100644 index 0000000..0713696 --- /dev/null +++ b/specs/d3d8.py @@ -0,0 +1,282 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d8.h""" + +from winapi import * +from d3d8types import * +from d3d8caps import * + +HRESULT = Enum("HRESULT", [ + "D3D_OK", + "D3DERR_WRONGTEXTUREFORMAT", + "D3DERR_UNSUPPORTEDCOLOROPERATION", + "D3DERR_UNSUPPORTEDCOLORARG", + "D3DERR_UNSUPPORTEDALPHAOPERATION", + "D3DERR_UNSUPPORTEDALPHAARG", + "D3DERR_TOOMANYOPERATIONS", + "D3DERR_CONFLICTINGTEXTUREFILTER", + "D3DERR_UNSUPPORTEDFACTORVALUE", + "D3DERR_CONFLICTINGRENDERSTATE", + "D3DERR_UNSUPPORTEDTEXTUREFILTER", + "D3DERR_CONFLICTINGTEXTUREPALETTE", + "D3DERR_DRIVERINTERNALERROR", + "D3DERR_NOTFOUND", + "D3DERR_MOREDATA", + "D3DERR_DEVICELOST", + "D3DERR_DEVICENOTRESET", + "D3DERR_NOTAVAILABLE", + "D3DERR_OUTOFVIDEOMEMORY", + "D3DERR_INVALIDDEVICE", + "D3DERR_INVALIDCALL", + "D3DERR_DRIVERINVALIDCALL", +]) + +IDirect3D8 = Interface("IDirect3D8", IUnknown) +IDirect3DDevice8 = Interface("IDirect3DDevice8", IUnknown) +IDirect3DSwapChain8 = Interface("IDirect3DSwapChain8", IUnknown) +IDirect3DResource8 = Interface("IDirect3DResource8", IUnknown) +IDirect3DBaseTexture8 = Interface("IDirect3DBaseTexture8", IDirect3DResource8) +IDirect3DTexture8 = Interface("IDirect3DTexture8", IDirect3DBaseTexture8) +IDirect3DVolumeTexture8 = Interface("IDirect3DVolumeTexture8", IDirect3DBaseTexture8) +IDirect3DCubeTexture8 = Interface("IDirect3DCubeTexture8", IDirect3DBaseTexture8) +IDirect3DVertexBuffer8 = Interface("IDirect3DVertexBuffer8", IDirect3DResource8) +IDirect3DIndexBuffer8 = Interface("IDirect3DIndexBuffer8", IDirect3DResource8) +IDirect3DSurface8 = Interface("IDirect3DSurface8", IUnknown) +IDirect3DVolume8 = Interface("IDirect3DVolume8", IUnknown) + +PDIRECT3D8 = WrapPointer(IDirect3D8) +PDIRECT3DDEVICE8 = WrapPointer(IDirect3DDevice8) +PDIRECT3DSWAPCHAIN8 = WrapPointer(IDirect3DSwapChain8) +PDIRECT3DRESOURCE8 = WrapPointer(IDirect3DResource8) +PDIRECT3DBASETEXTURE8 = WrapPointer(IDirect3DBaseTexture8) +PDIRECT3DTEXTURE8 = WrapPointer(IDirect3DTexture8) +PDIRECT3DVOLUMETEXTURE8 = WrapPointer(IDirect3DVolumeTexture8) +PDIRECT3DCUBETEXTURE8 = WrapPointer(IDirect3DCubeTexture8) +PDIRECT3DVERTEXBUFFER8 = WrapPointer(IDirect3DVertexBuffer8) +PDIRECT3DINDEXBUFFER8 = WrapPointer(IDirect3DIndexBuffer8) +PDIRECT3DSURFACE8 = WrapPointer(IDirect3DSurface8) +PDIRECT3DVOLUME8 = WrapPointer(IDirect3DVolume8) + +IDirect3D8.methods += [ + Method(HRESULT, "RegisterSoftwareDevice", [(OpaquePointer(Void), "pInitializeFunction")]), + Method(UINT, "GetAdapterCount", []), + Method(HRESULT, "GetAdapterIdentifier", [(UINT, "Adapter"), (DWORD, "Flags"), Out(Pointer(D3DADAPTER_IDENTIFIER8), "pIdentifier")]), + Method(UINT, "GetAdapterModeCount", [(UINT, "Adapter")]), + Method(HRESULT, "EnumAdapterModes", [(UINT, "Adapter"), (UINT, "Mode"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "GetAdapterDisplayMode", [(UINT, "Adapter"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "CheckDeviceType", [(UINT, "Adapter"), (D3DDEVTYPE, "CheckType"), (D3DFORMAT, "DisplayFormat"), (D3DFORMAT, "BackBufferFormat"), (BOOL, "Windowed")]), + Method(HRESULT, "CheckDeviceFormat", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (DWORD, "Usage"), (D3DRESOURCETYPE, "RType"), (D3DFORMAT, "CheckFormat")]), + Method(HRESULT, "CheckDeviceMultiSampleType", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SurfaceFormat"), (BOOL, "Windowed"), (D3DMULTISAMPLE_TYPE, "MultiSampleType")]), + Method(HRESULT, "CheckDepthStencilMatch", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "RenderTargetFormat"), (D3DFORMAT, "DepthStencilFormat")]), + Method(HRESULT, "GetDeviceCaps", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), Out(Pointer(D3DCAPS8), "pCaps")]), + Method(HMONITOR, "GetAdapterMonitor", [(UINT, "Adapter")]), + Method(HRESULT, "CreateDevice", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (DWORD, "BehaviorFlags"), Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DDEVICE8), "ppReturnedDeviceInterface")]), +] + +IDirect3DDevice8.methods += [ + Method(HRESULT, "TestCooperativeLevel", []), + Method(UINT, "GetAvailableTextureMem", []), + Method(HRESULT, "ResourceManagerDiscardBytes", [(DWORD, "Bytes")]), + Method(HRESULT, "GetDirect3D", [Out(Pointer(PDIRECT3D8), "ppD3D8")]), + Method(HRESULT, "GetDeviceCaps", [Out(Pointer(D3DCAPS8), "pCaps")]), + Method(HRESULT, "GetDisplayMode", [Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "GetCreationParameters", [Out(Pointer(D3DDEVICE_CREATION_PARAMETERS), "pParameters")]), + Method(HRESULT, "SetCursorProperties", [(UINT, "XHotSpot"), (UINT, "YHotSpot"), (PDIRECT3DSURFACE8, "pCursorBitmap")]), + # XXX: There are different signatures of + # IDirect3DDevice8::SetCursorPosition depending on the DXSDK version + Method(Void, "SetCursorPosition", [(UINT, "XScreenSpace"), (UINT, "YScreenSpace"), (DWORD, "Flags")]), + Method(Void, "SetCursorPosition", [(Int, "X"), (Int, "Y"), (DWORD, "Flags")]), + Method(BOOL, "ShowCursor", [(BOOL, "bShow")]), + Method(HRESULT, "CreateAdditionalSwapChain", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DSWAPCHAIN8), "pSwapChain")]), + Method(HRESULT, "Reset", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]), + Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion")]), + Method(HRESULT, "GetBackBuffer", [(UINT, "BackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE8), "ppBackBuffer")]), + Method(HRESULT, "GetRasterStatus", [Out(Pointer(D3DRASTER_STATUS), "pRasterStatus")]), + Method(Void, "SetGammaRamp", [(DWORD, "Flags"), (ConstPointer(D3DGAMMARAMP), "pRamp")]), + Method(Void, "GetGammaRamp", [Out(Pointer(D3DGAMMARAMP), "pRamp")]), + Method(HRESULT, "CreateTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DTEXTURE8), "ppTexture")]), + Method(HRESULT, "CreateVolumeTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Depth"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVOLUMETEXTURE8), "ppVolumeTexture")]), + Method(HRESULT, "CreateCubeTexture", [(UINT, "EdgeLength"), (UINT, "Levels"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DCUBETEXTURE8), "ppCubeTexture")]), + Method(HRESULT, "CreateVertexBuffer", [(UINT, "Length"), (DWORD, "Usage"), (DWORD, "FVF"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVERTEXBUFFER8), "ppVertexBuffer")]), + Method(HRESULT, "CreateIndexBuffer", [(UINT, "Length"), (DWORD, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DINDEXBUFFER8), "ppIndexBuffer")]), + Method(HRESULT, "CreateRenderTarget", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (BOOL, "Lockable"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurface")]), + Method(HRESULT, "CreateDepthStencilSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurface")]), + Method(HRESULT, "CreateImageSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurface")]), + Method(HRESULT, "CopyRects", [(PDIRECT3DSURFACE8, "pSourceSurface"), (ConstPointer(RECT), "pSourceRectsArray"), (UINT, "cRects"), (PDIRECT3DSURFACE8, "pDestinationSurface"), (ConstPointer(POINT), "pDestPointsArray")]), + Method(HRESULT, "UpdateTexture", [(PDIRECT3DBASETEXTURE8, "pSourceTexture"), (PDIRECT3DBASETEXTURE8, "pDestinationTexture")]), + Method(HRESULT, "GetFrontBuffer", [(PDIRECT3DSURFACE8, "pDestSurface")]), + Method(HRESULT, "SetRenderTarget", [(PDIRECT3DSURFACE8, "pRenderTarget"), (PDIRECT3DSURFACE8, "pNewZStencil")]), + Method(HRESULT, "GetRenderTarget", [Out(Pointer(PDIRECT3DSURFACE8), "ppRenderTarget")]), + Method(HRESULT, "GetDepthStencilSurface", [Out(Pointer(PDIRECT3DSURFACE8), "ppZStencilSurface")]), + Method(HRESULT, "BeginScene", []), + Method(HRESULT, "EndScene", []), + Method(HRESULT, "Clear", [(DWORD, "Count"), (ConstPointer(D3DRECT), "pRects"), (D3DCLEAR, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]), + Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), + Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "State"), Out(Pointer(D3DMATRIX), "pMatrix")]), + Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), + Method(HRESULT, "SetViewport", [(ConstPointer(D3DVIEWPORT8), "pViewport")]), + Method(HRESULT, "GetViewport", [Out(Pointer(D3DVIEWPORT8), "pViewport")]), + Method(HRESULT, "SetMaterial", [(ConstPointer(D3DMATERIAL8), "pMaterial")]), + Method(HRESULT, "GetMaterial", [Out(Pointer(D3DMATERIAL8), "pMaterial")]), + Method(HRESULT, "SetLight", [(DWORD, "Index"), (ConstPointer(D3DLIGHT8), "pLight")]), + Method(HRESULT, "GetLight", [(DWORD, "Index"), Out(Pointer(D3DLIGHT8), "pLight")]), + Method(HRESULT, "LightEnable", [(DWORD, "Index"), (BOOL, "Enable")]), + Method(HRESULT, "GetLightEnable", [(DWORD, "Index"), Out(Pointer(BOOL), "pEnable")]), + Method(HRESULT, "SetClipPlane", [(DWORD, "Index"), (ConstPointer(Float), "pPlane")]), + Method(HRESULT, "GetClipPlane", [(DWORD, "Index"), Out(Pointer(Float), "pPlane")]), + Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "State"), (DWORD, "Value")]), + Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "State"), Out(Pointer(DWORD), "pValue")]), + Method(HRESULT, "BeginStateBlock", []), + Method(HRESULT, "EndStateBlock", [Out(Pointer(DWORD), "pToken")]), + Method(HRESULT, "ApplyStateBlock", [(DWORD, "Token")]), + Method(HRESULT, "CaptureStateBlock", [(DWORD, "Token")]), + Method(HRESULT, "DeleteStateBlock", [(DWORD, "Token")]), + Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "Type"), Out(Pointer(DWORD), "pToken")]), + Method(HRESULT, "SetClipStatus", [(ConstPointer(D3DCLIPSTATUS8), "pClipStatus")]), + Method(HRESULT, "GetClipStatus", [Out(Pointer(D3DCLIPSTATUS8), "pClipStatus")]), + Method(HRESULT, "GetTexture", [(DWORD, "Stage"), Out(Pointer(PDIRECT3DBASETEXTURE8), "ppTexture")]), + Method(HRESULT, "SetTexture", [(DWORD, "Stage"), (PDIRECT3DBASETEXTURE8, "pTexture")]), + Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]), + Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (DWORD, "Value")]), + Method(HRESULT, "ValidateDevice", [Out(Pointer(DWORD), "pNumPasses")]), + Method(HRESULT, "GetInfo", [(DWORD, "DevInfoID"), Out(OpaquePointer(Void), "pDevInfoStruct"), (DWORD, "DevInfoStructSize")]), + Method(HRESULT, "SetPaletteEntries", [(UINT, "PaletteNumber"), (ConstPointer(PALETTEENTRY), "pEntries")]), + Method(HRESULT, "GetPaletteEntries", [(UINT, "PaletteNumber"), Out(Pointer(PALETTEENTRY), "pEntries")]), + Method(HRESULT, "SetCurrentTexturePalette", [(UINT, "PaletteNumber")]), + Method(HRESULT, "GetCurrentTexturePalette", [Out(Pointer(UINT), "PaletteNumber")]), + Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "StartVertex"), (UINT, "PrimitiveCount")]), + Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "minIndex"), (UINT, "NumVertices"), (UINT, "startIndex"), (UINT, "primCount")]), + Method(HRESULT, "DrawPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), + Method(HRESULT, "DrawIndexedPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "MinVertexIndex"), (UINT, "NumVertexIndices"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pIndexData"), (D3DFORMAT, "IndexDataFormat"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), + Method(HRESULT, "ProcessVertices", [(UINT, "SrcStartIndex"), (UINT, "DestIndex"), (UINT, "VertexCount"), (PDIRECT3DVERTEXBUFFER8, "pDestBuffer"), (DWORD, "Flags")]), + Method(HRESULT, "CreateVertexShader", [(ConstPointer(DWORD), "pDeclaration"), (ConstPointer(DWORD), "pFunction"), Out(Pointer(DWORD), "pHandle"), (DWORD, "Usage")]), + Method(HRESULT, "SetVertexShader", [(DWORD, "Handle")]), + Method(HRESULT, "GetVertexShader", [Out(Pointer(DWORD), "pHandle")]), + Method(HRESULT, "DeleteVertexShader", [(DWORD, "Handle")]), + Method(HRESULT, "SetVertexShaderConstant", [(DWORD, "Register"), (OpaquePointer(Const(Void)), "pConstantData"), (DWORD, "ConstantCount")]), + Method(HRESULT, "GetVertexShaderConstant", [(DWORD, "Register"), Out(OpaquePointer(Void), "pConstantData"), (DWORD, "ConstantCount")]), + Method(HRESULT, "GetVertexShaderDeclaration", [(DWORD, "Handle"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "GetVertexShaderFunction", [(DWORD, "Handle"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "SetStreamSource", [(UINT, "StreamNumber"), (PDIRECT3DVERTEXBUFFER8, "pStreamData"), (UINT, "Stride")]), + Method(HRESULT, "GetStreamSource", [(UINT, "StreamNumber"), Out(Pointer(PDIRECT3DVERTEXBUFFER8), "ppStreamData"), Out(Pointer(UINT), "pStride")]), + Method(HRESULT, "SetIndices", [(PDIRECT3DINDEXBUFFER8, "pIndexData"), (UINT, "BaseVertexIndex")]), + Method(HRESULT, "GetIndices", [Out(Pointer(PDIRECT3DINDEXBUFFER8), "ppIndexData"), Out(Pointer(UINT), "pBaseVertexIndex")]), + Method(HRESULT, "CreatePixelShader", [(ConstPointer(DWORD), "pFunction"), Out(Pointer(DWORD), "pHandle")]), + Method(HRESULT, "SetPixelShader", [(DWORD, "Handle")]), + Method(HRESULT, "GetPixelShader", [Out(Pointer(DWORD), "pHandle")]), + Method(HRESULT, "DeletePixelShader", [(DWORD, "Handle")]), + Method(HRESULT, "SetPixelShaderConstant", [(DWORD, "Register"), (OpaquePointer(Const(Void)), "pConstantData"), (DWORD, "ConstantCount")]), + Method(HRESULT, "GetPixelShaderConstant", [(DWORD, "Register"), Out(OpaquePointer(Void), "pConstantData"), (DWORD, "ConstantCount")]), + Method(HRESULT, "GetPixelShaderFunction", [(DWORD, "Handle"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "DrawRectPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DRECTPATCH_INFO), "pRectPatchInfo")]), + Method(HRESULT, "DrawTriPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DTRIPATCH_INFO), "pTriPatchInfo")]), + Method(HRESULT, "DeletePatch", [(UINT, "Handle")]), +] + +IDirect3DSwapChain8.methods += [ + Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion")]), + Method(HRESULT, "GetBackBuffer", [(UINT, "BackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE8), "ppBackBuffer")]), +] + +IDirect3DResource8.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE8), "ppDevice")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), + Method(DWORD, "SetPriority", [(DWORD, "PriorityNew")]), + Method(DWORD, "GetPriority", []), + Method(Void, "PreLoad", []), + Method(D3DRESOURCETYPE, "GetType", []), +] + +IDirect3DBaseTexture8.methods += [ + Method(DWORD, "SetLOD", [(DWORD, "LODNew")]), + Method(DWORD, "GetLOD", []), + Method(DWORD, "GetLevelCount", []), +] + +IDirect3DTexture8.methods += [ + Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), + Method(HRESULT, "GetSurfaceLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE8), "ppSurfaceLevel")]), + Method(HRESULT, "LockRect", [(UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (DWORD, "Flags")]), + Method(HRESULT, "UnlockRect", [(UINT, "Level")]), + Method(HRESULT, "AddDirtyRect", [(ConstPointer(RECT), "pDirtyRect")]), +] + +IDirect3DVolumeTexture8.methods += [ + Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DVOLUME_DESC), "pDesc")]), + Method(HRESULT, "GetVolumeLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DVOLUME8), "ppVolumeLevel")]), + Method(HRESULT, "LockBox", [(UINT, "Level"), Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (DWORD, "Flags")]), + Method(HRESULT, "UnlockBox", [(UINT, "Level")]), + Method(HRESULT, "AddDirtyBox", [(ConstPointer(D3DBOX), "pDirtyBox")]), +] + +IDirect3DCubeTexture8.methods += [ + Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), + Method(HRESULT, "GetCubeMapSurface", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE8), "ppCubeMapSurface")]), + Method(HRESULT, "LockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (DWORD, "Flags")]), + Method(HRESULT, "UnlockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level")]), + Method(HRESULT, "AddDirtyRect", [(D3DCUBEMAP_FACES, "FaceType"), (ConstPointer(RECT), "pDirtyRect")]), +] + +IDirect3DVertexBuffer8.methods += [ + Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(Pointer(BYTE)), "ppbData"), (DWORD, "Flags")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DVERTEXBUFFER_DESC), "pDesc")]), +] + +IDirect3DIndexBuffer8.methods += [ + Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(Pointer(BYTE)), "ppbData"), (DWORD, "Flags")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DINDEXBUFFER_DESC), "pDesc")]), +] + +IDirect3DSurface8.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE8), "ppDevice")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), + Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DSURFACE_DESC), "pDesc")]), + Method(HRESULT, "LockRect", [Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (DWORD, "Flags")]), + Method(HRESULT, "UnlockRect", []), +] + +IDirect3DVolume8.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE8), "ppDevice")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (DWORD, "Flags")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), + Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DVOLUME_DESC), "pDesc")]), + Method(HRESULT, "LockBox", [Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (DWORD, "Flags")]), + Method(HRESULT, "UnlockBox", []), +] + +d3d8 = API("d3d8") +d3d8.add_functions([ + StdFunction(PDIRECT3D8, "Direct3DCreate8", [(UINT, "SDKVersion")]), +]) diff --git a/specs/d3d8caps.py b/specs/d3d8caps.py new file mode 100644 index 0000000..87e7625 --- /dev/null +++ b/specs/d3d8caps.py @@ -0,0 +1,335 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d8caps.h""" + +from winapi import * +from d3d8types import * + +D3DCAPS = Flags(DWORD, [ + "D3DCAPS_READ_SCANLINE", +]) + +D3DCAPS2 = Flags(DWORD, [ + "D3DCAPS2_NO2DDURING3DSCENE", + "D3DCAPS2_FULLSCREENGAMMA", + "D3DCAPS2_CANRENDERWINDOWED", + "D3DCAPS2_CANCALIBRATEGAMMA", + "D3DCAPS2_RESERVED", + "D3DCAPS2_CANMANAGERESOURCE", + "D3DCAPS2_DYNAMICTEXTURES", +]) + +D3DCAPS3 = Flags(DWORD, [ + "D3DCAPS3_RESERVED", + "D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD", +]) + +D3DPRESENT_INTERVAL = Flags(DWORD, [ + "D3DPRESENT_INTERVAL_DEFAULT", + "D3DPRESENT_INTERVAL_ONE", + "D3DPRESENT_INTERVAL_TWO", + "D3DPRESENT_INTERVAL_THREE", + "D3DPRESENT_INTERVAL_FOUR", + "D3DPRESENT_INTERVAL_IMMEDIATE", +]) + +D3DCURSORCAPS = Flags(DWORD, [ + "D3DCURSORCAPS_COLOR", + "D3DCURSORCAPS_LOWRES", +]) + +D3DDEVCAPS = Flags(DWORD, [ + "D3DDEVCAPS_EXECUTESYSTEMMEMORY", + "D3DDEVCAPS_EXECUTEVIDEOMEMORY", + "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY", + "D3DDEVCAPS_TLVERTEXVIDEOMEMORY", + "D3DDEVCAPS_TEXTURESYSTEMMEMORY", + "D3DDEVCAPS_TEXTUREVIDEOMEMORY", + "D3DDEVCAPS_DRAWPRIMTLVERTEX", + "D3DDEVCAPS_CANRENDERAFTERFLIP", + "D3DDEVCAPS_TEXTURENONLOCALVIDMEM", + "D3DDEVCAPS_DRAWPRIMITIVES2", + "D3DDEVCAPS_SEPARATETEXTUREMEMORIES", + "D3DDEVCAPS_DRAWPRIMITIVES2EX", + "D3DDEVCAPS_HWTRANSFORMANDLIGHT", + "D3DDEVCAPS_CANBLTSYSTONONLOCAL", + "D3DDEVCAPS_HWRASTERIZATION", + "D3DDEVCAPS_PUREDEVICE", + "D3DDEVCAPS_QUINTICRTPATCHES", + "D3DDEVCAPS_RTPATCHES", + "D3DDEVCAPS_RTPATCHHANDLEZERO", + "D3DDEVCAPS_NPATCHES", +]) + +D3DPMISCCAPS = Flags(DWORD, [ + "D3DPMISCCAPS_MASKZ", + "D3DPMISCCAPS_LINEPATTERNREP", + "D3DPMISCCAPS_CULLNONE", + "D3DPMISCCAPS_CULLCW", + "D3DPMISCCAPS_CULLCCW", + "D3DPMISCCAPS_COLORWRITEENABLE", + "D3DPMISCCAPS_CLIPPLANESCALEDPOINTS", + "D3DPMISCCAPS_CLIPTLVERTS", + "D3DPMISCCAPS_TSSARGTEMP", + "D3DPMISCCAPS_BLENDOP", + "D3DPMISCCAPS_NULLREFERENCE", +]) + +D3DLINECAPS = Flags(DWORD, [ + "D3DLINECAPS_TEXTURE", + "D3DLINECAPS_ZTEST", + "D3DLINECAPS_BLEND", + "D3DLINECAPS_ALPHACMP", + "D3DLINECAPS_FOG", +]) + +D3DPRASTERCAPS = Flags(DWORD, [ + "D3DPRASTERCAPS_DITHER", + "D3DPRASTERCAPS_PAT", + "D3DPRASTERCAPS_ZTEST", + "D3DPRASTERCAPS_FOGVERTEX", + "D3DPRASTERCAPS_FOGTABLE", + "D3DPRASTERCAPS_ANTIALIASEDGES", + "D3DPRASTERCAPS_MIPMAPLODBIAS", + "D3DPRASTERCAPS_ZBIAS", + "D3DPRASTERCAPS_ZBUFFERLESSHSR", + "D3DPRASTERCAPS_FOGRANGE", + "D3DPRASTERCAPS_ANISOTROPY", + "D3DPRASTERCAPS_WBUFFER", + "D3DPRASTERCAPS_WFOG", + "D3DPRASTERCAPS_ZFOG", + "D3DPRASTERCAPS_COLORPERSPECTIVE", + "D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE", +]) + +D3DPCMPCAPS = Flags(DWORD, [ + "D3DPCMPCAPS_NEVER", + "D3DPCMPCAPS_LESS", + "D3DPCMPCAPS_EQUAL", + "D3DPCMPCAPS_LESSEQUAL", + "D3DPCMPCAPS_GREATER", + "D3DPCMPCAPS_NOTEQUAL", + "D3DPCMPCAPS_GREATEREQUAL", + "D3DPCMPCAPS_ALWAYS", +]) + +D3DPBLENDCAPS = Flags(DWORD, [ + "D3DPBLENDCAPS_ZERO", + "D3DPBLENDCAPS_ONE", + "D3DPBLENDCAPS_SRCCOLOR", + "D3DPBLENDCAPS_INVSRCCOLOR", + "D3DPBLENDCAPS_SRCALPHA", + "D3DPBLENDCAPS_INVSRCALPHA", + "D3DPBLENDCAPS_DESTALPHA", + "D3DPBLENDCAPS_INVDESTALPHA", + "D3DPBLENDCAPS_DESTCOLOR", + "D3DPBLENDCAPS_INVDESTCOLOR", + "D3DPBLENDCAPS_SRCALPHASAT", + "D3DPBLENDCAPS_BOTHSRCALPHA", + "D3DPBLENDCAPS_BOTHINVSRCALPHA", +]) + +D3DPSHADECAPS = Flags(DWORD, [ + "D3DPSHADECAPS_COLORGOURAUDRGB", + "D3DPSHADECAPS_SPECULARGOURAUDRGB", + "D3DPSHADECAPS_ALPHAGOURAUDBLEND", + "D3DPSHADECAPS_FOGGOURAUD", +]) + +D3DPTEXTURECAPS = Flags(DWORD, [ + "D3DPTEXTURECAPS_PERSPECTIVE", + "D3DPTEXTURECAPS_POW2", + "D3DPTEXTURECAPS_ALPHA", + "D3DPTEXTURECAPS_SQUAREONLY", + "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE", + "D3DPTEXTURECAPS_ALPHAPALETTE", + "D3DPTEXTURECAPS_NONPOW2CONDITIONAL", + "D3DPTEXTURECAPS_PROJECTED", + "D3DPTEXTURECAPS_CUBEMAP", + "D3DPTEXTURECAPS_VOLUMEMAP", + "D3DPTEXTURECAPS_MIPMAP", + "D3DPTEXTURECAPS_MIPVOLUMEMAP", + "D3DPTEXTURECAPS_MIPCUBEMAP", + "D3DPTEXTURECAPS_CUBEMAP_POW2", + "D3DPTEXTURECAPS_VOLUMEMAP_POW2", +]) + +D3DPTFILTERCAPS = Flags(DWORD, [ + "D3DPTFILTERCAPS_MINFPOINT", + "D3DPTFILTERCAPS_MINFLINEAR", + "D3DPTFILTERCAPS_MINFANISOTROPIC", + "D3DPTFILTERCAPS_MIPFPOINT", + "D3DPTFILTERCAPS_MIPFLINEAR", + "D3DPTFILTERCAPS_MAGFPOINT", + "D3DPTFILTERCAPS_MAGFLINEAR", + "D3DPTFILTERCAPS_MAGFANISOTROPIC", + "D3DPTFILTERCAPS_MAGFAFLATCUBIC", + "D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC", +]) + +D3DPTADDRESSCAPS = Flags(DWORD, [ + "D3DPTADDRESSCAPS_WRAP", + "D3DPTADDRESSCAPS_MIRROR", + "D3DPTADDRESSCAPS_CLAMP", + "D3DPTADDRESSCAPS_BORDER", + "D3DPTADDRESSCAPS_INDEPENDENTUV", + "D3DPTADDRESSCAPS_MIRRORONCE", +]) + +D3DSTENCILCAPS = Flags(DWORD, [ + "D3DSTENCILCAPS_KEEP", + "D3DSTENCILCAPS_ZERO", + "D3DSTENCILCAPS_REPLACE", + "D3DSTENCILCAPS_INCRSAT", + "D3DSTENCILCAPS_DECRSAT", + "D3DSTENCILCAPS_INVERT", + "D3DSTENCILCAPS_INCR", + "D3DSTENCILCAPS_DECR", +]) + +D3DTEXOPCAPS = Flags(DWORD, [ + "D3DTEXOPCAPS_DISABLE", + "D3DTEXOPCAPS_SELECTARG1", + "D3DTEXOPCAPS_SELECTARG2", + "D3DTEXOPCAPS_MODULATE", + "D3DTEXOPCAPS_MODULATE2X", + "D3DTEXOPCAPS_MODULATE4X", + "D3DTEXOPCAPS_ADD", + "D3DTEXOPCAPS_ADDSIGNED", + "D3DTEXOPCAPS_ADDSIGNED2X", + "D3DTEXOPCAPS_SUBTRACT", + "D3DTEXOPCAPS_ADDSMOOTH", + "D3DTEXOPCAPS_BLENDDIFFUSEALPHA", + "D3DTEXOPCAPS_BLENDTEXTUREALPHA", + "D3DTEXOPCAPS_BLENDFACTORALPHA", + "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM", + "D3DTEXOPCAPS_BLENDCURRENTALPHA", + "D3DTEXOPCAPS_PREMODULATE", + "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR", + "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA", + "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR", + "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA", + "D3DTEXOPCAPS_BUMPENVMAP", + "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE", + "D3DTEXOPCAPS_DOTPRODUCT3", + "D3DTEXOPCAPS_MULTIPLYADD", + "D3DTEXOPCAPS_LERP", +]) + +D3DFVFCAPS = Flags(DWORD, [ + "D3DFVFCAPS_TEXCOORDCOUNTMASK", + "D3DFVFCAPS_DONOTSTRIPELEMENTS", + "D3DFVFCAPS_PSIZE", +]) + +D3DVTXPCAPS = Flags(DWORD, [ + "D3DVTXPCAPS_TEXGEN", + "D3DVTXPCAPS_MATERIALSOURCE7", + "D3DVTXPCAPS_DIRECTIONALLIGHTS", + "D3DVTXPCAPS_POSITIONALLIGHTS", + "D3DVTXPCAPS_LOCALVIEWER", + "D3DVTXPCAPS_TWEENING", + "D3DVTXPCAPS_NO_VSDT_UBYTE4", +]) + +#D3DPS_VERSION = Enum("DWORD", [ +# "D3DPS_VERSION(0,0)", +# "D3DPS_VERSION(1,0)", +# "D3DPS_VERSION(1,1)", +# "D3DPS_VERSION(1,2)", +# "D3DPS_VERSION(1,3)", +# "D3DPS_VERSION(1,4)", +# "D3DPS_VERSION(2,0)", +# "D3DPS_VERSION(3,0)", +#]) +D3DPS_VERSION = DWORD + +#D3DVS_VERSION = Enum("DWORD", [ +# "D3DVS_VERSION(0,0)", +# "D3DVS_VERSION(1,0)", +# "D3DVS_VERSION(1,1)", +# "D3DVS_VERSION(2,0)", +# "D3DVS_VERSION(3,0)", +#]) +D3DVS_VERSION = DWORD + + +D3DCAPS8 = Struct("D3DCAPS8", [ + (D3DDEVTYPE, "DeviceType"), + (UINT, "AdapterOrdinal"), + (D3DCAPS, "Caps"), + (D3DCAPS2, "Caps2"), + (D3DCAPS3, "Caps3"), + (D3DPRESENT_INTERVAL, "PresentationIntervals"), + (D3DCURSORCAPS, "CursorCaps"), + (D3DDEVCAPS, "DevCaps"), + (D3DPMISCCAPS, "PrimitiveMiscCaps"), + (D3DPRASTERCAPS, "RasterCaps"), + (D3DPCMPCAPS, "ZCmpCaps"), + (D3DPBLENDCAPS, "SrcBlendCaps"), + (D3DPBLENDCAPS, "DestBlendCaps"), + (D3DPCMPCAPS, "AlphaCmpCaps"), + (D3DPSHADECAPS, "ShadeCaps"), + (D3DPTEXTURECAPS, "TextureCaps"), + (D3DPTFILTERCAPS, "TextureFilterCaps"), + (D3DPTFILTERCAPS, "CubeTextureFilterCaps"), + (D3DPTFILTERCAPS, "VolumeTextureFilterCaps"), + (D3DPTADDRESSCAPS, "TextureAddressCaps"), + (D3DPTADDRESSCAPS, "VolumeTextureAddressCaps"), + (D3DLINECAPS, "LineCaps"), + (DWORD, "MaxTextureWidth"), + (DWORD, "MaxTextureHeight"), + (DWORD, "MaxVolumeExtent"), + (DWORD, "MaxTextureRepeat"), + (DWORD, "MaxTextureAspectRatio"), + (DWORD, "MaxAnisotropy"), + (Float, "MaxVertexW"), + (Float, "GuardBandLeft"), + (Float, "GuardBandTop"), + (Float, "GuardBandRight"), + (Float, "GuardBandBottom"), + (Float, "ExtentsAdjust"), + (D3DSTENCILCAPS, "StencilCaps"), + (D3DFVFCAPS, "FVFCaps"), + (D3DTEXOPCAPS, "TextureOpCaps"), + (DWORD, "MaxTextureBlendStages"), + (DWORD, "MaxSimultaneousTextures"), + (D3DVTXPCAPS, "VertexProcessingCaps"), + (DWORD, "MaxActiveLights"), + (DWORD, "MaxUserClipPlanes"), + (DWORD, "MaxVertexBlendMatrices"), + (DWORD, "MaxVertexBlendMatrixIndex"), + (Float, "MaxPointSize"), + (DWORD, "MaxPrimitiveCount"), + (DWORD, "MaxVertexIndex"), + (DWORD, "MaxStreams"), + (DWORD, "MaxStreamStride"), + (D3DVS_VERSION, "VertexShaderVersion"), + (DWORD, "MaxVertexShaderConst"), + (D3DPS_VERSION, "PixelShaderVersion"), + (Float, "MaxPixelShaderValue"), +]) + diff --git a/specs/d3d8types.py b/specs/d3d8types.py new file mode 100644 index 0000000..6136d98 --- /dev/null +++ b/specs/d3d8types.py @@ -0,0 +1,1011 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d8types.h""" + +from winapi import * + +D3DCOLOR = Alias("D3DCOLOR", DWORD) + +D3DVECTOR = Struct("D3DVECTOR", [ + (Float, "x"), + (Float, "y"), + (Float, "z"), +]) + +D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ + (Float, "r"), + (Float, "g"), + (Float, "b"), + (Float, "a"), +]) + +D3DRECT = Struct("D3DRECT", [ + (LONG, "x1"), + (LONG, "y1"), + (LONG, "x2"), + (LONG, "y2"), +]) + +D3DMATRIX = Struct("D3DMATRIX", [ + (Array(Array(Float, "4"), "4"), "m"), +]) + +D3DVIEWPORT8 = Struct("D3DVIEWPORT8", [ + (DWORD, "X"), + (DWORD, "Y"), + (DWORD, "Width"), + (DWORD, "Height"), + (Float, "MinZ"), + (Float, "MaxZ"), +]) + +D3DCLIP = Flags(DWORD, [ + "D3DCLIPPLANE0", + "D3DCLIPPLANE1", + "D3DCLIPPLANE2", + "D3DCLIPPLANE3", + "D3DCLIPPLANE4", + "D3DCLIPPLANE5", +]) + +D3DCS = Flags(DWORD, [ + "D3DCS_ALL", + "D3DCS_LEFT", + "D3DCS_RIGHT", + "D3DCS_TOP", + "D3DCS_BOTTOM", + "D3DCS_FRONT", + "D3DCS_BACK", + "D3DCS_PLANE0", + "D3DCS_PLANE1", + "D3DCS_PLANE2", + "D3DCS_PLANE3", + "D3DCS_PLANE4", + "D3DCS_PLANE5", +]) + +D3DCLIPSTATUS8 = Struct("D3DCLIPSTATUS8", [ + (DWORD, "ClipUnion"), + (DWORD, "ClipIntersection"), +]) + +D3DMATERIAL8 = Struct("D3DMATERIAL8", [ + (D3DCOLORVALUE, "Diffuse"), + (D3DCOLORVALUE, "Ambient"), + (D3DCOLORVALUE, "Specular"), + (D3DCOLORVALUE, "Emissive"), + (Float, "Power"), +]) + +D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ + "D3DLIGHT_POINT", + "D3DLIGHT_SPOT", + "D3DLIGHT_DIRECTIONAL", +]) + +D3DLIGHT8 = Struct("D3DLIGHT8", [ + (D3DLIGHTTYPE, "Type"), + (D3DCOLORVALUE, "Diffuse"), + (D3DCOLORVALUE, "Specular"), + (D3DCOLORVALUE, "Ambient"), + (D3DVECTOR, "Position"), + (D3DVECTOR, "Direction"), + (Float, "Range"), + (Float, "Falloff"), + (Float, "Attenuation0"), + (Float, "Attenuation1"), + (Float, "Attenuation2"), + (Float, "Theta"), + (Float, "Phi"), +]) + +D3DCLEAR = Flags(DWORD, [ + "D3DCLEAR_TARGET", + "D3DCLEAR_ZBUFFER", + "D3DCLEAR_STENCIL", +]) + +D3DSHADEMODE = Enum("D3DSHADEMODE", [ + "D3DSHADE_FLAT", + "D3DSHADE_GOURAUD", + "D3DSHADE_PHONG", +]) + +D3DFILLMODE = Enum("D3DFILLMODE", [ + "D3DFILL_POINT", + "D3DFILL_WIREFRAME", + "D3DFILL_SOLID", +]) + +D3DLINEPATTERN = Struct("D3DLINEPATTERN", [ + (WORD, "wRepeatFactor"), + (WORD, "wLinePattern"), +]) + +D3DBLEND = Enum("D3DBLEND", [ + "D3DBLEND_ZERO", + "D3DBLEND_ONE", + "D3DBLEND_SRCCOLOR", + "D3DBLEND_INVSRCCOLOR", + "D3DBLEND_SRCALPHA", + "D3DBLEND_INVSRCALPHA", + "D3DBLEND_DESTALPHA", + "D3DBLEND_INVDESTALPHA", + "D3DBLEND_DESTCOLOR", + "D3DBLEND_INVDESTCOLOR", + "D3DBLEND_SRCALPHASAT", + "D3DBLEND_BOTHSRCALPHA", + "D3DBLEND_BOTHINVSRCALPHA", +]) + +D3DBLENDOP = Enum("D3DBLENDOP", [ + "D3DBLENDOP_ADD", + "D3DBLENDOP_SUBTRACT", + "D3DBLENDOP_REVSUBTRACT", + "D3DBLENDOP_MIN", + "D3DBLENDOP_MAX", +]) + +D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ + "D3DTADDRESS_WRAP", + "D3DTADDRESS_MIRROR", + "D3DTADDRESS_CLAMP", + "D3DTADDRESS_BORDER", + "D3DTADDRESS_MIRRORONCE", +]) + +D3DCULL = Enum("D3DCULL", [ + "D3DCULL_NONE", + "D3DCULL_CW", + "D3DCULL_CCW", +]) + +D3DCMPFUNC = Enum("D3DCMPFUNC", [ + "D3DCMP_NEVER", + "D3DCMP_LESS", + "D3DCMP_EQUAL", + "D3DCMP_LESSEQUAL", + "D3DCMP_GREATER", + "D3DCMP_NOTEQUAL", + "D3DCMP_GREATEREQUAL", + "D3DCMP_ALWAYS", +]) + +D3DSTENCILOP = Enum("D3DSTENCILOP", [ + "D3DSTENCILOP_KEEP", + "D3DSTENCILOP_ZERO", + "D3DSTENCILOP_REPLACE", + "D3DSTENCILOP_INCRSAT", + "D3DSTENCILOP_DECRSAT", + "D3DSTENCILOP_INVERT", + "D3DSTENCILOP_INCR", + "D3DSTENCILOP_DECR", +]) + +D3DFOGMODE = Enum("D3DFOGMODE", [ + "D3DFOG_NONE", + "D3DFOG_EXP", + "D3DFOG_EXP2", + "D3DFOG_LINEAR", +]) + +D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ + "D3DZB_FALSE", + "D3DZB_TRUE", + "D3DZB_USEW", +]) + +D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ + "D3DPT_POINTLIST", + "D3DPT_LINELIST", + "D3DPT_LINESTRIP", + "D3DPT_TRIANGLELIST", + "D3DPT_TRIANGLESTRIP", + "D3DPT_TRIANGLEFAN", +]) + +D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ + "D3DTS_VIEW", + "D3DTS_PROJECTION", + "D3DTS_TEXTURE0", + "D3DTS_TEXTURE1", + "D3DTS_TEXTURE2", + "D3DTS_TEXTURE3", + "D3DTS_TEXTURE4", + "D3DTS_TEXTURE5", + "D3DTS_TEXTURE6", + "D3DTS_TEXTURE7", +]) + +D3DTS = Flags(DWORD, [ + "D3DTS_WORLD", + "D3DTS_WORLD1", + "D3DTS_WORLD2", + "D3DTS_WORLD3", +]) + +D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ + "D3DRS_ZENABLE", + "D3DRS_FILLMODE", + "D3DRS_SHADEMODE", + "D3DRS_LINEPATTERN", + "D3DRS_ZWRITEENABLE", + "D3DRS_ALPHATESTENABLE", + "D3DRS_LASTPIXEL", + "D3DRS_SRCBLEND", + "D3DRS_DESTBLEND", + "D3DRS_CULLMODE", + "D3DRS_ZFUNC", + "D3DRS_ALPHAREF", + "D3DRS_ALPHAFUNC", + "D3DRS_DITHERENABLE", + "D3DRS_ALPHABLENDENABLE", + "D3DRS_FOGENABLE", + "D3DRS_SPECULARENABLE", + "D3DRS_ZVISIBLE", + "D3DRS_FOGCOLOR", + "D3DRS_FOGTABLEMODE", + "D3DRS_FOGSTART", + "D3DRS_FOGEND", + "D3DRS_FOGDENSITY", + "D3DRS_EDGEANTIALIAS", + "D3DRS_ZBIAS", + "D3DRS_RANGEFOGENABLE", + "D3DRS_STENCILENABLE", + "D3DRS_STENCILFAIL", + "D3DRS_STENCILZFAIL", + "D3DRS_STENCILPASS", + "D3DRS_STENCILFUNC", + "D3DRS_STENCILREF", + "D3DRS_STENCILMASK", + "D3DRS_STENCILWRITEMASK", + "D3DRS_TEXTUREFACTOR", + "D3DRS_WRAP0", + "D3DRS_WRAP1", + "D3DRS_WRAP2", + "D3DRS_WRAP3", + "D3DRS_WRAP4", + "D3DRS_WRAP5", + "D3DRS_WRAP6", + "D3DRS_WRAP7", + "D3DRS_CLIPPING", + "D3DRS_LIGHTING", + "D3DRS_AMBIENT", + "D3DRS_FOGVERTEXMODE", + "D3DRS_COLORVERTEX", + "D3DRS_LOCALVIEWER", + "D3DRS_NORMALIZENORMALS", + "D3DRS_DIFFUSEMATERIALSOURCE", + "D3DRS_SPECULARMATERIALSOURCE", + "D3DRS_AMBIENTMATERIALSOURCE", + "D3DRS_EMISSIVEMATERIALSOURCE", + "D3DRS_VERTEXBLEND", + "D3DRS_CLIPPLANEENABLE", + "D3DRS_SOFTWAREVERTEXPROCESSING", + "D3DRS_POINTSIZE", + "D3DRS_POINTSIZE_MIN", + "D3DRS_POINTSPRITEENABLE", + "D3DRS_POINTSCALEENABLE", + "D3DRS_POINTSCALE_A", + "D3DRS_POINTSCALE_B", + "D3DRS_POINTSCALE_C", + "D3DRS_MULTISAMPLEANTIALIAS", + "D3DRS_MULTISAMPLEMASK", + "D3DRS_PATCHEDGESTYLE", + "D3DRS_PATCHSEGMENTS", + "D3DRS_DEBUGMONITORTOKEN", + "D3DRS_POINTSIZE_MAX", + "D3DRS_INDEXEDVERTEXBLENDENABLE", + "D3DRS_COLORWRITEENABLE", + "D3DRS_TWEENFACTOR", + "D3DRS_BLENDOP", + "D3DRS_POSITIONORDER", + "D3DRS_NORMALORDER", +]) + +D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ + "D3DMCS_MATERIAL", + "D3DMCS_COLOR1", + "D3DMCS_COLOR2", +]) + +D3DWRAP = Flags(DWORD, [ + "D3DWRAP_U", + "D3DWRAP_V", + "D3DWRAP_W", +]) + +D3DWRAPCOORD = Flags(DWORD, [ + "D3DWRAPCOORD_0", + "D3DWRAPCOORD_1", + "D3DWRAPCOORD_2", + "D3DWRAPCOORD_3", +]) + +D3DCOLORWRITEENABLE = Flags(DWORD, [ + "D3DCOLORWRITEENABLE_RED", + "D3DCOLORWRITEENABLE_GREEN", + "D3DCOLORWRITEENABLE_BLUE", + "D3DCOLORWRITEENABLE_ALPHA", +]) + +D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ + "D3DTSS_COLOROP", + "D3DTSS_COLORARG1", + "D3DTSS_COLORARG2", + "D3DTSS_ALPHAOP", + "D3DTSS_ALPHAARG1", + "D3DTSS_ALPHAARG2", + "D3DTSS_BUMPENVMAT00", + "D3DTSS_BUMPENVMAT01", + "D3DTSS_BUMPENVMAT10", + "D3DTSS_BUMPENVMAT11", + "D3DTSS_TEXCOORDINDEX", + "D3DTSS_ADDRESSU", + "D3DTSS_ADDRESSV", + "D3DTSS_BORDERCOLOR", + "D3DTSS_MAGFILTER", + "D3DTSS_MINFILTER", + "D3DTSS_MIPFILTER", + "D3DTSS_MIPMAPLODBIAS", + "D3DTSS_MAXMIPLEVEL", + "D3DTSS_MAXANISOTROPY", + "D3DTSS_BUMPENVLSCALE", + "D3DTSS_BUMPENVLOFFSET", + "D3DTSS_TEXTURETRANSFORMFLAGS", + "D3DTSS_ADDRESSW", + "D3DTSS_COLORARG0", + "D3DTSS_ALPHAARG0", + "D3DTSS_RESULTARG", +]) + +D3DTSS = Flags(DWORD, [ + "D3DTSS_TCI_PASSTHRU", + "D3DTSS_TCI_CAMERASPACENORMAL", + "D3DTSS_TCI_CAMERASPACEPOSITION", + "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", +]) + +D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ + "D3DTOP_DISABLE", + "D3DTOP_SELECTARG1", + "D3DTOP_SELECTARG2", + "D3DTOP_MODULATE", + "D3DTOP_MODULATE2X", + "D3DTOP_MODULATE4X", + "D3DTOP_ADD", + "D3DTOP_ADDSIGNED", + "D3DTOP_ADDSIGNED2X", + "D3DTOP_SUBTRACT", + "D3DTOP_ADDSMOOTH", + "D3DTOP_BLENDDIFFUSEALPHA", + "D3DTOP_BLENDTEXTUREALPHA", + "D3DTOP_BLENDFACTORALPHA", + "D3DTOP_BLENDTEXTUREALPHAPM", + "D3DTOP_BLENDCURRENTALPHA", + "D3DTOP_PREMODULATE", + "D3DTOP_MODULATEALPHA_ADDCOLOR", + "D3DTOP_MODULATECOLOR_ADDALPHA", + "D3DTOP_MODULATEINVALPHA_ADDCOLOR", + "D3DTOP_MODULATEINVCOLOR_ADDALPHA", + "D3DTOP_BUMPENVMAP", + "D3DTOP_BUMPENVMAPLUMINANCE", + "D3DTOP_DOTPRODUCT3", + "D3DTOP_MULTIPLYADD", + "D3DTOP_LERP", +]) + +D3DTA = Flags(DWORD, [ + "D3DTA_SELECTMASK", + "D3DTA_DIFFUSE", + "D3DTA_CURRENT", + "D3DTA_TEXTURE", + "D3DTA_TFACTOR", + "D3DTA_SPECULAR", + "D3DTA_TEMP", + "D3DTA_COMPLEMENT", + "D3DTA_ALPHAREPLICATE", +]) + +D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [ + "D3DTEXF_NONE", + "D3DTEXF_POINT", + "D3DTEXF_LINEAR", + "D3DTEXF_ANISOTROPIC", + "D3DTEXF_FLATCUBIC", + "D3DTEXF_GAUSSIANCUBIC", +]) + +D3DPV = Flags(DWORD, [ + "D3DPV_DONOTCOPYDATA", +]) + +D3DFVF = Flags(DWORD, [ + "D3DFVF_RESERVED0", + "D3DFVF_POSITION_MASK", + "D3DFVF_XYZ", + "D3DFVF_XYZRHW", + "D3DFVF_XYZB1", + "D3DFVF_XYZB2", + "D3DFVF_XYZB3", + "D3DFVF_XYZB4", + "D3DFVF_XYZB5", + "D3DFVF_NORMAL", + "D3DFVF_PSIZE", + "D3DFVF_DIFFUSE", + "D3DFVF_SPECULAR", + "D3DFVF_TEXCOUNT_MASK", + "D3DFVF_TEXCOUNT_SHIFT", + "D3DFVF_TEX0", + "D3DFVF_TEX1", + "D3DFVF_TEX2", + "D3DFVF_TEX3", + "D3DFVF_TEX4", + "D3DFVF_TEX5", + "D3DFVF_TEX6", + "D3DFVF_TEX7", + "D3DFVF_TEX8", + "D3DFVF_LASTBETA_UBYTE4", + "D3DFVF_RESERVED2", + "D3DFVF_TEXCOORDSIZE3(0)", + "D3DFVF_TEXCOORDSIZE2(0)", + "D3DFVF_TEXCOORDSIZE4(0)", + "D3DFVF_TEXCOORDSIZE1(0)", + "D3DFVF_TEXCOORDSIZE3(1)", + "D3DFVF_TEXCOORDSIZE2(1)", + "D3DFVF_TEXCOORDSIZE4(1)", + "D3DFVF_TEXCOORDSIZE1(1)", + "D3DFVF_TEXCOORDSIZE3(2)", + "D3DFVF_TEXCOORDSIZE2(2)", + "D3DFVF_TEXCOORDSIZE4(2)", + "D3DFVF_TEXCOORDSIZE1(2)", + "D3DFVF_TEXCOORDSIZE3(3)", + "D3DFVF_TEXCOORDSIZE2(3)", + "D3DFVF_TEXCOORDSIZE4(3)", + "D3DFVF_TEXCOORDSIZE1(3)", +]) + +D3DVSD_TOKENTYPE = Enum("D3DVSD_TOKENTYPE", [ + "D3DVSD_TOKEN_NOP", + "D3DVSD_TOKEN_STREAM", + "D3DVSD_TOKEN_STREAMDATA", + "D3DVSD_TOKEN_TESSELLATOR", + "D3DVSD_TOKEN_CONSTMEM", + "D3DVSD_TOKEN_EXT", + "D3DVSD_TOKEN_END", +]) + +D3DVSDT = Flags(DWORD, [ + "D3DVSDT_FLOAT1", + "D3DVSDT_FLOAT2", + "D3DVSDT_FLOAT3", + "D3DVSDT_FLOAT4", + "D3DVSDT_D3DCOLOR", + "D3DVSDT_UBYTE4", + "D3DVSDT_SHORT2", + "D3DVSDT_SHORT4", + "D3DVSDE_POSITION", + "D3DVSDE_BLENDWEIGHT", + "D3DVSDE_BLENDINDICES", + "D3DVSDE_NORMAL", + "D3DVSDE_PSIZE", + "D3DVSDE_DIFFUSE", + "D3DVSDE_SPECULAR", + "D3DVSDE_TEXCOORD0", + "D3DVSDE_TEXCOORD1", + "D3DVSDE_TEXCOORD2", + "D3DVSDE_TEXCOORD3", + "D3DVSDE_TEXCOORD4", + "D3DVSDE_TEXCOORD5", + "D3DVSDE_TEXCOORD6", + "D3DVSDE_TEXCOORD7", + "D3DVSDE_POSITION2", + "D3DVSDE_NORMAL2", + "D3DDP_MAXTEXCOORD", + "D3DSI_OPCODE_MASK", +]) + +D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [ + "D3DSIO_NOP", + "D3DSIO_MOV", + "D3DSIO_ADD", + "D3DSIO_SUB", + "D3DSIO_MAD", + "D3DSIO_MUL", + "D3DSIO_RCP", + "D3DSIO_RSQ", + "D3DSIO_DP3", + "D3DSIO_DP4", + "D3DSIO_MIN", + "D3DSIO_MAX", + "D3DSIO_SLT", + "D3DSIO_SGE", + "D3DSIO_EXP", + "D3DSIO_LOG", + "D3DSIO_LIT", + "D3DSIO_DST", + "D3DSIO_LRP", + "D3DSIO_FRC", + "D3DSIO_M4x4", + "D3DSIO_M4x3", + "D3DSIO_M3x4", + "D3DSIO_M3x3", + "D3DSIO_M3x2", + "D3DSIO_TEXCOORD", + "D3DSIO_TEXKILL", + "D3DSIO_TEX", + "D3DSIO_TEXBEM", + "D3DSIO_TEXBEML", + "D3DSIO_TEXREG2AR", + "D3DSIO_TEXREG2GB", + "D3DSIO_TEXM3x2PAD", + "D3DSIO_TEXM3x2TEX", + "D3DSIO_TEXM3x3PAD", + "D3DSIO_TEXM3x3TEX", + "D3DSIO_TEXM3x3DIFF", + "D3DSIO_TEXM3x3SPEC", + "D3DSIO_TEXM3x3VSPEC", + "D3DSIO_EXPP", + "D3DSIO_LOGP", + "D3DSIO_CND", + "D3DSIO_DEF", + "D3DSIO_TEXREG2RGB", + "D3DSIO_TEXDP3TEX", + "D3DSIO_TEXM3x2DEPTH", + "D3DSIO_TEXDP3", + "D3DSIO_TEXM3x3", + "D3DSIO_TEXDEPTH", + "D3DSIO_CMP", + "D3DSIO_BEM", + "D3DSIO_PHASE", + "D3DSIO_COMMENT", + "D3DSIO_END", +]) + +D3DSP = Flags(DWORD, [ + "D3DSP_WRITEMASK_0", + "D3DSP_WRITEMASK_1", + "D3DSP_WRITEMASK_2", + "D3DSP_WRITEMASK_3", + "D3DSP_WRITEMASK_ALL", +]) + +D3DSHADER_PARAM_DSTMOD_TYPE = Enum("D3DSHADER_PARAM_DSTMOD_TYPE", [ + "D3DSPDM_NONE", + "D3DSPDM_SATURATE", +]) + +D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [ + "D3DSPR_TEMP", + "D3DSPR_INPUT", + "D3DSPR_CONST", + "D3DSPR_ADDR|D3DSPR_TEXTURE", + "D3DSPR_RASTOUT", + "D3DSPR_ATTROUT", + "D3DSPR_TEXCRDOUT", +]) + +D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [ + "D3DSRO_POSITION", + "D3DSRO_FOG", + "D3DSRO_POINT_SIZE", +]) + +D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [ + "D3DVS_ADDRMODE_ABSOLUTE", + "D3DVS_ADDRMODE_RELATIVE", +]) + +D3DVS = Flags(DWORD, [ + "D3DVS_X_X", + "D3DVS_X_Y", + "D3DVS_X_Z", + "D3DVS_X_W", + "D3DVS_Y_X", + "D3DVS_Y_Y", + "D3DVS_Y_Z", + "D3DVS_Y_W", + "D3DVS_Z_X", + "D3DVS_Z_Y", + "D3DVS_Z_Z", + "D3DVS_Z_W", + "D3DVS_W_X", + "D3DVS_W_Y", + "D3DVS_W_Z", + "D3DVS_W_W", + "D3DVS_NOSWIZZLE", +]) + +D3DSP = Flags(DWORD, [ + "D3DSP_NOSWIZZLE", + "D3DSP_REPLICATERED", + "D3DSP_REPLICATEGREEN", + "D3DSP_REPLICATEBLUE", + "D3DSP_REPLICATEALPHA", +]) + +D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [ + "D3DSPSM_NONE", + "D3DSPSM_NEG", + "D3DSPSM_BIAS", + "D3DSPSM_BIASNEG", + "D3DSPSM_SIGN", + "D3DSPSM_SIGNNEG", + "D3DSPSM_COMP", + "D3DSPSM_X2", + "D3DSPSM_X2NEG", + "D3DSPSM_DZ", + "D3DSPSM_DW", +]) + +D3DBASISTYPE = Enum("D3DBASISTYPE", [ + "D3DBASIS_BEZIER", + "D3DBASIS_BSPLINE", + "D3DBASIS_INTERPOLATE", +]) + +D3DORDERTYPE = Enum("D3DORDERTYPE", [ + "D3DORDER_LINEAR", + "D3DORDER_QUADRATIC", + "D3DORDER_CUBIC", + "D3DORDER_QUINTIC", +]) + +D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [ + "D3DPATCHEDGE_DISCRETE", + "D3DPATCHEDGE_CONTINUOUS", +]) + +D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ + "D3DSBT_ALL", + "D3DSBT_PIXELSTATE", + "D3DSBT_VERTEXSTATE", +]) + +D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ + "D3DVBF_DISABLE", + "D3DVBF_1WEIGHTS", + "D3DVBF_2WEIGHTS", + "D3DVBF_3WEIGHTS", + "D3DVBF_TWEENING", + "D3DVBF_0WEIGHTS", +]) + +D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ + "D3DTTFF_DISABLE", + "D3DTTFF_COUNT1", + "D3DTTFF_COUNT2", + "D3DTTFF_COUNT3", + "D3DTTFF_COUNT4", + "D3DTTFF_PROJECTED", +]) + +D3DDEVTYPE = Enum("D3DDEVTYPE", [ + "D3DDEVTYPE_HAL", + "D3DDEVTYPE_REF", + "D3DDEVTYPE_SW", +]) + +D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [ + "D3DMULTISAMPLE_NONE", + "D3DMULTISAMPLE_2_SAMPLES", + "D3DMULTISAMPLE_3_SAMPLES", + "D3DMULTISAMPLE_4_SAMPLES", + "D3DMULTISAMPLE_5_SAMPLES", + "D3DMULTISAMPLE_6_SAMPLES", + "D3DMULTISAMPLE_7_SAMPLES", + "D3DMULTISAMPLE_8_SAMPLES", + "D3DMULTISAMPLE_9_SAMPLES", + "D3DMULTISAMPLE_10_SAMPLES", + "D3DMULTISAMPLE_11_SAMPLES", + "D3DMULTISAMPLE_12_SAMPLES", + "D3DMULTISAMPLE_13_SAMPLES", + "D3DMULTISAMPLE_14_SAMPLES", + "D3DMULTISAMPLE_15_SAMPLES", + "D3DMULTISAMPLE_16_SAMPLES", +]) + +D3DFORMAT = Enum("D3DFORMAT", [ + "D3DFMT_UNKNOWN", + "D3DFMT_R8G8B8", + "D3DFMT_A8R8G8B8", + "D3DFMT_X8R8G8B8", + "D3DFMT_R5G6B5", + "D3DFMT_X1R5G5B5", + "D3DFMT_A1R5G5B5", + "D3DFMT_A4R4G4B4", + "D3DFMT_R3G3B2", + "D3DFMT_A8", + "D3DFMT_A8R3G3B2", + "D3DFMT_X4R4G4B4", + "D3DFMT_A2B10G10R10", + "D3DFMT_G16R16", + "D3DFMT_A8P8", + "D3DFMT_P8", + "D3DFMT_L8", + "D3DFMT_A8L8", + "D3DFMT_A4L4", + "D3DFMT_V8U8", + "D3DFMT_L6V5U5", + "D3DFMT_X8L8V8U8", + "D3DFMT_Q8W8V8U8", + "D3DFMT_V16U16", + "D3DFMT_W11V11U10", + "D3DFMT_A2W10V10U10", + "D3DFMT_UYVY", + "D3DFMT_YUY2", + "D3DFMT_DXT1", + "D3DFMT_DXT2", + "D3DFMT_DXT3", + "D3DFMT_DXT4", + "D3DFMT_DXT5", + "D3DFMT_D16_LOCKABLE", + "D3DFMT_D32", + "D3DFMT_D15S1", + "D3DFMT_D24S8", + "D3DFMT_D16", + "D3DFMT_D24X8", + "D3DFMT_D24X4S4", + "D3DFMT_VERTEXDATA", + "D3DFMT_INDEX16", + "D3DFMT_INDEX32", +]) + +D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [ + (UINT, "Width"), + (UINT, "Height"), + (UINT, "RefreshRate"), + (D3DFORMAT, "Format"), +]) + +D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [ + (UINT, "AdapterOrdinal"), + (D3DDEVTYPE, "DeviceType"), + (HWND, "hFocusWindow"), + (DWORD, "BehaviorFlags"), +]) + +D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [ + "D3DSWAPEFFECT_DISCARD", + "D3DSWAPEFFECT_FLIP", + "D3DSWAPEFFECT_COPY", + "D3DSWAPEFFECT_COPY_VSYNC", +]) + +D3DPOOL = Enum("D3DPOOL", [ + "D3DPOOL_DEFAULT", + "D3DPOOL_MANAGED", + "D3DPOOL_SYSTEMMEM", + "D3DPOOL_SCRATCH", +]) + +D3DPRESENT = Flags(DWORD, [ + "D3DPRESENT_RATE_DEFAULT", + "D3DPRESENT_RATE_UNLIMITED", +]) + +D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [ + (UINT, "BackBufferWidth"), + (UINT, "BackBufferHeight"), + (D3DFORMAT, "BackBufferFormat"), + (UINT, "BackBufferCount"), + (D3DMULTISAMPLE_TYPE, "MultiSampleType"), + (D3DSWAPEFFECT, "SwapEffect"), + (HWND, "hDeviceWindow"), + (BOOL, "Windowed"), + (BOOL, "EnableAutoDepthStencil"), + (D3DFORMAT, "AutoDepthStencilFormat"), + (DWORD, "Flags"), + (UINT, "FullScreen_RefreshRateInHz"), + (UINT, "FullScreen_PresentationInterval"), +]) + +D3DPRESENTFLAG = Flags(DWORD, [ + "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER", +]) + +D3DGAMMARAMP = Struct("D3DGAMMARAMP", [ + (Array(WORD, "256"), "red"), + (Array(WORD, "256"), "green"), + (Array(WORD, "256"), "blue"), +]) + +D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [ + "D3DBACKBUFFER_TYPE_MONO", + "D3DBACKBUFFER_TYPE_LEFT", + "D3DBACKBUFFER_TYPE_RIGHT", +]) + +D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [ + "D3DRTYPE_SURFACE", + "D3DRTYPE_VOLUME", + "D3DRTYPE_TEXTURE", + "D3DRTYPE_VOLUMETEXTURE", + "D3DRTYPE_CUBETEXTURE", + "D3DRTYPE_VERTEXBUFFER", + "D3DRTYPE_INDEXBUFFER", +]) + +D3DUSAGE = Flags(DWORD, [ + "D3DUSAGE_RENDERTARGET", + "D3DUSAGE_DEPTHSTENCIL", + "D3DUSAGE_WRITEONLY", + "D3DUSAGE_SOFTWAREPROCESSING", + "D3DUSAGE_DONOTCLIP", + "D3DUSAGE_POINTS", + "D3DUSAGE_RTPATCHES", + "D3DUSAGE_NPATCHES", + "D3DUSAGE_DYNAMIC", +]) + +D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [ + "D3DCUBEMAP_FACE_POSITIVE_X", + "D3DCUBEMAP_FACE_NEGATIVE_X", + "D3DCUBEMAP_FACE_POSITIVE_Y", + "D3DCUBEMAP_FACE_NEGATIVE_Y", + "D3DCUBEMAP_FACE_POSITIVE_Z", + "D3DCUBEMAP_FACE_NEGATIVE_Z", +]) + +D3DLOCK = Flags(DWORD, [ + "D3DLOCK_READONLY", + "D3DLOCK_DISCARD", + "D3DLOCK_NOOVERWRITE", + "D3DLOCK_NOSYSLOCK", + "D3DLOCK_NO_DIRTY_UPDATE", +]) + +D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Size"), + (DWORD, "FVF"), +]) + +D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Size"), +]) + +D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Size"), + (D3DMULTISAMPLE_TYPE, "MultiSampleType"), + (UINT, "Width"), + (UINT, "Height"), +]) + +D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Size"), + (UINT, "Width"), + (UINT, "Height"), + (UINT, "Depth"), +]) + +D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [ + (INT, "Pitch"), + (PVOID, "pBits"), +]) + +D3DBOX = Struct("D3DBOX", [ + (UINT, "Left"), + (UINT, "Top"), + (UINT, "Right"), + (UINT, "Bottom"), + (UINT, "Front"), + (UINT, "Back"), +]) + +D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [ + (INT, "RowPitch"), + (INT, "SlicePitch"), + (PVOID, "pBits"), +]) + +D3DRANGE = Struct("D3DRANGE", [ + (UINT, "Offset"), + (UINT, "Size"), +]) + +D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [ + (UINT, "StartVertexOffsetWidth"), + (UINT, "StartVertexOffsetHeight"), + (UINT, "Width"), + (UINT, "Height"), + (UINT, "Stride"), + (D3DBASISTYPE, "Basis"), + (D3DORDERTYPE, "Order"), +]) + +D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [ + (UINT, "StartVertexOffset"), + (UINT, "NumVertices"), + (D3DBASISTYPE, "Basis"), + (D3DORDERTYPE, "Order"), +]) + +D3DADAPTER_IDENTIFIER8 = Struct("D3DADAPTER_IDENTIFIER8", [ + (CString, "Driver"), + (CString, "Description"), + (LARGE_INTEGER, "DriverVersion"), + (DWORD, "VendorId"), + (DWORD, "DeviceId"), + (DWORD, "SubSysId"), + (DWORD, "Revision"), + (GUID, "DeviceIdentifier"), + (DWORD, "WHQLLevel"), +]) + +D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [ + (BOOL, "InVBlank"), + (UINT, "ScanLine"), +]) + +D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [ + "D3DDMT_ENABLE", + "D3DDMT_DISABLE", +]) + +D3DDEVINFOID = Flags(DWORD, [ + "D3DDEVINFOID_RESOURCEMANAGER", + "D3DDEVINFOID_VERTEXSTATS", +]) + +D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [ + (BOOL, "bThrashing"), + (DWORD, "ApproxBytesDownloaded"), + (DWORD, "NumEvicts"), + (DWORD, "NumVidCreates"), + (DWORD, "LastPri"), + (DWORD, "NumUsed"), + (DWORD, "NumUsedInVidMem"), + (DWORD, "WorkingSet"), + (DWORD, "WorkingSetBytes"), + (DWORD, "TotalManaged"), + (DWORD, "TotalBytes"), +]) + +D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [ + (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"), +]) + +D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [ + (DWORD, "NumRenderedTriangles"), + (DWORD, "NumExtraClippingTriangles"), +]) + diff --git a/specs/d3d9.py b/specs/d3d9.py new file mode 100644 index 0000000..ffb643e --- /dev/null +++ b/specs/d3d9.py @@ -0,0 +1,450 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d9.h""" + +from winapi import * +from d3d9types import * +from d3d9caps import * + + +D3DSHADER9 = Opaque("const DWORD *") + +D3DSPD = Flags(DWORD, [ + "D3DSPD_IUNKNOWN", +]) + +D3DCREATE = Flags(DWORD, [ + "D3DCREATE_FPU_PRESERVE", + "D3DCREATE_MULTITHREADED", + "D3DCREATE_PUREDEVICE", + "D3DCREATE_SOFTWARE_VERTEXPROCESSING", + "D3DCREATE_HARDWARE_VERTEXPROCESSING", + "D3DCREATE_MIXED_VERTEXPROCESSING", + "D3DCREATE_DISABLE_DRIVER_MANAGEMENT", + "D3DCREATE_ADAPTERGROUP_DEVICE", + "D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX", + "D3DCREATE_NOWINDOWCHANGES", + "D3DCREATE_DISABLE_PSGP_THREADING", + "D3DCREATE_ENABLE_PRESENTSTATS", + "D3DCREATE_DISABLE_PRINTSCREEN", + "D3DCREATE_SCREENSAVER", +]) + +D3DADAPTER = FakeEnum(DWORD, [ + "D3DADAPTER_DEFAULT", +]) + +D3DENUM = FakeEnum(DWORD, [ + "D3DENUM_WHQL_LEVEL", +]) + +D3DSGR = Flags(DWORD, [ + "D3DSGR_NO_CALIBRATION", + "D3DSGR_CALIBRATE", +]) + +D3DCURSOR = Flags(DWORD, [ + "D3DCURSOR_IMMEDIATE_UPDATE", +]) + +D3DPRESENT = Flags(DWORD, [ + "D3DPRESENT_DONOTWAIT", + "D3DPRESENT_LINEAR_CONTENT", + "D3DPRESENT_DONOTFLIP", + "D3DPRESENT_FLIPRESTART", + "D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR", +]) + +HRESULT = Enum("HRESULT", [ + "D3D_OK", + "D3DERR_WRONGTEXTUREFORMAT", + "D3DERR_UNSUPPORTEDCOLOROPERATION", + "D3DERR_UNSUPPORTEDCOLORARG", + "D3DERR_UNSUPPORTEDALPHAOPERATION", + "D3DERR_UNSUPPORTEDALPHAARG", + "D3DERR_TOOMANYOPERATIONS", + "D3DERR_CONFLICTINGTEXTUREFILTER", + "D3DERR_UNSUPPORTEDFACTORVALUE", + "D3DERR_CONFLICTINGRENDERSTATE", + "D3DERR_UNSUPPORTEDTEXTUREFILTER", + "D3DERR_CONFLICTINGTEXTUREPALETTE", + "D3DERR_DRIVERINTERNALERROR", + "D3DERR_NOTFOUND", + "D3DERR_MOREDATA", + "D3DERR_DEVICELOST", + "D3DERR_DEVICENOTRESET", + "D3DERR_NOTAVAILABLE", + "D3DERR_OUTOFVIDEOMEMORY", + "D3DERR_INVALIDDEVICE", + "D3DERR_INVALIDCALL", + "D3DERR_DRIVERINVALIDCALL", + "D3DERR_WASSTILLDRAWING", + "D3DOK_NOAUTOGEN", + "D3DERR_DEVICEREMOVED", + "S_NOT_RESIDENT", + "S_RESIDENT_IN_SHARED_MEMORY", + "S_PRESENT_MODE_CHANGED", + "S_PRESENT_OCCLUDED", + "D3DERR_DEVICEHUNG", +]) + +IDirect3D9 = Interface("IDirect3D9", IUnknown) +IDirect3DDevice9 = Interface("IDirect3DDevice9", IUnknown) +IDirect3DStateBlock9 = Interface("IDirect3DStateBlock9", IUnknown) +IDirect3DSwapChain9 = Interface("IDirect3DSwapChain9", IUnknown) +IDirect3DResource9 = Interface("IDirect3DResource9", IUnknown) +IDirect3DVertexDeclaration9 = Interface("IDirect3DVertexDeclaration9", IUnknown) +IDirect3DVertexShader9 = Interface("IDirect3DVertexShader9", IUnknown) +IDirect3DPixelShader9 = Interface("IDirect3DPixelShader9", IUnknown) +IDirect3DBaseTexture9 = Interface("IDirect3DBaseTexture9", IDirect3DResource9) +IDirect3DTexture9 = Interface("IDirect3DTexture9", IDirect3DBaseTexture9) +IDirect3DVolumeTexture9 = Interface("IDirect3DVolumeTexture9", IDirect3DBaseTexture9) +IDirect3DCubeTexture9 = Interface("IDirect3DCubeTexture9", IDirect3DBaseTexture9) +IDirect3DVertexBuffer9 = Interface("IDirect3DVertexBuffer9", IDirect3DResource9) +IDirect3DIndexBuffer9 = Interface("IDirect3DIndexBuffer9", IDirect3DResource9) +IDirect3DSurface9 = Interface("IDirect3DSurface9", IDirect3DResource9) +IDirect3DVolume9 = Interface("IDirect3DVolume9", IUnknown) +IDirect3DQuery9 = Interface("IDirect3DQuery9", IUnknown) +IDirect3D9Ex = Interface("IDirect3D9Ex", IDirect3D9) +IDirect3DDevice9Ex = Interface("IDirect3DDevice9Ex", IDirect3DDevice9) +IDirect3DSwapChain9Ex = Interface("IDirect3DSwapChain9Ex", IDirect3DSwapChain9) + +PDIRECT3D9 = WrapPointer(IDirect3D9) +PDIRECT3DDEVICE9 = WrapPointer(IDirect3DDevice9) +PDIRECT3DSTATEBLOCK9 = WrapPointer(IDirect3DStateBlock9) +PDIRECT3DSWAPCHAIN9 = WrapPointer(IDirect3DSwapChain9) +PDIRECT3DRESOURCE9 = WrapPointer(IDirect3DResource9) +PDIRECT3DVERTEXDECLARATION9 = WrapPointer(IDirect3DVertexDeclaration9) +PDIRECT3DVERTEXSHADER9 = WrapPointer(IDirect3DVertexShader9) +PDIRECT3DPIXELSHADER9 = WrapPointer(IDirect3DPixelShader9) +PDIRECT3DBASETEXTURE9 = WrapPointer(IDirect3DBaseTexture9) +PDIRECT3DTEXTURE9 = WrapPointer(IDirect3DTexture9) +PDIRECT3DVOLUMETEXTURE9 = WrapPointer(IDirect3DVolumeTexture9) +PDIRECT3DCUBETEXTURE9 = WrapPointer(IDirect3DCubeTexture9) +PDIRECT3DVERTEXBUFFER9 = WrapPointer(IDirect3DVertexBuffer9) +PDIRECT3DINDEXBUFFER9 = WrapPointer(IDirect3DIndexBuffer9) +PDIRECT3DSURFACE9 = WrapPointer(IDirect3DSurface9) +PDIRECT3DVOLUME9 = WrapPointer(IDirect3DVolume9) +PDIRECT3DQUERY9 = WrapPointer(IDirect3DQuery9) +PDIRECT3D9EX = WrapPointer(IDirect3D9Ex) +PDIRECT3DDEVICE9EX = WrapPointer(IDirect3DDevice9Ex) +PDIRECT3DSWAPCHAIN9EX = WrapPointer(IDirect3DSwapChain9Ex) + +IDirect3D9.methods += [ + Method(HRESULT, "RegisterSoftwareDevice", [(OpaquePointer(Void), "pInitializeFunction")]), + Method(UINT, "GetAdapterCount", []), + Method(HRESULT, "GetAdapterIdentifier", [(UINT, "Adapter"), (D3DENUM, "Flags"), Out(Pointer(D3DADAPTER_IDENTIFIER9), "pIdentifier")]), + Method(UINT, "GetAdapterModeCount", [(UINT, "Adapter"), (D3DFORMAT, "Format")]), + Method(HRESULT, "EnumAdapterModes", [(UINT, "Adapter"), (D3DFORMAT, "Format"), (UINT, "Mode"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "GetAdapterDisplayMode", [(UINT, "Adapter"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "CheckDeviceType", [(UINT, "Adapter"), (D3DDEVTYPE, "DevType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "BackBufferFormat"), (BOOL, "bWindowed")]), + Method(HRESULT, "CheckDeviceFormat", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DUSAGE, "Usage"), (D3DRESOURCETYPE, "RType"), (D3DFORMAT, "CheckFormat")]), + Method(HRESULT, "CheckDeviceMultiSampleType", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SurfaceFormat"), (BOOL, "Windowed"), (D3DMULTISAMPLE_TYPE, "MultiSampleType"), Out(Pointer(DWORD), "pQualityLevels")]), + Method(HRESULT, "CheckDepthStencilMatch", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "AdapterFormat"), (D3DFORMAT, "RenderTargetFormat"), (D3DFORMAT, "DepthStencilFormat")]), + Method(HRESULT, "CheckDeviceFormatConversion", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (D3DFORMAT, "SourceFormat"), (D3DFORMAT, "TargetFormat")]), + Method(HRESULT, "GetDeviceCaps", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), Out(Pointer(D3DCAPS9), "pCaps")]), + Method(HMONITOR, "GetAdapterMonitor", [(UINT, "Adapter")]), + Method(HRESULT, "CreateDevice", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (D3DCREATE, "BehaviorFlags"), Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DDEVICE9), "ppReturnedDeviceInterface")]), +] + +IDirect3DDevice9.methods += [ + Method(HRESULT, "TestCooperativeLevel", []), + Method(UINT, "GetAvailableTextureMem", []), + Method(HRESULT, "EvictManagedResources", []), + Method(HRESULT, "GetDirect3D", [Out(Pointer(PDIRECT3D9), "ppD3D9")]), + Method(HRESULT, "GetDeviceCaps", [Out(Pointer(D3DCAPS9), "pCaps")]), + Method(HRESULT, "GetDisplayMode", [(UINT, "iSwapChain"), Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "GetCreationParameters", [Out(Pointer(D3DDEVICE_CREATION_PARAMETERS), "pParameters")]), + Method(HRESULT, "SetCursorProperties", [(UINT, "XHotSpot"), (UINT, "YHotSpot"), (PDIRECT3DSURFACE9, "pCursorBitmap")]), + Method(Void, "SetCursorPosition", [(Int, "X"), (Int, "Y"), (D3DCURSOR, "Flags")]), + Method(BOOL, "ShowCursor", [(BOOL, "bShow")]), + Method(HRESULT, "CreateAdditionalSwapChain", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DSWAPCHAIN9), "pSwapChain")]), + Method(HRESULT, "GetSwapChain", [(UINT, "iSwapChain"), Out(Pointer(PDIRECT3DSWAPCHAIN9), "pSwapChain")]), + Method(UINT, "GetNumberOfSwapChains", []), + Method(HRESULT, "Reset", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]), + Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion")]), + Method(HRESULT, "GetBackBuffer", [(UINT, "iSwapChain"), (UINT, "iBackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE9), "ppBackBuffer")]), + Method(HRESULT, "GetRasterStatus", [(UINT, "iSwapChain"), Out(Pointer(D3DRASTER_STATUS), "pRasterStatus")]), + Method(HRESULT, "SetDialogBoxMode", [(BOOL, "bEnableDialogs")]), + Method(Void, "SetGammaRamp", [(UINT, "iSwapChain"), (D3DSGR, "Flags"), (ConstPointer(D3DGAMMARAMP), "pRamp")]), + Method(Void, "GetGammaRamp", [(UINT, "iSwapChain"), Out(Pointer(D3DGAMMARAMP), "pRamp")]), + Method(HRESULT, "CreateTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Levels"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DTEXTURE9), "ppTexture"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "CreateVolumeTexture", [(UINT, "Width"), (UINT, "Height"), (UINT, "Depth"), (UINT, "Levels"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVOLUMETEXTURE9), "ppVolumeTexture"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "CreateCubeTexture", [(UINT, "EdgeLength"), (UINT, "Levels"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DCUBETEXTURE9), "ppCubeTexture"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "CreateVertexBuffer", [(UINT, "Length"), (D3DUSAGE, "Usage"), (D3DFVF, "FVF"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DVERTEXBUFFER9), "ppVertexBuffer"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "CreateIndexBuffer", [(UINT, "Length"), (D3DUSAGE, "Usage"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DINDEXBUFFER9), "ppIndexBuffer"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "CreateRenderTarget", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Lockable"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "CreateDepthStencilSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Discard"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "UpdateSurface", [(PDIRECT3DSURFACE9, "pSourceSurface"), (ConstPointer(RECT), "pSourceRect"), (PDIRECT3DSURFACE9, "pDestinationSurface"), (ConstPointer(POINT), "pDestPoint")]), + Method(HRESULT, "UpdateTexture", [(PDIRECT3DBASETEXTURE9, "pSourceTexture"), (PDIRECT3DBASETEXTURE9, "pDestinationTexture")]), + Method(HRESULT, "GetRenderTargetData", [(PDIRECT3DSURFACE9, "pRenderTarget"), (PDIRECT3DSURFACE9, "pDestSurface")]), + Method(HRESULT, "GetFrontBufferData", [(UINT, "iSwapChain"), (PDIRECT3DSURFACE9, "pDestSurface")]), + Method(HRESULT, "StretchRect", [(PDIRECT3DSURFACE9, "pSourceSurface"), (ConstPointer(RECT), "pSourceRect"), (PDIRECT3DSURFACE9, "pDestSurface"), (ConstPointer(RECT), "pDestRect"), (D3DTEXTUREFILTERTYPE, "Filter")]), + Method(HRESULT, "ColorFill", [(PDIRECT3DSURFACE9, "pSurface"), (ConstPointer(RECT), "pRect"), (D3DCOLOR, "color")]), + Method(HRESULT, "CreateOffscreenPlainSurface", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle")]), + Method(HRESULT, "SetRenderTarget", [(DWORD, "RenderTargetIndex"), (PDIRECT3DSURFACE9, "pRenderTarget")]), + Method(HRESULT, "GetRenderTarget", [(DWORD, "RenderTargetIndex"), Out(Pointer(PDIRECT3DSURFACE9), "ppRenderTarget")]), + Method(HRESULT, "SetDepthStencilSurface", [(PDIRECT3DSURFACE9, "pNewZStencil")]), + Method(HRESULT, "GetDepthStencilSurface", [Out(Pointer(PDIRECT3DSURFACE9), "ppZStencilSurface")]), + Method(HRESULT, "BeginScene", []), + Method(HRESULT, "EndScene", []), + Method(HRESULT, "Clear", [(DWORD, "Count"), (ConstPointer(D3DRECT), "pRects"), (D3DCLEAR, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]), + Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), + Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "State"), Out(Pointer(D3DMATRIX), "pMatrix")]), + Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]), + Method(HRESULT, "SetViewport", [(ConstPointer(D3DVIEWPORT9), "pViewport")]), + Method(HRESULT, "GetViewport", [Out(Pointer(D3DVIEWPORT9), "pViewport")]), + Method(HRESULT, "SetMaterial", [(ConstPointer(D3DMATERIAL9), "pMaterial")]), + Method(HRESULT, "GetMaterial", [Out(Pointer(D3DMATERIAL9), "pMaterial")]), + Method(HRESULT, "SetLight", [(DWORD, "Index"), (ConstPointer(D3DLIGHT9), "pLight")]), + Method(HRESULT, "GetLight", [(DWORD, "Index"), Out(Pointer(D3DLIGHT9), "pLight")]), + Method(HRESULT, "LightEnable", [(DWORD, "Index"), (BOOL, "Enable")]), + Method(HRESULT, "GetLightEnable", [(DWORD, "Index"), Out(Pointer(BOOL), "pEnable")]), + Method(HRESULT, "SetClipPlane", [(DWORD, "Index"), (ConstPointer(Float), "pPlane")]), + Method(HRESULT, "GetClipPlane", [(DWORD, "Index"), Out(Pointer(Float), "pPlane")]), + Method(HRESULT, "SetRenderState", [(D3DRENDERSTATETYPE, "State"), (DWORD, "Value")]), + Method(HRESULT, "GetRenderState", [(D3DRENDERSTATETYPE, "State"), Out(Pointer(DWORD), "pValue")]), + Method(HRESULT, "CreateStateBlock", [(D3DSTATEBLOCKTYPE, "Type"), Out(Pointer(PDIRECT3DSTATEBLOCK9), "ppSB")]), + Method(HRESULT, "BeginStateBlock", []), + Method(HRESULT, "EndStateBlock", [Out(Pointer(PDIRECT3DSTATEBLOCK9), "ppSB")]), + Method(HRESULT, "SetClipStatus", [(ConstPointer(D3DCLIPSTATUS9), "pClipStatus")]), + Method(HRESULT, "GetClipStatus", [Out(Pointer(D3DCLIPSTATUS9), "pClipStatus")]), + Method(HRESULT, "GetTexture", [(DWORD, "Stage"), Out(Pointer(PDIRECT3DBASETEXTURE9), "ppTexture")]), + Method(HRESULT, "SetTexture", [(DWORD, "Stage"), (PDIRECT3DBASETEXTURE9, "pTexture")]), + Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]), + Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (DWORD, "Value")]), + Method(HRESULT, "GetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]), + Method(HRESULT, "SetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), (DWORD, "Value")]), + Method(HRESULT, "ValidateDevice", [Out(Pointer(DWORD), "pNumPasses")]), + Method(HRESULT, "SetPaletteEntries", [(UINT, "PaletteNumber"), (ConstPointer(PALETTEENTRY), "pEntries")]), + Method(HRESULT, "GetPaletteEntries", [(UINT, "PaletteNumber"), Out(Pointer(PALETTEENTRY), "pEntries")]), + Method(HRESULT, "SetCurrentTexturePalette", [(UINT, "PaletteNumber")]), + Method(HRESULT, "GetCurrentTexturePalette", [Out(Pointer(UINT), "PaletteNumber")]), + Method(HRESULT, "SetScissorRect", [(ConstPointer(RECT), "pRect")]), + Method(HRESULT, "GetScissorRect", [Out(Pointer(RECT), "pRect")]), + Method(HRESULT, "SetSoftwareVertexProcessing", [(BOOL, "bSoftware")]), + Method(BOOL, "GetSoftwareVertexProcessing", []), + Method(HRESULT, "SetNPatchMode", [(Float, "nSegments")]), + Method(Float, "GetNPatchMode", []), + Method(HRESULT, "DrawPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "StartVertex"), (UINT, "PrimitiveCount")]), + Method(HRESULT, "DrawIndexedPrimitive", [(D3DPRIMITIVETYPE, "PrimitiveType"), (INT, "BaseVertexIndex"), (UINT, "MinVertexIndex"), (UINT, "NumVertices"), (UINT, "startIndex"), (UINT, "primCount")]), + Method(HRESULT, "DrawPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), + Method(HRESULT, "DrawIndexedPrimitiveUP", [(D3DPRIMITIVETYPE, "PrimitiveType"), (UINT, "MinVertexIndex"), (UINT, "NumVertices"), (UINT, "PrimitiveCount"), (OpaquePointer(Const(Void)), "pIndexData"), (D3DFORMAT, "IndexDataFormat"), (OpaquePointer(Const(Void)), "pVertexStreamZeroData"), (UINT, "VertexStreamZeroStride")]), + Method(HRESULT, "ProcessVertices", [(UINT, "SrcStartIndex"), (UINT, "DestIndex"), (UINT, "VertexCount"), (PDIRECT3DVERTEXBUFFER9, "pDestBuffer"), (PDIRECT3DVERTEXDECLARATION9, "pVertexDecl"), (D3DPV, "Flags")]), + Method(HRESULT, "CreateVertexDeclaration", [(ConstPointer(D3DVERTEXELEMENT9), "pVertexElements"), Out(Pointer(PDIRECT3DVERTEXDECLARATION9), "ppDecl")]), + Method(HRESULT, "SetVertexDeclaration", [(PDIRECT3DVERTEXDECLARATION9, "pDecl")]), + Method(HRESULT, "GetVertexDeclaration", [Out(Pointer(PDIRECT3DVERTEXDECLARATION9), "ppDecl")]), + Method(HRESULT, "SetFVF", [(D3DFVF, "FVF")]), + Method(HRESULT, "GetFVF", [Out(Pointer(D3DFVF), "pFVF")]), + Method(HRESULT, "CreateVertexShader", [(D3DSHADER9, "pFunction"), Out(Pointer(PDIRECT3DVERTEXSHADER9), "ppShader")]), + Method(HRESULT, "SetVertexShader", [(PDIRECT3DVERTEXSHADER9, "pShader")]), + Method(HRESULT, "GetVertexShader", [Out(Pointer(PDIRECT3DVERTEXSHADER9), "ppShader")]), + Method(HRESULT, "SetVertexShaderConstantF", [(UINT, "StartRegister"), (Array(Const(Float), "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), + Method(HRESULT, "GetVertexShaderConstantF", [(UINT, "StartRegister"), Out(Array(Float, "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), + Method(HRESULT, "SetVertexShaderConstantI", [(UINT, "StartRegister"), (Array(Const(Int), "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), + Method(HRESULT, "GetVertexShaderConstantI", [(UINT, "StartRegister"), Out(Array(Int, "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), + Method(HRESULT, "SetVertexShaderConstantB", [(UINT, "StartRegister"), (Array(Const(BOOL), "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), + Method(HRESULT, "GetVertexShaderConstantB", [(UINT, "StartRegister"), Out(Array(BOOL, "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), + Method(HRESULT, "SetStreamSource", [(UINT, "StreamNumber"), (PDIRECT3DVERTEXBUFFER9, "pStreamData"), (UINT, "OffsetInBytes"), (UINT, "Stride")]), + Method(HRESULT, "GetStreamSource", [(UINT, "StreamNumber"), Out(Pointer(PDIRECT3DVERTEXBUFFER9), "ppStreamData"), Out(Pointer(UINT), "pOffsetInBytes"), Out(Pointer(UINT), "pStride")]), + Method(HRESULT, "SetStreamSourceFreq", [(UINT, "StreamNumber"), (UINT, "Setting")]), + Method(HRESULT, "GetStreamSourceFreq", [(UINT, "StreamNumber"), Out(Pointer(UINT), "pSetting")]), + Method(HRESULT, "SetIndices", [(PDIRECT3DINDEXBUFFER9, "pIndexData")]), + Method(HRESULT, "GetIndices", [Out(Pointer(PDIRECT3DINDEXBUFFER9), "ppIndexData")]), + Method(HRESULT, "CreatePixelShader", [(D3DSHADER9, "pFunction"), Out(Pointer(PDIRECT3DPIXELSHADER9), "ppShader")]), + Method(HRESULT, "SetPixelShader", [(PDIRECT3DPIXELSHADER9, "pShader")]), + Method(HRESULT, "GetPixelShader", [Out(Pointer(PDIRECT3DPIXELSHADER9), "ppShader")]), + Method(HRESULT, "SetPixelShaderConstantF", [(UINT, "StartRegister"), (Array(Const(Float), "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), + Method(HRESULT, "GetPixelShaderConstantF", [(UINT, "StartRegister"), Out(Array(Float, "4*Vector4fCount"), "pConstantData"), (UINT, "Vector4fCount")]), + Method(HRESULT, "SetPixelShaderConstantI", [(UINT, "StartRegister"), (Array(Const(Int), "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), + Method(HRESULT, "GetPixelShaderConstantI", [(UINT, "StartRegister"), Out(Array(Int, "4*Vector4iCount"), "pConstantData"), (UINT, "Vector4iCount")]), + Method(HRESULT, "SetPixelShaderConstantB", [(UINT, "StartRegister"), (Array(Const(BOOL), "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), + Method(HRESULT, "GetPixelShaderConstantB", [(UINT, "StartRegister"), Out(Array(BOOL, "BoolCount"), "pConstantData"), (UINT, "BoolCount")]), + Method(HRESULT, "DrawRectPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DRECTPATCH_INFO), "pRectPatchInfo")]), + Method(HRESULT, "DrawTriPatch", [(UINT, "Handle"), (ConstPointer(Float), "pNumSegs"), (ConstPointer(D3DTRIPATCH_INFO), "pTriPatchInfo")]), + Method(HRESULT, "DeletePatch", [(UINT, "Handle")]), + Method(HRESULT, "CreateQuery", [(D3DQUERYTYPE, "Type"), Out(Pointer(PDIRECT3DQUERY9), "ppQuery")]), +] + +IDirect3DStateBlock9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "Capture", []), + Method(HRESULT, "Apply", []), +] + +IDirect3DSwapChain9.methods += [ + Method(HRESULT, "Present", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion"), (D3DPRESENT, "dwFlags")]), + Method(HRESULT, "GetFrontBufferData", [(PDIRECT3DSURFACE9, "pDestSurface")]), + Method(HRESULT, "GetBackBuffer", [(UINT, "iBackBuffer"), (D3DBACKBUFFER_TYPE, "Type"), Out(Pointer(PDIRECT3DSURFACE9), "ppBackBuffer")]), + Method(HRESULT, "GetRasterStatus", [Out(Pointer(D3DRASTER_STATUS), "pRasterStatus")]), + Method(HRESULT, "GetDisplayMode", [Out(Pointer(D3DDISPLAYMODE), "pMode")]), + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "GetPresentParameters", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters")]), +] + +IDirect3DResource9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (D3DSPD, "Flags")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), + Method(D3D9_RESOURCE_PRIORITY, "SetPriority", [(D3D9_RESOURCE_PRIORITY, "PriorityNew")]), + Method(D3D9_RESOURCE_PRIORITY, "GetPriority", []), + Method(Void, "PreLoad", []), + Method(D3DRESOURCETYPE, "GetType", []), +] + +IDirect3DVertexDeclaration9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "GetDeclaration", [Out(Pointer(D3DVERTEXELEMENT9), "pElement"), Out(Pointer(UINT), "pNumElements")]), +] + +IDirect3DVertexShader9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "GetFunction", [Out(OpaquePointer(Void), "pData"), Out(Pointer(UINT), "pSizeOfData")]), +] + +IDirect3DPixelShader9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "GetFunction", [Out(OpaquePointer(Void), "pData"), Out(Pointer(UINT), "pSizeOfData")]), +] + +IDirect3DBaseTexture9.methods += [ + Method(DWORD, "SetLOD", [(DWORD, "LODNew")]), + Method(DWORD, "GetLOD", []), + Method(DWORD, "GetLevelCount", []), + Method(HRESULT, "SetAutoGenFilterType", [(D3DTEXTUREFILTERTYPE, "FilterType")]), + Method(D3DTEXTUREFILTERTYPE, "GetAutoGenFilterType", []), + Method(Void, "GenerateMipSubLevels", []), +] + +IDirect3DTexture9.methods += [ + Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), + Method(HRESULT, "GetSurfaceLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurfaceLevel")]), + Method(HRESULT, "LockRect", [(UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (D3DLOCK, "Flags")]), + Method(HRESULT, "UnlockRect", [(UINT, "Level")]), + Method(HRESULT, "AddDirtyRect", [(ConstPointer(RECT), "pDirtyRect")]), +] + +IDirect3DVolumeTexture9.methods += [ + Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DVOLUME_DESC), "pDesc")]), + Method(HRESULT, "GetVolumeLevel", [(UINT, "Level"), Out(Pointer(PDIRECT3DVOLUME9), "ppVolumeLevel")]), + Method(HRESULT, "LockBox", [(UINT, "Level"), Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (D3DLOCK, "Flags")]), + Method(HRESULT, "UnlockBox", [(UINT, "Level")]), + Method(HRESULT, "AddDirtyBox", [(ConstPointer(D3DBOX), "pDirtyBox")]), +] + +IDirect3DCubeTexture9.methods += [ + Method(HRESULT, "GetLevelDesc", [(UINT, "Level"), Out(Pointer(D3DSURFACE_DESC), "pDesc")]), + Method(HRESULT, "GetCubeMapSurface", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(PDIRECT3DSURFACE9), "ppCubeMapSurface")]), + Method(HRESULT, "LockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level"), Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (D3DLOCK, "Flags")]), + Method(HRESULT, "UnlockRect", [(D3DCUBEMAP_FACES, "FaceType"), (UINT, "Level")]), + Method(HRESULT, "AddDirtyRect", [(D3DCUBEMAP_FACES, "FaceType"), (ConstPointer(RECT), "pDirtyRect")]), +] + +IDirect3DVertexBuffer9.methods += [ + Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(OpaquePointer(Void)), "ppbData"), (D3DLOCK, "Flags")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DVERTEXBUFFER_DESC), "pDesc")]), +] + +IDirect3DIndexBuffer9.methods += [ + Method(HRESULT, "Lock", [(UINT, "OffsetToLock"), (UINT, "SizeToLock"), Out(Pointer(OpaquePointer(Void)), "ppbData"), (D3DLOCK, "Flags")]), + Method(HRESULT, "Unlock", []), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DINDEXBUFFER_DESC), "pDesc")]), +] + +IDirect3DSurface9.methods += [ + Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DSURFACE_DESC), "pDesc")]), + Method(HRESULT, "LockRect", [Out(Pointer(D3DLOCKED_RECT), "pLockedRect"), (ConstPointer(RECT), "pRect"), (D3DLOCK, "Flags")]), + Method(HRESULT, "UnlockRect", []), + Method(HRESULT, "GetDC", [Out(Pointer(HDC), "phdc")]), + Method(HRESULT, "ReleaseDC", [(HDC, "hdc")]), +] + +IDirect3DVolume9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(HRESULT, "SetPrivateData", [(REFGUID, "refguid"), (OpaquePointer(Const(Void)), "pData"), (DWORD, "SizeOfData"), (D3DSPD, "Flags")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "refguid"), Out(OpaquePointer(Void), "pData"), Out(Pointer(DWORD), "pSizeOfData")]), + Method(HRESULT, "FreePrivateData", [(REFGUID, "refguid")]), + Method(HRESULT, "GetContainer", [(REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppContainer")]), + Method(HRESULT, "GetDesc", [Out(Pointer(D3DVOLUME_DESC), "pDesc")]), + Method(HRESULT, "LockBox", [Out(Pointer(D3DLOCKED_BOX), "pLockedVolume"), (ConstPointer(D3DBOX), "pBox"), (D3DLOCK, "Flags")]), + Method(HRESULT, "UnlockBox", []), +] + +IDirect3DQuery9.methods += [ + Method(HRESULT, "GetDevice", [Out(Pointer(PDIRECT3DDEVICE9), "ppDevice")]), + Method(D3DQUERYTYPE, "GetType", []), + Method(DWORD, "GetDataSize", []), + Method(HRESULT, "Issue", [(D3DISSUE, "dwIssueFlags")]), + Method(HRESULT, "GetData", [Out(OpaquePointer(Void), "pData"), (DWORD, "dwSize"), (D3DGETDATA, "dwGetDataFlags")]), +] + +IDirect3D9Ex.methods += [ + Method(UINT, "GetAdapterModeCountEx", [(UINT, "Adapter"), (ConstPointer(D3DDISPLAYMODEFILTER), "pFilter") ]), + Method(HRESULT, "EnumAdapterModesEx", [(UINT, "Adapter"), (ConstPointer(D3DDISPLAYMODEFILTER), "pFilter"), (UINT, "Mode"), Out(Pointer(D3DDISPLAYMODEEX), "pMode")]), + Method(HRESULT, "GetAdapterDisplayModeEx", [(UINT, "Adapter"), Out(Pointer(D3DDISPLAYMODEEX), "pMode"), Out(Pointer(D3DDISPLAYROTATION), "pRotation")]), + Method(HRESULT, "CreateDeviceEx", [(UINT, "Adapter"), (D3DDEVTYPE, "DeviceType"), (HWND, "hFocusWindow"), (D3DCREATE, "BehaviorFlags"), Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(D3DDISPLAYMODEEX), "pFullscreenDisplayMode"), Out(Pointer(PDIRECT3DDEVICE9EX), "ppReturnedDeviceInterface")]), + Method(HRESULT, "GetAdapterLUID", [(UINT, "Adapter"), Out(Pointer(LUID), "pLUID")]), +] + +IDirect3DDevice9Ex.methods += [ + Method(HRESULT, "SetConvolutionMonoKernel", [(UINT, "width"), (UINT, "height"), (Array(Float, "width"), "rows"), (Array(Float, "height"), "columns")]), + Method(HRESULT, "ComposeRects", [(PDIRECT3DSURFACE9, "pSrc"), (PDIRECT3DSURFACE9, "pDst"), (PDIRECT3DVERTEXBUFFER9, "pSrcRectDescs"), (UINT, "NumRects"), (PDIRECT3DVERTEXBUFFER9, "pDstRectDescs"), (D3DCOMPOSERECTSOP, "Operation"), (Int, "Xoffset"), (Int, "Yoffset")]), + Method(HRESULT, "PresentEx", [(ConstPointer(RECT), "pSourceRect"), (ConstPointer(RECT), "pDestRect"), (HWND, "hDestWindowOverride"), (ConstPointer(RGNDATA), "pDirtyRegion"), (D3DPRESENT, "dwFlags")]), + Method(HRESULT, "GetGPUThreadPriority", [Out(Pointer(INT), "pPriority")]), + Method(HRESULT, "SetGPUThreadPriority", [(INT, "Priority")]), + Method(HRESULT, "WaitForVBlank", [(UINT, "iSwapChain")]), + Method(HRESULT, "CheckResourceResidency", [(Array(PDIRECT3DRESOURCE9, "NumResources"), "pResourceArray"), (UINT32, "NumResources")]), + Method(HRESULT, "SetMaximumFrameLatency", [(UINT, "MaxLatency")]), + Method(HRESULT, "GetMaximumFrameLatency", [Out(Pointer(UINT), "pMaxLatency")]), + Method(HRESULT, "CheckDeviceState", [(HWND, "hDestinationWindow")]), + Method(HRESULT, "CreateRenderTargetEx", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Lockable"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle"), (D3DUSAGE, "Usage")]), + Method(HRESULT, "CreateOffscreenPlainSurfaceEx", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DPOOL, "Pool"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle"), (D3DUSAGE, "Usage")]), + Method(HRESULT, "CreateDepthStencilSurfaceEx", [(UINT, "Width"), (UINT, "Height"), (D3DFORMAT, "Format"), (D3DMULTISAMPLE_TYPE, "MultiSample"), (DWORD, "MultisampleQuality"), (BOOL, "Discard"), Out(Pointer(PDIRECT3DSURFACE9), "ppSurface"), Out(Pointer(HANDLE), "pSharedHandle"), (D3DUSAGE, "Usage")]), + Method(HRESULT, "ResetEx", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(D3DDISPLAYMODEEX), "pFullscreenDisplayMode")]), + Method(HRESULT, "GetDisplayModeEx", [(UINT, "iSwapChain"), Out(Pointer(D3DDISPLAYMODEEX), "pMode"), Out(Pointer(D3DDISPLAYROTATION), "pRotation")]), +] + +IDirect3DSwapChain9Ex.methods += [ + Method(HRESULT, "GetLastPresentCount", [Out(Pointer(UINT), "pLastPresentCount")]), + Method(HRESULT, "GetPresentStats", [Out(Pointer(D3DPRESENTSTATS), "pPresentationStatistics")]), + Method(HRESULT, "GetDisplayModeEx", [Out(Pointer(D3DDISPLAYMODEEX), "pMode"), Out(Pointer(D3DDISPLAYROTATION), "pRotation")]), +] + +d3d9 = API("d3d9") +d3d9.add_functions([ + StdFunction(PDIRECT3D9, "Direct3DCreate9", [(UINT, "SDKVersion")], fail='NULL'), + StdFunction(HRESULT, "Direct3DCreate9Ex", [(UINT, "SDKVersion"), Out(Pointer(PDIRECT3D9EX), "ppD3D")], fail='D3DERR_NOTAVAILABLE'), + StdFunction(Int, "D3DPERF_BeginEvent", [(D3DCOLOR, "col"), (LPCWSTR, "wszName")], fail='-1'), + StdFunction(Int, "D3DPERF_EndEvent", [], fail='-1'), + StdFunction(Void, "D3DPERF_SetMarker", [(D3DCOLOR, "col"), (LPCWSTR, "wszName")]), + StdFunction(Void, "D3DPERF_SetRegion", [(D3DCOLOR, "col"), (LPCWSTR, "wszName")]), + StdFunction(BOOL, "D3DPERF_QueryRepeatFrame", [], fail='FALSE'), + StdFunction(Void, "D3DPERF_SetOptions", [(DWORD, "dwOptions")]), + StdFunction(DWORD, "D3DPERF_GetStatus", [], fail='0'), +]) diff --git a/specs/d3d9caps.py b/specs/d3d9caps.py new file mode 100644 index 0000000..1c0188f --- /dev/null +++ b/specs/d3d9caps.py @@ -0,0 +1,421 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d9caps.h""" + +from winapi import * +from d3d9types import * + +D3DVS20CAPS = Flags(DWORD, [ + "D3DVS20CAPS_PREDICATION", +]) + +D3DVSHADERCAPS2_0 = Struct("D3DVSHADERCAPS2_0", [ + (D3DVS20CAPS, "Caps"), + (INT, "DynamicFlowControlDepth"), + (INT, "NumTemps"), + (INT, "StaticFlowControlDepth"), +]) + +D3DPS20CAPS = Flags(DWORD, [ + "D3DPS20CAPS_ARBITRARYSWIZZLE", + "D3DPS20CAPS_GRADIENTINSTRUCTIONS", + "D3DPS20CAPS_PREDICATION", + "D3DPS20CAPS_NODEPENDENTREADLIMIT", + "D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT", +]) + +D3DPSHADERCAPS2_0 = Struct("D3DPSHADERCAPS2_0", [ + (D3DPS20CAPS, "Caps"), + (INT, "DynamicFlowControlDepth"), + (INT, "NumTemps"), + (INT, "StaticFlowControlDepth"), + (INT, "NumInstructionSlots"), +]) + +D3DCAPS = Flags(DWORD, [ + "D3DCAPS_READ_SCANLINE", +]) + +D3DCAPS2 = Flags(DWORD, [ + "D3DCAPS2_FULLSCREENGAMMA", + "D3DCAPS2_CANCALIBRATEGAMMA", + "D3DCAPS2_RESERVED", + "D3DCAPS2_CANMANAGERESOURCE", + "D3DCAPS2_DYNAMICTEXTURES", + "D3DCAPS2_CANAUTOGENMIPMAP", + "D3DCAPS2_CANSHARERESOURCE", +]) + +D3DCAPS3 = Flags(DWORD, [ + "D3DCAPS3_RESERVED", + "D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD", + "D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION", + "D3DCAPS3_COPY_TO_VIDMEM", + "D3DCAPS3_COPY_TO_SYSTEMMEM", +]) + + +D3DPRESENT_INTERVAL = Flags(DWORD, [ + #"D3DPRESENT_INTERVAL_DEFAULT", # 0 + "D3DPRESENT_INTERVAL_ONE", + "D3DPRESENT_INTERVAL_TWO", + "D3DPRESENT_INTERVAL_THREE", + "D3DPRESENT_INTERVAL_FOUR", + "D3DPRESENT_INTERVAL_IMMEDIATE", +]) + +D3DCURSORCAPS = Flags(DWORD, [ + "D3DCURSORCAPS_COLOR", + "D3DCURSORCAPS_LOWRES", +]) + +D3DDEVCAPS = Flags(DWORD, [ + "D3DDEVCAPS_EXECUTESYSTEMMEMORY", + "D3DDEVCAPS_EXECUTEVIDEOMEMORY", + "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY", + "D3DDEVCAPS_TLVERTEXVIDEOMEMORY", + "D3DDEVCAPS_TEXTURESYSTEMMEMORY", + "D3DDEVCAPS_TEXTUREVIDEOMEMORY", + "D3DDEVCAPS_DRAWPRIMTLVERTEX", + "D3DDEVCAPS_CANRENDERAFTERFLIP", + "D3DDEVCAPS_TEXTURENONLOCALVIDMEM", + "D3DDEVCAPS_DRAWPRIMITIVES2", + "D3DDEVCAPS_SEPARATETEXTUREMEMORIES", + "D3DDEVCAPS_DRAWPRIMITIVES2EX", + "D3DDEVCAPS_HWTRANSFORMANDLIGHT", + "D3DDEVCAPS_CANBLTSYSTONONLOCAL", + "D3DDEVCAPS_HWRASTERIZATION", + "D3DDEVCAPS_PUREDEVICE", + "D3DDEVCAPS_QUINTICRTPATCHES", + "D3DDEVCAPS_RTPATCHES", + "D3DDEVCAPS_RTPATCHHANDLEZERO", + "D3DDEVCAPS_NPATCHES", +]) + +D3DPMISCCAPS = Flags(DWORD, [ + "D3DPMISCCAPS_MASKZ", + "D3DPMISCCAPS_CULLNONE", + "D3DPMISCCAPS_CULLCW", + "D3DPMISCCAPS_CULLCCW", + "D3DPMISCCAPS_COLORWRITEENABLE", + "D3DPMISCCAPS_CLIPPLANESCALEDPOINTS", + "D3DPMISCCAPS_CLIPTLVERTS", + "D3DPMISCCAPS_TSSARGTEMP", + "D3DPMISCCAPS_BLENDOP", + "D3DPMISCCAPS_NULLREFERENCE", + "D3DPMISCCAPS_INDEPENDENTWRITEMASKS", + "D3DPMISCCAPS_PERSTAGECONSTANT", + "D3DPMISCCAPS_FOGANDSPECULARALPHA", + "D3DPMISCCAPS_SEPARATEALPHABLEND", + "D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS", + "D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING", + "D3DPMISCCAPS_FOGVERTEXCLAMPED", + "D3DPMISCCAPS_POSTBLENDSRGBCONVERT", +]) + +D3DLINECAPS = Flags(DWORD, [ + "D3DLINECAPS_TEXTURE", + "D3DLINECAPS_ZTEST", + "D3DLINECAPS_BLEND", + "D3DLINECAPS_ALPHACMP", + "D3DLINECAPS_FOG", + "D3DLINECAPS_ANTIALIAS", +]) + +D3DPRASTERCAPS = Flags(DWORD, [ + "D3DPRASTERCAPS_DITHER", + "D3DPRASTERCAPS_ZTEST", + "D3DPRASTERCAPS_FOGVERTEX", + "D3DPRASTERCAPS_FOGTABLE", + "D3DPRASTERCAPS_MIPMAPLODBIAS", + "D3DPRASTERCAPS_ZBUFFERLESSHSR", + "D3DPRASTERCAPS_FOGRANGE", + "D3DPRASTERCAPS_ANISOTROPY", + "D3DPRASTERCAPS_WBUFFER", + "D3DPRASTERCAPS_WFOG", + "D3DPRASTERCAPS_ZFOG", + "D3DPRASTERCAPS_COLORPERSPECTIVE", + "D3DPRASTERCAPS_SCISSORTEST", + "D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS", + "D3DPRASTERCAPS_DEPTHBIAS", + "D3DPRASTERCAPS_MULTISAMPLE_TOGGLE", +]) + +D3DPCMPCAPS = Flags(DWORD, [ + "D3DPCMPCAPS_NEVER", + "D3DPCMPCAPS_LESS", + "D3DPCMPCAPS_EQUAL", + "D3DPCMPCAPS_LESSEQUAL", + "D3DPCMPCAPS_GREATER", + "D3DPCMPCAPS_NOTEQUAL", + "D3DPCMPCAPS_GREATEREQUAL", + "D3DPCMPCAPS_ALWAYS", +]) + +D3DPBLENDCAPS = Flags(DWORD, [ + "D3DPBLENDCAPS_ZERO", + "D3DPBLENDCAPS_ONE", + "D3DPBLENDCAPS_SRCCOLOR", + "D3DPBLENDCAPS_INVSRCCOLOR", + "D3DPBLENDCAPS_SRCALPHA", + "D3DPBLENDCAPS_INVSRCALPHA", + "D3DPBLENDCAPS_DESTALPHA", + "D3DPBLENDCAPS_INVDESTALPHA", + "D3DPBLENDCAPS_DESTCOLOR", + "D3DPBLENDCAPS_INVDESTCOLOR", + "D3DPBLENDCAPS_SRCALPHASAT", + "D3DPBLENDCAPS_BOTHSRCALPHA", + "D3DPBLENDCAPS_BOTHINVSRCALPHA", + "D3DPBLENDCAPS_BLENDFACTOR", + "D3DPBLENDCAPS_SRCCOLOR2", + "D3DPBLENDCAPS_INVSRCCOLOR2", +]) + +D3DPSHADECAPS = Flags(DWORD, [ + "D3DPSHADECAPS_COLORGOURAUDRGB", + "D3DPSHADECAPS_SPECULARGOURAUDRGB", + "D3DPSHADECAPS_ALPHAGOURAUDBLEND", + "D3DPSHADECAPS_FOGGOURAUD", +]) + +D3DPTEXTURECAPS = Flags(DWORD, [ + "D3DPTEXTURECAPS_PERSPECTIVE", + "D3DPTEXTURECAPS_POW2", + "D3DPTEXTURECAPS_ALPHA", + "D3DPTEXTURECAPS_SQUAREONLY", + "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE", + "D3DPTEXTURECAPS_ALPHAPALETTE", + "D3DPTEXTURECAPS_NONPOW2CONDITIONAL", + "D3DPTEXTURECAPS_PROJECTED", + "D3DPTEXTURECAPS_CUBEMAP", + "D3DPTEXTURECAPS_VOLUMEMAP", + "D3DPTEXTURECAPS_MIPMAP", + "D3DPTEXTURECAPS_MIPVOLUMEMAP", + "D3DPTEXTURECAPS_MIPCUBEMAP", + "D3DPTEXTURECAPS_CUBEMAP_POW2", + "D3DPTEXTURECAPS_VOLUMEMAP_POW2", + "D3DPTEXTURECAPS_NOPROJECTEDBUMPENV", +]) + +D3DPTFILTERCAPS = Flags(DWORD, [ + "D3DPTFILTERCAPS_MINFPOINT", + "D3DPTFILTERCAPS_MINFLINEAR", + "D3DPTFILTERCAPS_MINFANISOTROPIC", + "D3DPTFILTERCAPS_MINFPYRAMIDALQUAD", + "D3DPTFILTERCAPS_MINFGAUSSIANQUAD", + "D3DPTFILTERCAPS_MIPFPOINT", + "D3DPTFILTERCAPS_MIPFLINEAR", + "D3DPTFILTERCAPS_CONVOLUTIONMONO", + "D3DPTFILTERCAPS_MAGFPOINT", + "D3DPTFILTERCAPS_MAGFLINEAR", + "D3DPTFILTERCAPS_MAGFANISOTROPIC", + "D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD", + "D3DPTFILTERCAPS_MAGFGAUSSIANQUAD", +]) + +D3DPTADDRESSCAPS = Flags(DWORD, [ + "D3DPTADDRESSCAPS_WRAP", + "D3DPTADDRESSCAPS_MIRROR", + "D3DPTADDRESSCAPS_CLAMP", + "D3DPTADDRESSCAPS_BORDER", + "D3DPTADDRESSCAPS_INDEPENDENTUV", + "D3DPTADDRESSCAPS_MIRRORONCE", +]) + +D3DSTENCILCAPS = Flags(DWORD, [ + "D3DSTENCILCAPS_KEEP", + "D3DSTENCILCAPS_ZERO", + "D3DSTENCILCAPS_REPLACE", + "D3DSTENCILCAPS_INCRSAT", + "D3DSTENCILCAPS_DECRSAT", + "D3DSTENCILCAPS_INVERT", + "D3DSTENCILCAPS_INCR", + "D3DSTENCILCAPS_DECR", + "D3DSTENCILCAPS_TWOSIDED", +]) + +D3DTEXOPCAPS = Flags(DWORD, [ + "D3DTEXOPCAPS_DISABLE", + "D3DTEXOPCAPS_SELECTARG1", + "D3DTEXOPCAPS_SELECTARG2", + "D3DTEXOPCAPS_MODULATE", + "D3DTEXOPCAPS_MODULATE2X", + "D3DTEXOPCAPS_MODULATE4X", + "D3DTEXOPCAPS_ADD", + "D3DTEXOPCAPS_ADDSIGNED", + "D3DTEXOPCAPS_ADDSIGNED2X", + "D3DTEXOPCAPS_SUBTRACT", + "D3DTEXOPCAPS_ADDSMOOTH", + "D3DTEXOPCAPS_BLENDDIFFUSEALPHA", + "D3DTEXOPCAPS_BLENDTEXTUREALPHA", + "D3DTEXOPCAPS_BLENDFACTORALPHA", + "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM", + "D3DTEXOPCAPS_BLENDCURRENTALPHA", + "D3DTEXOPCAPS_PREMODULATE", + "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR", + "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA", + "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR", + "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA", + "D3DTEXOPCAPS_BUMPENVMAP", + "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE", + "D3DTEXOPCAPS_DOTPRODUCT3", + "D3DTEXOPCAPS_MULTIPLYADD", + "D3DTEXOPCAPS_LERP", +]) + +D3DFVFCAPS = Flags(DWORD, [ + "D3DFVFCAPS_TEXCOORDCOUNTMASK", + "D3DFVFCAPS_DONOTSTRIPELEMENTS", + "D3DFVFCAPS_PSIZE", +]) + +D3DVTXPCAPS = Flags(DWORD, [ + "D3DVTXPCAPS_TEXGEN", + "D3DVTXPCAPS_MATERIALSOURCE7", + "D3DVTXPCAPS_DIRECTIONALLIGHTS", + "D3DVTXPCAPS_POSITIONALLIGHTS", + "D3DVTXPCAPS_LOCALVIEWER", + "D3DVTXPCAPS_TWEENING", + "D3DVTXPCAPS_TEXGEN_SPHEREMAP", + "D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER", +]) + +D3DDEVCAPS2 = Flags(DWORD, [ + "D3DDEVCAPS2_STREAMOFFSET", + "D3DDEVCAPS2_DMAPNPATCH", + "D3DDEVCAPS2_ADAPTIVETESSRTPATCH", + "D3DDEVCAPS2_ADAPTIVETESSNPATCH", + "D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES", + "D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH", + "D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET", +]) + +D3DDTCAPS = Flags(DWORD, [ + "D3DDTCAPS_UBYTE4", + "D3DDTCAPS_UBYTE4N", + "D3DDTCAPS_SHORT2N", + "D3DDTCAPS_SHORT4N", + "D3DDTCAPS_USHORT2N", + "D3DDTCAPS_USHORT4N", + "D3DDTCAPS_UDEC3", + "D3DDTCAPS_DEC3N", + "D3DDTCAPS_FLOAT16_2", + "D3DDTCAPS_FLOAT16_4", +]) + +#D3DPS_VERSION = Enum("DWORD", [ +# "D3DPS_VERSION(0,0)", +# "D3DPS_VERSION(1,0)", +# "D3DPS_VERSION(1,1)", +# "D3DPS_VERSION(1,2)", +# "D3DPS_VERSION(1,3)", +# "D3DPS_VERSION(1,4)", +# "D3DPS_VERSION(2,0)", +# "D3DPS_VERSION(3,0)", +#]) +D3DPS_VERSION = DWORD + +#D3DVS_VERSION = Enum("DWORD", [ +# "D3DVS_VERSION(0,0)", +# "D3DVS_VERSION(1,0)", +# "D3DVS_VERSION(1,1)", +# "D3DVS_VERSION(2,0)", +# "D3DVS_VERSION(3,0)", +#]) +D3DVS_VERSION = DWORD + +D3DCAPS9 = Struct("D3DCAPS9", [ + (D3DDEVTYPE, "DeviceType"), + (UINT, "AdapterOrdinal"), + (D3DCAPS, "Caps"), + (D3DCAPS2, "Caps2"), + (D3DCAPS3, "Caps3"), + (D3DPRESENT_INTERVAL, "PresentationIntervals"), + (D3DCURSORCAPS, "CursorCaps"), + (D3DDEVCAPS, "DevCaps"), + (D3DPMISCCAPS, "PrimitiveMiscCaps"), + (D3DPRASTERCAPS, "RasterCaps"), + (D3DPCMPCAPS, "ZCmpCaps"), + (D3DPBLENDCAPS, "SrcBlendCaps"), + (D3DPBLENDCAPS, "DestBlendCaps"), + (D3DPCMPCAPS, "AlphaCmpCaps"), + (D3DPSHADECAPS, "ShadeCaps"), + (D3DPTEXTURECAPS, "TextureCaps"), + (D3DPTFILTERCAPS, "TextureFilterCaps"), + (D3DPTFILTERCAPS, "CubeTextureFilterCaps"), + (D3DPTFILTERCAPS, "VolumeTextureFilterCaps"), + (D3DPTADDRESSCAPS, "TextureAddressCaps"), + (D3DPTADDRESSCAPS, "VolumeTextureAddressCaps"), + (D3DLINECAPS, "LineCaps"), + (DWORD, "MaxTextureWidth"), + (DWORD, "MaxTextureHeight"), + (DWORD, "MaxVolumeExtent"), + (DWORD, "MaxTextureRepeat"), + (DWORD, "MaxTextureAspectRatio"), + (DWORD, "MaxAnisotropy"), + (Float, "MaxVertexW"), + (Float, "GuardBandLeft"), + (Float, "GuardBandTop"), + (Float, "GuardBandRight"), + (Float, "GuardBandBottom"), + (Float, "ExtentsAdjust"), + (D3DSTENCILCAPS, "StencilCaps"), + (D3DFVFCAPS, "FVFCaps"), + (D3DTEXOPCAPS, "TextureOpCaps"), + (DWORD, "MaxTextureBlendStages"), + (DWORD, "MaxSimultaneousTextures"), + (D3DVTXPCAPS, "VertexProcessingCaps"), + (DWORD, "MaxActiveLights"), + (DWORD, "MaxUserClipPlanes"), + (DWORD, "MaxVertexBlendMatrices"), + (DWORD, "MaxVertexBlendMatrixIndex"), + (Float, "MaxPointSize"), + (DWORD, "MaxPrimitiveCount"), + (DWORD, "MaxVertexIndex"), + (DWORD, "MaxStreams"), + (DWORD, "MaxStreamStride"), + (D3DVS_VERSION, "VertexShaderVersion"), + (DWORD, "MaxVertexShaderConst"), + (D3DPS_VERSION, "PixelShaderVersion"), + (Float, "PixelShader1xMaxValue"), + (D3DDEVCAPS2, "DevCaps2"), + (Float, "MaxNpatchTessellationLevel"), + (DWORD, "Reserved5"), + (UINT, "MasterAdapterOrdinal"), + (UINT, "AdapterOrdinalInGroup"), + (UINT, "NumberOfAdaptersInGroup"), + (D3DDTCAPS, "DeclTypes"), + (DWORD, "NumSimultaneousRTs"), + (D3DPTFILTERCAPS, "StretchRectFilterCaps"), + (D3DVSHADERCAPS2_0, "VS20Caps"), + (D3DPSHADERCAPS2_0, "PS20Caps"), + (D3DPTFILTERCAPS, "VertexTextureFilterCaps"), + (DWORD, "MaxVShaderInstructionsExecuted"), + (DWORD, "MaxPShaderInstructionsExecuted"), + (DWORD, "MaxVertexShader30InstructionSlots"), + (DWORD, "MaxPixelShader30InstructionSlots"), +]) + diff --git a/specs/d3d9types.py b/specs/d3d9types.py new file mode 100644 index 0000000..73011ee --- /dev/null +++ b/specs/d3d9types.py @@ -0,0 +1,1320 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3d9types.h""" + +from winapi import * + +D3DCOLOR = Alias("D3DCOLOR", DWORD) + +D3DVECTOR = Struct("D3DVECTOR", [ + (Float, "x"), + (Float, "y"), + (Float, "z"), +]) + +D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ + (Float, "r"), + (Float, "g"), + (Float, "b"), + (Float, "a"), +]) + +D3DRECT = Struct("D3DRECT", [ + (LONG, "x1"), + (LONG, "y1"), + (LONG, "x2"), + (LONG, "y2"), +]) + +D3DMATRIX = Struct("D3DMATRIX", [ + (Array(Array(Float, "4"), "4"), "m"), +]) + +D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [ + (DWORD, "X"), + (DWORD, "Y"), + (DWORD, "Width"), + (DWORD, "Height"), + (Float, "MinZ"), + (Float, "MaxZ"), +]) + +D3DCLIP = Flags(DWORD, [ + "D3DCLIPPLANE0", + "D3DCLIPPLANE1", + "D3DCLIPPLANE2", + "D3DCLIPPLANE3", + "D3DCLIPPLANE4", + "D3DCLIPPLANE5", +]) + +D3DCS = Flags(DWORD, [ + "D3DCS_ALL", + "D3DCS_LEFT", + "D3DCS_RIGHT", + "D3DCS_TOP", + "D3DCS_BOTTOM", + "D3DCS_FRONT", + "D3DCS_BACK", + "D3DCS_PLANE0", + "D3DCS_PLANE1", + "D3DCS_PLANE2", + "D3DCS_PLANE3", + "D3DCS_PLANE4", + "D3DCS_PLANE5", +]) + +D3DCLIPSTATUS9 = Struct("D3DCLIPSTATUS9", [ + (DWORD, "ClipUnion"), + (DWORD, "ClipIntersection"), +]) + +D3DMATERIAL9 = Struct("D3DMATERIAL9", [ + (D3DCOLORVALUE, "Diffuse"), + (D3DCOLORVALUE, "Ambient"), + (D3DCOLORVALUE, "Specular"), + (D3DCOLORVALUE, "Emissive"), + (Float, "Power"), +]) + +D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ + "D3DLIGHT_POINT", + "D3DLIGHT_SPOT", + "D3DLIGHT_DIRECTIONAL", +]) + +D3DLIGHT9 = Struct("D3DLIGHT9", [ + (D3DLIGHTTYPE, "Type"), + (D3DCOLORVALUE, "Diffuse"), + (D3DCOLORVALUE, "Specular"), + (D3DCOLORVALUE, "Ambient"), + (D3DVECTOR, "Position"), + (D3DVECTOR, "Direction"), + (Float, "Range"), + (Float, "Falloff"), + (Float, "Attenuation0"), + (Float, "Attenuation1"), + (Float, "Attenuation2"), + (Float, "Theta"), + (Float, "Phi"), +]) + +D3DCLEAR = Flags(DWORD, [ + "D3DCLEAR_TARGET", + "D3DCLEAR_ZBUFFER", + "D3DCLEAR_STENCIL", +]) + +D3DSHADEMODE = Enum("D3DSHADEMODE", [ + "D3DSHADE_FLAT", + "D3DSHADE_GOURAUD", + "D3DSHADE_PHONG", +]) + +D3DFILLMODE = Enum("D3DFILLMODE", [ + "D3DFILL_POINT", + "D3DFILL_WIREFRAME", + "D3DFILL_SOLID", +]) + +D3DBLEND = Enum("D3DBLEND", [ + "D3DBLEND_ZERO", + "D3DBLEND_ONE", + "D3DBLEND_SRCCOLOR", + "D3DBLEND_INVSRCCOLOR", + "D3DBLEND_SRCALPHA", + "D3DBLEND_INVSRCALPHA", + "D3DBLEND_DESTALPHA", + "D3DBLEND_INVDESTALPHA", + "D3DBLEND_DESTCOLOR", + "D3DBLEND_INVDESTCOLOR", + "D3DBLEND_SRCALPHASAT", + "D3DBLEND_BOTHSRCALPHA", + "D3DBLEND_BOTHINVSRCALPHA", + "D3DBLEND_BLENDFACTOR", + "D3DBLEND_INVBLENDFACTOR", + "D3DBLEND_SRCCOLOR2", + "D3DBLEND_INVSRCCOLOR2", +]) + +D3DBLENDOP = Enum("D3DBLENDOP", [ + "D3DBLENDOP_ADD", + "D3DBLENDOP_SUBTRACT", + "D3DBLENDOP_REVSUBTRACT", + "D3DBLENDOP_MIN", + "D3DBLENDOP_MAX", +]) + +D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ + "D3DTADDRESS_WRAP", + "D3DTADDRESS_MIRROR", + "D3DTADDRESS_CLAMP", + "D3DTADDRESS_BORDER", + "D3DTADDRESS_MIRRORONCE", +]) + +D3DCULL = Enum("D3DCULL", [ + "D3DCULL_NONE", + "D3DCULL_CW", + "D3DCULL_CCW", +]) + +D3DCMPFUNC = Enum("D3DCMPFUNC", [ + "D3DCMP_NEVER", + "D3DCMP_LESS", + "D3DCMP_EQUAL", + "D3DCMP_LESSEQUAL", + "D3DCMP_GREATER", + "D3DCMP_NOTEQUAL", + "D3DCMP_GREATEREQUAL", + "D3DCMP_ALWAYS", +]) + +D3DSTENCILOP = Enum("D3DSTENCILOP", [ + "D3DSTENCILOP_KEEP", + "D3DSTENCILOP_ZERO", + "D3DSTENCILOP_REPLACE", + "D3DSTENCILOP_INCRSAT", + "D3DSTENCILOP_DECRSAT", + "D3DSTENCILOP_INVERT", + "D3DSTENCILOP_INCR", + "D3DSTENCILOP_DECR", +]) + +D3DFOGMODE = Enum("D3DFOGMODE", [ + "D3DFOG_NONE", + "D3DFOG_EXP", + "D3DFOG_EXP2", + "D3DFOG_LINEAR", +]) + +D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ + "D3DZB_FALSE", + "D3DZB_TRUE", + "D3DZB_USEW", +]) + +D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ + "D3DPT_POINTLIST", + "D3DPT_LINELIST", + "D3DPT_LINESTRIP", + "D3DPT_TRIANGLELIST", + "D3DPT_TRIANGLESTRIP", + "D3DPT_TRIANGLEFAN", +]) + +D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ + "D3DTS_VIEW", + "D3DTS_PROJECTION", + "D3DTS_TEXTURE0", + "D3DTS_TEXTURE1", + "D3DTS_TEXTURE2", + "D3DTS_TEXTURE3", + "D3DTS_TEXTURE4", + "D3DTS_TEXTURE5", + "D3DTS_TEXTURE6", + "D3DTS_TEXTURE7", +]) + +D3DTS = Flags(DWORD, [ + "D3DTS_WORLD", + "D3DTS_WORLD1", + "D3DTS_WORLD2", + "D3DTS_WORLD3", +]) + +D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ + "D3DRS_ZENABLE", + "D3DRS_FILLMODE", + "D3DRS_SHADEMODE", + "D3DRS_ZWRITEENABLE", + "D3DRS_ALPHATESTENABLE", + "D3DRS_LASTPIXEL", + "D3DRS_SRCBLEND", + "D3DRS_DESTBLEND", + "D3DRS_CULLMODE", + "D3DRS_ZFUNC", + "D3DRS_ALPHAREF", + "D3DRS_ALPHAFUNC", + "D3DRS_DITHERENABLE", + "D3DRS_ALPHABLENDENABLE", + "D3DRS_FOGENABLE", + "D3DRS_SPECULARENABLE", + "D3DRS_FOGCOLOR", + "D3DRS_FOGTABLEMODE", + "D3DRS_FOGSTART", + "D3DRS_FOGEND", + "D3DRS_FOGDENSITY", + "D3DRS_RANGEFOGENABLE", + "D3DRS_STENCILENABLE", + "D3DRS_STENCILFAIL", + "D3DRS_STENCILZFAIL", + "D3DRS_STENCILPASS", + "D3DRS_STENCILFUNC", + "D3DRS_STENCILREF", + "D3DRS_STENCILMASK", + "D3DRS_STENCILWRITEMASK", + "D3DRS_TEXTUREFACTOR", + "D3DRS_WRAP0", + "D3DRS_WRAP1", + "D3DRS_WRAP2", + "D3DRS_WRAP3", + "D3DRS_WRAP4", + "D3DRS_WRAP5", + "D3DRS_WRAP6", + "D3DRS_WRAP7", + "D3DRS_CLIPPING", + "D3DRS_LIGHTING", + "D3DRS_AMBIENT", + "D3DRS_FOGVERTEXMODE", + "D3DRS_COLORVERTEX", + "D3DRS_LOCALVIEWER", + "D3DRS_NORMALIZENORMALS", + "D3DRS_DIFFUSEMATERIALSOURCE", + "D3DRS_SPECULARMATERIALSOURCE", + "D3DRS_AMBIENTMATERIALSOURCE", + "D3DRS_EMISSIVEMATERIALSOURCE", + "D3DRS_VERTEXBLEND", + "D3DRS_CLIPPLANEENABLE", + "D3DRS_POINTSIZE", + "D3DRS_POINTSIZE_MIN", + "D3DRS_POINTSPRITEENABLE", + "D3DRS_POINTSCALEENABLE", + "D3DRS_POINTSCALE_A", + "D3DRS_POINTSCALE_B", + "D3DRS_POINTSCALE_C", + "D3DRS_MULTISAMPLEANTIALIAS", + "D3DRS_MULTISAMPLEMASK", + "D3DRS_PATCHEDGESTYLE", + "D3DRS_DEBUGMONITORTOKEN", + "D3DRS_POINTSIZE_MAX", + "D3DRS_INDEXEDVERTEXBLENDENABLE", + "D3DRS_COLORWRITEENABLE", + "D3DRS_TWEENFACTOR", + "D3DRS_BLENDOP", + "D3DRS_POSITIONDEGREE", + "D3DRS_NORMALDEGREE", + "D3DRS_SCISSORTESTENABLE", + "D3DRS_SLOPESCALEDEPTHBIAS", + "D3DRS_ANTIALIASEDLINEENABLE", + "D3DRS_MINTESSELLATIONLEVEL", + "D3DRS_MAXTESSELLATIONLEVEL", + "D3DRS_ADAPTIVETESS_X", + "D3DRS_ADAPTIVETESS_Y", + "D3DRS_ADAPTIVETESS_Z", + "D3DRS_ADAPTIVETESS_W", + "D3DRS_ENABLEADAPTIVETESSELLATION", + "D3DRS_TWOSIDEDSTENCILMODE", + "D3DRS_CCW_STENCILFAIL", + "D3DRS_CCW_STENCILZFAIL", + "D3DRS_CCW_STENCILPASS", + "D3DRS_CCW_STENCILFUNC", + "D3DRS_COLORWRITEENABLE1", + "D3DRS_COLORWRITEENABLE2", + "D3DRS_COLORWRITEENABLE3", + "D3DRS_BLENDFACTOR", + "D3DRS_SRGBWRITEENABLE", + "D3DRS_DEPTHBIAS", + "D3DRS_WRAP8", + "D3DRS_WRAP9", + "D3DRS_WRAP10", + "D3DRS_WRAP11", + "D3DRS_WRAP12", + "D3DRS_WRAP13", + "D3DRS_WRAP14", + "D3DRS_WRAP15", + "D3DRS_SEPARATEALPHABLENDENABLE", + "D3DRS_SRCBLENDALPHA", + "D3DRS_DESTBLENDALPHA", + "D3DRS_BLENDOPALPHA", +]) + +D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ + "D3DMCS_MATERIAL", + "D3DMCS_COLOR1", + "D3DMCS_COLOR2", +]) + +D3DWRAP = Flags(DWORD, [ + "D3DWRAP_U", + "D3DWRAP_V", + "D3DWRAP_W", +]) + +D3DWRAPCOORD = Flags(DWORD, [ + "D3DWRAPCOORD_0", + "D3DWRAPCOORD_1", + "D3DWRAPCOORD_2", + "D3DWRAPCOORD_3", +]) + +D3DCOLORWRITEENABLE = Flags(DWORD, [ + "D3DCOLORWRITEENABLE_RED", + "D3DCOLORWRITEENABLE_GREEN", + "D3DCOLORWRITEENABLE_BLUE", + "D3DCOLORWRITEENABLE_ALPHA", +]) + +D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ + "D3DTSS_COLOROP", + "D3DTSS_COLORARG1", + "D3DTSS_COLORARG2", + "D3DTSS_ALPHAOP", + "D3DTSS_ALPHAARG1", + "D3DTSS_ALPHAARG2", + "D3DTSS_BUMPENVMAT00", + "D3DTSS_BUMPENVMAT01", + "D3DTSS_BUMPENVMAT10", + "D3DTSS_BUMPENVMAT11", + "D3DTSS_TEXCOORDINDEX", + "D3DTSS_BUMPENVLSCALE", + "D3DTSS_BUMPENVLOFFSET", + "D3DTSS_TEXTURETRANSFORMFLAGS", + "D3DTSS_COLORARG0", + "D3DTSS_ALPHAARG0", + "D3DTSS_RESULTARG", + "D3DTSS_CONSTANT", +]) + +D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [ + + "D3DSAMP_ADDRESSU", + "D3DSAMP_ADDRESSV", + "D3DSAMP_ADDRESSW", + "D3DSAMP_BORDERCOLOR", + "D3DSAMP_MAGFILTER", + "D3DSAMP_MINFILTER", + "D3DSAMP_MIPFILTER", + "D3DSAMP_MIPMAPLODBIAS", + "D3DSAMP_MAXMIPLEVEL", + "D3DSAMP_MAXANISOTROPY", + "D3DSAMP_SRGBTEXTURE", + "D3DSAMP_ELEMENTINDEX", + "D3DSAMP_DMAPOFFSET", +]) + +D3DTSS = Flags(DWORD, [ + "D3DTSS_TCI_PASSTHRU", + "D3DTSS_TCI_CAMERASPACENORMAL", + "D3DTSS_TCI_CAMERASPACEPOSITION", + "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", + "D3DTSS_TCI_SPHEREMAP", +]) + +D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ + "D3DTOP_DISABLE", + "D3DTOP_SELECTARG1", + "D3DTOP_SELECTARG2", + "D3DTOP_MODULATE", + "D3DTOP_MODULATE2X", + "D3DTOP_MODULATE4X", + "D3DTOP_ADD", + "D3DTOP_ADDSIGNED", + "D3DTOP_ADDSIGNED2X", + "D3DTOP_SUBTRACT", + "D3DTOP_ADDSMOOTH", + "D3DTOP_BLENDDIFFUSEALPHA", + "D3DTOP_BLENDTEXTUREALPHA", + "D3DTOP_BLENDFACTORALPHA", + "D3DTOP_BLENDTEXTUREALPHAPM", + "D3DTOP_BLENDCURRENTALPHA", + "D3DTOP_PREMODULATE", + "D3DTOP_MODULATEALPHA_ADDCOLOR", + "D3DTOP_MODULATECOLOR_ADDALPHA", + "D3DTOP_MODULATEINVALPHA_ADDCOLOR", + "D3DTOP_MODULATEINVCOLOR_ADDALPHA", + "D3DTOP_BUMPENVMAP", + "D3DTOP_BUMPENVMAPLUMINANCE", + "D3DTOP_DOTPRODUCT3", + "D3DTOP_MULTIPLYADD", + "D3DTOP_LERP", +]) + +D3DTA = Flags(DWORD, [ + "D3DTA_SELECTMASK", + "D3DTA_DIFFUSE", + "D3DTA_CURRENT", + "D3DTA_TEXTURE", + "D3DTA_TFACTOR", + "D3DTA_SPECULAR", + "D3DTA_TEMP", + "D3DTA_CONSTANT", + "D3DTA_COMPLEMENT", + "D3DTA_ALPHAREPLICATE", +]) + +D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [ + "D3DTEXF_NONE", + "D3DTEXF_POINT", + "D3DTEXF_LINEAR", + "D3DTEXF_ANISOTROPIC", + "D3DTEXF_PYRAMIDALQUAD", + "D3DTEXF_GAUSSIANQUAD", + "D3DTEXF_CONVOLUTIONMONO", +]) + +D3DPV = Flags(DWORD, [ + "D3DPV_DONOTCOPYDATA", +]) + +D3DFVF = Flags(DWORD, [ + "D3DFVF_RESERVED0", + "D3DFVF_POSITION_MASK", + "D3DFVF_XYZ", + "D3DFVF_XYZRHW", + "D3DFVF_XYZB1", + "D3DFVF_XYZB2", + "D3DFVF_XYZB3", + "D3DFVF_XYZB4", + "D3DFVF_XYZB5", + "D3DFVF_XYZW", + "D3DFVF_NORMAL", + "D3DFVF_PSIZE", + "D3DFVF_DIFFUSE", + "D3DFVF_SPECULAR", + #"D3DFVF_TEXCOUNT_MASK", + #"D3DFVF_TEXCOUNT_SHIFT", + #"D3DFVF_TEX0", + #"D3DFVF_TEX1", + #"D3DFVF_TEX2", + #"D3DFVF_TEX3", + #"D3DFVF_TEX4", + #"D3DFVF_TEX5", + #"D3DFVF_TEX6", + #"D3DFVF_TEX7", + #"D3DFVF_TEX8", + "D3DFVF_LASTBETA_UBYTE4", + "D3DFVF_LASTBETA_D3DCOLOR", + "D3DFVF_RESERVED2", + #"D3DFVF_TEXCOORDSIZE3(0)", + #"D3DFVF_TEXCOORDSIZE2(0)", + #"D3DFVF_TEXCOORDSIZE4(0)", + #"D3DFVF_TEXCOORDSIZE1(0)", + #"D3DFVF_TEXCOORDSIZE3(1)", + #"D3DFVF_TEXCOORDSIZE2(1)", + #"D3DFVF_TEXCOORDSIZE4(1)", + #"D3DFVF_TEXCOORDSIZE1(1)", + #"D3DFVF_TEXCOORDSIZE3(2)", + #"D3DFVF_TEXCOORDSIZE2(2)", + #"D3DFVF_TEXCOORDSIZE4(2)", + #"D3DFVF_TEXCOORDSIZE1(2)", + #"D3DFVF_TEXCOORDSIZE3(3)", + #"D3DFVF_TEXCOORDSIZE2(3)", + #"D3DFVF_TEXCOORDSIZE4(3)", + #"D3DFVF_TEXCOORDSIZE1(3)", +]) + +D3DDECLUSAGE = Enum("D3DDECLUSAGE", [ + "D3DDECLUSAGE_POSITION", + "D3DDECLUSAGE_BLENDWEIGHT", + "D3DDECLUSAGE_BLENDINDICES", + "D3DDECLUSAGE_NORMAL", + "D3DDECLUSAGE_PSIZE", + "D3DDECLUSAGE_TEXCOORD", + "D3DDECLUSAGE_TANGENT", + "D3DDECLUSAGE_BINORMAL", + "D3DDECLUSAGE_TESSFACTOR", + "D3DDECLUSAGE_POSITIONT", + "D3DDECLUSAGE_COLOR", + "D3DDECLUSAGE_FOG", + "D3DDECLUSAGE_DEPTH", + "D3DDECLUSAGE_SAMPLE", +]) + +D3DDECLMETHOD = Enum("D3DDECLMETHOD", [ + "D3DDECLMETHOD_DEFAULT", + "D3DDECLMETHOD_PARTIALU", + "D3DDECLMETHOD_PARTIALV", + "D3DDECLMETHOD_CROSSUV", + "D3DDECLMETHOD_UV", + "D3DDECLMETHOD_LOOKUP", + "D3DDECLMETHOD_LOOKUPPRESAMPLED", +]) + +D3DDECLTYPE = Enum("D3DDECLTYPE", [ + "D3DDECLTYPE_FLOAT1", + "D3DDECLTYPE_FLOAT2", + "D3DDECLTYPE_FLOAT3", + "D3DDECLTYPE_FLOAT4", + "D3DDECLTYPE_D3DCOLOR", + "D3DDECLTYPE_UBYTE4", + "D3DDECLTYPE_SHORT2", + "D3DDECLTYPE_SHORT4", + "D3DDECLTYPE_UBYTE4N", + "D3DDECLTYPE_SHORT2N", + "D3DDECLTYPE_SHORT4N", + "D3DDECLTYPE_USHORT2N", + "D3DDECLTYPE_USHORT4N", + "D3DDECLTYPE_UDEC3", + "D3DDECLTYPE_DEC3N", + "D3DDECLTYPE_FLOAT16_2", + "D3DDECLTYPE_FLOAT16_4", + "D3DDECLTYPE_UNUSED", +]) + +D3DVERTEXELEMENT9 = Struct("D3DVERTEXELEMENT9", [ + (WORD, "Stream"), + (WORD, "Offset"), + (BYTE, "Type"), + (BYTE, "Method"), + (BYTE, "Usage"), + (BYTE, "UsageIndex"), +]) + +D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [ + "D3DSIO_NOP", + "D3DSIO_MOV", + "D3DSIO_ADD", + "D3DSIO_SUB", + "D3DSIO_MAD", + "D3DSIO_MUL", + "D3DSIO_RCP", + "D3DSIO_RSQ", + "D3DSIO_DP3", + "D3DSIO_DP4", + "D3DSIO_MIN", + "D3DSIO_MAX", + "D3DSIO_SLT", + "D3DSIO_SGE", + "D3DSIO_EXP", + "D3DSIO_LOG", + "D3DSIO_LIT", + "D3DSIO_DST", + "D3DSIO_LRP", + "D3DSIO_FRC", + "D3DSIO_M4x4", + "D3DSIO_M4x3", + "D3DSIO_M3x4", + "D3DSIO_M3x3", + "D3DSIO_M3x2", + "D3DSIO_CALL", + "D3DSIO_CALLNZ", + "D3DSIO_LOOP", + "D3DSIO_RET", + "D3DSIO_ENDLOOP", + "D3DSIO_LABEL", + "D3DSIO_DCL", + "D3DSIO_POW", + "D3DSIO_CRS", + "D3DSIO_SGN", + "D3DSIO_ABS", + "D3DSIO_NRM", + "D3DSIO_SINCOS", + "D3DSIO_REP", + "D3DSIO_ENDREP", + "D3DSIO_IF", + "D3DSIO_IFC", + "D3DSIO_ELSE", + "D3DSIO_ENDIF", + "D3DSIO_BREAK", + "D3DSIO_BREAKC", + "D3DSIO_MOVA", + "D3DSIO_DEFB", + "D3DSIO_DEFI", + "D3DSIO_TEXCOORD", + "D3DSIO_TEXKILL", + "D3DSIO_TEX", + "D3DSIO_TEXBEM", + "D3DSIO_TEXBEML", + "D3DSIO_TEXREG2AR", + "D3DSIO_TEXREG2GB", + "D3DSIO_TEXM3x2PAD", + "D3DSIO_TEXM3x2TEX", + "D3DSIO_TEXM3x3PAD", + "D3DSIO_TEXM3x3TEX", + "D3DSIO_RESERVED0", + "D3DSIO_TEXM3x3SPEC", + "D3DSIO_TEXM3x3VSPEC", + "D3DSIO_EXPP", + "D3DSIO_LOGP", + "D3DSIO_CND", + "D3DSIO_DEF", + "D3DSIO_TEXREG2RGB", + "D3DSIO_TEXDP3TEX", + "D3DSIO_TEXM3x2DEPTH", + "D3DSIO_TEXDP3", + "D3DSIO_TEXM3x3", + "D3DSIO_TEXDEPTH", + "D3DSIO_CMP", + "D3DSIO_BEM", + "D3DSIO_DP2ADD", + "D3DSIO_DSX", + "D3DSIO_DSY", + "D3DSIO_TEXLDD", + "D3DSIO_SETP", + "D3DSIO_TEXLDL", + "D3DSIO_BREAKP", + "D3DSIO_PHASE", + "D3DSIO_COMMENT", + "D3DSIO_END", +]) + +D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [ + "D3DSPC_RESERVED0", + "D3DSPC_GT", + "D3DSPC_EQ", + "D3DSPC_GE", + "D3DSPC_LT", + "D3DSPC_NE", + "D3DSPC_LE", + "D3DSPC_RESERVED1", +]) + +D3DSAMPLER_TEXTURE_TYPE = Enum("D3DSAMPLER_TEXTURE_TYPE", [ + "D3DSTT_UNKNOWN", + "D3DSTT_2D", + "D3DSTT_CUBE", + "D3DSTT_VOLUME", +]) + +D3DSP = Flags(DWORD, [ + "D3DSP_WRITEMASK_0", + "D3DSP_WRITEMASK_1", + "D3DSP_WRITEMASK_2", + "D3DSP_WRITEMASK_3", + "D3DSP_WRITEMASK_ALL", +]) + +D3DSHADER_PARAM_DSTMOD_TYPE = Flags(DWORD, [ + "D3DSPDM_NONE", + "D3DSPDM_SATURATE", + "D3DSPDM_PARTIALPRECISION", + "D3DSPDM_MSAMPCENTROID", +]) + +D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [ + "D3DSPR_TEMP", + "D3DSPR_INPUT", + "D3DSPR_CONST", + "D3DSPR_ADDR|D3DSPR_TEXTURE", + "D3DSPR_RASTOUT", + "D3DSPR_ATTROUT", + "D3DSPR_TEXCRDOUT|D3DSPR_OUTPUT", + "D3DSPR_CONSTINT", + "D3DSPR_COLOROUT", + "D3DSPR_DEPTHOUT", + "D3DSPR_SAMPLER", + "D3DSPR_CONST2", + "D3DSPR_CONST3", + "D3DSPR_CONST4", + "D3DSPR_CONSTBOOL", + "D3DSPR_LOOP", + "D3DSPR_TEMPFLOAT16", + "D3DSPR_MISCTYPE", + "D3DSPR_LABEL", + "D3DSPR_PREDICATE", +]) + +D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [ + "D3DSMO_POSITION", + "D3DSMO_FACE", +]) + +D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [ + "D3DSRO_POSITION", + "D3DSRO_FOG", + "D3DSRO_POINT_SIZE", +]) + +D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [ + "D3DVS_ADDRMODE_ABSOLUTE", + "D3DVS_ADDRMODE_RELATIVE", +]) + +D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [ + "D3DSHADER_ADDRMODE_ABSOLUTE", + "D3DSHADER_ADDRMODE_RELATIVE", +]) + +D3DVS = Flags(DWORD, [ + "D3DVS_X_X", + "D3DVS_X_Y", + "D3DVS_X_Z", + "D3DVS_X_W", + "D3DVS_Y_X", + "D3DVS_Y_Y", + "D3DVS_Y_Z", + "D3DVS_Y_W", + "D3DVS_Z_X", + "D3DVS_Z_Y", + "D3DVS_Z_Z", + "D3DVS_Z_W", + "D3DVS_W_X", + "D3DVS_W_Y", + "D3DVS_W_Z", + "D3DVS_W_W", + "D3DVS_NOSWIZZLE", +]) + +D3DSP = Flags(DWORD, [ + "D3DSP_NOSWIZZLE", + "D3DSP_REPLICATERED", + "D3DSP_REPLICATEGREEN", + "D3DSP_REPLICATEBLUE", + "D3DSP_REPLICATEALPHA", +]) + +D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [ + "D3DSPSM_NONE", + "D3DSPSM_NEG", + "D3DSPSM_BIAS", + "D3DSPSM_BIASNEG", + "D3DSPSM_SIGN", + "D3DSPSM_SIGNNEG", + "D3DSPSM_COMP", + "D3DSPSM_X2", + "D3DSPSM_X2NEG", + "D3DSPSM_DZ", + "D3DSPSM_DW", + "D3DSPSM_ABS", + "D3DSPSM_ABSNEG", + "D3DSPSM_NOT", +]) + +D3DBASISTYPE = Enum("D3DBASISTYPE", [ + "D3DBASIS_BEZIER", + "D3DBASIS_BSPLINE", + "D3DBASIS_CATMULL_ROM", +]) + +D3DDEGREETYPE = Enum("D3DDEGREETYPE", [ + "D3DDEGREE_LINEAR", + "D3DDEGREE_QUADRATIC", + "D3DDEGREE_CUBIC", + "D3DDEGREE_QUINTIC", +]) + +D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [ + "D3DPATCHEDGE_DISCRETE", + "D3DPATCHEDGE_CONTINUOUS", +]) + +D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ + "D3DSBT_ALL", + "D3DSBT_PIXELSTATE", + "D3DSBT_VERTEXSTATE", +]) + +D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ + "D3DVBF_DISABLE", + "D3DVBF_1WEIGHTS", + "D3DVBF_2WEIGHTS", + "D3DVBF_3WEIGHTS", + "D3DVBF_TWEENING", + "D3DVBF_0WEIGHTS", +]) + +D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ + "D3DTTFF_DISABLE", + "D3DTTFF_COUNT1", + "D3DTTFF_COUNT2", + "D3DTTFF_COUNT3", + "D3DTTFF_COUNT4", + "D3DTTFF_PROJECTED", +]) + +D3DDEVTYPE = Enum("D3DDEVTYPE", [ + "D3DDEVTYPE_HAL", + "D3DDEVTYPE_REF", + "D3DDEVTYPE_SW", + "D3DDEVTYPE_NULLREF", +]) + +D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [ + "D3DMULTISAMPLE_NONE", + "D3DMULTISAMPLE_NONMASKABLE", + "D3DMULTISAMPLE_2_SAMPLES", + "D3DMULTISAMPLE_3_SAMPLES", + "D3DMULTISAMPLE_4_SAMPLES", + "D3DMULTISAMPLE_5_SAMPLES", + "D3DMULTISAMPLE_6_SAMPLES", + "D3DMULTISAMPLE_7_SAMPLES", + "D3DMULTISAMPLE_8_SAMPLES", + "D3DMULTISAMPLE_9_SAMPLES", + "D3DMULTISAMPLE_10_SAMPLES", + "D3DMULTISAMPLE_11_SAMPLES", + "D3DMULTISAMPLE_12_SAMPLES", + "D3DMULTISAMPLE_13_SAMPLES", + "D3DMULTISAMPLE_14_SAMPLES", + "D3DMULTISAMPLE_15_SAMPLES", + "D3DMULTISAMPLE_16_SAMPLES", +]) + +D3DFORMAT = Enum("D3DFORMAT", [ + "D3DFMT_UNKNOWN", + "D3DFMT_R8G8B8", + "D3DFMT_A8R8G8B8", + "D3DFMT_X8R8G8B8", + "D3DFMT_R5G6B5", + "D3DFMT_X1R5G5B5", + "D3DFMT_A1R5G5B5", + "D3DFMT_A4R4G4B4", + "D3DFMT_R3G3B2", + "D3DFMT_A8", + "D3DFMT_A8R3G3B2", + "D3DFMT_X4R4G4B4", + "D3DFMT_A2B10G10R10", + "D3DFMT_A8B8G8R8", + "D3DFMT_X8B8G8R8", + "D3DFMT_G16R16", + "D3DFMT_A2R10G10B10", + "D3DFMT_A16B16G16R16", + "D3DFMT_A8P8", + "D3DFMT_P8", + "D3DFMT_L8", + "D3DFMT_A8L8", + "D3DFMT_A4L4", + "D3DFMT_V8U8", + "D3DFMT_L6V5U5", + "D3DFMT_X8L8V8U8", + "D3DFMT_Q8W8V8U8", + "D3DFMT_V16U16", + "D3DFMT_A2W10V10U10", + "D3DFMT_UYVY", + "D3DFMT_R8G8_B8G8", + "D3DFMT_YUY2", + "D3DFMT_G8R8_G8B8", + "D3DFMT_DXT1", + "D3DFMT_DXT2", + "D3DFMT_DXT3", + "D3DFMT_DXT4", + "D3DFMT_DXT5", + "D3DFMT_D16_LOCKABLE", + "D3DFMT_D32", + "D3DFMT_D15S1", + "D3DFMT_D24S8", + "D3DFMT_D24X8", + "D3DFMT_D24X4S4", + "D3DFMT_D16", + "D3DFMT_D32F_LOCKABLE", + "D3DFMT_D24FS8", + "D3DFMT_D32_LOCKABLE", + "D3DFMT_S8_LOCKABLE", + "D3DFMT_L16", + "D3DFMT_VERTEXDATA", + "D3DFMT_INDEX16", + "D3DFMT_INDEX32", + "D3DFMT_Q16W16V16U16", + "D3DFMT_MULTI2_ARGB8", + "D3DFMT_R16F", + "D3DFMT_G16R16F", + "D3DFMT_A16B16G16R16F", + "D3DFMT_R32F", + "D3DFMT_G32R32F", + "D3DFMT_A32B32G32R32F", + "D3DFMT_CxV8U8", + "D3DFMT_A1", + "D3DFMT_BINARYBUFFER", + + # Unofficial formats + "D3DFMT_ATI1", + "D3DFMT_ATI2", + "D3DFMT_AYUV", + "D3DFMT_DF16", + "D3DFMT_DF24", + "D3DFMT_INTZ", + "D3DFMT_NULL", + "D3DFMT_NV12", + "D3DFMT_RAWZ", +]) + +D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [ + (UINT, "Width"), + (UINT, "Height"), + (UINT, "RefreshRate"), + (D3DFORMAT, "Format"), +]) + +D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [ + (UINT, "AdapterOrdinal"), + (D3DDEVTYPE, "DeviceType"), + (HWND, "hFocusWindow"), + (DWORD, "BehaviorFlags"), +]) + +D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [ + "D3DSWAPEFFECT_DISCARD", + "D3DSWAPEFFECT_FLIP", + "D3DSWAPEFFECT_COPY", +]) + +D3DPOOL = Enum("D3DPOOL", [ + "D3DPOOL_DEFAULT", + "D3DPOOL_MANAGED", + "D3DPOOL_SYSTEMMEM", + "D3DPOOL_SCRATCH", +]) + +D3DPRESENT = FakeEnum(DWORD, [ + "D3DPRESENT_RATE_DEFAULT", +]) + +D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [ + (UINT, "BackBufferWidth"), + (UINT, "BackBufferHeight"), + (D3DFORMAT, "BackBufferFormat"), + (UINT, "BackBufferCount"), + (D3DMULTISAMPLE_TYPE, "MultiSampleType"), + (DWORD, "MultiSampleQuality"), + (D3DSWAPEFFECT, "SwapEffect"), + (HWND, "hDeviceWindow"), + (BOOL, "Windowed"), + (BOOL, "EnableAutoDepthStencil"), + (D3DFORMAT, "AutoDepthStencilFormat"), + (DWORD, "Flags"), + (UINT, "FullScreen_RefreshRateInHz"), + (UINT, "PresentationInterval"), +]) + +D3DPRESENTFLAG = Flags(DWORD, [ + "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER", + "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL", + "D3DPRESENTFLAG_DEVICECLIP", + "D3DPRESENTFLAG_VIDEO", + "D3DPRESENTFLAG_NOAUTOROTATE", + "D3DPRESENTFLAG_UNPRUNEDMODE", +]) + +D3DGAMMARAMP = Struct("D3DGAMMARAMP", [ + (Array(WORD, "256"), "red"), + (Array(WORD, "256"), "green"), + (Array(WORD, "256"), "blue"), +]) + +D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [ + "D3DBACKBUFFER_TYPE_MONO", + "D3DBACKBUFFER_TYPE_LEFT", + "D3DBACKBUFFER_TYPE_RIGHT", +]) + +D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [ + "D3DRTYPE_SURFACE", + "D3DRTYPE_VOLUME", + "D3DRTYPE_TEXTURE", + "D3DRTYPE_VOLUMETEXTURE", + "D3DRTYPE_CUBETEXTURE", + "D3DRTYPE_VERTEXBUFFER", + "D3DRTYPE_INDEXBUFFER", +]) + +D3DUSAGE = Flags(DWORD, [ + "D3DUSAGE_RENDERTARGET", + "D3DUSAGE_DEPTHSTENCIL", + "D3DUSAGE_DYNAMIC", + "D3DUSAGE_NONSECURE", + "D3DUSAGE_AUTOGENMIPMAP", + "D3DUSAGE_DMAP", + "D3DUSAGE_QUERY_LEGACYBUMPMAP", + "D3DUSAGE_QUERY_SRGBREAD", + "D3DUSAGE_QUERY_FILTER", + "D3DUSAGE_QUERY_SRGBWRITE", + "D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING", + "D3DUSAGE_QUERY_VERTEXTEXTURE", + "D3DUSAGE_QUERY_WRAPANDMIP", + "D3DUSAGE_WRITEONLY", + "D3DUSAGE_SOFTWAREPROCESSING", + "D3DUSAGE_DONOTCLIP", + "D3DUSAGE_POINTS", + "D3DUSAGE_RTPATCHES", + "D3DUSAGE_NPATCHES", + "D3DUSAGE_TEXTAPI", +]) + +D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [ + "D3DCUBEMAP_FACE_POSITIVE_X", + "D3DCUBEMAP_FACE_NEGATIVE_X", + "D3DCUBEMAP_FACE_POSITIVE_Y", + "D3DCUBEMAP_FACE_NEGATIVE_Y", + "D3DCUBEMAP_FACE_POSITIVE_Z", + "D3DCUBEMAP_FACE_NEGATIVE_Z", +]) + +D3DLOCK = Flags(DWORD, [ + "D3DLOCK_READONLY", + "D3DLOCK_DISCARD", + "D3DLOCK_NOOVERWRITE", + "D3DLOCK_NOSYSLOCK", + "D3DLOCK_DONOTWAIT", + "D3DLOCK_NO_DIRTY_UPDATE", +]) + +D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Size"), + (DWORD, "FVF"), +]) + +D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Size"), +]) + +D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (D3DMULTISAMPLE_TYPE, "MultiSampleType"), + (DWORD, "MultiSampleQuality"), + (UINT, "Width"), + (UINT, "Height"), +]) + +D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [ + (D3DFORMAT, "Format"), + (D3DRESOURCETYPE, "Type"), + (DWORD, "Usage"), + (D3DPOOL, "Pool"), + (UINT, "Width"), + (UINT, "Height"), + (UINT, "Depth"), +]) + +D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [ + (INT, "Pitch"), + (OpaquePointer(Void), "pBits"), +]) + +D3DBOX = Struct("D3DBOX", [ + (UINT, "Left"), + (UINT, "Top"), + (UINT, "Right"), + (UINT, "Bottom"), + (UINT, "Front"), + (UINT, "Back"), +]) + +D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [ + (INT, "RowPitch"), + (INT, "SlicePitch"), + (OpaquePointer(Void), "pBits"), +]) + +D3DRANGE = Struct("D3DRANGE", [ + (UINT, "Offset"), + (UINT, "Size"), +]) + +D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [ + (UINT, "StartVertexOffsetWidth"), + (UINT, "StartVertexOffsetHeight"), + (UINT, "Width"), + (UINT, "Height"), + (UINT, "Stride"), + (D3DBASISTYPE, "Basis"), + (D3DDEGREETYPE, "Degree"), +]) + +D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [ + (UINT, "StartVertexOffset"), + (UINT, "NumVertices"), + (D3DBASISTYPE, "Basis"), + (D3DDEGREETYPE, "Degree"), +]) + +D3DADAPTER_IDENTIFIER9 = Struct("D3DADAPTER_IDENTIFIER9", [ + (CString, "Driver"), + (CString, "Description"), + (CString, "DeviceName"), + (LARGE_INTEGER, "DriverVersion"), + (DWORD, "VendorId"), + (DWORD, "DeviceId"), + (DWORD, "SubSysId"), + (DWORD, "Revision"), + (GUID, "DeviceIdentifier"), + (DWORD, "WHQLLevel"), +]) + +D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [ + (BOOL, "InVBlank"), + (UINT, "ScanLine"), +]) + +D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [ + "D3DDMT_ENABLE", + "D3DDMT_DISABLE", +]) + +D3DQUERYTYPE = Enum("D3DQUERYTYPE", [ + "D3DQUERYTYPE_VCACHE", + "D3DQUERYTYPE_RESOURCEMANAGER", + "D3DQUERYTYPE_VERTEXSTATS", + "D3DQUERYTYPE_EVENT", + "D3DQUERYTYPE_OCCLUSION", + "D3DQUERYTYPE_TIMESTAMP", + "D3DQUERYTYPE_TIMESTAMPDISJOINT", + "D3DQUERYTYPE_TIMESTAMPFREQ", + "D3DQUERYTYPE_PIPELINETIMINGS", + "D3DQUERYTYPE_INTERFACETIMINGS", + "D3DQUERYTYPE_VERTEXTIMINGS", + "D3DQUERYTYPE_PIXELTIMINGS", + "D3DQUERYTYPE_BANDWIDTHTIMINGS", + "D3DQUERYTYPE_CACHEUTILIZATION", +]) + +D3DISSUE = Flags(DWORD, [ + "D3DISSUE_END", + "D3DISSUE_BEGIN", +]) + +D3DGETDATA = Flags(DWORD, [ + "D3DGETDATA_FLUSH", +]) + +D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [ + (BOOL, "bThrashing"), + (DWORD, "ApproxBytesDownloaded"), + (DWORD, "NumEvicts"), + (DWORD, "NumVidCreates"), + (DWORD, "LastPri"), + (DWORD, "NumUsed"), + (DWORD, "NumUsedInVidMem"), + (DWORD, "WorkingSet"), + (DWORD, "WorkingSetBytes"), + (DWORD, "TotalManaged"), + (DWORD, "TotalBytes"), +]) + +D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [ + (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"), +]) + +D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [ + (DWORD, "NumRenderedTriangles"), + (DWORD, "NumExtraClippingTriangles"), +]) + +D3DDEVINFO_VCACHE = Struct("D3DDEVINFO_VCACHE", [ + (DWORD, "Pattern"), + (DWORD, "OptMethod"), + (DWORD, "CacheSize"), + (DWORD, "MagicNumber"), +]) + +D3DDEVINFO_D3D9PIPELINETIMINGS = Struct("D3DDEVINFO_D3D9PIPELINETIMINGS", [ + (FLOAT, "VertexProcessingTimePercent"), + (FLOAT, "PixelProcessingTimePercent"), + (FLOAT, "OtherGPUProcessingTimePercent"), + (FLOAT, "GPUIdleTimePercent"), +]) + +D3DDEVINFO_D3D9INTERFACETIMINGS = Struct("D3DDEVINFO_D3D9INTERFACETIMINGS", [ + (FLOAT, "WaitingForGPUToUseApplicationResourceTimePercent"), + (FLOAT, "WaitingForGPUToAcceptMoreCommandsTimePercent"), + (FLOAT, "WaitingForGPUToStayWithinLatencyTimePercent"), + (FLOAT, "WaitingForGPUExclusiveResourceTimePercent"), + (FLOAT, "WaitingForGPUOtherTimePercent"), +]) + +D3DDEVINFO_D3D9STAGETIMINGS = Struct("D3DDEVINFO_D3D9STAGETIMINGS", [ + (FLOAT, "MemoryProcessingPercent"), + (FLOAT, "ComputationProcessingPercent"), +]) + +D3DDEVINFO_D3D9BANDWIDTHTIMINGS = Struct("D3DDEVINFO_D3D9BANDWIDTHTIMINGS", [ + (FLOAT, "MaxBandwidthUtilized"), + (FLOAT, "FrontEndUploadMemoryUtilizedPercent"), + (FLOAT, "VertexRateUtilizedPercent"), + (FLOAT, "TriangleSetupRateUtilizedPercent"), + (FLOAT, "FillRateUtilizedPercent"), +]) + +D3DDEVINFO_D3D9CACHEUTILIZATION = Struct("D3DDEVINFO_D3D9CACHEUTILIZATION", [ + (FLOAT, "TextureCacheHitRate"), + (FLOAT, "PostTransformVertexCacheHitRate"), +]) + +D3DCOMPOSERECTSOP = Enum("D3DCOMPOSERECTSOP", [ + "D3DCOMPOSERECTS_COPY", + "D3DCOMPOSERECTS_OR", + "D3DCOMPOSERECTS_AND", + "D3DCOMPOSERECTS_NEG", +]) + +D3DCOMPOSERECTDESC = Struct("D3DCOMPOSERECTDESC", [ + (USHORT, "X"), + (USHORT, "Y"), + (USHORT, "Width"), + (USHORT, "Height"), +]) + +D3DCOMPOSERECTDESTINATION = Struct("D3DCOMPOSERECTDESTINATION", [ + (USHORT, "SrcRectIndex"), + (USHORT, "Reserved"), + (Short, "X"), + (Short, "Y"), +]) + +D3DPRESENTSTATS = Struct("D3DPRESENTSTATS", [ + (UINT, "PresentCount"), + (UINT, "PresentRefreshCount"), + (UINT, "SyncRefreshCount"), + (LARGE_INTEGER, "SyncQPCTime"), + (LARGE_INTEGER, "SyncGPUTime"), +]) + +D3DSCANLINEORDERING = Enum("D3DSCANLINEORDERING", [ + "D3DSCANLINEORDERING_UNKNOWN", + "D3DSCANLINEORDERING_PROGRESSIVE", + "D3DSCANLINEORDERING_INTERLACED", +]) + +D3DDISPLAYMODEEX = Struct("D3DDISPLAYMODEEX", [ + (UINT, "Size"), + (UINT, "Width"), + (UINT, "Height"), + (UINT, "RefreshRate"), + (D3DFORMAT, "Format"), + (D3DSCANLINEORDERING, "ScanLineOrdering"), +]) + +D3DDISPLAYMODEFILTER = Struct("D3DDISPLAYMODEFILTER", [ + (UINT, "Size"), + (D3DFORMAT, "Format"), + (D3DSCANLINEORDERING, "ScanLineOrdering"), +]) + +D3DDISPLAYROTATION = Enum("D3DDISPLAYROTATION", [ + "D3DDISPLAYROTATION_IDENTITY", + "D3DDISPLAYROTATION_90", + "D3DDISPLAYROTATION_180", + "D3DDISPLAYROTATION_270", +]) + +D3D9_RESOURCE_PRIORITY = FakeEnum(DWORD, [ + "D3D9_RESOURCE_PRIORITY_MINIMUM", + "D3D9_RESOURCE_PRIORITY_LOW", + "D3D9_RESOURCE_PRIORITY_NORMAL", + "D3D9_RESOURCE_PRIORITY_HIGH", + "D3D9_RESOURCE_PRIORITY_MAXIMUM", +]) + diff --git a/specs/d3dcaps.py b/specs/d3dcaps.py new file mode 100644 index 0000000..0fa9f1c --- /dev/null +++ b/specs/d3dcaps.py @@ -0,0 +1,466 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3dcaps.h""" + +from winapi import * +from d3dtypes import * + +D3DTRANSFORMCAPS = Flags(DWORD, [ + "D3DTRANSFORMCAPS_CLIP", +]) + +D3DTRANSFORMCAPS = Struct("D3DTRANSFORMCAPS", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), +]) + +D3DLIGHTINGCAPS = Struct("D3DLIGHTINGCAPS", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwLightingModel"), + (DWORD, "dwNumLights"), +]) + +D3DLIGHTINGMODEL = Flags(DWORD, [ + "D3DLIGHTINGMODEL_RGB", + "D3DLIGHTINGMODEL_MONO", +]) + +D3DLIGHTCAPS = Flags(DWORD, [ + "D3DLIGHTCAPS_POINT", + "D3DLIGHTCAPS_SPOT", + "D3DLIGHTCAPS_DIRECTIONAL", + "D3DLIGHTCAPS_PARALLELPOINT", + "D3DLIGHTCAPS_GLSPOT", +]) + +D3DPRIMCAPS = Struct("D3DPRIMCAPS", [ + (DWORD, "dwSize"), + (DWORD, "dwMiscCaps"), + (DWORD, "dwRasterCaps"), + (DWORD, "dwZCmpCaps"), + (DWORD, "dwSrcBlendCaps"), + (DWORD, "dwDestBlendCaps"), + (DWORD, "dwAlphaCmpCaps"), + (DWORD, "dwShadeCaps"), + (DWORD, "dwTextureCaps"), + (DWORD, "dwTextureFilterCaps"), + (DWORD, "dwTextureBlendCaps"), + (DWORD, "dwTextureAddressCaps"), + (DWORD, "dwStippleWidth"), + (DWORD, "dwStippleHeight"), +]) + +D3DPMISCCAPS = Flags(DWORD, [ + "D3DPMISCCAPS_MASKPLANES", + "D3DPMISCCAPS_MASKZ", + "D3DPMISCCAPS_LINEPATTERNREP", + "D3DPMISCCAPS_CONFORMANT", + "D3DPMISCCAPS_CULLNONE", + "D3DPMISCCAPS_CULLCW", + "D3DPMISCCAPS_CULLCCW", +]) + +D3DXD3DPRASTERCAPSXX = Flags(DWORD, [ + "D3DPRASTERCAPS_DITHER", + "D3DPRASTERCAPS_ROP2", + "D3DPRASTERCAPS_XOR", + "D3DPRASTERCAPS_PAT", + "D3DPRASTERCAPS_ZTEST", + "D3DPRASTERCAPS_SUBPIXEL", + "D3DPRASTERCAPS_SUBPIXELX", + "D3DPRASTERCAPS_FOGVERTEX", + "D3DPRASTERCAPS_FOGTABLE", + "D3DPRASTERCAPS_STIPPLE", + "D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT", + "D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT", + "D3DPRASTERCAPS_ANTIALIASEDGES", + "D3DPRASTERCAPS_MIPMAPLODBIAS", + "D3DPRASTERCAPS_ZBIAS", + "D3DPRASTERCAPS_ZBUFFERLESSHSR", + "D3DPRASTERCAPS_FOGRANGE", + "D3DPRASTERCAPS_ANISOTROPY", + "D3DPRASTERCAPS_WBUFFER", + "D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT", + "D3DPRASTERCAPS_WFOG", + "D3DPRASTERCAPS_ZFOG", +]) + +D3DPCMPCAPS = Flags(DWORD, [ + "D3DPCMPCAPS_NEVER", + "D3DPCMPCAPS_LESS", + "D3DPCMPCAPS_EQUAL", + "D3DPCMPCAPS_LESSEQUAL", + "D3DPCMPCAPS_GREATER", + "D3DPCMPCAPS_NOTEQUAL", + "D3DPCMPCAPS_GREATEREQUAL", + "D3DPCMPCAPS_ALWAYS", +]) + +D3DPBLENDCAPS = Flags(DWORD, [ + "D3DPBLENDCAPS_ZERO", + "D3DPBLENDCAPS_ONE", + "D3DPBLENDCAPS_SRCCOLOR", + "D3DPBLENDCAPS_INVSRCCOLOR", + "D3DPBLENDCAPS_SRCALPHA", + "D3DPBLENDCAPS_INVSRCALPHA", + "D3DPBLENDCAPS_DESTALPHA", + "D3DPBLENDCAPS_INVDESTALPHA", + "D3DPBLENDCAPS_DESTCOLOR", + "D3DPBLENDCAPS_INVDESTCOLOR", + "D3DPBLENDCAPS_SRCALPHASAT", + "D3DPBLENDCAPS_BOTHSRCALPHA", + "D3DPBLENDCAPS_BOTHINVSRCALPHA", +]) + +D3DPSHADECAPS = Flags(DWORD, [ + "D3DPSHADECAPS_COLORFLATMONO", + "D3DPSHADECAPS_COLORFLATRGB", + "D3DPSHADECAPS_COLORGOURAUDMONO", + "D3DPSHADECAPS_COLORGOURAUDRGB", + "D3DPSHADECAPS_COLORPHONGMONO", + "D3DPSHADECAPS_COLORPHONGRGB", + "D3DPSHADECAPS_SPECULARFLATMONO", + "D3DPSHADECAPS_SPECULARFLATRGB", + "D3DPSHADECAPS_SPECULARGOURAUDMONO", + "D3DPSHADECAPS_SPECULARGOURAUDRGB", + "D3DPSHADECAPS_SPECULARPHONGMONO", + "D3DPSHADECAPS_SPECULARPHONGRGB", + "D3DPSHADECAPS_ALPHAFLATBLEND", + "D3DPSHADECAPS_ALPHAFLATSTIPPLED", + "D3DPSHADECAPS_ALPHAGOURAUDBLEND", + "D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED", + "D3DPSHADECAPS_ALPHAPHONGBLEND", + "D3DPSHADECAPS_ALPHAPHONGSTIPPLED", + "D3DPSHADECAPS_FOGFLAT", + "D3DPSHADECAPS_FOGGOURAUD", + "D3DPSHADECAPS_FOGPHONG", +]) + +D3DPTEXTURECAPS = Flags(DWORD, [ + "D3DPTEXTURECAPS_PERSPECTIVE", + "D3DPTEXTURECAPS_POW2", + "D3DPTEXTURECAPS_ALPHA", + "D3DPTEXTURECAPS_TRANSPARENCY", + "D3DPTEXTURECAPS_BORDER", + "D3DPTEXTURECAPS_SQUAREONLY", + "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE", + "D3DPTEXTURECAPS_ALPHAPALETTE", + "D3DPTEXTURECAPS_NONPOW2CONDITIONAL", + "D3DPTEXTURECAPS_PROJECTED", + "D3DPTEXTURECAPS_CUBEMAP", + "D3DPTEXTURECAPS_COLORKEYBLEND", +]) + +D3DPTFILTERCAPS = Flags(DWORD, [ + "D3DPTFILTERCAPS_NEAREST", + "D3DPTFILTERCAPS_LINEAR", + "D3DPTFILTERCAPS_MIPNEAREST", + "D3DPTFILTERCAPS_MIPLINEAR", + "D3DPTFILTERCAPS_LINEARMIPNEAREST", + "D3DPTFILTERCAPS_LINEARMIPLINEAR", + "D3DPTFILTERCAPS_MINFPOINT", + "D3DPTFILTERCAPS_MINFLINEAR", + "D3DPTFILTERCAPS_MINFANISOTROPIC", + "D3DPTFILTERCAPS_MIPFPOINT", + "D3DPTFILTERCAPS_MIPFLINEAR", + "D3DPTFILTERCAPS_MAGFPOINT", + "D3DPTFILTERCAPS_MAGFLINEAR", + "D3DPTFILTERCAPS_MAGFANISOTROPIC", + "D3DPTFILTERCAPS_MAGFAFLATCUBIC", + "D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC", +]) + +D3DPTBLENDCAPS = Flags(DWORD, [ + "D3DPTBLENDCAPS_DECAL", + "D3DPTBLENDCAPS_MODULATE", + "D3DPTBLENDCAPS_DECALALPHA", + "D3DPTBLENDCAPS_MODULATEALPHA", + "D3DPTBLENDCAPS_DECALMASK", + "D3DPTBLENDCAPS_MODULATEMASK", + "D3DPTBLENDCAPS_COPY", + "D3DPTBLENDCAPS_ADD", +]) + +D3DPTADDRESSCAPS = Flags(DWORD, [ + "D3DPTADDRESSCAPS_WRAP", + "D3DPTADDRESSCAPS_MIRROR", + "D3DPTADDRESSCAPS_CLAMP", + "D3DPTADDRESSCAPS_BORDER", + "D3DPTADDRESSCAPS_INDEPENDENTUV", +]) + +D3DSTENCILCAPS = Flags(DWORD, [ + "D3DSTENCILCAPS_KEEP", + "D3DSTENCILCAPS_ZERO", + "D3DSTENCILCAPS_REPLACE", + "D3DSTENCILCAPS_INCRSAT", + "D3DSTENCILCAPS_DECRSAT", + "D3DSTENCILCAPS_INVERT", + "D3DSTENCILCAPS_INCR", + "D3DSTENCILCAPS_DECR", +]) + +D3DTEXOPCAPS = Flags(DWORD, [ + "D3DTEXOPCAPS_DISABLE", + "D3DTEXOPCAPS_SELECTARG1", + "D3DTEXOPCAPS_SELECTARG2", + "D3DTEXOPCAPS_MODULATE", + "D3DTEXOPCAPS_MODULATE2X", + "D3DTEXOPCAPS_MODULATE4X", + "D3DTEXOPCAPS_ADD", + "D3DTEXOPCAPS_ADDSIGNED", + "D3DTEXOPCAPS_ADDSIGNED2X", + "D3DTEXOPCAPS_SUBTRACT", + "D3DTEXOPCAPS_ADDSMOOTH", + "D3DTEXOPCAPS_BLENDDIFFUSEALPHA", + "D3DTEXOPCAPS_BLENDTEXTUREALPHA", + "D3DTEXOPCAPS_BLENDFACTORALPHA", + "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM", + "D3DTEXOPCAPS_BLENDCURRENTALPHA", + "D3DTEXOPCAPS_PREMODULATE", + "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR", + "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA", + "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR", + "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA", + "D3DTEXOPCAPS_BUMPENVMAP", + "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE", + "D3DTEXOPCAPS_DOTPRODUCT3", +]) + +D3DFVFCAPS = Flags(DWORD, [ + "D3DFVFCAPS_TEXCOORDCOUNTMASK", + "D3DFVFCAPS_DONOTSTRIPELEMENTS", +]) + +D3DDD = Flags(DWORD, [ + "D3DDD_COLORMODEL", + "D3DDD_DEVCAPS", + "D3DDD_TRANSFORMCAPS", + "D3DDD_LIGHTINGCAPS", + "D3DDD_BCLIPPING", + "D3DDD_LINECAPS", + "D3DDD_TRICAPS", + "D3DDD_DEVICERENDERBITDEPTH", + "D3DDD_DEVICEZBUFFERBITDEPTH", + "D3DDD_MAXBUFFERSIZE", + "D3DDD_MAXVERTEXCOUNT", +]) + +D3DDEVCAPS = Flags(DWORD, [ + "D3DDEVCAPS_FLOATTLVERTEX", + "D3DDEVCAPS_SORTINCREASINGZ", + "D3DDEVCAPS_SORTDECREASINGZ", + "D3DDEVCAPS_SORTEXACT", + "D3DDEVCAPS_EXECUTESYSTEMMEMORY", + "D3DDEVCAPS_EXECUTEVIDEOMEMORY", + "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY", + "D3DDEVCAPS_TLVERTEXVIDEOMEMORY", + "D3DDEVCAPS_TEXTURESYSTEMMEMORY", + "D3DDEVCAPS_TEXTUREVIDEOMEMORY", + "D3DDEVCAPS_DRAWPRIMTLVERTEX", + "D3DDEVCAPS_CANRENDERAFTERFLIP", + "D3DDEVCAPS_TEXTURENONLOCALVIDMEM", + "D3DDEVCAPS_DRAWPRIMITIVES2", + "D3DDEVCAPS_SEPARATETEXTUREMEMORIES", + "D3DDEVCAPS_DRAWPRIMITIVES2EX", + "D3DDEVCAPS_HWTRANSFORMANDLIGHT", + "D3DDEVCAPS_CANBLTSYSTONONLOCAL", + "D3DDEVCAPS_HWRASTERIZATION", +]) + +D3DVTXPCAPS = Flags(DWORD, [ + "D3DVTXPCAPS_TEXGEN", + "D3DVTXPCAPS_MATERIALSOURCE7", + "D3DVTXPCAPS_VERTEXFOG", + "D3DVTXPCAPS_DIRECTIONALLIGHTS", + "D3DVTXPCAPS_POSITIONALLIGHTS", + "D3DVTXPCAPS_LOCALVIEWER", +]) + +D3DFDS = Flags(DWORD, [ + "D3DFDS_COLORMODEL", + "D3DFDS_GUID", + "D3DFDS_HARDWARE", + "D3DFDS_TRIANGLES", + "D3DFDS_LINES", + "D3DFDS_MISCCAPS", + "D3DFDS_RASTERCAPS", + "D3DFDS_ZCMPCAPS", + "D3DFDS_ALPHACMPCAPS", + "D3DFDS_SRCBLENDCAPS", + "D3DFDS_DSTBLENDCAPS", + "D3DFDS_SHADECAPS", + "D3DFDS_TEXTURECAPS", + "D3DFDS_TEXTUREFILTERCAPS", + "D3DFDS_TEXTUREBLENDCAPS", + "D3DFDS_TEXTUREADDRESSCAPS", +]) + +D3DFINDDEVICESEARCH = Struct("D3DFINDDEVICESEARCH", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (BOOL, "bHardware"), + (D3DCOLORMODEL, "dcmColorModel"), + (GUID, "guid"), + (DWORD, "dwCaps"), + (D3DPRIMCAPS, "dpcPrimCaps"), +]) +LPD3DFINDDEVICESEARCH = Pointer(D3DFINDDEVICESEARCH) + +D3DEXECUTEBUFFERDESC = Struct("D3DEXECUTEBUFFERDESC", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (DWORD, "dwCaps"), + (DWORD, "dwBufferSize"), + (LPVOID, "lpData"), +]) +LPD3DEXECUTEBUFFERDESC = Pointer(D3DEXECUTEBUFFERDESC) + +D3DDEB = Flags(DWORD, [ + "D3DDEB_BUFSIZE", + "D3DDEB_CAPS", + "D3DDEB_LPDATA", +]) + +D3DDEBCAPS = Flags(DWORD, [ + "D3DDEBCAPS_SYSTEMMEMORY", + "D3DDEBCAPS_VIDEOMEMORY", + "D3DDEBCAPS_MEM", +]) + +D3DDEVINFO_TEXTUREMANAGER = Struct("D3DDEVINFO_TEXTUREMANAGER", [ + (BOOL, "bThrashing"), + (DWORD, "dwApproxBytesDownloaded"), + (DWORD, "dwNumEvicts"), + (DWORD, "dwNumVidCreates"), + (DWORD, "dwNumTexturesUsed"), + (DWORD, "dwNumUsedTexInVid"), + (DWORD, "dwWorkingSet"), + (DWORD, "dwWorkingSetBytes"), + (DWORD, "dwTotalManaged"), + (DWORD, "dwTotalBytes"), + (DWORD, "dwLastPri"), +]) + +D3DDEVINFO_TEXTURING = Struct("D3DDEVINFO_TEXTURING", [ + (DWORD, "dwNumLoads"), + (DWORD, "dwApproxBytesLoaded"), + (DWORD, "dwNumPreLoads"), + (DWORD, "dwNumSet"), + (DWORD, "dwNumCreates"), + (DWORD, "dwNumDestroys"), + (DWORD, "dwNumSetPriorities"), + (DWORD, "dwNumSetLODs"), + (DWORD, "dwNumLocks"), + (DWORD, "dwNumGetDCs"), +]) + +D3DDEVICEDESC = Struct("D3DDEVICEDESC", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (D3DCOLORMODEL, "dcmColorModel"), + (DWORD, "dwDevCaps"), + (D3DTRANSFORMCAPS, "dtcTransformCaps"), + (BOOL, "bClipping"), + (D3DLIGHTINGCAPS, "dlcLightingCaps"), + (D3DPRIMCAPS, "dpcLineCaps"), + (D3DPRIMCAPS, "dpcTriCaps"), + (DWORD, "dwDeviceRenderBitDepth"), + (DWORD, "dwDeviceZBufferBitDepth"), + (DWORD, "dwMaxBufferSize"), + (DWORD, "dwMaxVertexCount"), + (DWORD, "dwMinTextureWidth"), + (DWORD, "dwMinTextureHeight"), + (DWORD, "dwMaxTextureWidth"), + (DWORD, "dwMaxTextureHeight"), + (DWORD, "dwMinStippleWidth"), + (DWORD, "dwMaxStippleWidth"), + (DWORD, "dwMinStippleHeight"), + (DWORD, "dwMaxStippleHeight"), + (DWORD, "dwMaxTextureRepeat"), + (DWORD, "dwMaxTextureAspectRatio"), + (DWORD, "dwMaxAnisotropy"), + (D3DVALUE, "dvGuardBandLeft"), + (D3DVALUE, "dvGuardBandTop"), + (D3DVALUE, "dvGuardBandRight"), + (D3DVALUE, "dvGuardBandBottom"), + (D3DVALUE, "dvExtentsAdjust"), + (DWORD, "dwStencilCaps"), + (DWORD, "dwFVFCaps"), + (DWORD, "dwTextureOpCaps"), + (WORD, "wMaxTextureBlendStages"), + (WORD, "wMaxSimultaneousTextures"), +]) +LPD3DDEVICEDESC = Pointer(D3DDEVICEDESC) + +D3DDEVICEDESC7 = Struct("D3DDEVICEDESC7", [ + (DWORD, "dwDevCaps"), + (D3DPRIMCAPS, "dpcLineCaps"), + (D3DPRIMCAPS, "dpcTriCaps"), + (DWORD, "dwDeviceRenderBitDepth"), + (DWORD, "dwDeviceZBufferBitDepth"), + (DWORD, "dwMinTextureWidth"), + (DWORD, "dwMinTextureHeight"), + (DWORD, "dwMaxTextureWidth"), + (DWORD, "dwMaxTextureHeight"), + (DWORD, "dwMaxTextureRepeat"), + (DWORD, "dwMaxTextureAspectRatio"), + (DWORD, "dwMaxAnisotropy"), + (D3DVALUE, "dvGuardBandLeft"), + (D3DVALUE, "dvGuardBandTop"), + (D3DVALUE, "dvGuardBandRight"), + (D3DVALUE, "dvGuardBandBottom"), + (D3DVALUE, "dvExtentsAdjust"), + (DWORD, "dwStencilCaps"), + (DWORD, "dwFVFCaps"), + (DWORD, "dwTextureOpCaps"), + (WORD, "wMaxTextureBlendStages"), + (WORD, "wMaxSimultaneousTextures"), + (DWORD, "dwMaxActiveLights"), + (D3DVALUE, "dvMaxVertexW"), + (GUID, "deviceGUID"), + (WORD, "wMaxUserClipPlanes"), + (WORD, "wMaxVertexBlendMatrices"), + (DWORD, "dwVertexProcessingCaps"), + (DWORD, "dwReserved1"), + (DWORD, "dwReserved2"), + (DWORD, "dwReserved3"), + (DWORD, "dwReserved4"), +]) +LPD3DDEVICEDESC7 = Pointer(D3DDEVICEDESC7) + +D3DFINDDEVICERESULT = Struct("D3DFINDDEVICERESULT", [ + (DWORD, "dwSize"), + (GUID, "guid"), + (D3DDEVICEDESC, "ddHwDesc"), + (D3DDEVICEDESC, "ddSwDesc"), +]) +LPD3DFINDDEVICERESULT = Pointer(D3DFINDDEVICERESULT) + +LPD3DENUMDEVICESCALLBACK = FunctionPointer(HRESULT, "LPD3DENUMDEVICESCALLBACK", [(Pointer(GUID), "lpGuid"), (LPSTR, "lpDeviceDescription"), (LPSTR, "lpDeviceName"), LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID]) +LPD3DENUMDEVICESCALLBACK7 = FunctionPointer(HRESULT, "LPD3DENUMDEVICESCALLBACK7", [(LPSTR, "lpDeviceDescription"), (LPSTR, "lpDeviceName"), LPD3DDEVICEDESC7, LPVOID]) + diff --git a/specs/d3dtypes.py b/specs/d3dtypes.py new file mode 100644 index 0000000..c80da76 --- /dev/null +++ b/specs/d3dtypes.py @@ -0,0 +1,1030 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""d3dtypes.h""" + +from winapi import * + +D3DVALUE = Float +LPD3DVALUE = Pointer(Float) +D3DFIXED = LONG + +LPD3DVALIDATECALLBACK = Opaque("LPD3DVALIDATECALLBACK") +LPD3DENUMTEXTUREFORMATSCALLBACK = Opaque("LPD3DENUMTEXTUREFORMATSCALLBACK") +LPD3DENUMPIXELFORMATSCALLBACK = Opaque("LPD3DENUMPIXELFORMATSCALLBACK") + +D3DCOLOR = DWORD +LPD3DCOLOR = Pointer(D3DCOLOR) + +D3DMATERIALHANDLE = DWORD +LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE) + +D3DTEXTUREHANDLE = DWORD +LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE) + +D3DMATRIXHANDLE = DWORD +LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE) + +D3DCOLORVALUE = Struct("D3DCOLORVALUE", [ + (D3DVALUE, "r"), + (D3DVALUE, "g"), + (D3DVALUE, "b"), + (D3DVALUE, "a"), +]) +LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE) + +D3DRECT = Struct("D3DRECT", [ + (LONG, "x1"), + (LONG, "y1"), + (LONG, "x2"), + (LONG, "y2"), +]) +LPD3DRECT = Pointer(D3DRECT) + +D3DVECTOR = Struct("D3DVECTOR", [ + (D3DVALUE, "x"), + (D3DVALUE, "y"), + (D3DVALUE, "z"), +]) +LPD3DVECTOR = Pointer(D3DVECTOR) + +D3DHVERTEX = Struct("D3DHVERTEX", [ + (DWORD, "dwFlags"), + (D3DVALUE, "hx"), + (D3DVALUE, "hy"), + (D3DVALUE, "hz"), +]) +LPD3DHVERTEX = Pointer(D3DHVERTEX) + +D3DTLVERTEX = Struct("D3DTLVERTEX", [ + (D3DVALUE, "sx"), + (D3DVALUE, "sy"), + (D3DVALUE, "sz"), + (D3DVALUE, "rhw"), + (D3DCOLOR, "color"), + (D3DCOLOR, "specular"), + (D3DVALUE, "tu"), + (D3DVALUE, "tv"), +]) +LPD3DTLVERTEX = Pointer(D3DTLVERTEX) + +D3DLVERTEX = Struct("D3DLVERTEX", [ + (D3DVALUE, "x"), + (D3DVALUE, "y"), + (D3DVALUE, "z"), + (DWORD, "dwReserved"), + (D3DCOLOR, "color"), + (D3DCOLOR, "specular"), + (D3DVALUE, "tu"), + (D3DVALUE, "tv"), +]) +LPD3DLVERTEX = Pointer(D3DLVERTEX) + +D3DVERTEX = Struct("D3DVERTEX", [ + (D3DVALUE, "x"), + (D3DVALUE, "y"), + (D3DVALUE, "z"), + (D3DVALUE, "nx"), + (D3DVALUE, "ny"), + (D3DVALUE, "nz"), + (D3DVALUE, "tu"), + (D3DVALUE, "tv"), +]) +LPD3DVERTEX = Pointer(D3DVERTEX) + +D3DMATRIX = Struct("D3DMATRIX", [ + (D3DVALUE, "_%u" % index) for index in [ + 11, 12, 13, 14, + 21, 22, 23, 24, + 31, 32, 33, 34, + 41, 42, 43, 44 + ] +]) +LPD3DMATRIX = Alias("LPD3DMATRIX", Pointer(D3DMATRIX)) + +D3DVIEWPORT = Struct("D3DVIEWPORT", [ + (DWORD, "dwSize"), + (DWORD, "dwX"), + (DWORD, "dwY"), + (DWORD, "dwWidth"), + (DWORD, "dwHeight"), + (D3DVALUE, "dvScaleX"), + (D3DVALUE, "dvScaleY"), + (D3DVALUE, "dvMaxX"), + (D3DVALUE, "dvMaxY"), + (D3DVALUE, "dvMinZ"), + (D3DVALUE, "dvMaxZ"), +]) +LPD3DVIEWPORT = Pointer(D3DVIEWPORT) + +D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [ + (DWORD, "dwSize"), + (DWORD, "dwX"), + (DWORD, "dwY"), + (DWORD, "dwWidth"), + (DWORD, "dwHeight"), + (D3DVALUE, "dvClipX"), + (D3DVALUE, "dvClipY"), + (D3DVALUE, "dvClipWidth"), + (D3DVALUE, "dvClipHeight"), + (D3DVALUE, "dvMinZ"), + (D3DVALUE, "dvMaxZ"), +]) +LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2) + +D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [ + (DWORD, "dwX"), + (DWORD, "dwY"), + (DWORD, "dwWidth"), + (DWORD, "dwHeight"), + (D3DVALUE, "dvMinZ"), + (D3DVALUE, "dvMaxZ"), +]) +LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7) + +D3DCLIP = Flags(DWORD, [ + "D3DCLIP_LEFT", + "D3DCLIP_RIGHT", + "D3DCLIP_TOP", + "D3DCLIP_BOTTOM", + "D3DCLIP_FRONT", + "D3DCLIP_BACK", + "D3DCLIP_GEN0", + "D3DCLIP_GEN1", + "D3DCLIP_GEN2", + "D3DCLIP_GEN3", + "D3DCLIP_GEN4", + "D3DCLIP_GEN5", +]) + +D3DSTATUS = Flags(DWORD, [ + "D3DSTATUS_DEFAULT", + "D3DSTATUS_CLIPUNIONALL", + "D3DSTATUS_CLIPUNIONLEFT", + "D3DSTATUS_CLIPUNIONRIGHT", + "D3DSTATUS_CLIPUNIONTOP", + "D3DSTATUS_CLIPUNIONBOTTOM", + "D3DSTATUS_CLIPUNIONFRONT", + "D3DSTATUS_CLIPUNIONBACK", + "D3DSTATUS_CLIPUNIONGEN0", + "D3DSTATUS_CLIPUNIONGEN1", + "D3DSTATUS_CLIPUNIONGEN2", + "D3DSTATUS_CLIPUNIONGEN3", + "D3DSTATUS_CLIPUNIONGEN4", + "D3DSTATUS_CLIPUNIONGEN5", + "D3DSTATUS_CLIPINTERSECTIONALL", + "D3DSTATUS_CLIPINTERSECTIONLEFT", + "D3DSTATUS_CLIPINTERSECTIONRIGHT", + "D3DSTATUS_CLIPINTERSECTIONTOP", + "D3DSTATUS_CLIPINTERSECTIONBOTTOM", + "D3DSTATUS_CLIPINTERSECTIONFRONT", + "D3DSTATUS_CLIPINTERSECTIONBACK", + "D3DSTATUS_CLIPINTERSECTIONGEN0", + "D3DSTATUS_CLIPINTERSECTIONGEN1", + "D3DSTATUS_CLIPINTERSECTIONGEN2", + "D3DSTATUS_CLIPINTERSECTIONGEN3", + "D3DSTATUS_CLIPINTERSECTIONGEN4", + "D3DSTATUS_CLIPINTERSECTIONGEN5", + "D3DSTATUS_ZNOTVISIBLE", +]) + +D3DTRANSFORM = Flags(DWORD, [ + "D3DTRANSFORM_CLIPPED", + "D3DTRANSFORM_UNCLIPPED", +]) + +D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [ + (DWORD, "dwSize"), + (LPVOID, "lpIn"), + (DWORD, "dwInSize"), + (LPVOID, "lpOut"), + (DWORD, "dwOutSize"), + (LPD3DHVERTEX, "lpHOut"), + (DWORD, "dwClip"), + (DWORD, "dwClipIntersection"), + (DWORD, "dwClipUnion"), + (D3DRECT, "drExtent"), +]) +LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA) + +D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [ + (D3DVECTOR, "dvPosition"), + (D3DVECTOR, "dvNormal"), +]) +LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT) + +D3DMATERIAL = Struct("D3DMATERIAL", [ + (DWORD, "dwSize"), + (D3DCOLORVALUE, "diffuse"), + (D3DCOLORVALUE, "ambient"), + (D3DCOLORVALUE, "specular"), + (D3DCOLORVALUE, "emissive"), + (D3DVALUE, "power"), + (D3DTEXTUREHANDLE, "hTexture"), + (DWORD, "dwRampSize"), +]) +LPD3DMATERIAL = Pointer(D3DMATERIAL) + +D3DMATERIAL7 = Struct("D3DMATERIAL7", [ + (D3DCOLORVALUE, "diffuse"), + (D3DCOLORVALUE, "ambient"), + (D3DCOLORVALUE, "specular"), + (D3DCOLORVALUE, "emissive"), + (D3DVALUE, "power"), +]) +LPD3DMATERIAL7 = Pointer(D3DMATERIAL7) + +D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [ + "D3DLIGHT_POINT", + "D3DLIGHT_SPOT", + "D3DLIGHT_DIRECTIONAL", + "D3DLIGHT_PARALLELPOINT", + "D3DLIGHT_GLSPOT", +]) + +D3DLIGHT = Struct("D3DLIGHT", [ + (DWORD, "dwSize"), + (D3DLIGHTTYPE, "dltType"), + (D3DCOLORVALUE, "dcvColor"), + (D3DVECTOR, "dvPosition"), + (D3DVECTOR, "dvDirection"), + (D3DVALUE, "dvRange"), + (D3DVALUE, "dvFalloff"), + (D3DVALUE, "dvAttenuation0"), + (D3DVALUE, "dvAttenuation1"), + (D3DVALUE, "dvAttenuation2"), + (D3DVALUE, "dvTheta"), + (D3DVALUE, "dvPhi"), +]) +LPD3DLIGHT = Pointer(D3DLIGHT) + +D3DLIGHT7 = Struct("D3DLIGHT7", [ + (D3DLIGHTTYPE, "dltType"), + (D3DCOLORVALUE, "dcvDiffuse"), + (D3DCOLORVALUE, "dcvSpecular"), + (D3DCOLORVALUE, "dcvAmbient"), + (D3DVECTOR, "dvPosition"), + (D3DVECTOR, "dvDirection"), + (D3DVALUE, "dvRange"), + (D3DVALUE, "dvFalloff"), + (D3DVALUE, "dvAttenuation0"), + (D3DVALUE, "dvAttenuation1"), + (D3DVALUE, "dvAttenuation2"), + (D3DVALUE, "dvTheta"), + (D3DVALUE, "dvPhi"), +]) +LPD3DLIGHT7 = Pointer(D3DLIGHT7) + +D3DLIGHTFLAGS = Flags(DWORD, [ + "D3DLIGHT_ACTIVE", + "D3DLIGHT_NO_SPECULAR", + "D3DLIGHT_ALL", +]) + +D3DLIGHT2 = Struct("D3DLIGHT2", [ + (DWORD, "dwSize"), + (D3DLIGHTTYPE, "dltType"), + (D3DCOLORVALUE, "dcvColor"), + (D3DVECTOR, "dvPosition"), + (D3DVECTOR, "dvDirection"), + (D3DVALUE, "dvRange"), + (D3DVALUE, "dvFalloff"), + (D3DVALUE, "dvAttenuation0"), + (D3DVALUE, "dvAttenuation1"), + (D3DVALUE, "dvAttenuation2"), + (D3DVALUE, "dvTheta"), + (D3DVALUE, "dvPhi"), + (DWORD, "dwFlags"), +]) +LPD3DLIGHT2 = Pointer(D3DLIGHT2) + +D3DLIGHTDATA = Struct("D3DLIGHTDATA", [ + (DWORD, "dwSize"), + (LPD3DLIGHTINGELEMENT, "lpIn"), + (DWORD, "dwInSize"), + (LPD3DTLVERTEX, "lpOut"), + (DWORD, "dwOutSize"), +]) +LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA) + +D3DCOLOR = Flags(DWORD, [ + "D3DCOLOR_MONO", + "D3DCOLOR_RGB", +]) + +D3DCOLORMODEL = DWORD + +D3DCLEAR = Flags(DWORD, [ + "D3DCLEAR_TARGET", + "D3DCLEAR_ZBUFFER", + "D3DCLEAR_STENCIL", +]) + +D3DOPCODE = Enum("D3DOPCODE", [ + "D3DOP_POINT", + "D3DOP_LINE", + "D3DOP_TRIANGLE", + "D3DOP_MATRIXLOAD", + "D3DOP_MATRIXMULTIPLY", + "D3DOP_STATETRANSFORM", + "D3DOP_STATELIGHT", + "D3DOP_STATERENDER", + "D3DOP_PROCESSVERTICES", + "D3DOP_TEXTURELOAD", + "D3DOP_EXIT", + "D3DOP_BRANCHFORWARD", + "D3DOP_SPAN", + "D3DOP_SETSTATUS", +]) + +D3DINSTRUCTION = Struct("D3DINSTRUCTION", [ + (BYTE, "bOpcode"), + (BYTE, "bSize"), + (WORD, "wCount"), +]) + +D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [ + (D3DTEXTUREHANDLE, "hDestTexture"), + (D3DTEXTUREHANDLE, "hSrcTexture"), +]) + +D3DPICKRECORD = Struct("D3DPICKRECORD", [ + (BYTE, "bOpcode"), + (BYTE, "bPad"), + (DWORD, "dwOffset"), + (D3DVALUE, "dvZ"), +]) +LPD3DPICKRECORD = Pointer(D3DPICKRECORD) + +D3DSHADEMODE = Enum("D3DSHADEMODE", [ + "D3DSHADE_FLAT", + "D3DSHADE_GOURAUD", + "D3DSHADE_PHONG", +]) + +D3DFILLMODE = Enum("D3DFILLMODE", [ + "D3DFILL_POINT", + "D3DFILL_WIREFRAME", + "D3DFILL_SOLID", +]) + +D3DLINEPATTERN = Struct("D3DLINEPATTERN", [ + (WORD, "wRepeatFactor"), + (WORD, "wLinePattern"), +]) + +D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [ + "D3DFILTER_NEAREST", + "D3DFILTER_LINEAR", + "D3DFILTER_MIPNEAREST", + "D3DFILTER_MIPLINEAR", + "D3DFILTER_LINEARMIPNEAREST", + "D3DFILTER_LINEARMIPLINEAR", +]) + +D3DBLEND = Enum("D3DBLEND", [ + "D3DBLEND_ZERO", + "D3DBLEND_ONE", + "D3DBLEND_SRCCOLOR", + "D3DBLEND_INVSRCCOLOR", + "D3DBLEND_SRCALPHA", + "D3DBLEND_INVSRCALPHA", + "D3DBLEND_DESTALPHA", + "D3DBLEND_INVDESTALPHA", + "D3DBLEND_DESTCOLOR", + "D3DBLEND_INVDESTCOLOR", + "D3DBLEND_SRCALPHASAT", + "D3DBLEND_BOTHSRCALPHA", + "D3DBLEND_BOTHINVSRCALPHA", +]) + +D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [ + "D3DTBLEND_DECAL", + "D3DTBLEND_MODULATE", + "D3DTBLEND_DECALALPHA", + "D3DTBLEND_MODULATEALPHA", + "D3DTBLEND_DECALMASK", + "D3DTBLEND_MODULATEMASK", + "D3DTBLEND_COPY", + "D3DTBLEND_ADD", +]) + +D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [ + "D3DTADDRESS_WRAP", + "D3DTADDRESS_MIRROR", + "D3DTADDRESS_CLAMP", + "D3DTADDRESS_BORDER", +]) + +D3DCULL = Enum("D3DCULL", [ + "D3DCULL_NONE", + "D3DCULL_CW", + "D3DCULL_CCW", +]) + +D3DCMPFUNC = Enum("D3DCMPFUNC", [ + "D3DCMP_NEVER", + "D3DCMP_LESS", + "D3DCMP_EQUAL", + "D3DCMP_LESSEQUAL", + "D3DCMP_GREATER", + "D3DCMP_NOTEQUAL", + "D3DCMP_GREATEREQUAL", + "D3DCMP_ALWAYS", +]) + +D3DSTENCILOP = Enum("D3DSTENCILOP", [ + "D3DSTENCILOP_KEEP", + "D3DSTENCILOP_ZERO", + "D3DSTENCILOP_REPLACE", + "D3DSTENCILOP_INCRSAT", + "D3DSTENCILOP_DECRSAT", + "D3DSTENCILOP_INVERT", + "D3DSTENCILOP_INCR", + "D3DSTENCILOP_DECR", +]) + +D3DFOGMODE = Enum("D3DFOGMODE", [ + "D3DFOG_NONE", + "D3DFOG_EXP", + "D3DFOG_EXP2", + "D3DFOG_LINEAR", +]) + +D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [ + "D3DZB_FALSE", + "D3DZB_TRUE", + "D3DZB_USEW", +]) + +D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [ + "D3DANTIALIAS_NONE", + "D3DANTIALIAS_SORTDEPENDENT", + "D3DANTIALIAS_SORTINDEPENDENT", +]) + +D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [ + "D3DVT_VERTEX", + "D3DVT_LVERTEX", + "D3DVT_TLVERTEX", +]) + +D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [ + "D3DPT_POINTLIST", + "D3DPT_LINELIST", + "D3DPT_LINESTRIP", + "D3DPT_TRIANGLELIST", + "D3DPT_TRIANGLESTRIP", + "D3DPT_TRIANGLEFAN", +]) + +D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [ + "D3DTRANSFORMSTATE_WORLD", + "D3DTRANSFORMSTATE_VIEW", + "D3DTRANSFORMSTATE_PROJECTION", + "D3DTRANSFORMSTATE_WORLD1", + "D3DTRANSFORMSTATE_WORLD2", + "D3DTRANSFORMSTATE_WORLD3", + "D3DTRANSFORMSTATE_TEXTURE0", + "D3DTRANSFORMSTATE_TEXTURE1", + "D3DTRANSFORMSTATE_TEXTURE2", + "D3DTRANSFORMSTATE_TEXTURE3", + "D3DTRANSFORMSTATE_TEXTURE4", + "D3DTRANSFORMSTATE_TEXTURE5", + "D3DTRANSFORMSTATE_TEXTURE6", + "D3DTRANSFORMSTATE_TEXTURE7", +]) + +D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [ + "D3DLIGHTSTATE_MATERIAL", + "D3DLIGHTSTATE_AMBIENT", + "D3DLIGHTSTATE_COLORMODEL", + "D3DLIGHTSTATE_FOGMODE", + "D3DLIGHTSTATE_FOGSTART", + "D3DLIGHTSTATE_FOGEND", + "D3DLIGHTSTATE_FOGDENSITY", + "D3DLIGHTSTATE_COLORVERTEX", +]) + +D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [ + "D3DRENDERSTATE_ANTIALIAS", + "D3DRENDERSTATE_TEXTUREPERSPECTIVE", + "D3DRENDERSTATE_ZENABLE", + "D3DRENDERSTATE_FILLMODE", + "D3DRENDERSTATE_SHADEMODE", + "D3DRENDERSTATE_LINEPATTERN", + "D3DRENDERSTATE_ZWRITEENABLE", + "D3DRENDERSTATE_ALPHATESTENABLE", + "D3DRENDERSTATE_LASTPIXEL", + "D3DRENDERSTATE_SRCBLEND", + "D3DRENDERSTATE_DESTBLEND", + "D3DRENDERSTATE_CULLMODE", + "D3DRENDERSTATE_ZFUNC", + "D3DRENDERSTATE_ALPHAREF", + "D3DRENDERSTATE_ALPHAFUNC", + "D3DRENDERSTATE_DITHERENABLE", + "D3DRENDERSTATE_ALPHABLENDENABLE", + "D3DRENDERSTATE_FOGENABLE", + "D3DRENDERSTATE_SPECULARENABLE", + "D3DRENDERSTATE_ZVISIBLE", + "D3DRENDERSTATE_STIPPLEDALPHA", + "D3DRENDERSTATE_FOGCOLOR", + "D3DRENDERSTATE_FOGTABLEMODE", + "D3DRENDERSTATE_FOGSTART", + "D3DRENDERSTATE_FOGEND", + "D3DRENDERSTATE_FOGDENSITY", + "D3DRENDERSTATE_EDGEANTIALIAS", + "D3DRENDERSTATE_COLORKEYENABLE", + "D3DRENDERSTATE_ZBIAS", + "D3DRENDERSTATE_RANGEFOGENABLE", + "D3DRENDERSTATE_STENCILENABLE", + "D3DRENDERSTATE_STENCILFAIL", + "D3DRENDERSTATE_STENCILZFAIL", + "D3DRENDERSTATE_STENCILPASS", + "D3DRENDERSTATE_STENCILFUNC", + "D3DRENDERSTATE_STENCILREF", + "D3DRENDERSTATE_STENCILMASK", + "D3DRENDERSTATE_STENCILWRITEMASK", + "D3DRENDERSTATE_TEXTUREFACTOR", + "D3DRENDERSTATE_WRAP0", + "D3DRENDERSTATE_WRAP1", + "D3DRENDERSTATE_WRAP2", + "D3DRENDERSTATE_WRAP3", + "D3DRENDERSTATE_WRAP4", + "D3DRENDERSTATE_WRAP5", + "D3DRENDERSTATE_WRAP6", + "D3DRENDERSTATE_WRAP7", + "D3DRENDERSTATE_CLIPPING", + "D3DRENDERSTATE_LIGHTING", + "D3DRENDERSTATE_EXTENTS", + "D3DRENDERSTATE_AMBIENT", + "D3DRENDERSTATE_FOGVERTEXMODE", + "D3DRENDERSTATE_COLORVERTEX", + "D3DRENDERSTATE_LOCALVIEWER", + "D3DRENDERSTATE_NORMALIZENORMALS", + "D3DRENDERSTATE_COLORKEYBLENDENABLE", + "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE", + "D3DRENDERSTATE_SPECULARMATERIALSOURCE", + "D3DRENDERSTATE_AMBIENTMATERIALSOURCE", + "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE", + "D3DRENDERSTATE_VERTEXBLEND", + "D3DRENDERSTATE_CLIPPLANEENABLE", + "D3DRENDERSTATE_TEXTUREHANDLE", + "D3DRENDERSTATE_TEXTUREADDRESS", + "D3DRENDERSTATE_WRAPU", + "D3DRENDERSTATE_WRAPV", + "D3DRENDERSTATE_MONOENABLE", + "D3DRENDERSTATE_ROP2", + "D3DRENDERSTATE_PLANEMASK", + "D3DRENDERSTATE_TEXTUREMAG", + "D3DRENDERSTATE_TEXTUREMIN", + "D3DRENDERSTATE_TEXTUREMAPBLEND", + "D3DRENDERSTATE_SUBPIXEL", + "D3DRENDERSTATE_SUBPIXELX", + "D3DRENDERSTATE_STIPPLEENABLE", + "D3DRENDERSTATE_BORDERCOLOR", + "D3DRENDERSTATE_TEXTUREADDRESSU", + "D3DRENDERSTATE_TEXTUREADDRESSV", + "D3DRENDERSTATE_MIPMAPLODBIAS", + "D3DRENDERSTATE_ANISOTROPY", + "D3DRENDERSTATE_FLUSHBATCH", + "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT", + "D3DRENDERSTATE_STIPPLEPATTERN00", + "D3DRENDERSTATE_STIPPLEPATTERN01", + "D3DRENDERSTATE_STIPPLEPATTERN02", + "D3DRENDERSTATE_STIPPLEPATTERN03", + "D3DRENDERSTATE_STIPPLEPATTERN04", + "D3DRENDERSTATE_STIPPLEPATTERN05", + "D3DRENDERSTATE_STIPPLEPATTERN06", + "D3DRENDERSTATE_STIPPLEPATTERN07", + "D3DRENDERSTATE_STIPPLEPATTERN08", + "D3DRENDERSTATE_STIPPLEPATTERN09", + "D3DRENDERSTATE_STIPPLEPATTERN10", + "D3DRENDERSTATE_STIPPLEPATTERN11", + "D3DRENDERSTATE_STIPPLEPATTERN12", + "D3DRENDERSTATE_STIPPLEPATTERN13", + "D3DRENDERSTATE_STIPPLEPATTERN14", + "D3DRENDERSTATE_STIPPLEPATTERN15", + "D3DRENDERSTATE_STIPPLEPATTERN16", + "D3DRENDERSTATE_STIPPLEPATTERN17", + "D3DRENDERSTATE_STIPPLEPATTERN18", + "D3DRENDERSTATE_STIPPLEPATTERN19", + "D3DRENDERSTATE_STIPPLEPATTERN20", + "D3DRENDERSTATE_STIPPLEPATTERN21", + "D3DRENDERSTATE_STIPPLEPATTERN22", + "D3DRENDERSTATE_STIPPLEPATTERN23", + "D3DRENDERSTATE_STIPPLEPATTERN24", + "D3DRENDERSTATE_STIPPLEPATTERN25", + "D3DRENDERSTATE_STIPPLEPATTERN26", + "D3DRENDERSTATE_STIPPLEPATTERN27", + "D3DRENDERSTATE_STIPPLEPATTERN28", + "D3DRENDERSTATE_STIPPLEPATTERN29", + "D3DRENDERSTATE_STIPPLEPATTERN30", + "D3DRENDERSTATE_STIPPLEPATTERN31", +]) + +D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [ + "D3DMCS_MATERIAL", + "D3DMCS_COLOR1", + "D3DMCS_COLOR2", +]) + +D3DWRAP = Flags(DWORD, [ + "D3DWRAP_U", + "D3DWRAP_V", + "D3DWRAPCOORD_0", + "D3DWRAPCOORD_1", + "D3DWRAPCOORD_2", + "D3DWRAPCOORD_3", +]) + +D3DSTATE = Struct("D3DSTATE", [ + (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"), + (D3DLIGHTSTATETYPE, "dlstLightStateType"), + (D3DRENDERSTATETYPE, "drstRenderStateType"), + (Array(DWORD, "1"), "dwArg"), + (Array(D3DVALUE, "1"), "dvArg"), +]) + +D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [ + (D3DMATRIXHANDLE, "hDestMatrix"), + (D3DMATRIXHANDLE, "hSrcMatrix"), +]) + +D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [ + (D3DMATRIXHANDLE, "hDestMatrix"), + (D3DMATRIXHANDLE, "hSrcMatrix1"), + (D3DMATRIXHANDLE, "hSrcMatrix2"), +]) + +D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [ + (DWORD, "dwFlags"), + (WORD, "wStart"), + (WORD, "wDest"), + (DWORD, "dwCount"), + (DWORD, "dwReserved"), +]) + +D3DPROCESSVERTICES = Flags(DWORD, [ + "D3DPROCESSVERTICES_TRANSFORMLIGHT", + "D3DPROCESSVERTICES_TRANSFORM", + "D3DPROCESSVERTICES_COPY", + "D3DPROCESSVERTICES_OPMASK", + "D3DPROCESSVERTICES_UPDATEEXTENTS", + "D3DPROCESSVERTICES_NOCOLOR", +]) + +D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [ + "D3DTSS_COLOROP", + "D3DTSS_COLORARG1", + "D3DTSS_COLORARG2", + "D3DTSS_ALPHAOP", + "D3DTSS_ALPHAARG1", + "D3DTSS_ALPHAARG2", + "D3DTSS_BUMPENVMAT00", + "D3DTSS_BUMPENVMAT01", + "D3DTSS_BUMPENVMAT10", + "D3DTSS_BUMPENVMAT11", + "D3DTSS_TEXCOORDINDEX", + "D3DTSS_ADDRESS", + "D3DTSS_ADDRESSU", + "D3DTSS_ADDRESSV", + "D3DTSS_BORDERCOLOR", + "D3DTSS_MAGFILTER", + "D3DTSS_MINFILTER", + "D3DTSS_MIPFILTER", + "D3DTSS_MIPMAPLODBIAS", + "D3DTSS_MAXMIPLEVEL", + "D3DTSS_MAXANISOTROPY", + "D3DTSS_BUMPENVLSCALE", + "D3DTSS_BUMPENVLOFFSET", + "D3DTSS_TEXTURETRANSFORMFLAGS", +]) + +D3DTSS_TCI = Flags(DWORD, [ + "D3DTSS_TCI_PASSTHRU", + "D3DTSS_TCI_CAMERASPACENORMAL", + "D3DTSS_TCI_CAMERASPACEPOSITION", + "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR", +]) + +D3DTEXTUREOP = Enum("D3DTEXTUREOP", [ + "D3DTOP_DISABLE", + "D3DTOP_SELECTARG1", + "D3DTOP_SELECTARG2", + "D3DTOP_MODULATE", + "D3DTOP_MODULATE2X", + "D3DTOP_MODULATE4X", + "D3DTOP_ADD", + "D3DTOP_ADDSIGNED", + "D3DTOP_ADDSIGNED2X", + "D3DTOP_SUBTRACT", + "D3DTOP_ADDSMOOTH", + "D3DTOP_BLENDDIFFUSEALPHA", + "D3DTOP_BLENDTEXTUREALPHA", + "D3DTOP_BLENDFACTORALPHA", + "D3DTOP_BLENDTEXTUREALPHAPM", + "D3DTOP_BLENDCURRENTALPHA", + "D3DTOP_PREMODULATE", + "D3DTOP_MODULATEALPHA_ADDCOLOR", + "D3DTOP_MODULATECOLOR_ADDALPHA", + "D3DTOP_MODULATEINVALPHA_ADDCOLOR", + "D3DTOP_MODULATEINVCOLOR_ADDALPHA", + "D3DTOP_BUMPENVMAP", + "D3DTOP_BUMPENVMAPLUMINANCE", + "D3DTOP_DOTPRODUCT3", +]) + +D3DTA = Flags(DWORD, [ + "D3DTA_SELECTMASK", + "D3DTA_DIFFUSE", + "D3DTA_CURRENT", + "D3DTA_TEXTURE", + "D3DTA_TFACTOR", + "D3DTA_SPECULAR", + "D3DTA_COMPLEMENT", + "D3DTA_ALPHAREPLICATE", +]) + +D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [ + "D3DTFG_POINT", + "D3DTFG_LINEAR", + "D3DTFG_FLATCUBIC", + "D3DTFG_GAUSSIANCUBIC", + "D3DTFG_ANISOTROPIC", +]) + +D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [ + "D3DTFN_POINT", + "D3DTFN_LINEAR", + "D3DTFN_ANISOTROPIC", +]) + +D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [ + "D3DTFP_NONE", + "D3DTFP_POINT", + "D3DTFP_LINEAR", +]) + +D3DTRIFLAG = Flags(DWORD, [ + "D3DTRIFLAG_START", + "D3DTRIFLAG_STARTFLAT(len)", + "D3DTRIFLAG_ODD", + "D3DTRIFLAG_EVEN", + "D3DTRIFLAG_EDGEENABLETRIANGLE", + "D3DTRIFLAG_EDGEENABLE1", + "D3DTRIFLAG_EDGEENABLE2", + "D3DTRIFLAG_EDGEENABLE3", +]) + +D3DTRIANGLE = Struct("D3DTRIANGLE", [ + (WORD, "v1"), + (WORD, "v2"), + (WORD, "v3"), + (WORD, "wFlags"), +]) + +D3DLINE = Struct("D3DLINE", [ + (WORD, "v1"), + (WORD, "v2"), +]) + +D3DSPAN = Struct("D3DSPAN", [ + (WORD, "wCount"), + (WORD, "wFirst"), +]) + +D3DPOINT = Struct("D3DPOINT", [ + (WORD, "wCount"), + (WORD, "wFirst"), +]) + +D3DBRANCH = Struct("D3DBRANCH", [ + (DWORD, "dwMask"), + (DWORD, "dwValue"), + (BOOL, "bNegate"), + (DWORD, "dwOffset"), +]) + +D3DSTATUS = Struct("D3DSTATUS", [ + (DWORD, "dwFlags"), + (DWORD, "dwStatus"), + (D3DRECT, "drExtent"), +]) + +D3DSETSTATUS = Flags(DWORD, [ + "D3DSETSTATUS_STATUS", + "D3DSETSTATUS_EXTENTS", + "D3DSETSTATUS_ALL", +]) + +D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [ + (DWORD, "dwFlags"), + (DWORD, "dwStatus"), + (Float, "minx"), + (Float, "maxx"), + (Float, "miny"), + (Float, "maxy"), + (Float, "minz"), + (Float, "maxz"), +]) +LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS) + +D3DCLIPSTATUS = Flags(DWORD, [ + "D3DCLIPSTATUS_STATUS", + "D3DCLIPSTATUS_EXTENTS2", + "D3DCLIPSTATUS_EXTENTS3", +]) + +D3DSTATS = Struct("D3DSTATS", [ + (DWORD, "dwSize"), + (DWORD, "dwTrianglesDrawn"), + (DWORD, "dwLinesDrawn"), + (DWORD, "dwPointsDrawn"), + (DWORD, "dwSpansDrawn"), + (DWORD, "dwVerticesProcessed"), +]) +LPD3DSTATS = Pointer(D3DSTATS) + +D3DEXECUTE = Flags(DWORD, [ + "D3DEXECUTE_CLIPPED", + "D3DEXECUTE_UNCLIPPED", +]) + +D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [ + (DWORD, "dwSize"), + (DWORD, "dwVertexOffset"), + (DWORD, "dwVertexCount"), + (DWORD, "dwInstructionOffset"), + (DWORD, "dwInstructionLength"), + (DWORD, "dwHVertexOffset"), + (D3DSTATUS, "dsStatus"), +]) +LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA) + +D3DPAL = Flags(DWORD, [ + "D3DPAL_FREE", + "D3DPAL_READONLY", + "D3DPAL_RESERVED", +]) + +D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwFVF"), + (DWORD, "dwNumVertices"), +]) +LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC) + +D3DVBCAPS = Flags(DWORD, [ + "D3DVBCAPS_SYSTEMMEMORY", + "D3DVBCAPS_WRITEONLY", + "D3DVBCAPS_OPTIMIZED", + "D3DVBCAPS_DONOTCLIP", +]) + +D3DVOP = Flags(DWORD, [ + "D3DVOP_LIGHT", + "D3DVOP_TRANSFORM", + "D3DVOP_CLIP", + "D3DVOP_EXTENTS", +]) + +D3DPV = Flags(DWORD, [ + "D3DPV_DONOTCOPYDATA", +]) + +D3DFVF = Flags(DWORD, [ + "D3DFVF_RESERVED0", + "D3DFVF_POSITION_MASK", + "D3DFVF_XYZ", + "D3DFVF_XYZRHW", + "D3DFVF_XYZB1", + "D3DFVF_XYZB2", + "D3DFVF_XYZB3", + "D3DFVF_XYZB4", + "D3DFVF_XYZB5", + "D3DFVF_NORMAL", + "D3DFVF_RESERVED1", + "D3DFVF_DIFFUSE", + "D3DFVF_SPECULAR", + "D3DFVF_TEXCOUNT_MASK", + "D3DFVF_TEXCOUNT_SHIFT", + "D3DFVF_TEX0", + "D3DFVF_TEX1", + "D3DFVF_TEX2", + "D3DFVF_TEX3", + "D3DFVF_TEX4", + "D3DFVF_TEX5", + "D3DFVF_TEX6", + "D3DFVF_TEX7", + "D3DFVF_TEX8", + "D3DFVF_RESERVED2", + "D3DFVF_RESERVED1", + "D3DFVF_VERTEX", + "D3DFVF_LVERTEX", + "D3DFVF_TLVERTEX", + "D3DFVF_TEXCOORDSIZE1(0)", + "D3DFVF_TEXCOORDSIZE1(1)", + "D3DFVF_TEXCOORDSIZE2(0)", + "D3DFVF_TEXCOORDSIZE2(1)", + "D3DFVF_TEXCOORDSIZE3(0)", + "D3DFVF_TEXCOORDSIZE3(1)", + "D3DFVF_TEXCOORDSIZE4(0)", + "D3DFVF_TEXCOORDSIZE4(1)", +]) + +D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [ + (LPVOID, "lpvData"), + (DWORD, "dwStride"), +]) + +D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [ + (D3DDP_PTRSTRIDE, "position"), + (D3DDP_PTRSTRIDE, "normal"), + (D3DDP_PTRSTRIDE, "diffuse"), + (D3DDP_PTRSTRIDE, "specular"), + (Array(D3DDP_PTRSTRIDE, "D3DDP_MAXTEXCOORD"), "textureCoords"), +]) +LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA) + +D3DVIS = Flags(DWORD, [ + "D3DVIS_INSIDE_FRUSTUM", + "D3DVIS_INTERSECT_FRUSTUM", + "D3DVIS_OUTSIDE_FRUSTUM", + "D3DVIS_INSIDE_LEFT", + "D3DVIS_INTERSECT_LEFT", + "D3DVIS_OUTSIDE_LEFT", + "D3DVIS_INSIDE_RIGHT", + "D3DVIS_INTERSECT_RIGHT", + "D3DVIS_OUTSIDE_RIGHT", + "D3DVIS_INSIDE_TOP", + "D3DVIS_INTERSECT_TOP", + "D3DVIS_OUTSIDE_TOP", + "D3DVIS_INSIDE_BOTTOM", + "D3DVIS_INTERSECT_BOTTOM", + "D3DVIS_OUTSIDE_BOTTOM", + "D3DVIS_INSIDE_NEAR", + "D3DVIS_INTERSECT_NEAR", + "D3DVIS_OUTSIDE_NEAR", + "D3DVIS_INSIDE_FAR", + "D3DVIS_INTERSECT_FAR", + "D3DVIS_OUTSIDE_FAR", + "D3DVIS_MASK_FRUSTUM", + "D3DVIS_MASK_LEFT", + "D3DVIS_MASK_RIGHT", + "D3DVIS_MASK_TOP", + "D3DVIS_MASK_BOTTOM", + "D3DVIS_MASK_NEAR", + "D3DVIS_MASK_FAR", +]) + +D3DDEVINFOID = Flags(DWORD, [ + "D3DDEVINFOID_TEXTUREMANAGER", + "D3DDEVINFOID_D3DTEXTUREMANAGER", + "D3DDEVINFOID_TEXTURING", +]) + +D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [ + "D3DSBT_ALL", + "D3DSBT_PIXELSTATE", + "D3DSBT_VERTEXSTATE", +]) + +D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [ + "D3DVBLEND_DISABLE", + "D3DVBLEND_1WEIGHT", + "D3DVBLEND_2WEIGHTS", + "D3DVBLEND_3WEIGHTS", +]) + +D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [ + "D3DTTFF_DISABLE", + "D3DTTFF_COUNT1", + "D3DTTFF_COUNT2", + "D3DTTFF_COUNT3", + "D3DTTFF_COUNT4", + "D3DTTFF_PROJECTED", +]) diff --git a/specs/ddraw.py b/specs/ddraw.py new file mode 100644 index 0000000..eb5a072 --- /dev/null +++ b/specs/ddraw.py @@ -0,0 +1,1664 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""ddraw.h""" + +from winapi import * + +DirectDrawOptSurfaceDescFlags = Flags(DWORD, [ + "DDOSD_GUID", + "DDOSD_COMPRESSION_RATIO", + "DDOSD_SCAPS", + "DDOSD_OSCAPS", + "DDOSD_ALL", +]) + +DirectDrawOptSurfaceDescCapsFlags = Flags(DWORD, [ + "DDOSDCAPS_OPTCOMPRESSED", + "DDOSDCAPS_OPTREORDERED", + "DDOSDCAPS_MONOLITHICMIPMAP", +]) + +DirectDrawGetDeviceIdentifierFlags = Flags(DWORD, [ + "DDGDI_GETHOSTIDENTIFIER", +]) + +IDirectDraw = Interface("IDirectDraw", IUnknown) +IDirectDraw2 = Interface("IDirectDraw2", IUnknown) +IDirectDraw4 = Interface("IDirectDraw4", IUnknown) +IDirectDraw7 = Interface("IDirectDraw7", IUnknown) +IDirectDrawPalette = Interface("IDirectDrawPalette", IUnknown) +IDirectDrawClipper = Interface("IDirectDrawClipper", IUnknown) +IDirectDrawSurface = Interface("IDirectDrawSurface", IUnknown) +IDirectDrawSurface2 = Interface("IDirectDrawSurface2", IUnknown) +IDirectDrawSurface3 = Interface("IDirectDrawSurface3", IUnknown) +IDirectDrawSurface4 = Interface("IDirectDrawSurface4", IUnknown) +IDirectDrawSurface7 = Interface("IDirectDrawSurface7", IUnknown) +IDirectDrawColorControl = Interface("IDirectDrawColorControl", IUnknown) +IDirectDrawGammaControl = Interface("IDirectDrawGammaControl", IUnknown) + +LPDIRECTDRAW = Pointer(IDirectDraw) +LPDIRECTDRAW2 = Pointer(IDirectDraw2) +LPDIRECTDRAW4 = Pointer(IDirectDraw4) +LPDIRECTDRAW7 = Pointer(IDirectDraw7) +LPDIRECTDRAWSURFACE = Pointer(IDirectDrawSurface) +LPDIRECTDRAWSURFACE2 = Pointer(IDirectDrawSurface2) +LPDIRECTDRAWSURFACE3 = Pointer(IDirectDrawSurface3) +LPDIRECTDRAWSURFACE4 = Pointer(IDirectDrawSurface4) +LPDIRECTDRAWSURFACE7 = Pointer(IDirectDrawSurface7) +LPDIRECTDRAWPALETTE = Pointer(IDirectDrawPalette) +LPDIRECTDRAWCLIPPER = Pointer(IDirectDrawClipper) +LPDIRECTDRAWCOLORCONTROL = Pointer(IDirectDrawColorControl) +LPDIRECTDRAWGAMMACONTROL = Pointer(IDirectDrawGammaControl) + +DDARGB = Struct("DDARGB", [ + (BYTE, "blue"), + (BYTE, "green"), + (BYTE, "red"), + (BYTE, "alpha"), +]) + +LPDDARGB = Pointer(DDARGB) + +DDRGBA = Struct("DDRGBA", [ + (BYTE, "red"), + (BYTE, "green"), + (BYTE, "blue"), + (BYTE, "alpha"), +]) +LPDDRGBA = Pointer(DDRGBA) + +DDCOLORKEY = Struct("DDCOLORKEY", [ + (DWORD, "dwColorSpaceLowValue"), + (DWORD, "dwColorSpaceHighValue"), +]) +LPDDCOLORKEY = Pointer(DDCOLORKEY) + +DDBLTFX = Struct("DDBLTFX", [ + (DWORD, "dwSize"), + (DWORD, "dwDDFX"), + (DWORD, "dwROP"), + (DWORD, "dwDDROP"), + (DWORD, "dwRotationAngle"), + (DWORD, "dwZBufferOpCode"), + (DWORD, "dwZBufferLow"), + (DWORD, "dwZBufferHigh"), + (DWORD, "dwZBufferBaseDest"), + (DWORD, "dwZDestConstBitDepth"), + (DWORD, "dwZDestConst"), + (LPDIRECTDRAWSURFACE, "lpDDSZBufferDest"), + (DWORD, "dwZSrcConstBitDepth"), + (DWORD, "dwZSrcConst"), + (LPDIRECTDRAWSURFACE, "lpDDSZBufferSrc"), + (DWORD, "dwAlphaEdgeBlendBitDepth"), + (DWORD, "dwAlphaEdgeBlend"), + (DWORD, "dwReserved"), + (DWORD, "dwAlphaDestConstBitDepth"), + (DWORD, "dwAlphaDestConst"), + (LPDIRECTDRAWSURFACE, "lpDDSAlphaDest"), + (DWORD, "dwAlphaSrcConstBitDepth"), + (DWORD, "dwAlphaSrcConst"), + (LPDIRECTDRAWSURFACE, "lpDDSAlphaSrc"), + (DWORD, "dwFillColor"), + (DWORD, "dwFillDepth"), + (DWORD, "dwFillPixel"), + (LPDIRECTDRAWSURFACE, "lpDDSPattern"), + (DDCOLORKEY, "ddckDestColorkey"), + (DDCOLORKEY, "ddckSrcColorkey"), +]) +LPDDBLTFX = Pointer(DDBLTFX) + +DDSCAPS = Struct("DDSCAPS", [ + (DWORD, "dwCaps"), +]) +LPDDSCAPS = Pointer(DDSCAPS) + +DDOSCAPS = Struct("DDOSCAPS", [ + (DWORD, "dwCaps"), +]) +LPDDOSCAPS = Pointer(DDOSCAPS) + +DDSCAPSEX = Struct("DDSCAPSEX", [ + (DWORD, "dwCaps2"), + (DWORD, "dwCaps3"), + (DWORD, "dwCaps4"), +]) + +DDSCAPS2 = Struct("DDSCAPS2", [ + (DWORD, "dwCaps"), + (DWORD, "dwCaps2"), + (DWORD, "dwCaps3"), + (DWORD, "dwCaps4"), +]) +LPDDSCAPS2 = Pointer(DDSCAPS2) + +DDCAPS_DX1 = Struct("DDCAPS_DX1", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwCaps2"), + (DWORD, "dwCKeyCaps"), + (DWORD, "dwFXCaps"), + (DWORD, "dwFXAlphaCaps"), + (DWORD, "dwPalCaps"), + (DWORD, "dwSVCaps"), + (DWORD, "dwAlphaBltConstBitDepths"), + (DWORD, "dwAlphaBltPixelBitDepths"), + (DWORD, "dwAlphaBltSurfaceBitDepths"), + (DWORD, "dwAlphaOverlayConstBitDepths"), + (DWORD, "dwAlphaOverlayPixelBitDepths"), + (DWORD, "dwAlphaOverlaySurfaceBitDepths"), + (DWORD, "dwZBufferBitDepths"), + (DWORD, "dwVidMemTotal"), + (DWORD, "dwVidMemFree"), + (DWORD, "dwMaxVisibleOverlays"), + (DWORD, "dwCurrVisibleOverlays"), + (DWORD, "dwNumFourCCCodes"), + (DWORD, "dwAlignBoundarySrc"), + (DWORD, "dwAlignSizeSrc"), + (DWORD, "dwAlignBoundaryDest"), + (DWORD, "dwAlignSizeDest"), + (DWORD, "dwAlignStrideAlign"), + (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), + (DDSCAPS, "ddsCaps"), + (DWORD, "dwMinOverlayStretch"), + (DWORD, "dwMaxOverlayStretch"), + (DWORD, "dwMinLiveVideoStretch"), + (DWORD, "dwMaxLiveVideoStretch"), + (DWORD, "dwMinHwCodecStretch"), + (DWORD, "dwMaxHwCodecStretch"), + (DWORD, "dwReserved1"), + (DWORD, "dwReserved2"), + (DWORD, "dwReserved3"), +]) +LPDDCAPS_DX1 = Pointer(DDCAPS_DX1) + +DDCAPS_DX3 = Struct("DDCAPS_DX3", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwCaps2"), + (DWORD, "dwCKeyCaps"), + (DWORD, "dwFXCaps"), + (DWORD, "dwFXAlphaCaps"), + (DWORD, "dwPalCaps"), + (DWORD, "dwSVCaps"), + (DWORD, "dwAlphaBltConstBitDepths"), + (DWORD, "dwAlphaBltPixelBitDepths"), + (DWORD, "dwAlphaBltSurfaceBitDepths"), + (DWORD, "dwAlphaOverlayConstBitDepths"), + (DWORD, "dwAlphaOverlayPixelBitDepths"), + (DWORD, "dwAlphaOverlaySurfaceBitDepths"), + (DWORD, "dwZBufferBitDepths"), + (DWORD, "dwVidMemTotal"), + (DWORD, "dwVidMemFree"), + (DWORD, "dwMaxVisibleOverlays"), + (DWORD, "dwCurrVisibleOverlays"), + (DWORD, "dwNumFourCCCodes"), + (DWORD, "dwAlignBoundarySrc"), + (DWORD, "dwAlignSizeSrc"), + (DWORD, "dwAlignBoundaryDest"), + (DWORD, "dwAlignSizeDest"), + (DWORD, "dwAlignStrideAlign"), + (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), + (DDSCAPS, "ddsCaps"), + (DWORD, "dwMinOverlayStretch"), + (DWORD, "dwMaxOverlayStretch"), + (DWORD, "dwMinLiveVideoStretch"), + (DWORD, "dwMaxLiveVideoStretch"), + (DWORD, "dwMinHwCodecStretch"), + (DWORD, "dwMaxHwCodecStretch"), + (DWORD, "dwReserved1"), + (DWORD, "dwReserved2"), + (DWORD, "dwReserved3"), + (DWORD, "dwSVBCaps"), + (DWORD, "dwSVBCKeyCaps"), + (DWORD, "dwSVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), + (DWORD, "dwVSBCaps"), + (DWORD, "dwVSBCKeyCaps"), + (DWORD, "dwVSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), + (DWORD, "dwSSBCaps"), + (DWORD, "dwSSBCKeyCaps"), + (DWORD, "dwSSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), + (DWORD, "dwReserved4"), + (DWORD, "dwReserved5"), + (DWORD, "dwReserved6"), +]) +LPDDCAPS_DX3 = Pointer(DDCAPS_DX3) + +DDCAPS_DX5 = Struct("DDCAPS_DX5", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwCaps2"), + (DWORD, "dwCKeyCaps"), + (DWORD, "dwFXCaps"), + (DWORD, "dwFXAlphaCaps"), + (DWORD, "dwPalCaps"), + (DWORD, "dwSVCaps"), + (DWORD, "dwAlphaBltConstBitDepths"), + (DWORD, "dwAlphaBltPixelBitDepths"), + (DWORD, "dwAlphaBltSurfaceBitDepths"), + (DWORD, "dwAlphaOverlayConstBitDepths"), + (DWORD, "dwAlphaOverlayPixelBitDepths"), + (DWORD, "dwAlphaOverlaySurfaceBitDepths"), + (DWORD, "dwZBufferBitDepths"), + (DWORD, "dwVidMemTotal"), + (DWORD, "dwVidMemFree"), + (DWORD, "dwMaxVisibleOverlays"), + (DWORD, "dwCurrVisibleOverlays"), + (DWORD, "dwNumFourCCCodes"), + (DWORD, "dwAlignBoundarySrc"), + (DWORD, "dwAlignSizeSrc"), + (DWORD, "dwAlignBoundaryDest"), + (DWORD, "dwAlignSizeDest"), + (DWORD, "dwAlignStrideAlign"), + (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), + (DDSCAPS, "ddsCaps"), + (DWORD, "dwMinOverlayStretch"), + (DWORD, "dwMaxOverlayStretch"), + (DWORD, "dwMinLiveVideoStretch"), + (DWORD, "dwMaxLiveVideoStretch"), + (DWORD, "dwMinHwCodecStretch"), + (DWORD, "dwMaxHwCodecStretch"), + (DWORD, "dwReserved1"), + (DWORD, "dwReserved2"), + (DWORD, "dwReserved3"), + (DWORD, "dwSVBCaps"), + (DWORD, "dwSVBCKeyCaps"), + (DWORD, "dwSVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), + (DWORD, "dwVSBCaps"), + (DWORD, "dwVSBCKeyCaps"), + (DWORD, "dwVSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), + (DWORD, "dwSSBCaps"), + (DWORD, "dwSSBCKeyCaps"), + (DWORD, "dwSSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), + (DWORD, "dwMaxVideoPorts"), + (DWORD, "dwCurrVideoPorts"), + (DWORD, "dwSVBCaps2"), + (DWORD, "dwNLVBCaps"), + (DWORD, "dwNLVBCaps2"), + (DWORD, "dwNLVBCKeyCaps"), + (DWORD, "dwNLVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"), +]) +LPDDCAPS_DX5 = Pointer(DDCAPS_DX5) + +DDCAPS_DX6 = Struct("DDCAPS_DX6", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwCaps2"), + (DWORD, "dwCKeyCaps"), + (DWORD, "dwFXCaps"), + (DWORD, "dwFXAlphaCaps"), + (DWORD, "dwPalCaps"), + (DWORD, "dwSVCaps"), + (DWORD, "dwAlphaBltConstBitDepths"), + (DWORD, "dwAlphaBltPixelBitDepths"), + (DWORD, "dwAlphaBltSurfaceBitDepths"), + (DWORD, "dwAlphaOverlayConstBitDepths"), + (DWORD, "dwAlphaOverlayPixelBitDepths"), + (DWORD, "dwAlphaOverlaySurfaceBitDepths"), + (DWORD, "dwZBufferBitDepths"), + (DWORD, "dwVidMemTotal"), + (DWORD, "dwVidMemFree"), + (DWORD, "dwMaxVisibleOverlays"), + (DWORD, "dwCurrVisibleOverlays"), + (DWORD, "dwNumFourCCCodes"), + (DWORD, "dwAlignBoundarySrc"), + (DWORD, "dwAlignSizeSrc"), + (DWORD, "dwAlignBoundaryDest"), + (DWORD, "dwAlignSizeDest"), + (DWORD, "dwAlignStrideAlign"), + (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), + (DDSCAPS, "ddsOldCaps"), + (DWORD, "dwMinOverlayStretch"), + (DWORD, "dwMaxOverlayStretch"), + (DWORD, "dwMinLiveVideoStretch"), + (DWORD, "dwMaxLiveVideoStretch"), + (DWORD, "dwMinHwCodecStretch"), + (DWORD, "dwMaxHwCodecStretch"), + (DWORD, "dwReserved1"), + (DWORD, "dwReserved2"), + (DWORD, "dwReserved3"), + (DWORD, "dwSVBCaps"), + (DWORD, "dwSVBCKeyCaps"), + (DWORD, "dwSVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), + (DWORD, "dwVSBCaps"), + (DWORD, "dwVSBCKeyCaps"), + (DWORD, "dwVSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), + (DWORD, "dwSSBCaps"), + (DWORD, "dwSSBCKeyCaps"), + (DWORD, "dwSSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), + (DWORD, "dwMaxVideoPorts"), + (DWORD, "dwCurrVideoPorts"), + (DWORD, "dwSVBCaps2"), + (DWORD, "dwNLVBCaps"), + (DWORD, "dwNLVBCaps2"), + (DWORD, "dwNLVBCKeyCaps"), + (DWORD, "dwNLVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"), + (DDSCAPS2, "ddsCaps"), +]) +LPDDCAPS_DX6 = Pointer(DDCAPS_DX6) + +DDCAPS_DX7 = Struct("DDCAPS_DX7", [ + (DWORD, "dwSize"), + (DWORD, "dwCaps"), + (DWORD, "dwCaps2"), + (DWORD, "dwCKeyCaps"), + (DWORD, "dwFXCaps"), + (DWORD, "dwFXAlphaCaps"), + (DWORD, "dwPalCaps"), + (DWORD, "dwSVCaps"), + (DWORD, "dwAlphaBltConstBitDepths"), + (DWORD, "dwAlphaBltPixelBitDepths"), + (DWORD, "dwAlphaBltSurfaceBitDepths"), + (DWORD, "dwAlphaOverlayConstBitDepths"), + (DWORD, "dwAlphaOverlayPixelBitDepths"), + (DWORD, "dwAlphaOverlaySurfaceBitDepths"), + (DWORD, "dwZBufferBitDepths"), + (DWORD, "dwVidMemTotal"), + (DWORD, "dwVidMemFree"), + (DWORD, "dwMaxVisibleOverlays"), + (DWORD, "dwCurrVisibleOverlays"), + (DWORD, "dwNumFourCCCodes"), + (DWORD, "dwAlignBoundarySrc"), + (DWORD, "dwAlignSizeSrc"), + (DWORD, "dwAlignBoundaryDest"), + (DWORD, "dwAlignSizeDest"), + (DWORD, "dwAlignStrideAlign"), + (Array(DWORD, "DD_ROP_SPACE"), "dwRops"), + (DDSCAPS, "ddsOldCaps"), + (DWORD, "dwMinOverlayStretch"), + (DWORD, "dwMaxOverlayStretch"), + (DWORD, "dwMinLiveVideoStretch"), + (DWORD, "dwMaxLiveVideoStretch"), + (DWORD, "dwMinHwCodecStretch"), + (DWORD, "dwMaxHwCodecStretch"), + (DWORD, "dwReserved1"), + (DWORD, "dwReserved2"), + (DWORD, "dwReserved3"), + (DWORD, "dwSVBCaps"), + (DWORD, "dwSVBCKeyCaps"), + (DWORD, "dwSVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"), + (DWORD, "dwVSBCaps"), + (DWORD, "dwVSBCKeyCaps"), + (DWORD, "dwVSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"), + (DWORD, "dwSSBCaps"), + (DWORD, "dwSSBCKeyCaps"), + (DWORD, "dwSSBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"), + (DWORD, "dwMaxVideoPorts"), + (DWORD, "dwCurrVideoPorts"), + (DWORD, "dwSVBCaps2"), + (DWORD, "dwNLVBCaps"), + (DWORD, "dwNLVBCaps2"), + (DWORD, "dwNLVBCKeyCaps"), + (DWORD, "dwNLVBFXCaps"), + (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"), + (DDSCAPS2, "ddsCaps"), +]) +LPDDCAPS_DX7 = Pointer(DDCAPS_DX7) +DDCAPS = DDCAPS_DX7 +LPDDCAPS = Pointer(DDCAPS) + +DDPIXELFORMAT = Struct("DDPIXELFORMAT", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (DWORD, "dwFourCC"), + (DWORD, "dwRGBBitCount"), + (DWORD, "dwYUVBitCount"), + (DWORD, "dwZBufferBitDepth"), + (DWORD, "dwAlphaBitDepth"), + (DWORD, "dwLuminanceBitCount"), + (DWORD, "dwBumpBitCount"), + (DWORD, "dwPrivateFormatBitCount"), + (DWORD, "dwRBitMask"), + (DWORD, "dwYBitMask"), + (DWORD, "dwStencilBitDepth"), + (DWORD, "dwLuminanceBitMask"), + (DWORD, "dwBumpDuBitMask"), + (DWORD, "dwOperations"), + (DWORD, "dwGBitMask"), + (DWORD, "dwUBitMask"), + (DWORD, "dwZBitMask"), + (DWORD, "dwBumpDvBitMask"), + (WORD, "MultiSampleCaps.wFlipMSTypes"), + (WORD, "MultiSampleCaps.wBltMSTypes"), + (DWORD, "dwBBitMask"), + (DWORD, "dwVBitMask"), + (DWORD, "dwStencilBitMask"), + (DWORD, "dwBumpLuminanceBitMask"), + (DWORD, "dwRGBAlphaBitMask"), + (DWORD, "dwYUVAlphaBitMask"), + (DWORD, "dwLuminanceAlphaBitMask"), + (DWORD, "dwRGBZBitMask"), + (DWORD, "dwYUVZBitMask"), +]) +LPDDPIXELFORMAT = Pointer(DDPIXELFORMAT) + +DDOVERLAYFX = Struct("DDOVERLAYFX", [ + (DWORD, "dwSize"), + (DWORD, "dwAlphaEdgeBlendBitDepth"), + (DWORD, "dwAlphaEdgeBlend"), + (DWORD, "dwReserved"), + (DWORD, "dwAlphaDestConstBitDepth"), + (DWORD, "dwAlphaDestConst"), + (LPDIRECTDRAWSURFACE, "lpDDSAlphaDest"), + (DWORD, "dwAlphaSrcConstBitDepth"), + (DWORD, "dwAlphaSrcConst"), + (LPDIRECTDRAWSURFACE, "lpDDSAlphaSrc"), + (DDCOLORKEY, "dckDestColorkey"), + (DDCOLORKEY, "dckSrcColorkey"), + (DWORD, "dwDDFX"), + (DWORD, "dwFlags"), +]) +LPDDOVERLAYFX = Pointer(DDOVERLAYFX) + +DDBLTBATCH = Struct("DDBLTBATCH", [ + (LPRECT, "lprDest"), + (LPDIRECTDRAWSURFACE, "lpDDSSrc"), + (LPRECT, "lprSrc"), + (DWORD, "dwFlags"), + (LPDDBLTFX, "lpDDBltFx"), +]) +LPDDBLTBATCH = Pointer(DDBLTBATCH) + +DDGAMMARAMP = Struct("DDGAMMARAMP", [ + (Array(WORD, "256"), "red"), + (Array(WORD, "256"), "green"), + (Array(WORD, "256"), "blue"), +]) +LPDDGAMMARAMP = Pointer(DDGAMMARAMP) + +DDDEVICEIDENTIFIER = Struct("DDDEVICEIDENTIFIER", [ + (CString, "szDriver"), + (CString, "szDescription"), + (LARGE_INTEGER, "liDriverVersion"), + (DWORD, "dwVendorId"), + (DWORD, "dwDeviceId"), + (DWORD, "dwSubSysId"), + (DWORD, "dwRevision"), + (GUID, "guidDeviceIdentifier"), +]) +LPDDDEVICEIDENTIFIER = Pointer(DDDEVICEIDENTIFIER) + +DDDEVICEIDENTIFIER2 = Struct("DDDEVICEIDENTIFIER2", [ + (CString, "szDriver"), + (CString, "szDescription"), + (LARGE_INTEGER, "liDriverVersion"), + (DWORD, "dwVendorId"), + (DWORD, "dwDeviceId"), + (DWORD, "dwSubSysId"), + (DWORD, "dwRevision"), + (GUID, "guidDeviceIdentifier"), + (DWORD, "dwWHQLLevel"), +]) +LPDDDEVICEIDENTIFIER2 = Pointer(DDDEVICEIDENTIFIER2) + +LPCLIPPERCALLBACK = FunctionPointer(DWORD, "LPCLIPPERCALLBACK", [(LPDIRECTDRAWCLIPPER, "lpDDClipper"), (HWND, "hWnd"), (DWORD, "code"), (LPVOID, "lpContext")]) +LPSURFACESTREAMINGCALLBACK = FunctionPointer(DWORD, "LPSURFACESTREAMINGCALLBACK", [DWORD]) + +DDSURFACEDESC = Struct("DDSURFACEDESC", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (DWORD, "dwHeight"), + (DWORD, "dwWidth"), + (LONG, "lPitch"), + (DWORD, "dwLinearSize"), + (DWORD, "dwBackBufferCount"), + (DWORD, "dwMipMapCount"), + (DWORD, "dwZBufferBitDepth"), + (DWORD, "dwRefreshRate"), + (DWORD, "dwAlphaBitDepth"), + (DWORD, "dwReserved"), + (LPVOID, "lpSurface"), + (DDCOLORKEY, "ddckCKDestOverlay"), + (DDCOLORKEY, "ddckCKDestBlt"), + (DDCOLORKEY, "ddckCKSrcOverlay"), + (DDCOLORKEY, "ddckCKSrcBlt"), + (DDPIXELFORMAT, "ddpfPixelFormat"), + (DDSCAPS, "ddsCaps"), +]) +LPDDSURFACEDESC = Pointer(DDSURFACEDESC) + +DDSURFACEDESC2 = Struct("DDSURFACEDESC2", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (DWORD, "dwHeight"), + (DWORD, "dwWidth"), + (LONG, "lPitch"), + (DWORD, "dwLinearSize"), + (DWORD, "dwBackBufferCount"), + (DWORD, "dwDepth"), + (DWORD, "dwMipMapCount"), + (DWORD, "dwRefreshRate"), + (DWORD, "dwSrcVBHandle"), + (DWORD, "dwAlphaBitDepth"), + (DWORD, "dwReserved"), + (LPVOID, "lpSurface"), + (DDCOLORKEY, "ddckCKDestOverlay"), + (DWORD, "dwEmptyFaceColor"), + (DDCOLORKEY, "ddckCKDestBlt"), + (DDCOLORKEY, "ddckCKSrcOverlay"), + (DDCOLORKEY, "ddckCKSrcBlt"), + (DDPIXELFORMAT, "ddpfPixelFormat"), + (DWORD, "dwFVF"), + (DDSCAPS2, "ddsCaps"), + (DWORD, "dwTextureStage"), +]) +LPDDSURFACEDESC2 = Pointer(DDSURFACEDESC2) + +DirectDrawSurfaceDescFlags = Flags(DWORD, [ + "DDSD_CAPS", + "DDSD_HEIGHT", + "DDSD_WIDTH", + "DDSD_PITCH", + "DDSD_BACKBUFFERCOUNT", + "DDSD_ZBUFFERBITDEPTH", + "DDSD_ALPHABITDEPTH", + "DDSD_LPSURFACE", + "DDSD_PIXELFORMAT", + "DDSD_CKDESTOVERLAY", + "DDSD_CKDESTBLT", + "DDSD_CKSRCOVERLAY", + "DDSD_CKSRCBLT", + "DDSD_MIPMAPCOUNT", + "DDSD_REFRESHRATE", + "DDSD_LINEARSIZE", + "DDSD_TEXTURESTAGE", + "DDSD_FVF", + "DDSD_SRCVBHANDLE", + "DDSD_DEPTH", + "DDSD_ALL", +]) + +DDOPTSURFACEDESC = Struct("DDOPTSURFACEDESC", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (DDSCAPS2, "ddSCaps"), + (DDOSCAPS, "ddOSCaps"), + (GUID, "guid"), + (DWORD, "dwCompressionRatio"), +]) + +DDSD = Flags(DWORD, [ + "DDOSD_GUID", + "DDOSD_COMPRESSION_RATIO", + "DDOSD_SCAPS", + "DDOSD_OSCAPS", + "DDOSD_ALL", +]) + +DDOSDCAPS = Flags(DWORD, [ + "DDOSDCAPS_OPTCOMPRESSED", + "DDOSDCAPS_OPTREORDERED", + "DDOSDCAPS_MONOLITHICMIPMAP", + "DDOSDCAPS_VALIDSCAPS", + "DDOSDCAPS_VALIDOSCAPS", +]) + +DDCOLORCONTROL = Struct("DDCOLORCONTROL", [ + (DWORD, "dwSize"), + (DWORD, "dwFlags"), + (LONG, "lBrightness"), + (LONG, "lContrast"), + (LONG, "lHue"), + (LONG, "lSaturation"), + (LONG, "lSharpness"), + (LONG, "lGamma"), + (LONG, "lColorEnable"), + (DWORD, "dwReserved1"), +]) +LPDDCOLORCONTROL = Pointer(DDCOLORCONTROL) + +DirectDrawEnumerateExFlags = Flags(DWORD, [ + "DDENUM_ATTACHEDSECONDARYDEVICES", + "DDENUM_DETACHEDSECONDARYDEVICES", + "DDENUM_NONDISPLAYDEVICES", +]) + +DirectDrawCreateFlags = FakeEnum(DWORD, [ + "DDCREATE_HARDWAREONLY", + "DDCREATE_EMULATIONONLY", +]) + +DirectDrawColorControlFlags = Flags(DWORD, [ + "DDCOLOR_BRIGHTNESS", + "DDCOLOR_CONTRAST", + "DDCOLOR_HUE", + "DDCOLOR_SATURATION", + "DDCOLOR_SHARPNESS", + "DDCOLOR_GAMMA", + "DDCOLOR_COLORENABLE", +]) + +DirectDrawCapsFlags = Flags(DWORD, [ + "DDSCAPS_RESERVED1", + "DDSCAPS_ALPHA", + "DDSCAPS_BACKBUFFER", + "DDSCAPS_COMPLEX", + "DDSCAPS_FLIP", + "DDSCAPS_FRONTBUFFER", + "DDSCAPS_OFFSCREENPLAIN", + "DDSCAPS_OVERLAY", + "DDSCAPS_PALETTE", + "DDSCAPS_PRIMARYSURFACE", + "DDSCAPS_RESERVED3", + "DDSCAPS_PRIMARYSURFACELEFT", + "DDSCAPS_SYSTEMMEMORY", + "DDSCAPS_TEXTURE", + "DDSCAPS_3DDEVICE", + "DDSCAPS_VIDEOMEMORY", + "DDSCAPS_VISIBLE", + "DDSCAPS_WRITEONLY", + "DDSCAPS_ZBUFFER", + "DDSCAPS_OWNDC", + "DDSCAPS_LIVEVIDEO", + "DDSCAPS_HWCODEC", + "DDSCAPS_MODEX", + "DDSCAPS_MIPMAP", + "DDSCAPS_RESERVED2", + "DDSCAPS_ALLOCONLOAD", + "DDSCAPS_VIDEOPORT", + "DDSCAPS_LOCALVIDMEM", + "DDSCAPS_NONLOCALVIDMEM", + "DDSCAPS_STANDARDVGAMODE", + "DDSCAPS_OPTIMIZED", +]) + +DirectDrawCapabilityFlags2 = Flags(DWORD, [ + "DDSCAPS2_RESERVED4", + "DDSCAPS2_HARDWAREDEINTERLACE", + "DDSCAPS2_HINTDYNAMIC", + "DDSCAPS2_HINTSTATIC", + "DDSCAPS2_TEXTUREMANAGE", + "DDSCAPS2_RESERVED1", + "DDSCAPS2_RESERVED2", + "DDSCAPS2_OPAQUE", + "DDSCAPS2_HINTANTIALIASING", + "DDSCAPS2_CUBEMAP", + "DDSCAPS2_CUBEMAP_ALLFACES", + "DDSCAPS2_CUBEMAP_POSITIVEX", + "DDSCAPS2_CUBEMAP_NEGATIVEX", + "DDSCAPS2_CUBEMAP_POSITIVEY", + "DDSCAPS2_CUBEMAP_NEGATIVEY", + "DDSCAPS2_CUBEMAP_POSITIVEZ", + "DDSCAPS2_CUBEMAP_NEGATIVEZ", + "DDSCAPS2_MIPMAPSUBLEVEL", + "DDSCAPS2_D3DTEXTUREMANAGE", + "DDSCAPS2_DONOTPERSIST", + "DDSCAPS2_STEREOSURFACELEFT", + "DDSCAPS2_VOLUME", + "DDSCAPS2_NOTUSERLOCKABLE", + "DDSCAPS2_POINTS", + "DDSCAPS2_RTPATCHES", + "DDSCAPS2_NPATCHES", + "DDSCAPS2_RESERVED3", + "DDSCAPS2_DISCARDBACKBUFFER", + "DDSCAPS2_ENABLEALPHACHANNEL", + "DDSCAPS2_EXTENDEDFORMATPRIMARY", + "DDSCAPS2_ADDITIONALPRIMARY", +]) +DDSCAPS3 = Flags(DWORD, [ + "DDSCAPS3_MULTISAMPLE_MASK", + "DDSCAPS3_MULTISAMPLE_QUALITY_MASK", + "DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT", + "DDSCAPS3_RESERVED1", + "DDSCAPS3_RESERVED2", + "DDSCAPS3_LIGHTWEIGHTMIPMAP", + "DDSCAPS3_AUTOGENMIPMAP", + "DDSCAPS3_DMAP", + "DDSCAPS3_CREATESHAREDRESOURCE", + "DDSCAPS3_READONLYRESOURCE", + "DDSCAPS3_OPENSHAREDRESOURCE", +]) + +DirectDrawDriverCapsFlags = Flags(DWORD, [ + "DDCAPS_3D", + "DDCAPS_ALIGNBOUNDARYDEST", + "DDCAPS_ALIGNSIZEDEST", + "DDCAPS_ALIGNBOUNDARYSRC", + "DDCAPS_ALIGNSIZESRC", + "DDCAPS_ALIGNSTRIDE", + "DDCAPS_BLT", + "DDCAPS_BLTQUEUE", + "DDCAPS_BLTFOURCC", + "DDCAPS_BLTSTRETCH", + "DDCAPS_GDI", + "DDCAPS_OVERLAY", + "DDCAPS_OVERLAYCANTCLIP", + "DDCAPS_OVERLAYFOURCC", + "DDCAPS_OVERLAYSTRETCH", + "DDCAPS_PALETTE", + "DDCAPS_PALETTEVSYNC", + "DDCAPS_READSCANLINE", + "DDCAPS_RESERVED1", + "DDCAPS_VBI", + "DDCAPS_ZBLTS", + "DDCAPS_ZOVERLAYS", + "DDCAPS_COLORKEY", + "DDCAPS_ALPHA", + "DDCAPS_COLORKEYHWASSIST", + "DDCAPS_NOHARDWARE", + "DDCAPS_BLTCOLORFILL", + "DDCAPS_BANKSWITCHED", + "DDCAPS_BLTDEPTHFILL", + "DDCAPS_CANCLIP", + "DDCAPS_CANCLIPSTRETCHED", + "DDCAPS_CANBLTSYSMEM", +]) + +DirectDrawDriverCapsFlags2 = Flags(DWORD, [ + "DDCAPS2_CERTIFIED", + "DDCAPS2_NO2DDURING3DSCENE", + "DDCAPS2_VIDEOPORT", + "DDCAPS2_AUTOFLIPOVERLAY", + "DDCAPS2_CANBOBINTERLEAVED", + "DDCAPS2_CANBOBNONINTERLEAVED", + "DDCAPS2_COLORCONTROLOVERLAY", + "DDCAPS2_COLORCONTROLPRIMARY", + "DDCAPS2_CANDROPZ16BIT", + "DDCAPS2_NONLOCALVIDMEM", + "DDCAPS2_NONLOCALVIDMEMCAPS", + "DDCAPS2_NOPAGELOCKREQUIRED", + "DDCAPS2_WIDESURFACES", + "DDCAPS2_CANFLIPODDEVEN", + "DDCAPS2_CANBOBHARDWARE", + "DDCAPS2_COPYFOURCC", + "DDCAPS2_PRIMARYGAMMA", + "DDCAPS2_CANRENDERWINDOWED", + "DDCAPS2_CANCALIBRATEGAMMA", + "DDCAPS2_FLIPINTERVAL", + "DDCAPS2_FLIPNOVSYNC", + "DDCAPS2_CANMANAGETEXTURE", + "DDCAPS2_TEXMANINNONLOCALVIDMEM", + "DDCAPS2_STEREO", + "DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL", + "DDCAPS2_RESERVED1", + "DDCAPS2_CANMANAGERESOURCE", + "DDCAPS2_DYNAMICTEXTURES", + "DDCAPS2_CANAUTOGENMIPMAP", + "DDCAPS2_CANSHARERESOURCE", +]) + +DirectDrawFxAlphaCapsFlags = Flags(DWORD, [ + "DDFXALPHACAPS_BLTALPHAEDGEBLEND", + "DDFXALPHACAPS_BLTALPHAPIXELS", + "DDFXALPHACAPS_BLTALPHAPIXELSNEG", + "DDFXALPHACAPS_BLTALPHASURFACES", + "DDFXALPHACAPS_BLTALPHASURFACESNEG", + "DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND", + "DDFXALPHACAPS_OVERLAYALPHAPIXELS", + "DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG", + "DDFXALPHACAPS_OVERLAYALPHASURFACES", + "DDFXALPHACAPS_OVERLAYALPHASURFACESNEG", +]) + +DirectDrawFxCapsFlags = Flags(DWORD, [ + "DDFXCAPS_BLTARITHSTRETCHY", + "DDFXCAPS_BLTARITHSTRETCHYN", + "DDFXCAPS_BLTMIRRORLEFTRIGHT", + "DDFXCAPS_BLTMIRRORUPDOWN", + "DDFXCAPS_BLTROTATION", + "DDFXCAPS_BLTROTATION90", + "DDFXCAPS_BLTSHRINKX", + "DDFXCAPS_BLTSHRINKXN", + "DDFXCAPS_BLTSHRINKY", + "DDFXCAPS_BLTSHRINKYN", + "DDFXCAPS_BLTSTRETCHX", + "DDFXCAPS_BLTSTRETCHXN", + "DDFXCAPS_BLTSTRETCHY", + "DDFXCAPS_BLTSTRETCHYN", + "DDFXCAPS_OVERLAYARITHSTRETCHY", + "DDFXCAPS_OVERLAYARITHSTRETCHYN", + "DDFXCAPS_OVERLAYSHRINKX", + "DDFXCAPS_OVERLAYSHRINKXN", + "DDFXCAPS_OVERLAYSHRINKY", + "DDFXCAPS_OVERLAYSHRINKYN", + "DDFXCAPS_OVERLAYSTRETCHX", + "DDFXCAPS_OVERLAYSTRETCHXN", + "DDFXCAPS_OVERLAYSTRETCHY", + "DDFXCAPS_OVERLAYSTRETCHYN", + "DDFXCAPS_OVERLAYMIRRORLEFTRIGHT", + "DDFXCAPS_OVERLAYMIRRORUPDOWN", + "DDFXCAPS_OVERLAYDEINTERLACE", + "DDFXCAPS_BLTALPHA", + "DDFXCAPS_BLTFILTER", + "DDFXCAPS_OVERLAYALPHA", + "DDFXCAPS_OVERLAYFILTER", +]) + +DirectDrawStereoViewCapsFlags = Flags(DWORD, [ + "DDSVCAPS_RESERVED1", + "DDSVCAPS_RESERVED2", + "DDSVCAPS_RESERVED3", + "DDSVCAPS_RESERVED4", + "DDSVCAPS_STEREOSEQUENTIAL", +]) + +DirectDrawPaletteCapsFlags = Flags(DWORD, [ + "DDPCAPS_4BIT", + "DDPCAPS_8BITENTRIES", + "DDPCAPS_8BIT", + "DDPCAPS_INITIALIZE", + "DDPCAPS_PRIMARYSURFACE", + "DDPCAPS_PRIMARYSURFACELEFT", + "DDPCAPS_ALLOW256", + "DDPCAPS_VSYNC", + "DDPCAPS_1BIT", + "DDPCAPS_2BIT", + "DDPCAPS_ALPHA", +]) + +DirectDrawSurfaceSetPrivateDataConstants = FakeEnum(DWORD, [ + "DDSPD_IUNKNOWNPOINTER", + "DDSPD_VOLATILE", +]) + +DirectDrawSurfaceSetPaletteConstants = FakeEnum(DWORD, [ + "DDBD_1", + "DDBD_2", + "DDBD_4", + "DDBD_8", + "DDBD_16", + "DDBD_24", + "DDBD_32", +]) + +DirectDrawSurfaceSetGetColorKeyFlags = Flags(DWORD, [ + "DDCKEY_COLORSPACE", + "DDCKEY_DESTBLT", + "DDCKEY_DESTOVERLAY", + "DDCKEY_SRCBLT", + "DDCKEY_SRCOVERLAY", +]) + +DirectDrawColorKeyCapsFlags = Flags(DWORD, [ + "DDCKEYCAPS_DESTBLT", + "DDCKEYCAPS_DESTBLTCLRSPACE", + "DDCKEYCAPS_DESTBLTCLRSPACEYUV", + "DDCKEYCAPS_DESTBLTYUV", + "DDCKEYCAPS_DESTOVERLAY", + "DDCKEYCAPS_DESTOVERLAYCLRSPACE", + "DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV", + "DDCKEYCAPS_DESTOVERLAYONEACTIVE", + "DDCKEYCAPS_DESTOVERLAYYUV", + "DDCKEYCAPS_SRCBLT", + "DDCKEYCAPS_SRCBLTCLRSPACE", + "DDCKEYCAPS_SRCBLTCLRSPACEYUV", + "DDCKEYCAPS_SRCBLTYUV", + "DDCKEYCAPS_SRCOVERLAY", + "DDCKEYCAPS_SRCOVERLAYCLRSPACE", + "DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV", + "DDCKEYCAPS_SRCOVERLAYONEACTIVE", + "DDCKEYCAPS_SRCOVERLAYYUV", + "DDCKEYCAPS_NOCOSTOVERLAY", +]) + +DirectDrawPixelFormatFlags = Flags(DWORD, [ + "DDPF_ALPHAPIXELS", + "DDPF_ALPHA", + "DDPF_FOURCC", + "DDPF_PALETTEINDEXED4", + "DDPF_PALETTEINDEXEDTO8", + "DDPF_PALETTEINDEXED8", + "DDPF_RGB", + "DDPF_COMPRESSED", + "DDPF_RGBTOYUV", + "DDPF_YUV", + "DDPF_ZBUFFER", + "DDPF_PALETTEINDEXED1", + "DDPF_PALETTEINDEXED2", + "DDPF_ZPIXELS", + "DDPF_STENCILBUFFER", + "DDPF_ALPHAPREMULT", + "DDPF_LUMINANCE", + "DDPF_BUMPLUMINANCE", + "DDPF_BUMPDUDV", +]) + +DirectDrawEnumSurfacesFlags = Flags(DWORD, [ + "DDENUMSURFACES_ALL", + "DDENUMSURFACES_MATCH", + "DDENUMSURFACES_NOMATCH", + "DDENUMSURFACES_CANBECREATED", + "DDENUMSURFACES_DOESEXIST", +]) + +DirectDrawSetDisplayModeFlags = Flags(DWORD, [ + "DDSDM_STANDARDVGAMODE", +]) + +DirectDrawEnumDisplayModesFlags = Flags(DWORD, [ + "DDEDM_REFRESHRATES", + "DDEDM_STANDARDVGAMODES", +]) + +DirectDrawSetCooperativeLevelFlags = Flags(DWORD, [ + "DDSCL_FULLSCREEN", + "DDSCL_ALLOWREBOOT", + "DDSCL_NOWINDOWCHANGES", + "DDSCL_NORMAL", + "DDSCL_EXCLUSIVE", + "DDSCL_ALLOWMODEX", + "DDSCL_SETFOCUSWINDOW", + "DDSCL_SETDEVICEWINDOW", + "DDSCL_CREATEDEVICEWINDOW", + "DDSCL_MULTITHREADED", + "DDSCL_FPUSETUP", + "DDSCL_FPUPRESERVE", +]) + +DirectDrawBltFlags = Flags(DWORD, [ + "DDBLT_ALPHADEST", + "DDBLT_ALPHADESTCONSTOVERRIDE", + "DDBLT_ALPHADESTNEG", + "DDBLT_ALPHADESTSURFACEOVERRIDE", + "DDBLT_ALPHAEDGEBLEND", + "DDBLT_ALPHASRC", + "DDBLT_ALPHASRCCONSTOVERRIDE", + "DDBLT_ALPHASRCNEG", + "DDBLT_ALPHASRCSURFACEOVERRIDE", + "DDBLT_ASYNC", + "DDBLT_COLORFILL", + "DDBLT_DDFX", + "DDBLT_DDROPS", + "DDBLT_KEYDEST", + "DDBLT_KEYDESTOVERRIDE", + "DDBLT_KEYSRC", + "DDBLT_KEYSRCOVERRIDE", + "DDBLT_ROP", + "DDBLT_ROTATIONANGLE", + "DDBLT_ZBUFFER", + "DDBLT_ZBUFFERDESTCONSTOVERRIDE", + "DDBLT_ZBUFFERDESTOVERRIDE", + "DDBLT_ZBUFFERSRCCONSTOVERRIDE", + "DDBLT_ZBUFFERSRCOVERRIDE", + "DDBLT_WAIT", + "DDBLT_DEPTHFILL", + "DDBLT_DONOTWAIT", + "DDBLT_PRESENTATION", + "DDBLT_LAST_PRESENTATION", + "DDBLT_EXTENDED_FLAGS", + "DDBLT_EXTENDED_LINEAR_CONTENT", +]) + +DirectDrawBltFastFlags = Flags(DWORD, [ + "DDBLTFAST_NOCOLORKEY", + "DDBLTFAST_SRCCOLORKEY", + "DDBLTFAST_DESTCOLORKEY", + "DDBLTFAST_WAIT", + "DDBLTFAST_DONOTWAIT", +]) + +DirectDrawFlipFlags = Flags(DWORD, [ + "DDFLIP_WAIT", + "DDFLIP_EVEN", + "DDFLIP_ODD", + "DDFLIP_NOVSYNC", + "DDFLIP_INTERVAL2", + "DDFLIP_INTERVAL3", + "DDFLIP_INTERVAL4", + "DDFLIP_STEREO", + "DDFLIP_DONOTWAIT", +]) + +DirectDrawSurfaceOverlayFlags = Flags(DWORD, [ + "DDOVER_ALPHADEST", + "DDOVER_ALPHADESTCONSTOVERRIDE", + "DDOVER_ALPHADESTNEG", + "DDOVER_ALPHADESTSURFACEOVERRIDE", + "DDOVER_ALPHAEDGEBLEND", + "DDOVER_ALPHASRC", + "DDOVER_ALPHASRCCONSTOVERRIDE", + "DDOVER_ALPHASRCNEG", + "DDOVER_ALPHASRCSURFACEOVERRIDE", + "DDOVER_HIDE", + "DDOVER_KEYDEST", + "DDOVER_KEYDESTOVERRIDE", + "DDOVER_KEYSRC", + "DDOVER_KEYSRCOVERRIDE", + "DDOVER_SHOW", + "DDOVER_ADDDIRTYRECT", + "DDOVER_REFRESHDIRTYRECTS", + "DDOVER_REFRESHALL", + "DDOVER_DDFX", + "DDOVER_AUTOFLIP", + "DDOVER_BOB", + "DDOVER_OVERRIDEBOBWEAVE", + "DDOVER_INTERLEAVED", + "DDOVER_BOBHARDWARE", + "DDOVER_ARGBSCALEFACTORS", + "DDOVER_DEGRADEARGBSCALING", +]) + +DDSETSURFACEDESC = Flags(DWORD, [ + #"DDSETSURFACEDESC_RECREATEDC", + #"DDSETSURFACEDESC_PRESERVEDC", +]) + +DirectDrawSurfaceLockFlags = Flags(DWORD, [ + "DDLOCK_SURFACEMEMORYPTR", + "DDLOCK_WAIT", + "DDLOCK_EVENT", + "DDLOCK_READONLY", + "DDLOCK_WRITEONLY", + "DDLOCK_NOSYSLOCK", + "DDLOCK_NOOVERWRITE", + "DDLOCK_DISCARDCONTENTS", + "DDLOCK_OKTOSWAP", + "DDLOCK_DONOTWAIT", + "DDLOCK_HASVOLUMETEXTUREBOXRECT", + "DDLOCK_NODIRTYUPDATE", +]) + +DirectDrawSurfaceBltFxFlags = Flags(DWORD, [ + "DDBLTFX_ARITHSTRETCHY", + "DDBLTFX_MIRRORLEFTRIGHT", + "DDBLTFX_MIRRORUPDOWN", + "DDBLTFX_NOTEARING", + "DDBLTFX_ROTATE180", + "DDBLTFX_ROTATE270", + "DDBLTFX_ROTATE90", + "DDBLTFX_ZBUFFERRANGE", + "DDBLTFX_ZBUFFERBASEDEST", +]) + +DirectDrawOverlayFxFlags = Flags(DWORD, [ + "DDOVERFX_ARITHSTRETCHY", + "DDOVERFX_MIRRORLEFTRIGHT", + "DDOVERFX_MIRRORUPDOWN", + "DDOVERFX_DEINTERLACE", +]) + +DirectDrawWaitForVerticalBlankFlags = Flags(DWORD, [ + "DDWAITVB_BLOCKBEGIN", + "DDWAITVB_BLOCKBEGINEVENT", + "DDWAITVB_BLOCKEND", +]) + +DirectDrawGetFlipStatusFlags = Flags(DWORD, [ + "DDGFS_CANFLIP", + "DDGFS_ISFLIPDONE", +]) + +DirectDrawGetBltStatusFlags = Flags(DWORD, [ + "DDGBS_CANBLT", + "DDGBS_ISBLTDONE", +]) + +DirectDrawEnumOverlayZOrderFlags = Flags(DWORD, [ + "DDENUMOVERLAYZ_BACKTOFRONT", + "DDENUMOVERLAYZ_FRONTTOBACK", +]) + +DirectDrawUpdateOverlayZOrderFlags = Flags(DWORD, [ + "DDOVERZ_SENDTOFRONT", + "DDOVERZ_SENDTOBACK", + "DDOVERZ_MOVEFORWARD", + "DDOVERZ_MOVEBACKWARD", + "DDOVERZ_INSERTINFRONTOF", + "DDOVERZ_INSERTINBACKOF", +]) + +DirectDrawSetGammaRampFlags = Flags(DWORD, [ + "DDSGR_CALIBRATE", +]) + +DirectDrawStartModeTestFlags = Flags(DWORD, [ + "DDSMT_ISTESTREQUIRED", +]) + +DirectDrawEvaluateModeFlags = Flags(DWORD, [ + "DDEM_MODEPASSED", + "DDEM_MODEFAILED", +]) + +DDRESULT = FakeEnum(HRESULT, [ + "DD_OK", + "DD_FALSE", + "DDERR_ALREADYINITIALIZED", + "DDERR_CANNOTATTACHSURFACE", + "DDERR_CANNOTDETACHSURFACE", + "DDERR_CURRENTLYNOTAVAIL", + "DDERR_EXCEPTION", + "DDERR_GENERIC", + "DDERR_HEIGHTALIGN", + "DDERR_INCOMPATIBLEPRIMARY", + "DDERR_INVALIDCAPS", + "DDERR_INVALIDCLIPLIST", + "DDERR_INVALIDMODE", + "DDERR_INVALIDOBJECT", + "DDERR_INVALIDPARAMS", + "DDERR_INVALIDPIXELFORMAT", + "DDERR_INVALIDRECT", + "DDERR_LOCKEDSURFACES", + "DDERR_NO3D", + "DDERR_NOALPHAHW", + "DDERR_NOSTEREOHARDWARE", + "DDERR_NOSURFACELEFT", + "DDERR_NOCLIPLIST", + "DDERR_NOCOLORCONVHW", + "DDERR_NOCOOPERATIVELEVELSET", + "DDERR_NOCOLORKEY", + "DDERR_NOCOLORKEYHW", + "DDERR_NODIRECTDRAWSUPPORT", + "DDERR_NOEXCLUSIVEMODE", + "DDERR_NOFLIPHW", + "DDERR_NOGDI", + "DDERR_NOMIRRORHW", + "DDERR_NOTFOUND", + "DDERR_NOOVERLAYHW", + "DDERR_OVERLAPPINGRECTS", + "DDERR_NORASTEROPHW", + "DDERR_NOROTATIONHW", + "DDERR_NOSTRETCHHW", + "DDERR_NOT4BITCOLOR", + "DDERR_NOT4BITCOLORINDEX", + "DDERR_NOT8BITCOLOR", + "DDERR_NOTEXTUREHW", + "DDERR_NOVSYNCHW", + "DDERR_NOZBUFFERHW", + "DDERR_NOZOVERLAYHW", + "DDERR_OUTOFCAPS", + "DDERR_OUTOFMEMORY", + "DDERR_OUTOFVIDEOMEMORY", + "DDERR_OVERLAYCANTCLIP", + "DDERR_OVERLAYCOLORKEYONLYONEACTIVE", + "DDERR_PALETTEBUSY", + "DDERR_COLORKEYNOTSET", + "DDERR_SURFACEALREADYATTACHED", + "DDERR_SURFACEALREADYDEPENDENT", + "DDERR_SURFACEBUSY", + "DDERR_CANTLOCKSURFACE", + "DDERR_SURFACEISOBSCURED", + "DDERR_SURFACELOST", + "DDERR_SURFACENOTATTACHED", + "DDERR_TOOBIGHEIGHT", + "DDERR_TOOBIGSIZE", + "DDERR_TOOBIGWIDTH", + "DDERR_UNSUPPORTED", + "DDERR_UNSUPPORTEDFORMAT", + "DDERR_UNSUPPORTEDMASK", + "DDERR_INVALIDSTREAM", + "DDERR_VERTICALBLANKINPROGRESS", + "DDERR_WASSTILLDRAWING", + "DDERR_DDSCAPSCOMPLEXREQUIRED", + "DDERR_XALIGN", + "DDERR_INVALIDDIRECTDRAWGUID", + "DDERR_DIRECTDRAWALREADYCREATED", + "DDERR_NODIRECTDRAWHW", + "DDERR_PRIMARYSURFACEALREADYEXISTS", + "DDERR_NOEMULATION", + "DDERR_REGIONTOOSMALL", + "DDERR_CLIPPERISUSINGHWND", + "DDERR_NOCLIPPERATTACHED", + "DDERR_NOHWND", + "DDERR_HWNDSUBCLASSED", + "DDERR_HWNDALREADYSET", + "DDERR_NOPALETTEATTACHED", + "DDERR_NOPALETTEHW", + "DDERR_BLTFASTCANTCLIP", + "DDERR_NOBLTHW", + "DDERR_NODDROPSHW", + "DDERR_OVERLAYNOTVISIBLE", + "DDERR_NOOVERLAYDEST", + "DDERR_INVALIDPOSITION", + "DDERR_NOTAOVERLAYSURFACE", + "DDERR_EXCLUSIVEMODEALREADYSET", + "DDERR_NOTFLIPPABLE", + "DDERR_CANTDUPLICATE", + "DDERR_NOTLOCKED", + "DDERR_CANTCREATEDC", + "DDERR_NODC", + "DDERR_WRONGMODE", + "DDERR_IMPLICITLYCREATED", + "DDERR_NOTPALETTIZED", + "DDERR_UNSUPPORTEDMODE", + "DDERR_NOMIPMAPHW", + "DDERR_INVALIDSURFACETYPE", + "DDERR_NOOPTIMIZEHW", + "DDERR_NOTLOADED", + "DDERR_NOFOCUSWINDOW", + "DDERR_NOTONMIPMAPSUBLEVEL", + "DDERR_DCALREADYCREATED", + "DDERR_NONONLOCALVIDMEM", + "DDERR_CANTPAGELOCK", + "DDERR_CANTPAGEUNLOCK", + "DDERR_NOTPAGELOCKED", + "DDERR_MOREDATA", + "DDERR_EXPIRED", + "DDERR_TESTFINISHED", + "DDERR_NEWMODE", + "DDERR_D3DNOTINITIALIZED", + "DDERR_VIDEONOTACTIVE", + "DDERR_NOMONITORINFORMATION", + "DDERR_NODRIVERSUPPORT", + "DDERR_DEVICEDOESNTOWNSURFACE", + "DDERR_NOTINITIALIZED", +]) + +LPDDENUMMODESCALLBACK = FunctionPointer(HRESULT, "LPDDENUMMODESCALLBACK", [LPDDSURFACEDESC, LPVOID]) +LPDDENUMMODESCALLBACK2 = FunctionPointer(HRESULT, "LPDDENUMMODESCALLBACK2", [LPDDSURFACEDESC2, LPVOID]) +LPDDENUMSURFACESCALLBACK = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK", [LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID]) +LPDDENUMSURFACESCALLBACK2 = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK2", [LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID]) +LPDDENUMSURFACESCALLBACK7 = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK7", [LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2, LPVOID]) + +IDirectDraw.methods += [ + Method(DDRESULT, "Compact", []), + Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDupDDSurface")]), + Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK, "lpEnumModesCallback")]), + Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "FlipToGDISurface", []), + Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), + Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), + Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpGDIDDSSurface")]), + Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), + Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), + Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), + Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), + Method(DDRESULT, "RestoreDisplayMode", []), + Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), + Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP")]), + Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), +] + +IDirectDraw2.methods += [ + Method(DDRESULT, "Compact", []), + Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDupDDSurface")]), + Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK, "lpEnumModesCallback")]), + Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "FlipToGDISurface", []), + Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), + Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), + Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE), "lplpGDIDDSSurface")]), + Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), + Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), + Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), + Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), + Method(DDRESULT, "RestoreDisplayMode", []), + Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), + Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP"), (DWORD, "dwRefreshRate"), (DirectDrawSetDisplayModeFlags, "dwFlags")]), + Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "GetAvailableVidMem", [(LPDDSCAPS, "lpDDSCaps"), Out(LPDWORD, "lpdwTotal"), Out(LPDWORD, "lpdwFree")]), +] + +IDirectDraw4.methods += [ + Method(DDRESULT, "Compact", []), + Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC2, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE4, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDupDDSurface")]), + Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK2, "lpEnumModesCallback")]), + Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK2, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "FlipToGDISurface", []), + Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), + Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), + Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), + Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpGDIDDSSurface")]), + Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), + Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), + Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), + Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), + Method(DDRESULT, "RestoreDisplayMode", []), + Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), + Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP"), (DWORD, "dwRefreshRate"), (DirectDrawSetDisplayModeFlags, "dwFlags")]), + Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "GetAvailableVidMem", [(LPDDSCAPS2, "lpDDSCaps"), Out(LPDWORD, "lpdwTotal"), Out(LPDWORD, "lpdwFree")]), + Method(DDRESULT, "GetSurfaceFromDC", [(HDC, "hdc"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lpDDSurface")]), + Method(DDRESULT, "RestoreAllSurfaces", []), + Method(DDRESULT, "TestCooperativeLevel", []), + Method(DDRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER, "lpDDDI"), (DirectDrawGetDeviceIdentifierFlags, "dwFlags")]), +] + +IDirectDraw7.methods += [ + Method(DDRESULT, "Compact", []), + Method(DDRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreatePalette", [(DirectDrawPaletteCapsFlags, "dwFlags"), (LPPALETTEENTRY, "lpDDColorArray"), Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "CreateSurface", [(LPDDSURFACEDESC2, "lpDDSurfaceDesc"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDDSurface"), (Pointer(IUnknown), "pUnkOuter")]), + Method(DDRESULT, "DuplicateSurface", [(LPDIRECTDRAWSURFACE7, "lpDDSurface"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDupDDSurface")]), + Method(DDRESULT, "EnumDisplayModes", [(DirectDrawEnumDisplayModesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMMODESCALLBACK2, "lpEnumModesCallback")]), + Method(DDRESULT, "EnumSurfaces", [(DirectDrawEnumSurfacesFlags, "dwFlags"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK7, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "FlipToGDISurface", []), + Method(DDRESULT, "GetCaps", [Out(LPDDCAPS, "lpDDDriverCaps"), Out(LPDDCAPS, "lpDDHELCaps")]), + Method(DDRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), + Method(DDRESULT, "GetFourCCCodes", [Out(LPDWORD, "lpNumCodes"), Out(LPDWORD, "lpCodes")]), + Method(DDRESULT, "GetGDISurface", [Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpGDIDDSSurface")]), + Method(DDRESULT, "GetMonitorFrequency", [Out(LPDWORD, "lpdwFrequency")]), + Method(DDRESULT, "GetScanLine", [Out(LPDWORD, "lpdwScanLine")]), + Method(DDRESULT, "GetVerticalBlankStatus", [Out(LPBOOL, "lpbIsInVB")]), + Method(DDRESULT, "Initialize", [(Pointer(GUID), "lpGUID")]), + Method(DDRESULT, "RestoreDisplayMode", []), + Method(DDRESULT, "SetCooperativeLevel", [(HWND, "hWnd"), (DirectDrawSetCooperativeLevelFlags, "dwFlags")]), + Method(DDRESULT, "SetDisplayMode", [(DWORD, "dwWidth"), (DWORD, "dwHeight"), (DWORD, "dwBPP"), (DWORD, "dwRefreshRate"), (DirectDrawSetDisplayModeFlags, "dwFlags")]), + Method(DDRESULT, "WaitForVerticalBlank", [(DirectDrawWaitForVerticalBlankFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "GetAvailableVidMem", [(LPDDSCAPS2, "lpDDSCaps"), Out(LPDWORD, "lpdwTotal"), Out(LPDWORD, "lpdwFree")]), + Method(DDRESULT, "GetSurfaceFromDC", [(HDC, "hdc"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lpDDSurface")]), + Method(DDRESULT, "RestoreAllSurfaces", []), + Method(DDRESULT, "TestCooperativeLevel", []), + Method(DDRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER2, "lpDDDI"), (DirectDrawGetDeviceIdentifierFlags, "dwFlags")]), + Method(DDRESULT, "StartModeTest", [(LPSIZE, "lpModesToTest"), (DWORD, "dwNumEntries"), (DirectDrawStartModeTestFlags, "dwFlags")]), + Method(DDRESULT, "EvaluateMode", [(DirectDrawEvaluateModeFlags, "dwFlags"), Out(Pointer(DWORD), "pSecondsUntilTimeout")]), +] + +IDirectDrawPalette.methods += [ + Method(DDRESULT, "GetCaps", [Out(Pointer(DirectDrawPaletteCapsFlags), "lpdwCaps")]), + Method(DDRESULT, "GetEntries", [(DWORD, "dwFlags"), (DWORD, "dwBase"), (DWORD, "dwNumEntries"), Out(LPPALETTEENTRY, "lpEntries")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (DWORD, "dwFlags"), (LPPALETTEENTRY, "lpDDColorTable")]), + Method(DDRESULT, "SetEntries", [(DWORD, "dwFlags"), (DWORD, "dwStartingEntry"), (DWORD, "dwCount"), (LPPALETTEENTRY, "lpEntries")]), +] + +IDirectDrawClipper.methods += [ + Method(DDRESULT, "GetClipList", [(LPRECT, "lpRect"), (LPRGNDATA, "lpClipList"), Out(LPDWORD, "lpdwSize")]), + Method(DDRESULT, "GetHWnd", [Out(Pointer(HWND), "hWnd")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (DWORD, "dwFlags")]), + Method(DDRESULT, "IsClipListChanged", [Out(Pointer(BOOL), "lpbChanged")]), + Method(DDRESULT, "SetClipList", [(LPRGNDATA, "lpClipList"), (DWORD, "dwFlags")]), + Method(DDRESULT, "SetHWnd", [(DWORD, "dwFlags"), (HWND, "hWnd")]), +] + + +IDirectDrawSurface.methods += [ + Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE, "lpDDSAttachedSurface")]), + Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), + Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), + Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), + Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), + Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE, "lpDDSurface")]), + Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpfnCallback")]), + Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), + Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDAttachedSurface")]), + Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), + Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS, "lpDDSCaps")]), + Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), + Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), + Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), + Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), + Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), + Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), + Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "IsLost", []), + Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), + Method(DDRESULT, "Restore", []), + Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), + Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), + Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), + Method(DDRESULT, "Unlock", [(LPVOID, "lp")]), + Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), + Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), + Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE, "lpDDSReference")]), +] + +IDirectDrawSurface2.methods += [ + Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE2, "lpDDSAttachedSurface")]), + Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), + Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE2, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), + Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), + Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE2, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), + Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE2, "lpDDSurface")]), + Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpfnCallback")]), + Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE2, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), + Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE2), "lplpDDAttachedSurface")]), + Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), + Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS, "lpDDSCaps")]), + Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), + Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), + Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), + Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), + Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), + Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), + Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "IsLost", []), + Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), + Method(DDRESULT, "Restore", []), + Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), + Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), + Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), + Method(DDRESULT, "Unlock", [(LPVOID, "lp")]), + Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE2, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), + Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), + Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE2, "lpDDSReference")]), + Method(DDRESULT, "GetDDInterface", [Out(Pointer(IUnknown), "lplpDD")]), + Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), +] + +IDirectDrawSurface3.methods += [ + Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE3, "lpDDSAttachedSurface")]), + Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), + Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE3, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), + Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), + Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE3, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), + Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE3, "lpDDSurface")]), + Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK, "lpfnCallback")]), + Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE3, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), + Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE3), "lplpDDAttachedSurface")]), + Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), + Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS, "lpDDSCaps")]), + Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), + Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), + Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), + Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), + Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), + Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), + Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC, "lpDDSurfaceDesc")]), + Method(DDRESULT, "IsLost", []), + Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), + Method(DDRESULT, "Restore", []), + Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), + Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), + Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), + Method(DDRESULT, "Unlock", [(LPVOID, "lp")]), + Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE3, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), + Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), + Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE3, "lpDDSReference")]), + Method(DDRESULT, "GetDDInterface", [Out(Pointer(IUnknown), "lplpDD")]), + Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "SetSurfaceDesc", [(LPDDSURFACEDESC, "lpDDSD"), (DWORD, "dwFlags")]), +] + +IDirectDrawSurface4.methods += [ + Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE4, "lpDDSAttachedSurface")]), + Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), + Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE4, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), + Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), + Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE4, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), + Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE4, "lpDDSurface")]), + Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK2, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK2, "lpfnCallback")]), + Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE4, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), + Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS2, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDAttachedSurface")]), + Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), + Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS2, "lpDDSCaps")]), + Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), + Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), + Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), + Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), + Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), + Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), + Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), + Method(DDRESULT, "IsLost", []), + Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), + Method(DDRESULT, "Restore", []), + Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), + Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), + Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), + Method(DDRESULT, "Unlock", [(LPRECT, "lpRect")]), + Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE4, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), + Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), + Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE4, "lpDDSReference")]), + Method(DDRESULT, "GetDDInterface", [Out(Pointer(LPVOID), "lplpDD")]), + Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "SetSurfaceDesc", [(LPDDSURFACEDESC2, "lpDDSD"), (DWORD, "dwFlags")]), + Method(DDRESULT, "SetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), (DWORD, "cbSize"), (DWORD, "dwFlags")]), + Method(DDRESULT, "GetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), Out(LPDWORD, "lpcbBufferSize")]), + Method(DDRESULT, "FreePrivateData", [(REFGUID, "guidTag")]), + Method(DDRESULT, "GetUniquenessValue", [Out(LPDWORD, "lpValue")]), + Method(DDRESULT, "ChangeUniquenessValue", []), +] + +IDirectDrawSurface7.methods += [ + Method(DDRESULT, "AddAttachedSurface", [(LPDIRECTDRAWSURFACE7, "lpDDSAttachedSurface")]), + Method(DDRESULT, "AddOverlayDirtyRect", [(LPRECT, "lpRect")]), + Method(DDRESULT, "Blt", [(LPRECT, "lpDestRect"), (LPDIRECTDRAWSURFACE7, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DirectDrawBltFlags, "dwFlags"), (LPDDBLTFX, "lpDDBltFx")]), + Method(DDRESULT, "BltBatch", [(LPDDBLTBATCH, "lpDDBltBatch"), (DWORD, "dwCount"), (DWORD, "dwFlags")]), + Method(DDRESULT, "BltFast", [(DWORD, "dwX"), (DWORD, "dwY"), (LPDIRECTDRAWSURFACE7, "lpDDSrcSurface"), (LPRECT, "lpSrcRect"), (DWORD, "dwTrans")]), + Method(DDRESULT, "DeleteAttachedSurface", [(DWORD, "dwFlags"), (LPDIRECTDRAWSURFACE7, "lpDDSurface")]), + Method(DDRESULT, "EnumAttachedSurfaces", [(LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK7, "lpEnumSurfacesCallback")]), + Method(DDRESULT, "EnumOverlayZOrders", [(DirectDrawEnumOverlayZOrderFlags, "dwFlags"), (LPVOID, "lpContext"), (LPDDENUMSURFACESCALLBACK7, "lpfnCallback")]), + Method(DDRESULT, "Flip", [(LPDIRECTDRAWSURFACE7, "lpDDSurfaceTargetOverride"), (DirectDrawFlipFlags, "dwFlags")]), + Method(DDRESULT, "GetAttachedSurface", [(LPDDSCAPS2, "lpDDSCaps"), Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDDAttachedSurface")]), + Method(DDRESULT, "GetBltStatus", [(DirectDrawGetBltStatusFlags, "dwFlags")]), + Method(DDRESULT, "GetCaps", [Out(LPDDSCAPS2, "lpDDSCaps")]), + Method(DDRESULT, "GetClipper", [Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper")]), + Method(DDRESULT, "GetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "GetDC", [Out(Pointer(HDC), "phDC")]), + Method(DDRESULT, "GetFlipStatus", [(DWORD, "dwFlags")]), + Method(DDRESULT, "GetOverlayPosition", [Out(LPLONG, "lplX"), Out(LPLONG, "lplY")]), + Method(DDRESULT, "GetPalette", [Out(Pointer(LPDIRECTDRAWPALETTE), "lplpDDPalette")]), + Method(DDRESULT, "GetPixelFormat", [Out(LPDDPIXELFORMAT, "lpDDPixelFormat")]), + Method(DDRESULT, "GetSurfaceDesc", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), + Method(DDRESULT, "Initialize", [(LPDIRECTDRAW, "lpDD"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc")]), + Method(DDRESULT, "IsLost", []), + Method(DDRESULT, "Lock", [(LPRECT, "lpDestRect"), (LPDDSURFACEDESC2, "lpDDSurfaceDesc"), (DirectDrawSurfaceLockFlags, "dwFlags"), (HANDLE, "hEvent")]), + Method(DDRESULT, "ReleaseDC", [(HDC, "hDC")]), + Method(DDRESULT, "Restore", []), + Method(DDRESULT, "SetClipper", [(LPDIRECTDRAWCLIPPER, "lpDDClipper")]), + Method(DDRESULT, "SetColorKey", [(DirectDrawSurfaceSetGetColorKeyFlags, "dwFlags"), Out(LPDDCOLORKEY, "lpDDColorKey")]), + Method(DDRESULT, "SetOverlayPosition", [(LONG, "lX"), (LONG, "lY")]), + Method(DDRESULT, "SetPalette", [(LPDIRECTDRAWPALETTE, "lpDDPalette")]), + Method(DDRESULT, "Unlock", [(LPRECT, "lpRect")]), + Method(DDRESULT, "UpdateOverlay", [(LPRECT, "lpSrcRect"), (LPDIRECTDRAWSURFACE7, "lpDDDestSurface"), (LPRECT, "lpDestRect"), (DirectDrawSurfaceOverlayFlags, "dwFlags"), (LPDDOVERLAYFX, "lpDDOverlayFx")]), + Method(DDRESULT, "UpdateOverlayDisplay", [(DWORD, "dwFlags")]), + Method(DDRESULT, "UpdateOverlayZOrder", [(DirectDrawUpdateOverlayZOrderFlags, "dwFlags"), (LPDIRECTDRAWSURFACE7, "lpDDSReference")]), + Method(DDRESULT, "GetDDInterface", [Out(Pointer(LPVOID), "lplpDD")]), + Method(DDRESULT, "PageLock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "PageUnlock", [(DWORD, "dwFlags")]), + Method(DDRESULT, "SetSurfaceDesc", [(LPDDSURFACEDESC2, "lpDDSD"), (DWORD, "dwFlags")]), + Method(DDRESULT, "SetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), (DWORD, "cbSize"), (DWORD, "dwFlags")]), + Method(DDRESULT, "GetPrivateData", [(REFGUID, "guidTag"), (LPVOID, "lpData"), Out(LPDWORD, "lpcbBufferSize")]), + Method(DDRESULT, "FreePrivateData", [(REFGUID, "guidTag")]), + Method(DDRESULT, "GetUniquenessValue", [Out(LPDWORD, "lpValue")]), + Method(DDRESULT, "ChangeUniquenessValue", []), + Method(DDRESULT, "SetPriority", [(DWORD, "dwPriority")]), + Method(DDRESULT, "GetPriority", [Out(LPDWORD, "lpdwPriority")]), + Method(DDRESULT, "SetLOD", [(DWORD, "dwMaxLOD")]), + Method(DDRESULT, "GetLOD", [Out(LPDWORD, "lpdwMaxLOD")]), +] + +IDirectDrawColorControl.methods += [ + Method(DDRESULT, "GetColorControls", [(LPDDCOLORCONTROL, "lpColorControl")]), + Method(DDRESULT, "SetColorControls", [(LPDDCOLORCONTROL, "lpColorControl")]), +] + +IDirectDrawGammaControl.methods += [ + Method(DDRESULT, "GetGammaRamp", [(DWORD, "dwFlags"), Out(LPDDGAMMARAMP, "lpRampData")]), + Method(DDRESULT, "SetGammaRamp", [(DirectDrawSetGammaRampFlags, "dwFlags"), (LPDDGAMMARAMP, "lpRampData")]), +] + +LPDDENUMCALLBACKA = FunctionPointer(BOOL, "LPDDENUMCALLBACKA", [Pointer(GUID), LPSTR, LPSTR, LPVOID]) +LPDDENUMCALLBACKW = FunctionPointer(BOOL, "LPDDENUMCALLBACKW", [Pointer(GUID), LPWSTR, LPWSTR, LPVOID]) +LPDDENUMCALLBACKEXA = FunctionPointer(BOOL, "LPDDENUMCALLBACKEXA", [Pointer(GUID), LPSTR, LPSTR, LPVOID, HMONITOR]) +LPDDENUMCALLBACKEXW = FunctionPointer(BOOL, "LPDDENUMCALLBACKEXW", [Pointer(GUID), LPWSTR, LPWSTR, LPVOID, HMONITOR]) + +DDENUM = Flags(DWORD, [ + "DDENUM_ATTACHEDSECONDARYDEVICES", + "DDENUM_DETACHEDSECONDARYDEVICES", + "DDENUM_NONDISPLAYDEVICES", +]) + +DDCREATE = Flags(DWORD, [ + "DDCREATE_HARDWAREONLY", + "DDCREATE_EMULATIONONLY", +]) + +ddraw = API("ddraw") +ddraw.add_functions([ + StdFunction(HRESULT, "DirectDrawEnumerateW", [(LPDDENUMCALLBACKW, "lpCallback"), (LPVOID, "lpContext")]), + StdFunction(HRESULT, "DirectDrawEnumerateA", [(LPDDENUMCALLBACKA, "lpCallback"), (LPVOID, "lpContext")]), + StdFunction(HRESULT, "DirectDrawEnumerateExW", [(LPDDENUMCALLBACKEXW, "lpCallback"), (LPVOID, "lpContext"), (DDENUM, "dwFlags")]), + StdFunction(HRESULT, "DirectDrawEnumerateExA", [(LPDDENUMCALLBACKEXA, "lpCallback"), (LPVOID, "lpContext"), (DDENUM, "dwFlags")]), + StdFunction(HRESULT, "DirectDrawCreate", [(Pointer(GUID), "lpGUID"), Out(Pointer(LPDIRECTDRAW), "lplpDD"), (Pointer(IUnknown), "pUnkOuter")]), + StdFunction(HRESULT, "DirectDrawCreateEx", [(Pointer(GUID), "lpGuid"), Out(Pointer(LPVOID), "lplpDD"), (REFIID, "iid"), (Pointer(IUnknown), "pUnkOuter")]), + StdFunction(HRESULT, "DirectDrawCreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]), + StdFunction(Void, "AcquireDDThreadLock", []), + StdFunction(Void, "ReleaseDDThreadLock", []), + StdFunction(DWORD, "D3DParseUnknownCommand", [(LPVOID, "lpCmd"), Out(Pointer(LPVOID), "lpRetCmd")]), + StdFunction(HRESULT, "DllCanUnloadNow", []), + StdFunction(HRESULT, "DllGetClassObject", [(REFCLSID, "rclsid"), (REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppv")]), + + # XXX + StdFunction(HRESULT, "CompleteCreateSysmemSurface", [Int, Int]), + StdFunction(HRESULT, "GetSurfaceFromDC", [Int, Int, Int]), + StdFunction(HRESULT, "DDInternalLock", [Int, Int]), + StdFunction(HRESULT, "DDInternalUnlock", [Int]), + StdFunction(HRESULT, "DSoundHelp", [HWND, Int, Int]), + StdFunction(HRESULT, "GetDDSurfaceLocal", [Int, Int, Int]), + StdFunction(HANDLE, "GetOLEThunkData", [Int]), + StdFunction(HRESULT, "RegisterSpecialCase", [Int, Int, Int, Int]), + StdFunction(HRESULT, "DDGetAttachedSurfaceLcl", [Int, Int, Int]), + + # TODO: SetAppCompatData +]) + diff --git a/specs/debug.py b/specs/debug.py new file mode 100644 index 0000000..0a00474 --- /dev/null +++ b/specs/debug.py @@ -0,0 +1,61 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +'''Debugging utilities.''' + + +import sys +import traceback +import inspect + + +def excepthook(type, value, tb): + """ + Automatically start the debugger on an exception. + + See also: + - http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65287 + """ + + if hasattr(sys, 'ps1') \ + or not (sys.stdin.isatty() and sys.stdout.isatty() and sys.stderr.isatty()) \ + or type == SyntaxError or type == KeyboardInterrupt: + # we are in interactive mode or we don't have a tty-like + # device, so we call the default hook + oldexcepthook(type, value, tb) + else: + import traceback, pdb + # we are NOT in interactive mode, print the exception... + traceback.print_exception(type, value, tb) + print + # ...then start the debugger in post-mortem mode. + pdb.pm() + +oldexcepthook, sys.excepthook = sys.excepthook, excepthook + + +def dump(var): + sys.stderr.write(repr(var) + '\n') + diff --git a/specs/dxgi.py b/specs/dxgi.py new file mode 100644 index 0000000..e77c0b5 --- /dev/null +++ b/specs/dxgi.py @@ -0,0 +1,183 @@ +########################################################################## +# +# Copyright 2011 Jose Fonseca +# 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 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. +# +##########################################################################/ + +from dxgitype import * + +HMONITOR = Alias("HMONITOR", HANDLE) +_LUID = Struct("_LUID", [ + (DWORD, "LowPart"), + (LONG, "HighPart"), +]) + +DXGI_USAGE = Alias("DXGI_USAGE", UINT) +DXGI_SWAP_EFFECT = Enum("DXGI_SWAP_EFFECT", [ + "DXGI_SWAP_EFFECT_DISCARD", + "DXGI_SWAP_EFFECT_SEQUENTIAL", +]) + +DXGI_RESIDENCY = Enum("DXGI_RESIDENCY", [ + "DXGI_RESIDENCY_FULLY_RESIDENT", + "DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY", + "DXGI_RESIDENCY_EVICTED_TO_DISK", +]) + +DXGI_SURFACE_DESC = Struct("DXGI_SURFACE_DESC", [ + (UINT, "Width"), + (UINT, "Height"), + (DXGI_FORMAT, "Format"), + (DXGI_SAMPLE_DESC, "SampleDesc"), +]) + +DXGI_MAPPED_RECT = Struct("DXGI_MAPPED_RECT", [ + (INT, "Pitch"), + (OpaquePointer(BYTE), "pBits"), +]) + +DXGI_OUTPUT_DESC = Struct("DXGI_OUTPUT_DESC", [ + (Array(WCHAR, "32"), "DeviceName"), + (RECT, "DesktopCoordinates"), + (BOOL, "AttachedToDesktop"), + (DXGI_MODE_ROTATION, "Rotation"), + (HMONITOR, "Monitor"), +]) + +DXGI_FRAME_STATISTICS = Struct("DXGI_FRAME_STATISTICS", [ + (UINT, "PresentCount"), + (UINT, "PresentRefreshCount"), + (UINT, "SyncRefreshCount"), + (LARGE_INTEGER, "SyncQPCTime"), + (LARGE_INTEGER, "SyncGPUTime"), +]) + +DXGI_ADAPTER_DESC = Struct("DXGI_ADAPTER_DESC", [ + (Array(WCHAR, "128"), "Description"), + (UINT, "VendorId"), + (UINT, "DeviceId"), + (UINT, "SubSysId"), + (UINT, "Revision"), + (SIZE_T, "DedicatedVideoMemory"), + (SIZE_T, "DedicatedSystemMemory"), + (SIZE_T, "SharedSystemMemory"), + (LUID, "AdapterLuid"), +]) + +DXGI_SWAP_CHAIN_FLAG = Enum("DXGI_SWAP_CHAIN_FLAG", [ + "DXGI_SWAP_CHAIN_FLAG_NONPREROTATED", + "DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH", + "DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE", +]) + +DXGI_SWAP_CHAIN_DESC = Struct("DXGI_SWAP_CHAIN_DESC", [ + (DXGI_MODE_DESC, "BufferDesc"), + (DXGI_SAMPLE_DESC, "SampleDesc"), + (DXGI_USAGE, "BufferUsage"), + (UINT, "BufferCount"), + (HWND, "OutputWindow"), + (BOOL, "Windowed"), + (DXGI_SWAP_EFFECT, "SwapEffect"), + (UINT, "Flags"), +]) + +DXGI_SHARED_RESOURCE = Struct("DXGI_SHARED_RESOURCE", [ + (HANDLE, "Handle"), +]) + +IDXGIObject = Interface("IDXGIObject", IUnknown) +IDXGIObject.methods += [ + Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "data_size"), (OpaquePointer(Const(Void)), "data")]), + Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "object")]), + Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(OpaquePointer(UINT), "data_size"), Out(OpaquePointer(Void), "data")]), + Method(HRESULT, "GetParent", [(REFIID, "riid"), Out(OpaquePointer(OpaquePointer(Void)), "parent")]), +] + +IDXGIDeviceSubObject = Interface("IDXGIDeviceSubObject", IDXGIObject) +IDXGIDeviceSubObject.methods += [ + Method(HRESULT, "GetDevice", [(REFIID, "riid"), Out(OpaquePointer(OpaquePointer(Void)), "device")]), +] + +IDXGISurface = Interface("IDXGISurface", IDXGIDeviceSubObject) +IDXGISurface.methods += [ + Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_SURFACE_DESC), "desc")]), + Method(HRESULT, "Map", [Out(OpaquePointer(DXGI_MAPPED_RECT), "mapped_rect"), (UINT, "flags")]), + Method(HRESULT, "Unmap", []), +] + +IDXGIOutput = Interface("IDXGIOutput", IDXGIObject) +IDXGIOutput.methods += [ + Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_OUTPUT_DESC), "desc")]), + Method(HRESULT, "GetDisplayModeList", [(DXGI_FORMAT, "format"), (UINT, "flags"), Out(OpaquePointer(UINT), "mode_count"), Out(OpaquePointer(DXGI_MODE_DESC), "desc")]), + Method(HRESULT, "FindClosestMatchingMode", [(Const(OpaquePointer(DXGI_MODE_DESC)), "mode"), Out(OpaquePointer(DXGI_MODE_DESC), "closest_match"), (OpaquePointer(IUnknown), "device")]), + Method(HRESULT, "WaitForVBlank", []), + Method(HRESULT, "TakeOwnership", [(OpaquePointer(IUnknown), "device"), (BOOL, "exclusive")]), + Method(Void, "ReleaseOwnership", []), + Method(HRESULT, "GetGammaControlCapabilities", [Out(OpaquePointer(DXGI_GAMMA_CONTROL_CAPABILITIES), "gamma_caps")]), + Method(HRESULT, "SetGammaControl", [(Const(OpaquePointer(DXGI_GAMMA_CONTROL)), "gamma_control")]), + Method(HRESULT, "GetGammaControl", [Out(OpaquePointer(DXGI_GAMMA_CONTROL), "gamma_control")]), + Method(HRESULT, "SetDisplaySurface", [(OpaquePointer(IDXGISurface), "surface")]), + Method(HRESULT, "GetDisplaySurfaceData", [(OpaquePointer(IDXGISurface), "surface")]), + Method(HRESULT, "GetFrameStatistics", [Out(OpaquePointer(DXGI_FRAME_STATISTICS), "stats")]), +] + +IDXGIAdapter = Interface("IDXGIAdapter", IDXGIObject) +IDXGIAdapter.methods += [ + Method(HRESULT, "EnumOutputs", [(UINT, "output_idx"), Out(OpaquePointer(OpaquePointer(IDXGIOutput)), "output")]), + Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_ADAPTER_DESC), "desc")]), + Method(HRESULT, "CheckInterfaceSupport", [(REFGUID, "guid"), Out(OpaquePointer(LARGE_INTEGER), "umd_version")]), +] + +IDXGISwapChain = Interface("IDXGISwapChain", IDXGIDeviceSubObject) +IDXGISwapChain.methods += [ + Method(HRESULT, "Present", [(UINT, "sync_interval"), (UINT, "flags")]), + Method(HRESULT, "GetBuffer", [(UINT, "buffer_idx"), (REFIID, "riid"), Out(OpaquePointer(OpaquePointer(Void)), "surface")]), + Method(HRESULT, "SetFullscreenState", [(BOOL, "fullscreen"), (OpaquePointer(IDXGIOutput), "target")]), + Method(HRESULT, "GetFullscreenState", [Out(OpaquePointer(BOOL), "fullscreen"), Out(OpaquePointer(OpaquePointer(IDXGIOutput)), "target")]), + Method(HRESULT, "GetDesc", [Out(OpaquePointer(DXGI_SWAP_CHAIN_DESC), "desc")]), + Method(HRESULT, "ResizeBuffers", [(UINT, "buffer_count"), (UINT, "width"), (UINT, "height"), (DXGI_FORMAT, "format"), (UINT, "flags")]), + Method(HRESULT, "ResizeTarget", [(OpaquePointer(Const(DXGI_MODE_DESC)), "target_mode_desc")]), + Method(HRESULT, "GetContainingOutput", [Out(OpaquePointer(OpaquePointer(IDXGIOutput)), "output")]), + Method(HRESULT, "GetFrameStatistics", [Out(OpaquePointer(DXGI_FRAME_STATISTICS), "stats")]), + Method(HRESULT, "GetLastPresentCount", [Out(OpaquePointer(UINT), "last_present_count")]), +] + +IDXGIFactory = Interface("IDXGIFactory", IDXGIObject) +IDXGIFactory.methods += [ + Method(HRESULT, "EnumAdapters", [(UINT, "adapter_idx"), Out(OpaquePointer(OpaquePointer(IDXGIAdapter)), "adapter")]), + Method(HRESULT, "MakeWindowAssociation", [(HWND, "window"), (UINT, "flags")]), + Method(HRESULT, "GetWindowAssociation", [(OpaquePointer(HWND), "window")]), + Method(HRESULT, "CreateSwapChain", [(OpaquePointer(IUnknown), "device"), (OpaquePointer(DXGI_SWAP_CHAIN_DESC), "desc"), Out(OpaquePointer(OpaquePointer(IDXGISwapChain)), "swapchain")]), + Method(HRESULT, "CreateSoftwareAdapter", [(HMODULE, "swrast"), Out(OpaquePointer(OpaquePointer(IDXGIAdapter)), "adapter")]), +] + +#StdFunction(HRESULT, "CreateDXGIFactory", [(REFIID, "riid"), (OpaquePointer(OpaquePointer(Void)), "factory")]), + +IDXGIDevice = Interface("IDXGIDevice", IDXGIObject) +IDXGIDevice.methods += [ + Method(HRESULT, "GetAdapter", [Out(OpaquePointer(OpaquePointer(IDXGIAdapter)), "adapter")]), + Method(HRESULT, "CreateSurface", [(Const(OpaquePointer(DXGI_SURFACE_DESC)), "desc"), (UINT, "surface_count"), (DXGI_USAGE, "usage"), (Const(OpaquePointer(DXGI_SHARED_RESOURCE)), "shared_resource"), Out(OpaquePointer(OpaquePointer(IDXGISurface)), "surface")]), + Method(HRESULT, "QueryResourceResidency", [(OpaquePointer(Const(OpaquePointer(IUnknown))), "resources"), Out(OpaquePointer(DXGI_RESIDENCY), "residency"), (UINT, "resource_count")]), + Method(HRESULT, "SetGPUThreadPriority", [(INT, "priority")]), + Method(HRESULT, "GetGPUThreadPriority", [Out(OpaquePointer(INT), "priority")]), +] + diff --git a/specs/dxgiformat.py b/specs/dxgiformat.py new file mode 100644 index 0000000..1d00f64 --- /dev/null +++ b/specs/dxgiformat.py @@ -0,0 +1,107 @@ + +from winapi import * + +DXGI_FORMAT = Enum("DXGI_FORMAT", [ + "DXGI_FORMAT_UNKNOWN", + "DXGI_FORMAT_R32G32B32A32_TYPELESS", + "DXGI_FORMAT_R32G32B32A32_FLOAT", + "DXGI_FORMAT_R32G32B32A32_UINT", + "DXGI_FORMAT_R32G32B32A32_SINT", + "DXGI_FORMAT_R32G32B32_TYPELESS", + "DXGI_FORMAT_R32G32B32_FLOAT", + "DXGI_FORMAT_R32G32B32_UINT", + "DXGI_FORMAT_R32G32B32_SINT", + "DXGI_FORMAT_R16G16B16A16_TYPELESS", + "DXGI_FORMAT_R16G16B16A16_FLOAT", + "DXGI_FORMAT_R16G16B16A16_UNORM", + "DXGI_FORMAT_R16G16B16A16_UINT", + "DXGI_FORMAT_R16G16B16A16_SNORM", + "DXGI_FORMAT_R16G16B16A16_SINT", + "DXGI_FORMAT_R32G32_TYPELESS", + "DXGI_FORMAT_R32G32_FLOAT", + "DXGI_FORMAT_R32G32_UINT", + "DXGI_FORMAT_R32G32_SINT", + "DXGI_FORMAT_R32G8X24_TYPELESS", + "DXGI_FORMAT_D32_FLOAT_S8X24_UINT", + "DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS", + "DXGI_FORMAT_X32_TYPELESS_G8X24_UINT", + "DXGI_FORMAT_R10G10B10A2_TYPELESS", + "DXGI_FORMAT_R10G10B10A2_UNORM", + "DXGI_FORMAT_R10G10B10A2_UINT", + "DXGI_FORMAT_R11G11B10_FLOAT", + "DXGI_FORMAT_R8G8B8A8_TYPELESS", + "DXGI_FORMAT_R8G8B8A8_UNORM", + "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB", + "DXGI_FORMAT_R8G8B8A8_UINT", + "DXGI_FORMAT_R8G8B8A8_SNORM", + "DXGI_FORMAT_R8G8B8A8_SINT", + "DXGI_FORMAT_R16G16_TYPELESS", + "DXGI_FORMAT_R16G16_FLOAT", + "DXGI_FORMAT_R16G16_UNORM", + "DXGI_FORMAT_R16G16_UINT", + "DXGI_FORMAT_R16G16_SNORM", + "DXGI_FORMAT_R16G16_SINT", + "DXGI_FORMAT_R32_TYPELESS", + "DXGI_FORMAT_D32_FLOAT", + "DXGI_FORMAT_R32_FLOAT", + "DXGI_FORMAT_R32_UINT", + "DXGI_FORMAT_R32_SINT", + "DXGI_FORMAT_R24G8_TYPELESS", + "DXGI_FORMAT_D24_UNORM_S8_UINT", + "DXGI_FORMAT_R24_UNORM_X8_TYPELESS", + "DXGI_FORMAT_X24_TYPELESS_G8_UINT", + "DXGI_FORMAT_R8G8_TYPELESS", + "DXGI_FORMAT_R8G8_UNORM", + "DXGI_FORMAT_R8G8_UINT", + "DXGI_FORMAT_R8G8_SNORM", + "DXGI_FORMAT_R8G8_SINT", + "DXGI_FORMAT_R16_TYPELESS", + "DXGI_FORMAT_R16_FLOAT", + "DXGI_FORMAT_D16_UNORM", + "DXGI_FORMAT_R16_UNORM", + "DXGI_FORMAT_R16_UINT", + "DXGI_FORMAT_R16_SNORM", + "DXGI_FORMAT_R16_SINT", + "DXGI_FORMAT_R8_TYPELESS", + "DXGI_FORMAT_R8_UNORM", + "DXGI_FORMAT_R8_UINT", + "DXGI_FORMAT_R8_SNORM", + "DXGI_FORMAT_R8_SINT", + "DXGI_FORMAT_A8_UNORM", + "DXGI_FORMAT_R1_UNORM", + "DXGI_FORMAT_R9G9B9E5_SHAREDEXP", + "DXGI_FORMAT_R8G8_B8G8_UNORM", + "DXGI_FORMAT_G8R8_G8B8_UNORM", + "DXGI_FORMAT_BC1_TYPELESS", + "DXGI_FORMAT_BC1_UNORM", + "DXGI_FORMAT_BC1_UNORM_SRGB", + "DXGI_FORMAT_BC2_TYPELESS", + "DXGI_FORMAT_BC2_UNORM", + "DXGI_FORMAT_BC2_UNORM_SRGB", + "DXGI_FORMAT_BC3_TYPELESS", + "DXGI_FORMAT_BC3_UNORM", + "DXGI_FORMAT_BC3_UNORM_SRGB", + "DXGI_FORMAT_BC4_TYPELESS", + "DXGI_FORMAT_BC4_UNORM", + "DXGI_FORMAT_BC4_SNORM", + "DXGI_FORMAT_BC5_TYPELESS", + "DXGI_FORMAT_BC5_UNORM", + "DXGI_FORMAT_BC5_SNORM", + "DXGI_FORMAT_B5G6R5_UNORM", + "DXGI_FORMAT_B5G5R5A1_UNORM", + "DXGI_FORMAT_B8G8R8A8_UNORM", + "DXGI_FORMAT_B8G8R8X8_UNORM", + "DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM", + "DXGI_FORMAT_B8G8R8A8_TYPELESS", + "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB", + "DXGI_FORMAT_B8G8R8X8_TYPELESS", + "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB", + "DXGI_FORMAT_BC6H_TYPELESS", + "DXGI_FORMAT_BC6H_UF16", + "DXGI_FORMAT_BC6H_SF16", + "DXGI_FORMAT_BC7_TYPELESS", + "DXGI_FORMAT_BC7_UNORM", + "DXGI_FORMAT_BC7_UNORM_SRGB", + "DXGI_FORMAT_FORCE_UINT", +]) + diff --git a/specs/dxgitype.py b/specs/dxgitype.py new file mode 100644 index 0000000..31cadde --- /dev/null +++ b/specs/dxgitype.py @@ -0,0 +1,87 @@ +########################################################################## +# +# Copyright 2011 Jose Fonseca +# 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 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. +# +##########################################################################/ + +from dxgiformat import * + +DXGI_RGB = Struct("DXGI_RGB", [ + (Float, "Red"), + (Float, "Green"), + (Float, "Blue"), +]) + +DXGI_GAMMA_CONTROL = Struct("DXGI_GAMMA_CONTROL", [ + (DXGI_RGB, "Scale"), + (DXGI_RGB, "Offset"), + (Array(DXGI_RGB, "1025"), "GammaCurve"), +]) + +DXGI_GAMMA_CONTROL_CAPABILITIES = Struct("DXGI_GAMMA_CONTROL_CAPABILITIES", [ + (BOOL, "ScaleAndOffsetSupported"), + (Float, "MaxConvertedValue"), + (Float, "MinConvertedValue"), + (UINT, "NumGammaControlPoints"), + (Array(Float, "1025"), "ControlPointPositions"), +]) + +DXGI_RATIONAL = Struct("DXGI_RATIONAL", [ + (UINT, "Numerator"), + (UINT, "Denominator"), +]) + +DXGI_MODE_SCANLINE_ORDER = Enum("DXGI_MODE_SCANLINE_ORDER", [ + "DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED", + "DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE", + "DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST", + "DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST", +]) + +DXGI_MODE_SCALING = Enum("DXGI_MODE_SCALING", [ + "DXGI_MODE_SCALING_UNSPECIFIED", + "DXGI_MODE_SCALING_CENTERED", + "DXGI_MODE_SCALING_STRETCHED", +]) + +DXGI_MODE_ROTATION = Enum("DXGI_MODE_ROTATION", [ + "DXGI_MODE_ROTATION_UNSPECIFIED", + "DXGI_MODE_ROTATION_IDENTITY", + "DXGI_MODE_ROTATION_ROTATE90", + "DXGI_MODE_ROTATION_ROTATE180", + "DXGI_MODE_ROTATION_ROTATE270", +]) + +DXGI_MODE_DESC = Struct("DXGI_MODE_DESC", [ + (UINT, "Width"), + (UINT, "Height"), + (DXGI_RATIONAL, "RefreshRate"), + (DXGI_FORMAT, "Format"), + (DXGI_MODE_SCANLINE_ORDER, "ScanlineOrdering"), + (DXGI_MODE_SCALING, "Scaling"), +]) + +DXGI_SAMPLE_DESC = Struct("DXGI_SAMPLE_DESC", [ + (UINT, "Count"), + (UINT, "Quality"), +]) + diff --git a/specs/glapi.py b/specs/glapi.py new file mode 100644 index 0000000..e5edd99 --- /dev/null +++ b/specs/glapi.py @@ -0,0 +1,2818 @@ +########################################################################## +# +# Copyright 2011 Jose Fonseca +# Copyright 2008-2010 VMware, Inc. +# 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 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. +# +##########################################################################/ + + +"""GL API description. + +Most of these were automatically generated with the apigen/glspec.py script +from Khronos OpenGL spec files, and then manually edited to cover the corner +cases correctly. + +""" + + +from stdapi import * +from gltypes import * +import glparams + + +def GlFunction(*args, **kwargs): + kwargs.setdefault('call', 'APIENTRY') + return Function(*args, **kwargs) + + +glapi = API('GL') + + +glapi.add_functions([ + # GL_VERSION_1_0 + GlFunction(Void, "glCullFace", [(GLenum, "mode")]), + GlFunction(Void, "glFrontFace", [(GLenum, "mode")]), + GlFunction(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]), + GlFunction(Void, "glLineWidth", [(GLfloat, "width")]), + GlFunction(Void, "glPointSize", [(GLfloat, "size")]), + GlFunction(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]), + GlFunction(Void, "glScissor", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glTexParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glTexParameterfv_size(pname)"), "params")]), + GlFunction(Void, "glTexParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glTexParameteriv_size(pname)"), "params")]), + GlFunction(Void, "glTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum_int, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage1D_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum_int, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage2D_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glDrawBuffer", [(GLenum, "mode")]), + GlFunction(Void, "glClear", [(GLbitfield_attrib, "mask")]), + GlFunction(Void, "glClearColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]), + GlFunction(Void, "glClearStencil", [(GLint, "s")]), + GlFunction(Void, "glClearDepth", [(GLclampd, "depth")]), + GlFunction(Void, "glStencilMask", [(GLuint, "mask")]), + GlFunction(Void, "glColorMask", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]), + GlFunction(Void, "glDepthMask", [(GLboolean, "flag")]), + GlFunction(Void, "glDisable", [(GLenum, "cap")]), + GlFunction(Void, "glEnable", [(GLenum, "cap")]), + GlFunction(Void, "glFinish", []), + GlFunction(Void, "glFlush", []), + GlFunction(Void, "glBlendFunc", [(GLenum, "sfactor"), (GLenum, "dfactor")]), + GlFunction(Void, "glLogicOp", [(GLenum, "opcode")]), + GlFunction(Void, "glStencilFunc", [(GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]), + GlFunction(Void, "glStencilOp", [(GLenum, "fail"), (GLenum, "zfail"), (GLenum, "zpass")]), + GlFunction(Void, "glDepthFunc", [(GLenum, "func")]), + GlFunction(Void, "glPixelStoref", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPixelStorei", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glReadBuffer", [(GLenum, "mode")]), + GlFunction(Void, "glReadPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), Out(OpaquePointer(GLvoid), "pixels")]), + GlFunction(Void, "glGetBooleanv", [(GLenum, "pname"), Out(Array(GLboolean, "__glGetBooleanv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetDoublev", [(GLenum, "pname"), Out(Array(GLdouble, "__glGetDoublev_size(pname)"), "params")], sideeffects=False), + GlFunction(GLenum_error, "glGetError", [], sideeffects=False), + GlFunction(Void, "glGetFloatv", [(GLenum, "pname"), Out(Array(GLfloat, "__glGetFloatv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetIntegerv", [(GLenum, "pname"), Out(Array(GLint, "__glGetIntegerv_size(pname)"), "params")], sideeffects=False), + GlFunction(String("const GLubyte *"), "glGetString", [(GLenum, "name")], sideeffects=False), + GlFunction(Void, "glGetTexImage", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaquePointer(GLvoid), "pixels")]), + GlFunction(Void, "glGetTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexParameterfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexLevelParameterfv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexLevelParameterfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexLevelParameteriv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexLevelParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(GLboolean, "glIsEnabled", [(GLenum, "cap")], sideeffects=False), + GlFunction(Void, "glDepthRange", [(GLclampd, "zNear"), (GLclampd, "zFar")]), + GlFunction(Void, "glViewport", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + + # GL_VERSION_1_0_DEPRECATED + GlFunction(Void, "glNewList", [(GLlist, "list"), (GLenum, "mode")]), + GlFunction(Void, "glEndList", []), + GlFunction(Void, "glCallList", [(GLlist, "list")]), + GlFunction(Void, "glCallLists", [(GLsizei, "n"), (GLenum, "type"), (Blob(Const(GLvoid), "__glCallLists_size(n, type)"), "lists")]), + GlFunction(Void, "glDeleteLists", [(GLlist, "list"), (GLsizei, "range")]), + GlFunction(Handle("list", GLuint, "range"), "glGenLists", [(GLsizei, "range")]), + GlFunction(Void, "glListBase", [(GLuint, "base")]), + GlFunction(Void, "glBegin", [(GLenum_mode, "mode")]), + GlFunction(Void, "glBitmap", [(GLsizei, "width"), (GLsizei, "height"), (GLfloat, "xorig"), (GLfloat, "yorig"), (GLfloat, "xmove"), (GLfloat, "ymove"), (Blob(Const(GLubyte), "__glBitmap_size(width, height)"), "bitmap")]), + GlFunction(Void, "glColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]), + GlFunction(Void, "glColor3bv", [(Array(Const(GLbyte), "3"), "v")]), + GlFunction(Void, "glColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]), + GlFunction(Void, "glColor3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]), + GlFunction(Void, "glColor3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]), + GlFunction(Void, "glColor3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]), + GlFunction(Void, "glColor3sv", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]), + GlFunction(Void, "glColor3ubv", [(Array(Const(GLubyte), "3"), "v")]), + GlFunction(Void, "glColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]), + GlFunction(Void, "glColor3uiv", [(Array(Const(GLuint), "3"), "v")]), + GlFunction(Void, "glColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]), + GlFunction(Void, "glColor3usv", [(Array(Const(GLushort), "3"), "v")]), + GlFunction(Void, "glColor4b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue"), (GLbyte, "alpha")]), + GlFunction(Void, "glColor4bv", [(Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glColor4d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue"), (GLdouble, "alpha")]), + GlFunction(Void, "glColor4dv", [(Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glColor4f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]), + GlFunction(Void, "glColor4fv", [(Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glColor4i", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]), + GlFunction(Void, "glColor4iv", [(Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glColor4s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue"), (GLshort, "alpha")]), + GlFunction(Void, "glColor4sv", [(Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glColor4ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue"), (GLubyte, "alpha")]), + GlFunction(Void, "glColor4ubv", [(Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glColor4ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]), + GlFunction(Void, "glColor4uiv", [(Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glColor4us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue"), (GLushort, "alpha")]), + GlFunction(Void, "glColor4usv", [(Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glEdgeFlag", [(GLboolean, "flag")]), + GlFunction(Void, "glEdgeFlagv", [(Pointer(Const(GLboolean)), "flag")]), + GlFunction(Void, "glEnd", []), + GlFunction(Void, "glIndexd", [(GLdouble, "c")]), + GlFunction(Void, "glIndexdv", [(Pointer(Const(GLdouble)), "c")]), + GlFunction(Void, "glIndexf", [(GLfloat, "c")]), + GlFunction(Void, "glIndexfv", [(Pointer(Const(GLfloat)), "c")]), + GlFunction(Void, "glIndexi", [(GLint, "c")]), + GlFunction(Void, "glIndexiv", [(Pointer(Const(GLint)), "c")]), + GlFunction(Void, "glIndexs", [(GLshort, "c")]), + GlFunction(Void, "glIndexsv", [(Pointer(Const(GLshort)), "c")]), + GlFunction(Void, "glNormal3b", [(GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]), + GlFunction(Void, "glNormal3bv", [(Array(Const(GLbyte), "3"), "v")]), + GlFunction(Void, "glNormal3d", [(GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]), + GlFunction(Void, "glNormal3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glNormal3f", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]), + GlFunction(Void, "glNormal3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glNormal3i", [(GLint, "nx"), (GLint, "ny"), (GLint, "nz")]), + GlFunction(Void, "glNormal3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glNormal3s", [(GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]), + GlFunction(Void, "glNormal3sv", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glRasterPos2d", [(GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glRasterPos2dv", [(Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glRasterPos2f", [(GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glRasterPos2fv", [(Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glRasterPos2i", [(GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glRasterPos2iv", [(Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glRasterPos2s", [(GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glRasterPos2sv", [(Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glRasterPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glRasterPos3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glRasterPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glRasterPos3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glRasterPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glRasterPos3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glRasterPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glRasterPos3sv", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glRasterPos4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glRasterPos4dv", [(Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glRasterPos4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glRasterPos4fv", [(Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glRasterPos4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glRasterPos4iv", [(Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glRasterPos4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glRasterPos4sv", [(Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glRectd", [(GLdouble, "x1"), (GLdouble, "y1"), (GLdouble, "x2"), (GLdouble, "y2")]), + GlFunction(Void, "glRectdv", [(Array(Const(GLdouble), "2"), "v1"), (Array(Const(GLdouble), "2"), "v2")]), + GlFunction(Void, "glRectf", [(GLfloat, "x1"), (GLfloat, "y1"), (GLfloat, "x2"), (GLfloat, "y2")]), + GlFunction(Void, "glRectfv", [(Array(Const(GLfloat), "2"), "v1"), (Array(Const(GLfloat), "2"), "v2")]), + GlFunction(Void, "glRecti", [(GLint, "x1"), (GLint, "y1"), (GLint, "x2"), (GLint, "y2")]), + GlFunction(Void, "glRectiv", [(Array(Const(GLint), "2"), "v1"), (Array(Const(GLint), "2"), "v2")]), + GlFunction(Void, "glRects", [(GLshort, "x1"), (GLshort, "y1"), (GLshort, "x2"), (GLshort, "y2")]), + GlFunction(Void, "glRectsv", [(Array(Const(GLshort), "2"), "v1"), (Array(Const(GLshort), "2"), "v2")]), + GlFunction(Void, "glTexCoord1d", [(GLdouble, "s")]), + GlFunction(Void, "glTexCoord1dv", [(Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glTexCoord1f", [(GLfloat, "s")]), + GlFunction(Void, "glTexCoord1fv", [(Pointer(Const(GLfloat)), "v")]), + GlFunction(Void, "glTexCoord1i", [(GLint, "s")]), + GlFunction(Void, "glTexCoord1iv", [(Pointer(Const(GLint)), "v")]), + GlFunction(Void, "glTexCoord1s", [(GLshort, "s")]), + GlFunction(Void, "glTexCoord1sv", [(Pointer(Const(GLshort)), "v")]), + GlFunction(Void, "glTexCoord2d", [(GLdouble, "s"), (GLdouble, "t")]), + GlFunction(Void, "glTexCoord2dv", [(Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glTexCoord2f", [(GLfloat, "s"), (GLfloat, "t")]), + GlFunction(Void, "glTexCoord2fv", [(Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glTexCoord2i", [(GLint, "s"), (GLint, "t")]), + GlFunction(Void, "glTexCoord2iv", [(Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glTexCoord2s", [(GLshort, "s"), (GLshort, "t")]), + GlFunction(Void, "glTexCoord2sv", [(Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glTexCoord3d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]), + GlFunction(Void, "glTexCoord3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glTexCoord3f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]), + GlFunction(Void, "glTexCoord3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord3i", [(GLint, "s"), (GLint, "t"), (GLint, "r")]), + GlFunction(Void, "glTexCoord3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glTexCoord3s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r")]), + GlFunction(Void, "glTexCoord3sv", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glTexCoord4d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]), + GlFunction(Void, "glTexCoord4dv", [(Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glTexCoord4f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]), + GlFunction(Void, "glTexCoord4fv", [(Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glTexCoord4i", [(GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]), + GlFunction(Void, "glTexCoord4iv", [(Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glTexCoord4s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]), + GlFunction(Void, "glTexCoord4sv", [(Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertex2d", [(GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertex2dv", [(Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glVertex2f", [(GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glVertex2fv", [(Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glVertex2i", [(GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glVertex2iv", [(Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glVertex2s", [(GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glVertex2sv", [(Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glVertex3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertex3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glVertex3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glVertex3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glVertex3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glVertex3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glVertex3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glVertex3sv", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glVertex4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertex4dv", [(Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glVertex4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glVertex4fv", [(Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glVertex4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glVertex4iv", [(Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertex4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glVertex4sv", [(Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glClipPlane", [(GLenum, "plane"), (Array(Const(GLdouble), "4"), "equation")]), + GlFunction(Void, "glColorMaterial", [(GLenum, "face"), (GLenum, "mode")]), + GlFunction(Void, "glFogf", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glFogfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__glFogfv_size(pname)"), "params")]), + GlFunction(Void, "glFogi", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glFogiv", [(GLenum, "pname"), (Array(Const(GLint), "__glFogiv_size(pname)"), "params")]), + GlFunction(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Array(Const(GLfloat), "__glLightfv_size(pname)"), "params")]), + GlFunction(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Array(Const(GLint), "__glLightiv_size(pname)"), "params")]), + GlFunction(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glLightModelfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__glLightModelfv_size(pname)"), "params")]), + GlFunction(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glLightModeliv", [(GLenum, "pname"), (Array(Const(GLint), "__glLightModeliv_size(pname)"), "params")]), + GlFunction(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]), + GlFunction(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Array(Const(GLfloat), "__glMaterialfv_size(pname)"), "params")]), + GlFunction(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Array(Const(GLint), "__glMaterialiv_size(pname)"), "params")]), + GlFunction(Void, "glPolygonStipple", [(Array(Const(GLubyte), "__glPolygonStipple_size()"), "mask")]), + GlFunction(Void, "glShadeModel", [(GLenum, "mode")]), + GlFunction(Void, "glTexEnvf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glTexEnvfv_size(pname)"), "params")]), + GlFunction(Void, "glTexEnvi", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glTexEnviv_size(pname)"), "params")]), + GlFunction(Void, "glTexGend", [(GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]), + GlFunction(Void, "glTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLdouble), "__glTexGendv_size(pname)"), "params")]), + GlFunction(Void, "glTexGenf", [(GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLfloat), "__glTexGenfv_size(pname)"), "params")]), + GlFunction(Void, "glTexGeni", [(GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLint), "__glTexGeniv_size(pname)"), "params")]), + GlFunction(Void, "glFeedbackBuffer", [(GLsizei, "size"), (GLenum, "type"), Out(Array(GLfloat, "size"), "buffer")]), + GlFunction(Void, "glSelectBuffer", [(GLsizei, "size"), Out(Array(GLuint, "size"), "buffer")]), + GlFunction(Alias("GLint", GLenum), "glRenderMode", [(GLenum, "mode")]), + GlFunction(Void, "glInitNames", []), + GlFunction(Void, "glLoadName", [(GLuint, "name")]), + GlFunction(Void, "glPassThrough", [(GLfloat, "token")]), + GlFunction(Void, "glPopName", []), + GlFunction(Void, "glPushName", [(GLuint, "name")]), + GlFunction(Void, "glClearAccum", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]), + GlFunction(Void, "glClearIndex", [(GLfloat, "c")]), + GlFunction(Void, "glIndexMask", [(GLuint, "mask")]), + GlFunction(Void, "glAccum", [(GLenum, "op"), (GLfloat, "value")]), + GlFunction(Void, "glPopAttrib", []), + GlFunction(Void, "glPushAttrib", [(GLbitfield_attrib, "mask")]), + GlFunction(Void, "glMap1d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (Array(Const(GLdouble), "__glMap1d_size(target, stride, order)"), "points")]), + GlFunction(Void, "glMap1f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (Array(Const(GLfloat), "__glMap1f_size(target, stride, order)"), "points")]), + GlFunction(Void, "glMap2d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Array(Const(GLdouble), "__glMap2d_size(target, ustride, uorder, vstride, vorder)"), "points")]), + GlFunction(Void, "glMap2f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Array(Const(GLfloat), "__glMap2f_size(target, ustride, uorder, vstride, vorder)"), "points")]), + GlFunction(Void, "glMapGrid1d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2")]), + GlFunction(Void, "glMapGrid1f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2")]), + GlFunction(Void, "glMapGrid2d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "vn"), (GLdouble, "v1"), (GLdouble, "v2")]), + GlFunction(Void, "glMapGrid2f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "vn"), (GLfloat, "v1"), (GLfloat, "v2")]), + GlFunction(Void, "glEvalCoord1d", [(GLdouble, "u")]), + GlFunction(Void, "glEvalCoord1dv", [(Pointer(Const(GLdouble)), "u")]), + GlFunction(Void, "glEvalCoord1f", [(GLfloat, "u")]), + GlFunction(Void, "glEvalCoord1fv", [(Pointer(Const(GLfloat)), "u")]), + GlFunction(Void, "glEvalCoord2d", [(GLdouble, "u"), (GLdouble, "v")]), + GlFunction(Void, "glEvalCoord2dv", [(Array(Const(GLdouble), "2"), "u")]), + GlFunction(Void, "glEvalCoord2f", [(GLfloat, "u"), (GLfloat, "v")]), + GlFunction(Void, "glEvalCoord2fv", [(Array(Const(GLfloat), "2"), "u")]), + GlFunction(Void, "glEvalMesh1", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2")]), + GlFunction(Void, "glEvalPoint1", [(GLint, "i")]), + GlFunction(Void, "glEvalMesh2", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2"), (GLint, "j1"), (GLint, "j2")]), + GlFunction(Void, "glEvalPoint2", [(GLint, "i"), (GLint, "j")]), + GlFunction(Void, "glAlphaFunc", [(GLenum, "func"), (GLclampf, "ref")]), + GlFunction(Void, "glPixelZoom", [(GLfloat, "xfactor"), (GLfloat, "yfactor")]), + GlFunction(Void, "glPixelTransferf", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPixelTransferi", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glPixelMapfv", [(GLenum, "map"), (GLsizei, "mapsize"), (Array(Const(GLfloat), "mapsize"), "values")]), + GlFunction(Void, "glPixelMapuiv", [(GLenum, "map"), (GLsizei, "mapsize"), (Array(Const(GLuint), "mapsize"), "values")]), + GlFunction(Void, "glPixelMapusv", [(GLenum, "map"), (GLsizei, "mapsize"), (Array(Const(GLushort), "mapsize"), "values")]), + GlFunction(Void, "glCopyPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "type")]), + GlFunction(Void, "glDrawPixels", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glDrawPixels_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glGetClipPlane", [(GLenum, "plane"), Out(Array(GLdouble, "4"), "equation")], sideeffects=False), + GlFunction(Void, "glGetLightfv", [(GLenum, "light"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetLightfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetLightiv", [(GLenum, "light"), (GLenum, "pname"), Out(Array(GLint, "__glGetLightiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMapdv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLdouble), "v")], sideeffects=False), + GlFunction(Void, "glGetMapfv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLfloat), "v")], sideeffects=False), + GlFunction(Void, "glGetMapiv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLint), "v")], sideeffects=False), + GlFunction(Void, "glGetMaterialfv", [(GLenum, "face"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetMaterialfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMaterialiv", [(GLenum, "face"), (GLenum, "pname"), Out(Array(GLint, "__glGetMaterialiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetPixelMapfv", [(GLenum, "map"), Out(Pointer(GLfloat), "values")]), + GlFunction(Void, "glGetPixelMapuiv", [(GLenum, "map"), Out(Pointer(GLuint), "values")]), + GlFunction(Void, "glGetPixelMapusv", [(GLenum, "map"), Out(Pointer(GLushort), "values")]), + GlFunction(Void, "glGetPolygonStipple", [Out(OpaquePointer(GLubyte), "mask")]), + GlFunction(Void, "glGetTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexEnvfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexEnviv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexEnviv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexGendv", [(GLenum, "coord"), (GLenum, "pname"), Out(Array(GLdouble, "__glGetTexGendv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetTexGenfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexGeniv_size(pname)"), "params")], sideeffects=False), + GlFunction(GLboolean, "glIsList", [(GLuint, "list")], sideeffects=False), + GlFunction(Void, "glFrustum", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), + GlFunction(Void, "glLoadIdentity", []), + GlFunction(Void, "glLoadMatrixf", [(Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glLoadMatrixd", [(Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glMatrixMode", [(GLenum, "mode")]), + GlFunction(Void, "glMultMatrixf", [(Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMultMatrixd", [(Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glOrtho", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), + GlFunction(Void, "glPopMatrix", []), + GlFunction(Void, "glPushMatrix", []), + GlFunction(Void, "glRotated", [(GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glRotatef", [(GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glScaled", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glScalef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glTranslated", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glTranslatef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + + # GL_VERSION_1_1 + GlFunction(Void, "glDrawArrays", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]), + GlFunction(Void, "glDrawElements", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices")]), + GlFunction(Void, "glGetPointerv", [(GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), + GlFunction(Void, "glPolygonOffset", [(GLfloat, "factor"), (GLfloat, "units")]), + GlFunction(Void, "glCopyTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), + GlFunction(Void, "glCopyTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), + GlFunction(Void, "glCopyTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glCopyTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage1D_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage2D_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glBindTexture", [(GLenum, "target"), (GLtexture, "texture")]), + GlFunction(Void, "glDeleteTextures", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures")]), + GlFunction(Void, "glGenTextures", [(GLsizei, "n"), Out(Array(GLtexture, "n"), "textures")]), + GlFunction(GLboolean, "glIsTexture", [(GLtexture, "texture")], sideeffects=False), + + # GL_VERSION_1_1_DEPRECATED + GlFunction(Void, "glArrayElement", [(GLint, "i")]), + GlFunction(Void, "glColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glDisableClientState", [(GLenum, "array")]), + GlFunction(Void, "glEdgeFlagPointer", [(GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glEnableClientState", [(GLenum, "array")]), + GlFunction(Void, "glIndexPointer", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glInterleavedArrays", [(GLenum, "format"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glNormalPointer", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glTexCoordPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glVertexPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(GLboolean, "glAreTexturesResident", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), Out(Array(GLboolean, "n"), "residences")], sideeffects=False), + GlFunction(Void, "glPrioritizeTextures", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), (Array(Const(GLclampf), "n"), "priorities")]), + GlFunction(Void, "glIndexub", [(GLubyte, "c")]), + GlFunction(Void, "glIndexubv", [(Pointer(Const(GLubyte)), "c")]), + GlFunction(Void, "glPopClientAttrib", []), + GlFunction(Void, "glPushClientAttrib", [(GLbitfield_client_attrib, "mask")]), + + # GL_VERSION_1_2 + GlFunction(Void, "glBlendColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]), + GlFunction(Void, "glBlendEquation", [(GLenum, "mode")]), + GlFunction(Void, "glDrawRangeElements", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices")]), + GlFunction(Void, "glTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLenum_int, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage3D_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage3D_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glCopyTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + + # GL_VERSION_1_2_DEPRECATED + GlFunction(Void, "glColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glColorTable_size(format, type, width)"), "table")]), + GlFunction(Void, "glColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glColorTableParameterfv_size(pname)"), "params")]), + GlFunction(Void, "glColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glColorTableParameteriv_size(pname)"), "params")]), + GlFunction(Void, "glCopyColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glGetColorTable", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetColorTable_size(target, format, type)"), "table")], sideeffects=False), + GlFunction(Void, "glGetColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetColorTableParameterfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetColorTableParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glColorSubTable_size(format, type, count)"), "data")]), + GlFunction(Void, "glCopyColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glConvolutionFilter1D_size(format, type, width)"), "image")]), + GlFunction(Void, "glConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glConvolutionFilter2D_size(format, type, width, height)"), "image")]), + GlFunction(Void, "glConvolutionParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]), + GlFunction(Void, "glConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__glConvolutionParameterfv_size(pname)"), "params")]), + GlFunction(Void, "glConvolutionParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]), + GlFunction(Void, "glConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glConvolutionParameteriv_size(pname)"), "params")]), + GlFunction(Void, "glCopyConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glCopyConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetConvolutionFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetConvolutionFilter_size(target, format, type)"), "image")]), + GlFunction(Void, "glGetConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetConvolutionParameterfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetConvolutionParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetSeparableFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilter_size(target, format, type)"), "row"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilter_size(target, format, type)"), "column"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilter_size(target, format, type)"), "span")]), + GlFunction(Void, "glSeparableFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glConvolutionFilter1D_size(format, type, width)"), "row"), (Blob(Const(GLvoid), "__glConvolutionFilter1D_size(format, type, height)"), "column")]), + GlFunction(Void, "glGetHistogram", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetHistogram_size(target, format, type)"), "values")]), + GlFunction(Void, "glGetHistogramParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetHistogramParameterfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetHistogramParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetHistogramParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMinmax", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetMinmax_size(target, format, type)"), "values")]), + GlFunction(Void, "glGetMinmaxParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__glGetMinmaxParameterfv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMinmaxParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetMinmaxParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glHistogram", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]), + GlFunction(Void, "glMinmax", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]), + GlFunction(Void, "glResetHistogram", [(GLenum, "target")]), + GlFunction(Void, "glResetMinmax", [(GLenum, "target")]), + + # GL_VERSION_1_3 + GlFunction(Void, "glActiveTexture", [(GLenum, "texture")]), + GlFunction(Void, "glSampleCoverage", [(GLclampf, "value"), (GLboolean, "invert")]), + GlFunction(Void, "glCompressedTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glGetCompressedTexImage", [(GLenum, "target"), (GLint, "level"), Out(OpaqueBlob(GLvoid, "__glGetCompressedTexImage_size(target, level)"), "img")]), + + # GL_VERSION_1_3_DEPRECATED + GlFunction(Void, "glClientActiveTexture", [(GLenum, "texture")]), + GlFunction(Void, "glMultiTexCoord1d", [(GLenum, "target"), (GLdouble, "s")]), + GlFunction(Void, "glMultiTexCoord1dv", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glMultiTexCoord1f", [(GLenum, "target"), (GLfloat, "s")]), + GlFunction(Void, "glMultiTexCoord1fv", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]), + GlFunction(Void, "glMultiTexCoord1i", [(GLenum, "target"), (GLint, "s")]), + GlFunction(Void, "glMultiTexCoord1iv", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]), + GlFunction(Void, "glMultiTexCoord1s", [(GLenum, "target"), (GLshort, "s")]), + GlFunction(Void, "glMultiTexCoord1sv", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]), + GlFunction(Void, "glMultiTexCoord2d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]), + GlFunction(Void, "glMultiTexCoord2dv", [(GLenum, "target"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord2f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]), + GlFunction(Void, "glMultiTexCoord2fv", [(GLenum, "target"), (Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord2i", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]), + GlFunction(Void, "glMultiTexCoord2iv", [(GLenum, "target"), (Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord2s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]), + GlFunction(Void, "glMultiTexCoord2sv", [(GLenum, "target"), (Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord3d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]), + GlFunction(Void, "glMultiTexCoord3dv", [(GLenum, "target"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord3f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]), + GlFunction(Void, "glMultiTexCoord3fv", [(GLenum, "target"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord3i", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]), + GlFunction(Void, "glMultiTexCoord3iv", [(GLenum, "target"), (Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord3s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]), + GlFunction(Void, "glMultiTexCoord3sv", [(GLenum, "target"), (Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord4d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]), + GlFunction(Void, "glMultiTexCoord4dv", [(GLenum, "target"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord4f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]), + GlFunction(Void, "glMultiTexCoord4fv", [(GLenum, "target"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord4i", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]), + GlFunction(Void, "glMultiTexCoord4iv", [(GLenum, "target"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord4s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]), + GlFunction(Void, "glMultiTexCoord4sv", [(GLenum, "target"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glLoadTransposeMatrixf", [(Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glLoadTransposeMatrixd", [(Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glMultTransposeMatrixf", [(Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMultTransposeMatrixd", [(Array(Const(GLdouble), "16"), "m")]), + + # GL_VERSION_1_4 + GlFunction(Void, "glBlendFuncSeparate", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), + GlFunction(Void, "glMultiDrawArrays", [(GLenum_mode, "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glMultiDrawElements", [(GLenum_mode, "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount")]), + GlFunction(Void, "glPointParameterf", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPointParameterfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__glPointParameterfv_size(pname)"), "params")]), + GlFunction(Void, "glPointParameteri", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glPointParameteriv", [(GLenum, "pname"), (Array(Const(GLint), "__glPointParameteriv_size(pname)"), "params")]), + + # GL_VERSION_1_4_DEPRECATED + GlFunction(Void, "glFogCoordf", [(GLfloat, "coord")]), + GlFunction(Void, "glFogCoordfv", [(Pointer(Const(GLfloat)), "coord")]), + GlFunction(Void, "glFogCoordd", [(GLdouble, "coord")]), + GlFunction(Void, "glFogCoorddv", [(Pointer(Const(GLdouble)), "coord")]), + GlFunction(Void, "glFogCoordPointer", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glSecondaryColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]), + GlFunction(Void, "glSecondaryColor3bv", [(Array(Const(GLbyte), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]), + GlFunction(Void, "glSecondaryColor3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]), + GlFunction(Void, "glSecondaryColor3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]), + GlFunction(Void, "glSecondaryColor3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]), + GlFunction(Void, "glSecondaryColor3sv", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]), + GlFunction(Void, "glSecondaryColor3ubv", [(Array(Const(GLubyte), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]), + GlFunction(Void, "glSecondaryColor3uiv", [(Array(Const(GLuint), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]), + GlFunction(Void, "glSecondaryColor3usv", [(Array(Const(GLushort), "3"), "v")]), + GlFunction(Void, "glSecondaryColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glWindowPos2d", [(GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glWindowPos2dv", [(Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glWindowPos2f", [(GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glWindowPos2fv", [(Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glWindowPos2i", [(GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glWindowPos2iv", [(Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glWindowPos2s", [(GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glWindowPos2sv", [(Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glWindowPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glWindowPos3dv", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glWindowPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glWindowPos3fv", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glWindowPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glWindowPos3iv", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glWindowPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glWindowPos3sv", [(Array(Const(GLshort), "3"), "v")]), + + # GL_VERSION_1_5 + GlFunction(Void, "glGenQueries", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]), + GlFunction(Void, "glDeleteQueries", [(GLsizei, "n"), (Array(Const(GLquery), "n"), "ids")]), + GlFunction(GLboolean, "glIsQuery", [(GLquery, "id")], sideeffects=False), + GlFunction(Void, "glBeginQuery", [(GLenum, "target"), (GLquery, "id")]), + GlFunction(Void, "glEndQuery", [(GLenum, "target")]), + GlFunction(Void, "glGetQueryiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryivARB_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetQueryObjectiv", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryObjectivARB_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetQueryObjectuiv", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLuint, "__glGetQueryObjectuivARB_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glBindBuffer", [(GLenum, "target"), (GLbuffer, "buffer")]), + GlFunction(Void, "glDeleteBuffers", [(GLsizei, "n"), (Array(Const(GLbuffer), "n"), "buffer")]), + GlFunction(Void, "glGenBuffers", [(GLsizei, "n"), Out(Array(GLbuffer, "n"), "buffer")]), + GlFunction(GLboolean, "glIsBuffer", [(GLbuffer, "buffer")], sideeffects=False), + GlFunction(Void, "glBufferData", [(GLenum, "target"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]), + GlFunction(Void, "glBufferSubData", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data")]), + GlFunction(Void, "glGetBufferSubData", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size"), Out(Blob(GLvoid, "size"), "data")], sideeffects=False), + GlFunction(GLmap, "glMapBuffer", [(GLenum, "target"), (GLenum, "access")]), + GlFunction(GLboolean, "glUnmapBuffer", [(GLenum, "target")]), + GlFunction(Void, "glGetBufferParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetBufferPointerv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), + + # GL_VERSION_2_0 + GlFunction(Void, "glBlendEquationSeparate", [(GLenum, "modeRGB"), (GLenum, "modeAlpha")]), + GlFunction(Void, "glDrawBuffers", [(GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), + GlFunction(Void, "glStencilOpSeparate", [(GLenum, "face"), (GLenum, "sfail"), (GLenum, "dpfail"), (GLenum, "dppass")]), + GlFunction(Void, "glStencilFuncSeparate", [(GLenum, "face"), (GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]), + GlFunction(Void, "glStencilMaskSeparate", [(GLenum, "face"), (GLuint, "mask")]), + GlFunction(Void, "glAttachShader", [(GLprogram, "program"), (GLshader, "shader")]), + GlFunction(Void, "glBindAttribLocation", [(GLprogram, "program"), (GLuint, "index"), (Const(GLstring), "name")]), + GlFunction(Void, "glCompileShader", [(GLshader, "shader")]), + GlFunction(GLprogram, "glCreateProgram", []), + GlFunction(GLshader, "glCreateShader", [(GLenum, "type")]), + GlFunction(Void, "glDeleteProgram", [(GLprogram, "program")]), + GlFunction(Void, "glDeleteShader", [(GLshader, "shader")]), + GlFunction(Void, "glDetachShader", [(GLprogram, "program"), (GLshader, "shader")]), + GlFunction(Void, "glDisableVertexAttribArray", [(GLuint, "index")]), + GlFunction(Void, "glEnableVertexAttribArray", [(GLuint, "index")]), + GlFunction(Void, "glGetActiveAttrib", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), + GlFunction(Void, "glGetActiveUniform", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), + GlFunction(Void, "glGetAttachedShaders", [(GLprogram, "program"), (GLsizei, "maxCount"), Out(Pointer(GLsizei), "count"), Out(Array(GLuint, "(count ? *count : maxCount)"), "obj")], sideeffects=False), + GlFunction(GLint, "glGetAttribLocation", [(GLprogram, "program"), (Const(GLstring), "name")]), + GlFunction(Void, "glGetProgramiv", [(GLprogram, "program"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramInfoLog", [(GLprogram, "program"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False), + GlFunction(Void, "glGetShaderiv", [(GLshader, "shader"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetShaderInfoLog", [(GLshader, "shader"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False), + GlFunction(Void, "glGetShaderSource", [(GLshader, "shader"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(String("GLchar *", "*length"), "source")], sideeffects=False), + GlFunction(GLlocation, "glGetUniformLocation", [(GLprogram, "program"), (Const(GLstring), "name")]), + GlFunction(Void, "glGetUniformfv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetUniformiv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribdv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLdouble, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribfv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribPointerv", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False), + GlFunction(GLboolean, "glIsProgram", [(GLprogram, "program")], sideeffects=False), + GlFunction(GLboolean, "glIsShader", [(GLshader, "shader")], sideeffects=False), + GlFunction(Void, "glLinkProgram", [(GLprogram, "program")]), + GlFunction(Void, "glShaderSource", [(GLshader, "shader"), (GLsizei, "count"), (Const(Array(Const(GLstringARB), "count")), "string"), (Array(Const(GLint), "count"), "length")]), + GlFunction(Void, "glUseProgram", [(GLprogram, "program")]), + GlFunction(Void, "glUniform1f", [(GLlocation, "location"), (GLfloat, "v0")]), + GlFunction(Void, "glUniform2f", [(GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), + GlFunction(Void, "glUniform3f", [(GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), + GlFunction(Void, "glUniform4f", [(GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), + GlFunction(Void, "glUniform1i", [(GLlocation, "location"), (GLint, "v0")]), + GlFunction(Void, "glUniform2i", [(GLlocation, "location"), (GLint, "v0"), (GLint, "v1")]), + GlFunction(Void, "glUniform3i", [(GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), + GlFunction(Void, "glUniform4i", [(GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), + GlFunction(Void, "glUniform1fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), + GlFunction(Void, "glUniform2fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), + GlFunction(Void, "glUniform3fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), + GlFunction(Void, "glUniform4fv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), + GlFunction(Void, "glUniform1iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), + GlFunction(Void, "glUniform2iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), + GlFunction(Void, "glUniform3iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), + GlFunction(Void, "glUniform4iv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), + GlFunction(Void, "glUniformMatrix2fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), + GlFunction(Void, "glUniformMatrix3fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), + GlFunction(Void, "glUniformMatrix4fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), + GlFunction(Void, "glValidateProgram", [(GLprogram, "program")]), + GlFunction(Void, "glVertexAttrib1d", [(GLuint, "index"), (GLdouble, "x")]), + GlFunction(Void, "glVertexAttrib1dv", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glVertexAttrib1f", [(GLuint, "index"), (GLfloat, "x")]), + GlFunction(Void, "glVertexAttrib1fv", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]), + GlFunction(Void, "glVertexAttrib1s", [(GLuint, "index"), (GLshort, "x")]), + GlFunction(Void, "glVertexAttrib1sv", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]), + GlFunction(Void, "glVertexAttrib2d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertexAttrib2dv", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glVertexAttrib2f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glVertexAttrib2fv", [(GLuint, "index"), (Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glVertexAttrib2s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glVertexAttrib2sv", [(GLuint, "index"), (Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glVertexAttrib3d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertexAttrib3dv", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glVertexAttrib3f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glVertexAttrib3fv", [(GLuint, "index"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glVertexAttrib3s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glVertexAttrib3sv", [(GLuint, "index"), (Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glVertexAttrib4Nbv", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4Niv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4Nsv", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4Nub", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]), + GlFunction(Void, "glVertexAttrib4Nubv", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4Nuiv", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4Nusv", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4bv", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertexAttrib4dv", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glVertexAttrib4fv", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4iv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glVertexAttrib4sv", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4ubv", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4uiv", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4usv", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glVertexAttribPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_VERSION_2_1 + GlFunction(Void, "glUniformMatrix2x3fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*3"), "value")]), + GlFunction(Void, "glUniformMatrix3x2fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*2"), "value")]), + GlFunction(Void, "glUniformMatrix2x4fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*4"), "value")]), + GlFunction(Void, "glUniformMatrix4x2fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*2"), "value")]), + GlFunction(Void, "glUniformMatrix3x4fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*4"), "value")]), + GlFunction(Void, "glUniformMatrix4x3fv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*3"), "value")]), + + # GL_VERSION_3_0 + GlFunction(Void, "glColorMaski", [(GLuint, "index"), (GLboolean, "r"), (GLboolean, "g"), (GLboolean, "b"), (GLboolean, "a")]), + GlFunction(Void, "glGetBooleani_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLboolean, "__glGetBooleani_v_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glGetIntegeri_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "__glGetIntegeri_v_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glEnablei", [(GLenum, "target"), (GLuint, "index")]), + GlFunction(Void, "glDisablei", [(GLenum, "target"), (GLuint, "index")]), + GlFunction(GLboolean, "glIsEnabledi", [(GLenum, "target"), (GLuint, "index")], sideeffects=False), + GlFunction(Void, "glBeginTransformFeedback", [(GLenum_mode, "primitiveMode")]), + GlFunction(Void, "glEndTransformFeedback", []), + GlFunction(Void, "glBindBufferRange", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size")]), + GlFunction(Void, "glBindBufferBase", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer")]), + GlFunction(Void, "glTransformFeedbackVaryings", [(GLprogram, "program"), (GLsizei, "count"), (Const(Array(Const(GLstring), "count")), "varyings"), (GLenum, "bufferMode")]), + GlFunction(Void, "glGetTransformFeedbackVarying", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLsizei), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), + GlFunction(Void, "glClampColor", [(GLenum, "target"), (GLenum, "clamp")]), + GlFunction(Void, "glBeginConditionalRender", [(GLuint, "id"), (GLenum, "mode")]), + GlFunction(Void, "glEndConditionalRender", []), + GlFunction(Void, "glVertexAttribIPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glGetVertexAttribIiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribIuiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glVertexAttribI1i", [(GLuint, "index"), (GLint, "x")]), + GlFunction(Void, "glVertexAttribI2i", [(GLuint, "index"), (GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glVertexAttribI3i", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glVertexAttribI4i", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glVertexAttribI1ui", [(GLuint, "index"), (GLuint, "x")]), + GlFunction(Void, "glVertexAttribI2ui", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y")]), + GlFunction(Void, "glVertexAttribI3ui", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z")]), + GlFunction(Void, "glVertexAttribI4ui", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), + GlFunction(Void, "glVertexAttribI1iv", [(GLuint, "index"), (Pointer(Const(GLint)), "v")]), + GlFunction(Void, "glVertexAttribI2iv", [(GLuint, "index"), (Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glVertexAttribI3iv", [(GLuint, "index"), (Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glVertexAttribI4iv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertexAttribI1uiv", [(GLuint, "index"), (Pointer(Const(GLuint)), "v")]), + GlFunction(Void, "glVertexAttribI2uiv", [(GLuint, "index"), (Array(Const(GLuint), "2"), "v")]), + GlFunction(Void, "glVertexAttribI3uiv", [(GLuint, "index"), (Array(Const(GLuint), "3"), "v")]), + GlFunction(Void, "glVertexAttribI4uiv", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4bv", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4sv", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4ubv", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4usv", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glGetUniformuiv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaqueArray(GLuint, "__glGetUniformuiv_size(program, location)"), "params")], sideeffects=False), + GlFunction(Void, "glBindFragDataLocation", [(GLprogram, "program"), (GLuint, "color"), (Const(GLstring), "name")]), + GlFunction(GLlocation, "glGetFragDataLocation", [(GLprogram, "program"), (Const(GLstring), "name")]), + GlFunction(Void, "glUniform1ui", [(GLlocation, "location"), (GLuint, "v0")]), + GlFunction(Void, "glUniform2ui", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), + GlFunction(Void, "glUniform3ui", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), + GlFunction(Void, "glUniform4ui", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), + GlFunction(Void, "glUniform1uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), + GlFunction(Void, "glUniform2uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), + GlFunction(Void, "glUniform3uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), + GlFunction(Void, "glUniform4uiv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), + GlFunction(Void, "glTexParameterIiv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__glTexParameterIiv_size(pname)"), "params")]), + GlFunction(Void, "glTexParameterIuiv", [(GLenum, "target"), (GLenum, "pname"), (Array(Const(GLuint), "__glTexParameterIuiv_size(pname)"), "params")]), + GlFunction(Void, "glGetTexParameterIiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetTexParameterIiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexParameterIuiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLuint, "__glGetTexParameterIuiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glClearBufferiv", [(GLenum, "buffer"), (GLint, "drawbuffer"), (Array(Const(GLint), "__glClearBuffer_size(buffer)"), "value")]), + GlFunction(Void, "glClearBufferuiv", [(GLenum, "buffer"), (GLint, "drawbuffer"), (Array(Const(GLuint), "__glClearBuffer_size(buffer)"), "value")]), + GlFunction(Void, "glClearBufferfv", [(GLenum, "buffer"), (GLint, "drawbuffer"), (Array(Const(GLfloat), "__glClearBuffer_size(buffer)"), "value")]), + GlFunction(Void, "glClearBufferfi", [(GLenum, "buffer"), (GLint, "drawbuffer"), (GLfloat, "depth"), (GLint, "stencil")]), + GlFunction(String("const GLubyte *"), "glGetStringi", [(GLenum, "name"), (GLuint, "index")], sideeffects=False), + + # GL_VERSION_3_1 + GlFunction(Void, "glDrawArraysInstanced", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glDrawElementsInstanced", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount")]), + GlFunction(Void, "glTexBuffer", [(GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), + GlFunction(Void, "glPrimitiveRestartIndex", [(GLuint, "index")]), + + # GL_VERSION_3_2 + GlFunction(Void, "glGetInteger64i_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint64, "__glGetInteger64i_v_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glGetBufferParameteri64v", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint64, "__glGetBufferParameteri64v_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glFramebufferTexture", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), + + # GL_VERSION_3_3 + GlFunction(Void, "glVertexAttribDivisor", [(GLuint, "index"), (GLuint, "divisor")]), + + # GL_VERSION_4_0 + GlFunction(Void, "glMinSampleShading", [(GLclampf, "value")]), + GlFunction(Void, "glBlendEquationi", [(GLuint, "buf"), (GLenum, "mode")]), + GlFunction(Void, "glBlendEquationSeparatei", [(GLuint, "buf"), (GLenum, "modeRGB"), (GLenum, "modeAlpha")]), + GlFunction(Void, "glBlendFunci", [(GLuint, "buf"), (GLenum, "src"), (GLenum, "dst")]), + GlFunction(Void, "glBlendFuncSeparatei", [(GLuint, "buf"), (GLenum, "srcRGB"), (GLenum, "dstRGB"), (GLenum, "srcAlpha"), (GLenum, "dstAlpha")]), + + # GL_ARB_multitexture + GlFunction(Void, "glActiveTextureARB", [(GLenum, "texture")]), + GlFunction(Void, "glClientActiveTextureARB", [(GLenum, "texture")]), + GlFunction(Void, "glMultiTexCoord1dARB", [(GLenum, "target"), (GLdouble, "s")]), + GlFunction(Void, "glMultiTexCoord1dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glMultiTexCoord1fARB", [(GLenum, "target"), (GLfloat, "s")]), + GlFunction(Void, "glMultiTexCoord1fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]), + GlFunction(Void, "glMultiTexCoord1iARB", [(GLenum, "target"), (GLint, "s")]), + GlFunction(Void, "glMultiTexCoord1ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]), + GlFunction(Void, "glMultiTexCoord1sARB", [(GLenum, "target"), (GLshort, "s")]), + GlFunction(Void, "glMultiTexCoord1svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]), + GlFunction(Void, "glMultiTexCoord2dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]), + GlFunction(Void, "glMultiTexCoord2dvARB", [(GLenum, "target"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord2fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]), + GlFunction(Void, "glMultiTexCoord2fvARB", [(GLenum, "target"), (Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord2iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]), + GlFunction(Void, "glMultiTexCoord2ivARB", [(GLenum, "target"), (Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord2sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]), + GlFunction(Void, "glMultiTexCoord2svARB", [(GLenum, "target"), (Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord3dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]), + GlFunction(Void, "glMultiTexCoord3dvARB", [(GLenum, "target"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord3fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]), + GlFunction(Void, "glMultiTexCoord3fvARB", [(GLenum, "target"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord3iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]), + GlFunction(Void, "glMultiTexCoord3ivARB", [(GLenum, "target"), (Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord3sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]), + GlFunction(Void, "glMultiTexCoord3svARB", [(GLenum, "target"), (Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord4dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]), + GlFunction(Void, "glMultiTexCoord4dvARB", [(GLenum, "target"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord4fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]), + GlFunction(Void, "glMultiTexCoord4fvARB", [(GLenum, "target"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord4iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]), + GlFunction(Void, "glMultiTexCoord4ivARB", [(GLenum, "target"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord4sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]), + GlFunction(Void, "glMultiTexCoord4svARB", [(GLenum, "target"), (Array(Const(GLshort), "4"), "v")]), + + # GL_ARB_transpose_matrix + GlFunction(Void, "glLoadTransposeMatrixfARB", [(Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glLoadTransposeMatrixdARB", [(Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glMultTransposeMatrixfARB", [(Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMultTransposeMatrixdARB", [(Array(Const(GLdouble), "16"), "m")]), + + # GL_ARB_multisample + GlFunction(Void, "glSampleCoverageARB", [(GLclampf, "value"), (GLboolean, "invert")]), + + # GL_ARB_texture_compression + GlFunction(Void, "glCompressedTexImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexSubImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexSubImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glCompressedTexSubImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "data")]), + GlFunction(Void, "glGetCompressedTexImageARB", [(GLenum, "target"), (GLint, "level"), Out(OpaquePointer(GLvoid), "img")], sideeffects=False), + + # GL_ARB_point_parameters + GlFunction(Void, "glPointParameterfARB", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPointParameterfvARB", [(GLenum, "pname"), (Array(Const(GLfloat), "__glPointParameterfvARB_size(pname)"), "params")]), + + # GL_ARB_vertex_blend + GlFunction(Void, "glWeightbvARB", [(GLint, "size"), (Array(Const(GLbyte), "size"), "weights")]), + GlFunction(Void, "glWeightsvARB", [(GLint, "size"), (Array(Const(GLshort), "size"), "weights")]), + GlFunction(Void, "glWeightivARB", [(GLint, "size"), (Array(Const(GLint), "size"), "weights")]), + GlFunction(Void, "glWeightfvARB", [(GLint, "size"), (Array(Const(GLfloat), "size"), "weights")]), + GlFunction(Void, "glWeightdvARB", [(GLint, "size"), (Array(Const(GLdouble), "size"), "weights")]), + GlFunction(Void, "glWeightubvARB", [(GLint, "size"), (Array(Const(GLubyte), "size"), "weights")]), + GlFunction(Void, "glWeightusvARB", [(GLint, "size"), (Array(Const(GLushort), "size"), "weights")]), + GlFunction(Void, "glWeightuivARB", [(GLint, "size"), (Array(Const(GLuint), "size"), "weights")]), + GlFunction(Void, "glWeightPointerARB", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glVertexBlendARB", [(GLint, "count")]), + + # GL_ARB_matrix_palette + GlFunction(Void, "glCurrentPaletteMatrixARB", [(GLint, "index")]), + GlFunction(Void, "glMatrixIndexubvARB", [(GLint, "size"), (Array(Const(GLubyte), "size"), "indices")]), + GlFunction(Void, "glMatrixIndexusvARB", [(GLint, "size"), (Array(Const(GLushort), "size"), "indices")]), + GlFunction(Void, "glMatrixIndexuivARB", [(GLint, "size"), (Array(Const(GLuint), "size"), "indices")]), + GlFunction(Void, "glMatrixIndexPointerARB", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_ARB_window_pos + GlFunction(Void, "glWindowPos2dARB", [(GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glWindowPos2dvARB", [(Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glWindowPos2fARB", [(GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glWindowPos2fvARB", [(Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glWindowPos2iARB", [(GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glWindowPos2ivARB", [(Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glWindowPos2sARB", [(GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glWindowPos2svARB", [(Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glWindowPos3dARB", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glWindowPos3dvARB", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glWindowPos3fARB", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glWindowPos3fvARB", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glWindowPos3iARB", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glWindowPos3ivARB", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glWindowPos3sARB", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glWindowPos3svARB", [(Array(Const(GLshort), "3"), "v")]), + + # GL_ARB_vertex_program + GlFunction(Void, "glVertexAttrib1dARB", [(GLuint, "index"), (GLdouble, "x")]), + GlFunction(Void, "glVertexAttrib1dvARB", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glVertexAttrib1fARB", [(GLuint, "index"), (GLfloat, "x")]), + GlFunction(Void, "glVertexAttrib1fvARB", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]), + GlFunction(Void, "glVertexAttrib1sARB", [(GLuint, "index"), (GLshort, "x")]), + GlFunction(Void, "glVertexAttrib1svARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]), + GlFunction(Void, "glVertexAttrib2dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertexAttrib2dvARB", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glVertexAttrib2fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glVertexAttrib2fvARB", [(GLuint, "index"), (Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glVertexAttrib2sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glVertexAttrib2svARB", [(GLuint, "index"), (Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glVertexAttrib3dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertexAttrib3dvARB", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glVertexAttrib3fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glVertexAttrib3fvARB", [(GLuint, "index"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glVertexAttrib3sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glVertexAttrib3svARB", [(GLuint, "index"), (Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glVertexAttrib4NbvARB", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4NivARB", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4NsvARB", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4NubARB", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]), + GlFunction(Void, "glVertexAttrib4NubvARB", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4NuivARB", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4NusvARB", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4bvARB", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertexAttrib4dvARB", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glVertexAttrib4fvARB", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4ivARB", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glVertexAttrib4svARB", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4ubvARB", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4uivARB", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4usvARB", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glVertexAttribPointerARB", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glEnableVertexAttribArrayARB", [(GLuint, "index")]), + GlFunction(Void, "glDisableVertexAttribArrayARB", [(GLuint, "index")]), + GlFunction(Void, "glProgramStringARB", [(GLenum, "target"), (GLenum, "format"), (GLsizei, "len"), (String("const void *", "len"), "string")]), + GlFunction(Void, "glBindProgramARB", [(GLenum, "target"), (GLprogramARB, "program")]), + GlFunction(Void, "glDeleteProgramsARB", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "programs")]), + GlFunction(Void, "glGenProgramsARB", [(GLsizei, "n"), Out(Array(GLprogramARB, "n"), "programs")]), + GlFunction(Void, "glProgramEnvParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glProgramEnvParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "params")]), + GlFunction(Void, "glProgramEnvParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glProgramEnvParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "params")]), + GlFunction(Void, "glProgramLocalParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glProgramLocalParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "params")]), + GlFunction(Void, "glProgramLocalParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glProgramLocalParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "params")]), + GlFunction(Void, "glGetProgramEnvParameterdvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramEnvParameterfvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramLocalParameterdvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramLocalParameterfvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramStringARB", [(GLenum, "target"), (GLenum, "pname"), Out(OpaquePointer(GLvoid), "string")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribdvARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLdouble, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribfvARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribivARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribPointervARB", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False), + GlFunction(GLboolean, "glIsProgramARB", [(GLprogramARB, "program")], sideeffects=False), + + # GL_ARB_vertex_buffer_object + GlFunction(Void, "glBindBufferARB", [(GLenum, "target"), (GLbuffer, "buffer")]), + GlFunction(Void, "glDeleteBuffersARB", [(GLsizei, "n"), (Array(Const(GLbuffer), "n"), "buffers")]), + GlFunction(Void, "glGenBuffersARB", [(GLsizei, "n"), Out(Array(GLbuffer, "n"), "buffers")]), + GlFunction(GLboolean, "glIsBufferARB", [(GLbuffer, "buffer")], sideeffects=False), + GlFunction(Void, "glBufferDataARB", [(GLenum, "target"), (GLsizeiptrARB, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]), + GlFunction(Void, "glBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), (Blob(Const(GLvoid), "size"), "data")]), + GlFunction(Void, "glGetBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), Out(Blob(GLvoid, "size"), "data")], sideeffects=False), + GlFunction(GLmap, "glMapBufferARB", [(GLenum, "target"), (GLenum, "access")]), + GlFunction(GLboolean, "glUnmapBufferARB", [(GLenum, "target")]), + GlFunction(Void, "glGetBufferParameterivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetBufferPointervARB", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), + + # GL_ARB_occlusion_query + GlFunction(Void, "glGenQueriesARB", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]), + GlFunction(Void, "glDeleteQueriesARB", [(GLsizei, "n"), (Array(Const(GLquery), "n"), "ids")]), + GlFunction(GLboolean, "glIsQueryARB", [(GLquery, "id")], sideeffects=False), + GlFunction(Void, "glBeginQueryARB", [(GLenum, "target"), (GLquery, "id")]), + GlFunction(Void, "glEndQueryARB", [(GLenum, "target")]), + GlFunction(Void, "glGetQueryivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryivARB_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetQueryObjectivARB", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLint, "__glGetQueryObjectivARB_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetQueryObjectuivARB", [(GLquery, "id"), (GLenum, "pname"), Out(Array(GLuint, "__glGetQueryObjectuivARB_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_shader_objects + GlFunction(Void, "glDeleteObjectARB", [(GLhandleARB, "obj")]), + GlFunction(GLhandleARB, "glGetHandleARB", [(GLenum, "pname")], sideeffects=False), + GlFunction(Void, "glDetachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "attachedObj")]), + GlFunction(GLhandleARB, "glCreateShaderObjectARB", [(GLenum, "shaderType")]), + GlFunction(Void, "glShaderSourceARB", [(GLhandleARB, "shaderObj"), (GLsizei, "count"), (Const(Array(Const(GLstringARB), "count")), "string"), (Array(Const(GLint), "count"), "length")]), + GlFunction(Void, "glCompileShaderARB", [(GLhandleARB, "shaderObj")]), + GlFunction(GLhandleARB, "glCreateProgramObjectARB", []), + GlFunction(Void, "glAttachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "obj")]), + GlFunction(Void, "glLinkProgramARB", [(GLhandleARB, "programObj")]), + GlFunction(Void, "glUseProgramObjectARB", [(GLhandleARB, "programObj")]), + GlFunction(Void, "glValidateProgramARB", [(GLhandleARB, "programObj")]), + GlFunction(Void, "glUniform1fARB", [(GLlocationARB, "location"), (GLfloat, "v0")]), + GlFunction(Void, "glUniform2fARB", [(GLlocationARB, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), + GlFunction(Void, "glUniform3fARB", [(GLlocationARB, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), + GlFunction(Void, "glUniform4fARB", [(GLlocationARB, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), + GlFunction(Void, "glUniform1iARB", [(GLlocationARB, "location"), (GLint, "v0")]), + GlFunction(Void, "glUniform2iARB", [(GLlocationARB, "location"), (GLint, "v0"), (GLint, "v1")]), + GlFunction(Void, "glUniform3iARB", [(GLlocationARB, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), + GlFunction(Void, "glUniform4iARB", [(GLlocationARB, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), + GlFunction(Void, "glUniform1fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), + GlFunction(Void, "glUniform2fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), + GlFunction(Void, "glUniform3fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), + GlFunction(Void, "glUniform4fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), + GlFunction(Void, "glUniform1ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), + GlFunction(Void, "glUniform2ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), + GlFunction(Void, "glUniform3ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), + GlFunction(Void, "glUniform4ivARB", [(GLlocationARB, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), + GlFunction(Void, "glUniformMatrix2fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), + GlFunction(Void, "glUniformMatrix3fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), + GlFunction(Void, "glUniformMatrix4fvARB", [(GLlocationARB, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), + GlFunction(Void, "glGetObjectParameterfvARB", [(GLhandleARB, "obj"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetObjectParameterivARB", [(GLhandleARB, "obj"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetInfoLogARB", [(GLhandleARB, "obj"), (GLsizei, "maxLength"), Out(Pointer(GLsizei), "length"), Out(GLstringARB, "infoLog")], sideeffects=False), + GlFunction(Void, "glGetAttachedObjectsARB", [(GLhandleARB, "containerObj"), (GLsizei, "maxCount"), Out(Pointer(GLsizei), "count"), Out(Array(GLhandleARB, "(count ? *count : maxCount)"), "obj")], sideeffects=False), + GlFunction(GLlocationARB, "glGetUniformLocationARB", [(GLhandleARB, "programObj"), (Const(GLstringARB), "name")]), + GlFunction(Void, "glGetActiveUniformARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstringARB, "name")], sideeffects=False), + GlFunction(Void, "glGetUniformfvARB", [(GLhandleARB, "programObj"), (GLlocationARB, "location"), (OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetUniformivARB", [(GLhandleARB, "programObj"), (GLlocationARB, "location"), (OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetShaderSourceARB", [(GLhandleARB, "obj"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstringARB, "source")], sideeffects=False), + + # GL_ARB_vertex_shader + GlFunction(Void, "glBindAttribLocationARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (Const(GLstringARB), "name")]), + GlFunction(Void, "glGetActiveAttribARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (GLsizei, "maxLength"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstringARB, "name")], sideeffects=False), + GlFunction(GLint, "glGetAttribLocationARB", [(GLhandleARB, "programObj"), (Const(GLstringARB), "name")]), + + # GL_ARB_draw_buffers + GlFunction(Void, "glDrawBuffersARB", [(GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), + + # GL_ARB_color_buffer_float + GlFunction(Void, "glClampColorARB", [(GLenum, "target"), (GLenum, "clamp")]), + + # GL_ARB_draw_instanced + GlFunction(Void, "glDrawArraysInstancedARB", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glDrawElementsInstancedARB", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount")]), + + # GL_ARB_framebuffer_object + GlFunction(GLboolean, "glIsRenderbuffer", [(GLrenderbuffer, "renderbuffer")], sideeffects=False), + GlFunction(Void, "glBindRenderbuffer", [(GLenum, "target"), (GLrenderbuffer, "renderbuffer")]), + GlFunction(Void, "glDeleteRenderbuffers", [(GLsizei, "n"), (Array(Const(GLrenderbuffer), "n"), "renderbuffers")]), + GlFunction(Void, "glGenRenderbuffers", [(GLsizei, "n"), Out(Array(GLrenderbuffer, "n"), "renderbuffers")]), + GlFunction(Void, "glRenderbufferStorage", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetRenderbufferParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(GLboolean, "glIsFramebuffer", [(GLframebuffer, "framebuffer")], sideeffects=False), + GlFunction(Void, "glBindFramebuffer", [(GLenum, "target"), (GLframebuffer, "framebuffer")]), + GlFunction(Void, "glDeleteFramebuffers", [(GLsizei, "n"), (Array(Const(GLframebuffer), "n"), "framebuffers")]), + GlFunction(Void, "glGenFramebuffers", [(GLsizei, "n"), Out(Array(GLframebuffer, "n"), "framebuffers")]), + GlFunction(GLenum, "glCheckFramebufferStatus", [(GLenum, "target")]), + GlFunction(Void, "glFramebufferTexture1D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glFramebufferTexture2D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glFramebufferTexture3D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]), + GlFunction(Void, "glFramebufferRenderbuffer", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]), + GlFunction(Void, "glGetFramebufferAttachmentParameteriv", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), Out(Array(GLint, "__glGetFramebufferAttachmentParameteriv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGenerateMipmap", [(GLenum, "target")]), + GlFunction(Void, "glBlitFramebuffer", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield_attrib, "mask"), (GLenum, "filter")]), + GlFunction(Void, "glRenderbufferStorageMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glFramebufferTextureLayer", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), + + # GL_ARB_geometry_shader4 + GlFunction(Void, "glProgramParameteriARB", [(GLprogram, "program"), (GLenum, "pname"), (GLint, "value")]), + GlFunction(Void, "glFramebufferTextureARB", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glFramebufferTextureLayerARB", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), + GlFunction(Void, "glFramebufferTextureFaceARB", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLenum, "face")]), + + # GL_ARB_instanced_arrays + GlFunction(Void, "glVertexAttribDivisorARB", [(GLuint, "index"), (GLuint, "divisor")]), + + # GL_ARB_map_buffer_range + GlFunction(GLmap, "glMapBufferRange", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "length"), (GLbitfield_access, "access")]), + GlFunction(Void, "glFlushMappedBufferRange", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "length")]), + + # GL_ARB_texture_buffer_object + GlFunction(Void, "glTexBufferARB", [(GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), + + # GL_ARB_vertex_array_object + GlFunction(Void, "glBindVertexArray", [(GLarray, "array")]), + GlFunction(Void, "glDeleteVertexArrays", [(GLsizei, "n"), (Array(Const(GLarray), "n"), "arrays")]), + GlFunction(Void, "glGenVertexArrays", [(GLsizei, "n"), Out(Array(GLarray, "n"), "arrays")]), + GlFunction(GLboolean, "glIsVertexArray", [(GLarray, "array")], sideeffects=False), + + # GL_ARB_uniform_buffer_object + GlFunction(Void, "glGetUniformIndices", [(GLprogram, "program"), (GLsizei, "uniformCount"), (Array(Const(GLstring), "uniformCount"), "uniformNames"), Out(Array(GLuint, "uniformCount"), "uniformIndices")], sideeffects=False), + GlFunction(Void, "glGetActiveUniformsiv", [(GLprogram, "program"), (GLsizei, "uniformCount"), (Array(Const(GLuint), "uniformCount"), "uniformIndices"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveUniformsiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetActiveUniformName", [(GLprogram, "program"), (GLuint, "uniformIndex"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "uniformName")], sideeffects=False), + GlFunction(GLuint, "glGetUniformBlockIndex", [(GLprogram, "program"), (Const(GLstring), "uniformBlockName")]), + GlFunction(Void, "glGetActiveUniformBlockiv", [(GLprogram, "program"), (GLuint, "uniformBlockIndex"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveUniformBlockiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetActiveUniformBlockName", [(GLprogram, "program"), (GLuint, "uniformBlockIndex"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "uniformBlockName")], sideeffects=False), + GlFunction(Void, "glUniformBlockBinding", [(GLprogram, "program"), (GLuint, "uniformBlockIndex"), (GLuint, "uniformBlockBinding")]), + + # GL_ARB_copy_buffer + GlFunction(Void, "glCopyBufferSubData", [(GLenum, "readTarget"), (GLenum, "writeTarget"), (GLintptr, "readOffset"), (GLintptr, "writeOffset"), (GLsizeiptr, "size")]), + + # GL_ARB_draw_elements_base_vertex + GlFunction(Void, "glDrawElementsBaseVertex", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLint, "basevertex")]), + GlFunction(Void, "glDrawRangeElementsBaseVertex", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLint, "basevertex")]), + GlFunction(Void, "glDrawElementsInstancedBaseVertex", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount"), (GLint, "basevertex")]), + GlFunction(Void, "glMultiDrawElementsBaseVertex", [(GLenum_mode, "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount"), (Array(Const(GLint), "primcount"), "basevertex")]), + + # GL_ARB_provoking_vertex + GlFunction(Void, "glProvokingVertex", [(GLenum, "mode")]), + + # GL_ARB_sync + GlFunction(GLsync, "glFenceSync", [(GLenum, "condition"), (GLbitfield, "flags")]), + GlFunction(GLboolean, "glIsSync", [(GLsync, "sync")], sideeffects=False), + GlFunction(Void, "glDeleteSync", [(GLsync, "sync")]), + GlFunction(GLenum, "glClientWaitSync", [(GLsync, "sync"), (GLbitfield_sync_flush, "flags"), (GLuint64, "timeout")]), + GlFunction(Void, "glWaitSync", [(GLsync, "sync"), (GLbitfield, "flags"), (GLuint64, "timeout")]), + GlFunction(Void, "glGetInteger64v", [(GLenum, "pname"), Out(OpaqueArray(GLint64, "__glGetInteger64v_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetSynciv", [(GLsync, "sync"), (GLenum, "pname"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLint, "(length ? *length : bufSize)"), "values")], sideeffects=False), + + # GL_ARB_texture_multisample + GlFunction(Void, "glTexImage2DMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedsamplelocations")]), + GlFunction(Void, "glTexImage3DMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedsamplelocations")]), + GlFunction(Void, "glGetMultisamplefv", [(GLenum, "pname"), (GLuint, "index"), Out(OpaqueArray(GLfloat, "__glGetMultisamplefv_size(pname)"), "val")], sideeffects=False), + GlFunction(Void, "glSampleMaski", [(GLuint, "index"), (GLbitfield, "mask")]), + + # GL_ARB_draw_buffers_blend + GlFunction(Void, "glBlendEquationiARB", [(GLuint, "buf"), (GLenum, "mode")]), + GlFunction(Void, "glBlendEquationSeparateiARB", [(GLuint, "buf"), (GLenum, "modeRGB"), (GLenum, "modeAlpha")]), + GlFunction(Void, "glBlendFunciARB", [(GLuint, "buf"), (GLenum, "src"), (GLenum, "dst")]), + GlFunction(Void, "glBlendFuncSeparateiARB", [(GLuint, "buf"), (GLenum, "srcRGB"), (GLenum, "dstRGB"), (GLenum, "srcAlpha"), (GLenum, "dstAlpha")]), + + # GL_ARB_sample_shading + GlFunction(Void, "glMinSampleShadingARB", [(GLclampf, "value")]), + + # GL_ARB_shading_language_include + GlFunction(Void, "glNamedStringARB", [(GLenum, "type"), (GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name"), (GLint, "stringlen"), (Const(String('GLchar *', "stringlen")), "string")]), + GlFunction(Void, "glDeleteNamedStringARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name")]), + GlFunction(Void, "glCompileShaderIncludeARB", [(GLshader, "shader"), (GLsizei, "count"), (Array(String("const GLchar *"), "count"), "path"), (Array(Const(GLint), "count"), "length")]), + GlFunction(GLboolean, "glIsNamedStringARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name")], sideeffects=False), + GlFunction(Void, "glGetNamedStringARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name"), (GLsizei, "bufSize"), Out(Pointer(GLint), "stringlen"), Out(Array(GLchar, "bufSize"), "string")], sideeffects=False), + GlFunction(Void, "glGetNamedStringivARB", [(GLint, "namelen"), (Const(String('GLchar *', "namelen")), "name"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetNamedStringivARB_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_blend_func_extended + GlFunction(Void, "glBindFragDataLocationIndexed", [(GLprogram, "program"), (GLuint, "colorNumber"), (GLuint, "index"), (Const(GLstring), "name")]), + GlFunction(GLint, "glGetFragDataIndex", [(GLprogram, "program"), (Const(GLstring), "name")], sideeffects=False), + + # GL_ARB_sampler_objects + GlFunction(Void, "glGenSamplers", [(GLsizei, "count"), Out(Array(GLsampler, "count"), "samplers")]), + GlFunction(Void, "glDeleteSamplers", [(GLsizei, "count"), (Array(Const(GLsampler), "count"), "samplers")]), + GlFunction(GLboolean, "glIsSampler", [(GLsampler, "sampler")], sideeffects=False), + GlFunction(Void, "glBindSampler", [(GLuint, "unit"), (GLsampler, "sampler")]), + GlFunction(Void, "glSamplerParameteri", [(GLsampler, "sampler"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glSamplerParameteriv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "param")]), + GlFunction(Void, "glSamplerParameterf", [(GLsampler, "sampler"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glSamplerParameterfv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "param")]), + GlFunction(Void, "glSamplerParameterIiv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "param")]), + GlFunction(Void, "glSamplerParameterIuiv", [(GLsampler, "sampler"), (GLenum, "pname"), (Array(Const(GLuint), "__gl_param_size(pname)"), "param")]), + GlFunction(Void, "glGetSamplerParameteriv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetSamplerParameterIiv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetSamplerParameterfv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetSamplerParameterIuiv", [(GLsampler, "sampler"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_timer_query + GlFunction(Void, "glQueryCounter", [(GLuint, "id"), (GLenum, "target")]), + GlFunction(Void, "glGetQueryObjecti64v", [(GLuint, "id"), (GLenum, "pname"), Out(OpaqueArray(GLint64, "__glGetQueryObjectivARB_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetQueryObjectui64v", [(GLuint, "id"), (GLenum, "pname"), Out(OpaqueArray(GLuint64, "__glGetQueryObjectuivARB_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_vertex_type_2_10_10_10_rev + GlFunction(Void, "glVertexP2ui", [(GLenum, "type"), (GLuint, "value")]), + GlFunction(Void, "glVertexP2uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "value")]), + GlFunction(Void, "glVertexP3ui", [(GLenum, "type"), (GLuint, "value")]), + GlFunction(Void, "glVertexP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "value")]), + GlFunction(Void, "glVertexP4ui", [(GLenum, "type"), (GLuint, "value")]), + GlFunction(Void, "glVertexP4uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "value")]), + GlFunction(Void, "glTexCoordP1ui", [(GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glTexCoordP1uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glTexCoordP2ui", [(GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glTexCoordP2uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glTexCoordP3ui", [(GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glTexCoordP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glTexCoordP4ui", [(GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glTexCoordP4uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glMultiTexCoordP1ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glMultiTexCoordP1uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glMultiTexCoordP2ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glMultiTexCoordP2uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glMultiTexCoordP3ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glMultiTexCoordP3uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glMultiTexCoordP4ui", [(GLenum, "texture"), (GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glMultiTexCoordP4uiv", [(GLenum, "texture"), (GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glNormalP3ui", [(GLenum, "type"), (GLuint, "coords")]), + GlFunction(Void, "glNormalP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "coords")]), + GlFunction(Void, "glColorP3ui", [(GLenum, "type"), (GLuint, "color")]), + GlFunction(Void, "glColorP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "color")]), + GlFunction(Void, "glColorP4ui", [(GLenum, "type"), (GLuint, "color")]), + GlFunction(Void, "glColorP4uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "color")]), + GlFunction(Void, "glSecondaryColorP3ui", [(GLenum, "type"), (GLuint, "color")]), + GlFunction(Void, "glSecondaryColorP3uiv", [(GLenum, "type"), (Pointer(Const(GLuint)), "color")]), + GlFunction(Void, "glVertexAttribP1ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), + GlFunction(Void, "glVertexAttribP1uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), + GlFunction(Void, "glVertexAttribP2ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), + GlFunction(Void, "glVertexAttribP2uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), + GlFunction(Void, "glVertexAttribP3ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), + GlFunction(Void, "glVertexAttribP3uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), + GlFunction(Void, "glVertexAttribP4ui", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (GLuint, "value")]), + GlFunction(Void, "glVertexAttribP4uiv", [(GLuint, "index"), (GLenum, "type"), (GLboolean, "normalized"), (Pointer(Const(GLuint)), "value")]), + + # GL_ARB_draw_indirect + GlFunction(Void, "glDrawArraysIndirect", [(GLenum_mode, "mode"), (OpaquePointer(Const(GLvoid)), "indirect")]), + GlFunction(Void, "glDrawElementsIndirect", [(GLenum_mode, "mode"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indirect")]), + + # GL_ARB_gpu_shader_fp64 + GlFunction(Void, "glUniform1d", [(GLlocation, "location"), (GLdouble, "x")]), + GlFunction(Void, "glUniform2d", [(GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glUniform3d", [(GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glUniform4d", [(GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glUniform1dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "value")]), + GlFunction(Void, "glUniform2dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "value")]), + GlFunction(Void, "glUniform3dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "value")]), + GlFunction(Void, "glUniform4dv", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "value")]), + GlFunction(Void, "glUniformMatrix2dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*2"), "value")]), + GlFunction(Void, "glUniformMatrix3dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*3"), "value")]), + GlFunction(Void, "glUniformMatrix4dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*4"), "value")]), + GlFunction(Void, "glUniformMatrix2x3dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*3"), "value")]), + GlFunction(Void, "glUniformMatrix2x4dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*4"), "value")]), + GlFunction(Void, "glUniformMatrix3x2dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*2"), "value")]), + GlFunction(Void, "glUniformMatrix3x4dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*4"), "value")]), + GlFunction(Void, "glUniformMatrix4x2dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*2"), "value")]), + GlFunction(Void, "glUniformMatrix4x3dv", [(GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*3"), "value")]), + GlFunction(Void, "glGetUniformdv", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaqueArray(GLdouble, "__glGetUniformdv_size(location)"), "params")], sideeffects=False), + + # GL_ARB_shader_subroutine + GlFunction(GLlocation, "glGetSubroutineUniformLocation", [(GLprogram, "program"), (GLenum, "shadertype"), (Const(GLstring), "name")]), + GlFunction(GLuint, "glGetSubroutineIndex", [(GLprogram, "program"), (GLenum, "shadertype"), (Const(GLstring), "name")]), + GlFunction(Void, "glGetActiveSubroutineUniformiv", [(GLprogram, "program"), (GLenum, "shadertype"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveSubroutineUniformiv_size(pname)"), "values")], sideeffects=False), + GlFunction(Void, "glGetActiveSubroutineUniformName", [(GLprogram, "program"), (GLenum, "shadertype"), (GLuint, "index"), (GLsizei, "bufsize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufsize"), "name")], sideeffects=False), + GlFunction(Void, "glGetActiveSubroutineName", [(GLprogram, "program"), (GLenum, "shadertype"), (GLuint, "index"), (GLsizei, "bufsize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufsize"), "name")], sideeffects=False), + GlFunction(Void, "glUniformSubroutinesuiv", [(GLenum, "shadertype"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "indices")]), + GlFunction(Void, "glGetUniformSubroutineuiv", [(GLenum, "shadertype"), (GLlocation, "location"), Out(Pointer(GLuint), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramStageiv", [(GLprogram, "program"), (GLenum, "shadertype"), (GLenum, "pname"), Out(Pointer(GLint), "values")], sideeffects=False), + + # GL_ARB_tessellation_shader + GlFunction(Void, "glPatchParameteri", [(GLenum, "pname"), (GLint, "value")]), + GlFunction(Void, "glPatchParameterfv", [(GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "values")]), + + # GL_ARB_transform_feedback2 + GlFunction(Void, "glBindTransformFeedback", [(GLenum, "target"), (GLfeedback, "id")]), + GlFunction(Void, "glDeleteTransformFeedbacks", [(GLsizei, "n"), (Array(Const(GLfeedback), "n"), "ids")]), + GlFunction(Void, "glGenTransformFeedbacks", [(GLsizei, "n"), Out(Array(GLfeedback, "n"), "ids")]), + GlFunction(GLboolean, "glIsTransformFeedback", [(GLfeedback, "id")], sideeffects=False), + GlFunction(Void, "glPauseTransformFeedback", []), + GlFunction(Void, "glResumeTransformFeedback", []), + GlFunction(Void, "glDrawTransformFeedback", [(GLenum_mode, "mode"), (GLfeedback, "id")]), + + # GL_ARB_transform_feedback3 + GlFunction(Void, "glDrawTransformFeedbackStream", [(GLenum_mode, "mode"), (GLfeedback, "id"), (GLuint, "stream")]), + GlFunction(Void, "glBeginQueryIndexed", [(GLenum, "target"), (GLuint, "index"), (GLfeedback, "id")]), + GlFunction(Void, "glEndQueryIndexed", [(GLenum, "target"), (GLuint, "index")]), + GlFunction(Void, "glGetQueryIndexediv", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetQueryIndexediv_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_ES2_compatibility + GlFunction(Void, "glReleaseShaderCompiler", []), + GlFunction(Void, "glShaderBinary", [(GLsizei, "count"), (Array(Const(GLuint), "count"), "shaders"), (GLenum, "binaryformat"), (Blob(Const(GLvoid), "length"), "binary"), (GLsizei, "length")]), + GlFunction(Void, "glGetShaderPrecisionFormat", [(GLenum, "shadertype"), (GLenum, "precisiontype"), Out(Array(GLint, "2"), "range"), Out(Array(GLint, "2"), "precision")], sideeffects=False), + GlFunction(Void, "glDepthRangef", [(GLclampf, "n"), (GLclampf, "f")]), + GlFunction(Void, "glClearDepthf", [(GLclampf, "d")]), + + # GL_ARB_get_program_binary + GlFunction(Void, "glGetProgramBinary", [(GLprogram, "program"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLenum), "binaryFormat"), Out(OpaqueArray(GLvoid, "__glGetProgramBinary_size(length)"), "binary")], sideeffects=False), + GlFunction(Void, "glProgramBinary", [(GLprogram, "program"), (GLenum, "binaryFormat"), (Blob(Const(GLvoid), "length"), "binary"), (GLsizei, "length")]), + GlFunction(Void, "glProgramParameteri", [(GLprogram, "program"), (GLenum, "pname"), (GLint, "value")]), + + # GL_ARB_separate_shader_objects + GlFunction(Void, "glUseProgramStages", [(GLpipeline, "pipeline"), (GLbitfield_shader, "stages"), (GLprogram, "program")]), + GlFunction(Void, "glActiveShaderProgram", [(GLpipeline, "pipeline"), (GLprogram, "program")]), + GlFunction(GLprogram, "glCreateShaderProgramv", [(GLenum, "type"), (GLsizei, "count"), (Const(Array(Const(GLstring), "count")), "strings")]), + GlFunction(Void, "glBindProgramPipeline", [(GLpipeline, "pipeline")]), + GlFunction(Void, "glDeleteProgramPipelines", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "pipelines")]), + GlFunction(Void, "glGenProgramPipelines", [(GLsizei, "n"), Out(Array(GLpipeline, "n"), "pipelines")]), + GlFunction(GLboolean, "glIsProgramPipeline", [(GLpipeline, "pipeline")], sideeffects=False), + GlFunction(Void, "glGetProgramPipelineiv", [(GLpipeline, "pipeline"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetProgramPipelineiv_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glProgramUniform1i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0")]), + GlFunction(Void, "glProgramUniform1iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), + GlFunction(Void, "glProgramUniform1f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0")]), + GlFunction(Void, "glProgramUniform1fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), + GlFunction(Void, "glProgramUniform1d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0")]), + GlFunction(Void, "glProgramUniform1dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "value")]), + GlFunction(Void, "glProgramUniform1ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0")]), + GlFunction(Void, "glProgramUniform1uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), + GlFunction(Void, "glProgramUniform2i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1")]), + GlFunction(Void, "glProgramUniform2iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform2f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), + GlFunction(Void, "glProgramUniform2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform2d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0"), (GLdouble, "v1")]), + GlFunction(Void, "glProgramUniform2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform2ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), + GlFunction(Void, "glProgramUniform2uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), + GlFunction(Void, "glProgramUniform3iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform3f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), + GlFunction(Void, "glProgramUniform3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform3d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0"), (GLdouble, "v1"), (GLdouble, "v2")]), + GlFunction(Void, "glProgramUniform3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform3ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), + GlFunction(Void, "glProgramUniform3uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4i", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), + GlFunction(Void, "glProgramUniform4iv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), + GlFunction(Void, "glProgramUniform4f", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), + GlFunction(Void, "glProgramUniform4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), + GlFunction(Void, "glProgramUniform4d", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "v0"), (GLdouble, "v1"), (GLdouble, "v2"), (GLdouble, "v3")]), + GlFunction(Void, "glProgramUniform4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "value")]), + GlFunction(Void, "glProgramUniform4ui", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), + GlFunction(Void, "glProgramUniform4uiv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x2fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x4fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x3fv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x2dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x4dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x3dv", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*3"), "value")]), + GlFunction(Void, "glValidateProgramPipeline", [(GLpipeline, "pipeline")]), + GlFunction(Void, "glGetProgramPipelineInfoLog", [(GLpipeline, "pipeline"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False), + + # GL_ARB_vertex_attrib_64bit + GlFunction(Void, "glVertexAttribL1d", [(GLuint, "index"), (GLdouble, "x")]), + GlFunction(Void, "glVertexAttribL2d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertexAttribL3d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertexAttribL4d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertexAttribL1dv", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glVertexAttribL2dv", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glVertexAttribL3dv", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glVertexAttribL4dv", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glVertexAttribLPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glGetVertexAttribLdv", [(GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLdouble, "__glGetVertexAttribLdv_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_viewport_array + GlFunction(Void, "glViewportArrayv", [(GLuint, "first"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "v")]), + GlFunction(Void, "glViewportIndexedf", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "w"), (GLfloat, "h")]), + GlFunction(Void, "glViewportIndexedfv", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glScissorArrayv", [(GLuint, "first"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "v")]), + GlFunction(Void, "glScissorIndexed", [(GLuint, "index"), (GLint, "left"), (GLint, "bottom"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glScissorIndexedv", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glDepthRangeArrayv", [(GLuint, "first"), (GLsizei, "count"), (Array(Const(GLclampd), "count*2"), "v")]), + GlFunction(Void, "glDepthRangeIndexed", [(GLuint, "index"), (GLclampd, "n"), (GLclampd, "f")]), + GlFunction(Void, "glGetFloati_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "__gl_param_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glGetDoublei_v", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "__gl_param_size(target)"), "data")], sideeffects=False), + + # GL_ARB_debug_output + GlFunction(Void, "glDebugMessageControlARB", [(GLenum, "source"), (GLenum, "type"), (GLenum, "severity"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "ids"), (GLboolean, "enabled")], sideeffects=False), + GlFunction(Void, "glDebugMessageInsertARB", [(GLenum, "source"), (GLenum, "type"), (GLuint, "id"), (GLenum, "severity"), (GLsizei, "length"), (Const(String("GLchar *", "length")), "buf")], sideeffects=False), + GlFunction(Void, "glDebugMessageCallbackARB", [(GLDEBUGPROCARB, "callback"), (Opaque("const GLvoid *"), "userParam")], sideeffects=False), + GlFunction(GLuint, "glGetDebugMessageLogARB", [(GLuint, "count"), (GLsizei, "bufsize"), Out(Array(GLenum, "count"), "sources"), Out(Array(GLenum, "count"), "types"), Out(Array(GLuint, "count"), "ids"), Out(Array(GLenum, "count"), "severities"), Out(Array(GLsizei, "count"), "lengths"), Out(GLstring, "messageLog")], sideeffects=False), + + # GL_ARB_robustness + GlFunction(GLenum, "glGetGraphicsResetStatusARB", [], sideeffects=False), + GlFunction(Void, "glGetnMapdvARB", [(GLenum, "target"), (GLenum, "query"), (GLsizei, "bufSize"), Out(Array(GLdouble, "bufSize"), "v")], sideeffects=False), + GlFunction(Void, "glGetnMapfvARB", [(GLenum, "target"), (GLenum, "query"), (GLsizei, "bufSize"), Out(Array(GLfloat, "bufSize"), "v")], sideeffects=False), + GlFunction(Void, "glGetnMapivARB", [(GLenum, "target"), (GLenum, "query"), (GLsizei, "bufSize"), Out(Array(GLint, "bufSize"), "v")], sideeffects=False), + GlFunction(Void, "glGetnPixelMapfvARB", [(GLenum, "map"), (GLsizei, "bufSize"), Out(Array(GLfloat, "bufSize"), "values")]), + GlFunction(Void, "glGetnPixelMapuivARB", [(GLenum, "map"), (GLsizei, "bufSize"), Out(Array(GLuint, "bufSize"), "values")]), + GlFunction(Void, "glGetnPixelMapusvARB", [(GLenum, "map"), (GLsizei, "bufSize"), Out(Array(GLushort, "bufSize"), "values")]), + GlFunction(Void, "glGetnPolygonStippleARB", [(GLsizei, "bufSize"), Out(Blob(GLubyte, "bufSize"), "pattern")]), + GlFunction(Void, "glGetnColorTableARB", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "table")], sideeffects=False), + GlFunction(Void, "glGetnConvolutionFilterARB", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "image")]), + GlFunction(Void, "glGetnSeparableFilterARB", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "rowBufSize"), Out(Blob(GLvoid, "rowBufSize"), "row"), (GLsizei, "columnBufSize"), Out(Blob(GLvoid, "columnBufSize"), "column"), Out(OpaquePointer(GLvoid), "span")]), + GlFunction(Void, "glGetnHistogramARB", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "values")]), + GlFunction(Void, "glGetnMinmaxARB", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "values")]), + GlFunction(Void, "glGetnTexImageARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "img")]), + GlFunction(Void, "glReadnPixelsARB", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "data")]), + GlFunction(Void, "glGetnCompressedTexImageARB", [(GLenum, "target"), (GLint, "lod"), (GLsizei, "bufSize"), Out(Blob(GLvoid, "bufSize"), "img")], sideeffects=False), + GlFunction(Void, "glGetnUniformfvARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLfloat, "bufSize"), "params")], sideeffects=False), + GlFunction(Void, "glGetnUniformivARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLint, "bufSize"), "params")], sideeffects=False), + GlFunction(Void, "glGetnUniformuivARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLuint, "bufSize"), "params")], sideeffects=False), + GlFunction(Void, "glGetnUniformdvARB", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "bufSize"), Out(Array(GLdouble, "bufSize"), "params")], sideeffects=False), + + # GL_ARB_base_instance + GlFunction(Void, "glDrawArraysInstancedBaseInstance", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount"), (GLuint, "baseinstance")]), + GlFunction(Void, "glDrawElementsInstancedBaseInstance", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount"), (GLuint, "baseinstance")]), + GlFunction(Void, "glDrawElementsInstancedBaseVertexBaseInstance", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount"), (GLint, "basevertex"), (GLuint, "baseinstance")]), + + # GL_ARB_transform_feedback_instanced + GlFunction(Void, "glDrawTransformFeedbackInstanced", [(GLenum_mode, "mode"), (GLfeedback, "id"), (GLsizei, "primcount")]), + GlFunction(Void, "glDrawTransformFeedbackStreamInstanced", [(GLenum_mode, "mode"), (GLfeedback, "id"), (GLuint, "stream"), (GLsizei, "primcount")]), + + # GL_ARB_internalformat_query + GlFunction(Void, "glGetInternalformativ", [(GLenum, "target"), (GLenum, "internalformat"), (GLenum, "pname"), (GLsizei, "bufSize"), Out(Array(GLint, "bufSize"), "params")], sideeffects=False), + + # GL_ARB_shader_atomic_counters + GlFunction(Void, "glGetActiveAtomicCounterBufferiv", [(GLprogram, "program"), (GLuint, "bufferIndex"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetActiveAtomicCounterBufferiv_size(pname)"), "params")], sideeffects=False), + + # GL_ARB_shader_image_load_store + GlFunction(Void, "glBindImageTexture", [(GLuint, "unit"), (GLtexture, "texture"), (GLint, "level"), (GLboolean, "layered"), (GLint, "layer"), (GLenum, "access"), (GLenum, "format")]), + GlFunction(Void, "glMemoryBarrier", [(GLbitfield_barrier, "barriers")]), + + # GL_ARB_texture_storage + GlFunction(Void, "glTexStorage1D", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width")]), + GlFunction(Void, "glTexStorage2D", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glTexStorage3D", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), + GlFunction(Void, "glTextureStorage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width")]), + GlFunction(Void, "glTextureStorage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glTextureStorage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), + + # GL_EXT_blend_color + GlFunction(Void, "glBlendColorEXT", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]), + + # GL_EXT_polygon_offset + GlFunction(Void, "glPolygonOffsetEXT", [(GLfloat, "factor"), (GLfloat, "bias")]), + + # GL_EXT_texture3D + GlFunction(Void, "glTexImage3DEXT", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexImage3D_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glTexSubImage3DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage3D_size(format, type, width, height, depth)"), "pixels")]), + + # GL_SGIS_texture_filter4 + GlFunction(Void, "glGetTexFilterFuncSGIS", [(GLenum, "target"), (GLenum, "filter"), Out(OpaqueArray(GLfloat, "__glGetTexFilterFuncSGIS_size(target, filter)"), "weights")], sideeffects=False), + GlFunction(Void, "glTexFilterFuncSGIS", [(GLenum, "target"), (GLenum, "filter"), (GLsizei, "n"), (Array(Const(GLfloat), "n"), "weights")]), + + # GL_EXT_subtexture + GlFunction(Void, "glTexSubImage1DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage1D_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glTexSubImage2DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTexSubImage2D_size(format, type, width, height)"), "pixels")]), + + # GL_EXT_copy_texture + GlFunction(Void, "glCopyTexImage1DEXT", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), + GlFunction(Void, "glCopyTexImage2DEXT", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), + GlFunction(Void, "glCopyTexSubImage1DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glCopyTexSubImage2DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glCopyTexSubImage3DEXT", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + + # GL_EXT_histogram + GlFunction(Void, "glGetHistogramEXT", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetHistogramEXT_size(target, format, type)"), "values")], sideeffects=False), + GlFunction(Void, "glGetHistogramParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetHistogramParameterfvEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetHistogramParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetHistogramParameterivEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMinmaxEXT", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetMinmaxEXT_size(target, format, type)"), "values")], sideeffects=False), + GlFunction(Void, "glGetMinmaxParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetMinmaxParameterfvEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMinmaxParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetMinmaxParameterivEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glHistogramEXT", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]), + GlFunction(Void, "glMinmaxEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]), + GlFunction(Void, "glResetHistogramEXT", [(GLenum, "target")]), + GlFunction(Void, "glResetMinmaxEXT", [(GLenum, "target")]), + + # GL_EXT_convolution + GlFunction(Void, "glConvolutionFilter1DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glConvolutionFilter1DEXT_size(format, type, width)"), "image")]), + GlFunction(Void, "glConvolutionFilter2DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glConvolutionFilter2DEXT_size(format, type, width, height)"), "image")]), + GlFunction(Void, "glConvolutionParameterfEXT", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]), + GlFunction(Void, "glConvolutionParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glConvolutionParameterfvEXT_size(pname)"), "params")]), + GlFunction(Void, "glConvolutionParameteriEXT", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]), + GlFunction(Void, "glConvolutionParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glConvolutionParameterivEXT_size(pname)"), "params")]), + GlFunction(Void, "glCopyConvolutionFilter1DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glCopyConvolutionFilter2DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetConvolutionFilterEXT", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetConvolutionFilterEXT_size(target, format, type)"), "image")], sideeffects=False), + GlFunction(Void, "glGetConvolutionParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetConvolutionParameterfvEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetConvolutionParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetConvolutionParameterivEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetSeparableFilterEXT", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilterEXT_size(target, format, type)"), "row"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilterEXT_size(target, format, type)"), "column"), Out(OpaqueBlob(GLvoid, "__glGetSeparableFilterEXT_size(target, format, type)"), "span")], sideeffects=False), + GlFunction(Void, "glSeparableFilter2DEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glSeparableFilter2DEXT_size(target, format, type, width)"), "row"), (OpaqueBlob(Const(GLvoid), "__glSeparableFilter2DEXT_size(target, format, type, height)"), "column")]), + + # GL_SGI_color_table + GlFunction(Void, "glColorTableSGI", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glColorTableSGI_size(format, type, width)"), "table")]), + GlFunction(Void, "glColorTableParameterfvSGI", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glColorTableParameterfvSGI_size(pname)"), "params")]), + GlFunction(Void, "glColorTableParameterivSGI", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glColorTableParameterivSGI_size(pname)"), "params")]), + GlFunction(Void, "glCopyColorTableSGI", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glGetColorTableSGI", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetColorTableSGI_size(target, format, type)"), "table")], sideeffects=False), + GlFunction(Void, "glGetColorTableParameterfvSGI", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetColorTableParameterfvSGI_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetColorTableParameterivSGI", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetColorTableParameterivSGI_size(pname)"), "params")], sideeffects=False), + + # GL_SGIX_pixel_texture + GlFunction(Void, "glPixelTexGenSGIX", [(GLenum, "mode")]), + + # GL_SGIS_pixel_texture + GlFunction(Void, "glPixelTexGenParameteriSGIS", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glPixelTexGenParameterivSGIS", [(GLenum, "pname"), (OpaqueArray(Const(GLint), "__glPixelTexGenParameterivSGIS_size(pname)"), "params")]), + GlFunction(Void, "glPixelTexGenParameterfSGIS", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPixelTexGenParameterfvSGIS", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glPixelTexGenParameterfvSGIS_size(pname)"), "params")]), + GlFunction(Void, "glGetPixelTexGenParameterivSGIS", [(GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetPixelTexGenParameterivSGIS_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetPixelTexGenParameterfvSGIS", [(GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetPixelTexGenParameterfvSGIS_size(pname)"), "params")], sideeffects=False), + + # GL_SGIS_texture4D + GlFunction(Void, "glTexImage4DSGIS", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLsizei, "size4d"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glTexImage4DSGIS_size(format, type, width, height, depth, size4d)"), "pixels")]), + GlFunction(Void, "glTexSubImage4DSGIS", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "woffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLsizei, "size4d"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glTexSubImage4DSGIS_size(format, type, width, height, depth, size4d)"), "pixels")]), + + # GL_EXT_texture_object + GlFunction(GLboolean, "glAreTexturesResidentEXT", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), Out(Array(GLboolean, "n"), "residences")]), + GlFunction(Void, "glBindTextureEXT", [(GLenum, "target"), (GLtexture, "texture")]), + GlFunction(Void, "glDeleteTexturesEXT", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures")]), + GlFunction(Void, "glGenTexturesEXT", [(GLsizei, "n"), Out(Array(GLtexture, "n"), "textures")]), + GlFunction(GLboolean, "glIsTextureEXT", [(GLtexture, "texture")], sideeffects=False), + GlFunction(Void, "glPrioritizeTexturesEXT", [(GLsizei, "n"), (Array(Const(GLtexture), "n"), "textures"), (Array(Const(GLclampf), "n"), "priorities")]), + + # GL_SGIS_detail_texture + GlFunction(Void, "glDetailTexFuncSGIS", [(GLenum, "target"), (GLsizei, "n"), (Array(Const(GLfloat), "n*2"), "points")]), + GlFunction(Void, "glGetDetailTexFuncSGIS", [(GLenum, "target"), Out(OpaqueArray(GLfloat, "__glGetDetailTexFuncSGIS_size(target)"), "points")], sideeffects=False), + + # GL_SGIS_sharpen_texture + GlFunction(Void, "glSharpenTexFuncSGIS", [(GLenum, "target"), (GLsizei, "n"), (Array(Const(GLfloat), "n*2"), "points")]), + GlFunction(Void, "glGetSharpenTexFuncSGIS", [(GLenum, "target"), Out(OpaqueArray(GLfloat, "__glGetSharpenTexFuncSGIS_size(target)"), "points")], sideeffects=False), + + # GL_SGIS_multisample + GlFunction(Void, "glSampleMaskSGIS", [(GLclampf, "value"), (GLboolean, "invert")]), + GlFunction(Void, "glSamplePatternSGIS", [(GLenum, "pattern")]), + + # GL_EXT_vertex_array + GlFunction(Void, "glArrayElementEXT", [(GLint, "i")]), + GlFunction(Void, "glColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glDrawArraysEXT", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]), + GlFunction(Void, "glEdgeFlagPointerEXT", [(GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLboolean)), "pointer")]), + GlFunction(Void, "glGetPointervEXT", [(GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), + GlFunction(Void, "glIndexPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glNormalPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glTexCoordPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glVertexPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_EXT_blend_minmax + GlFunction(Void, "glBlendEquationEXT", [(GLenum, "mode")]), + + # GL_SGIX_sprite + GlFunction(Void, "glSpriteParameterfSGIX", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glSpriteParameterfvSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glSpriteParameterfvSGIX_size(pname)"), "params")]), + GlFunction(Void, "glSpriteParameteriSGIX", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glSpriteParameterivSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLint), "__glSpriteParameterivSGIX_size(pname)"), "params")]), + + # GL_EXT_point_parameters + GlFunction(Void, "glPointParameterfEXT", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPointParameterfvEXT", [(GLenum, "pname"), (Array(Const(GLfloat), "__glPointParameterfv_size(pname)"), "params")]), + + # GL_SGIS_point_parameters + GlFunction(Void, "glPointParameterfSGIS", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPointParameterfvSGIS", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glPointParameterfvSGIS_size(pname)"), "params")]), + + # GL_SGIX_instruments + GlFunction(GLint, "glGetInstrumentsSGIX", [], sideeffects=False), + GlFunction(Void, "glInstrumentsBufferSGIX", [(GLsizei, "size"), Out(OpaquePointer(GLint), "buffer")]), + GlFunction(GLint, "glPollInstrumentsSGIX", [Out(Pointer(GLint), "marker_p")]), + GlFunction(Void, "glReadInstrumentsSGIX", [(GLint, "marker")]), + GlFunction(Void, "glStartInstrumentsSGIX", []), + GlFunction(Void, "glStopInstrumentsSGIX", [(GLint, "marker")]), + + # GL_SGIX_framezoom + GlFunction(Void, "glFrameZoomSGIX", [(GLint, "factor")]), + + # GL_SGIX_tag_sample_buffer + GlFunction(Void, "glTagSampleBufferSGIX", []), + + # GL_SGIX_polynomial_ffd + GlFunction(Void, "glDeformationMap3dSGIX", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (GLdouble, "w1"), (GLdouble, "w2"), (GLint, "wstride"), (GLint, "worder"), (OpaqueArray(Const(GLdouble), "__glDeformationMap3dSGIX_size(target, ustride, uorder, vstride, vorder, wstride, worder)"), "points")]), + GlFunction(Void, "glDeformationMap3fSGIX", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (GLfloat, "w1"), (GLfloat, "w2"), (GLint, "wstride"), (GLint, "worder"), (OpaqueArray(Const(GLfloat), "__glDeformationMap3fSGIX_size(target, ustride, uorder, vstride, vorder, wstride, worder)"), "points")]), + GlFunction(Void, "glDeformSGIX", [(GLbitfield, "mask")]), + GlFunction(Void, "glLoadIdentityDeformationMapSGIX", [(GLbitfield, "mask")]), + + # GL_SGIX_reference_plane + GlFunction(Void, "glReferencePlaneSGIX", [(Array(Const(GLdouble), "4"), "equation")]), + + # GL_SGIX_flush_raster + GlFunction(Void, "glFlushRasterSGIX", []), + + # GL_SGIS_fog_function + GlFunction(Void, "glFogFuncSGIS", [(GLsizei, "n"), (Array(Const(GLfloat), "n*2"), "points")]), + GlFunction(Void, "glGetFogFuncSGIS", [Out(OpaqueArray(GLfloat, "__glGetFogFuncSGIS_size()"), "points")], sideeffects=False), + + # GL_HP_image_transform + GlFunction(Void, "glImageTransformParameteriHP", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glImageTransformParameterfHP", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glImageTransformParameterivHP", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glImageTransformParameterivHP_size(pname)"), "params")]), + GlFunction(Void, "glImageTransformParameterfvHP", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glImageTransformParameterfvHP_size(pname)"), "params")]), + GlFunction(Void, "glGetImageTransformParameterivHP", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetImageTransformParameterivHP_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetImageTransformParameterfvHP", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetImageTransformParameterfvHP_size(pname)"), "params")], sideeffects=False), + + # GL_EXT_color_subtable + GlFunction(Void, "glColorSubTableEXT", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glColorSubTable_size(format, type, count)"), "data")]), + GlFunction(Void, "glCopyColorSubTableEXT", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + + # GL_PGI_misc_hints + GlFunction(Void, "glHintPGI", [(GLenum, "target"), (GLint, "mode")]), + + # GL_EXT_paletted_texture + GlFunction(Void, "glColorTableEXT", [(GLenum, "target"), (GLenum, "internalFormat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glColorTableEXT_size(format, type, width)"), "table")]), + GlFunction(Void, "glGetColorTableEXT", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetColorTableEXT_size(target, format, type)"), "data")], sideeffects=False), + GlFunction(Void, "glGetColorTableParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetColorTableParameterivEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetColorTableParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetColorTableParameterfvEXT_size(pname)"), "params")], sideeffects=False), + + # GL_SGIX_list_priority + GlFunction(Void, "glGetListParameterfvSGIX", [(GLuint, "list"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetListParameterfvSGIX_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetListParameterivSGIX", [(GLuint, "list"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetListParameterivSGIX_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glListParameterfSGIX", [(GLuint, "list"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glListParameterfvSGIX", [(GLuint, "list"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glListParameterfvSGIX_size(pname)"), "params")]), + GlFunction(Void, "glListParameteriSGIX", [(GLuint, "list"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glListParameterivSGIX", [(GLuint, "list"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glListParameterivSGIX_size(pname)"), "params")]), + + # GL_EXT_index_material + GlFunction(Void, "glIndexMaterialEXT", [(GLenum, "face"), (GLenum, "mode")]), + + # GL_EXT_index_func + GlFunction(Void, "glIndexFuncEXT", [(GLenum, "func"), (GLclampf, "ref")]), + + # GL_EXT_compiled_vertex_array + GlFunction(Void, "glLockArraysEXT", [(GLint, "first"), (GLsizei, "count")]), + GlFunction(Void, "glUnlockArraysEXT", []), + + # GL_EXT_cull_vertex + GlFunction(Void, "glCullParameterdvEXT", [(GLenum, "pname"), Out(Array(GLdouble, "4"), "params")]), + GlFunction(Void, "glCullParameterfvEXT", [(GLenum, "pname"), Out(Array(GLfloat, "4"), "params")]), + + # GL_SGIX_fragment_lighting + GlFunction(Void, "glFragmentColorMaterialSGIX", [(GLenum, "face"), (GLenum, "mode")]), + GlFunction(Void, "glFragmentLightfSGIX", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glFragmentLightfvSGIX", [(GLenum, "light"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glFragmentLightfvSGIX_size(pname)"), "params")]), + GlFunction(Void, "glFragmentLightiSGIX", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glFragmentLightivSGIX", [(GLenum, "light"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glFragmentLightivSGIX_size(pname)"), "params")]), + GlFunction(Void, "glFragmentLightModelfSGIX", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glFragmentLightModelfvSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glFragmentLightModelfvSGIX_size(pname)"), "params")]), + GlFunction(Void, "glFragmentLightModeliSGIX", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glFragmentLightModelivSGIX", [(GLenum, "pname"), (OpaqueArray(Const(GLint), "__glFragmentLightModelivSGIX_size(pname)"), "params")]), + GlFunction(Void, "glFragmentMaterialfSGIX", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glFragmentMaterialfvSGIX", [(GLenum, "face"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glFragmentMaterialfvSGIX_size(pname)"), "params")]), + GlFunction(Void, "glFragmentMaterialiSGIX", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glFragmentMaterialivSGIX", [(GLenum, "face"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glFragmentMaterialivSGIX_size(pname)"), "params")]), + GlFunction(Void, "glGetFragmentLightfvSGIX", [(GLenum, "light"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetFragmentLightfvSGIX_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetFragmentLightivSGIX", [(GLenum, "light"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetFragmentLightivSGIX_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetFragmentMaterialfvSGIX", [(GLenum, "face"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetFragmentMaterialfvSGIX_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetFragmentMaterialivSGIX", [(GLenum, "face"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetFragmentMaterialivSGIX_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glLightEnviSGIX", [(GLenum, "pname"), (GLint, "param")]), + + # GL_EXT_draw_range_elements + GlFunction(Void, "glDrawRangeElementsEXT", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices")]), + + # GL_EXT_light_texture + GlFunction(Void, "glApplyTextureEXT", [(GLenum, "mode")]), + GlFunction(Void, "glTextureLightEXT", [(GLenum, "pname")]), + GlFunction(Void, "glTextureMaterialEXT", [(GLenum, "face"), (GLenum, "mode")]), + + # GL_SGIX_async + GlFunction(Void, "glAsyncMarkerSGIX", [(GLuint, "marker")]), + GlFunction(GLint, "glFinishAsyncSGIX", [Out(Pointer(GLuint), "markerp")]), + GlFunction(GLint, "glPollAsyncSGIX", [Out(Pointer(GLuint), "markerp")]), + GlFunction(GLuint, "glGenAsyncMarkersSGIX", [(GLsizei, "range")]), + GlFunction(Void, "glDeleteAsyncMarkersSGIX", [(GLuint, "marker"), (GLsizei, "range")]), + GlFunction(GLboolean, "glIsAsyncMarkerSGIX", [(GLuint, "marker")], sideeffects=False), + + # GL_INTEL_parallel_arrays + GlFunction(Void, "glVertexPointervINTEL", [(GLint, "size"), (GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), + GlFunction(Void, "glNormalPointervINTEL", [(GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), + GlFunction(Void, "glColorPointervINTEL", [(GLint, "size"), (GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), + GlFunction(Void, "glTexCoordPointervINTEL", [(GLint, "size"), (GLenum, "type"), (OpaqueArray(Opaque("const GLvoid *"), "size"), "pointer")]), + + # GL_EXT_pixel_transform + GlFunction(Void, "glPixelTransformParameteriEXT", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glPixelTransformParameterfEXT", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glPixelTransformParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]), + GlFunction(Void, "glPixelTransformParameterfvEXT", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]), + + # GL_EXT_secondary_color + GlFunction(Void, "glSecondaryColor3bEXT", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]), + GlFunction(Void, "glSecondaryColor3bvEXT", [(Array(Const(GLbyte), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3dEXT", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]), + GlFunction(Void, "glSecondaryColor3dvEXT", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3fEXT", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]), + GlFunction(Void, "glSecondaryColor3fvEXT", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3iEXT", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]), + GlFunction(Void, "glSecondaryColor3ivEXT", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3sEXT", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]), + GlFunction(Void, "glSecondaryColor3svEXT", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3ubEXT", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]), + GlFunction(Void, "glSecondaryColor3ubvEXT", [(Array(Const(GLubyte), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3uiEXT", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]), + GlFunction(Void, "glSecondaryColor3uivEXT", [(Array(Const(GLuint), "3"), "v")]), + GlFunction(Void, "glSecondaryColor3usEXT", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]), + GlFunction(Void, "glSecondaryColor3usvEXT", [(Array(Const(GLushort), "3"), "v")]), + GlFunction(Void, "glSecondaryColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_EXT_texture_perturb_normal + GlFunction(Void, "glTextureNormalEXT", [(GLenum, "mode")]), + + # GL_EXT_multi_draw_arrays + GlFunction(Void, "glMultiDrawArraysEXT", [(GLenum_mode, "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glMultiDrawElementsEXT", [(GLenum_mode, "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount")]), + + # GL_EXT_fog_coord + GlFunction(Void, "glFogCoordfEXT", [(GLfloat, "coord")]), + GlFunction(Void, "glFogCoordfvEXT", [(Pointer(Const(GLfloat)), "coord")]), + GlFunction(Void, "glFogCoorddEXT", [(GLdouble, "coord")]), + GlFunction(Void, "glFogCoorddvEXT", [(Pointer(Const(GLdouble)), "coord")]), + GlFunction(Void, "glFogCoordPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_EXT_coordinate_frame + GlFunction(Void, "glTangent3bEXT", [(GLbyte, "tx"), (GLbyte, "ty"), (GLbyte, "tz")]), + GlFunction(Void, "glTangent3bvEXT", [(Array(Const(GLbyte), "3"), "v")]), + GlFunction(Void, "glTangent3dEXT", [(GLdouble, "tx"), (GLdouble, "ty"), (GLdouble, "tz")]), + GlFunction(Void, "glTangent3dvEXT", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glTangent3fEXT", [(GLfloat, "tx"), (GLfloat, "ty"), (GLfloat, "tz")]), + GlFunction(Void, "glTangent3fvEXT", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTangent3iEXT", [(GLint, "tx"), (GLint, "ty"), (GLint, "tz")]), + GlFunction(Void, "glTangent3ivEXT", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glTangent3sEXT", [(GLshort, "tx"), (GLshort, "ty"), (GLshort, "tz")]), + GlFunction(Void, "glTangent3svEXT", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glBinormal3bEXT", [(GLbyte, "bx"), (GLbyte, "by"), (GLbyte, "bz")]), + GlFunction(Void, "glBinormal3bvEXT", [(Array(Const(GLbyte), "3"), "v")]), + GlFunction(Void, "glBinormal3dEXT", [(GLdouble, "bx"), (GLdouble, "by"), (GLdouble, "bz")]), + GlFunction(Void, "glBinormal3dvEXT", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glBinormal3fEXT", [(GLfloat, "bx"), (GLfloat, "by"), (GLfloat, "bz")]), + GlFunction(Void, "glBinormal3fvEXT", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glBinormal3iEXT", [(GLint, "bx"), (GLint, "by"), (GLint, "bz")]), + GlFunction(Void, "glBinormal3ivEXT", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glBinormal3sEXT", [(GLshort, "bx"), (GLshort, "by"), (GLshort, "bz")]), + GlFunction(Void, "glBinormal3svEXT", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glTangentPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glBinormalPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_SUNX_constant_data + GlFunction(Void, "glFinishTextureSUNX", []), + + # GL_SUN_global_alpha + GlFunction(Void, "glGlobalAlphaFactorbSUN", [(GLbyte, "factor")]), + GlFunction(Void, "glGlobalAlphaFactorsSUN", [(GLshort, "factor")]), + GlFunction(Void, "glGlobalAlphaFactoriSUN", [(GLint, "factor")]), + GlFunction(Void, "glGlobalAlphaFactorfSUN", [(GLfloat, "factor")]), + GlFunction(Void, "glGlobalAlphaFactordSUN", [(GLdouble, "factor")]), + GlFunction(Void, "glGlobalAlphaFactorubSUN", [(GLubyte, "factor")]), + GlFunction(Void, "glGlobalAlphaFactorusSUN", [(GLushort, "factor")]), + GlFunction(Void, "glGlobalAlphaFactoruiSUN", [(GLuint, "factor")]), + + # GL_SUN_triangle_list + GlFunction(Void, "glReplacementCodeuiSUN", [(GLuint, "code")]), + GlFunction(Void, "glReplacementCodeusSUN", [(GLushort, "code")]), + GlFunction(Void, "glReplacementCodeubSUN", [(GLubyte, "code")]), + GlFunction(Void, "glReplacementCodeuivSUN", [(OpaqueArray(Const(GLuint), "__glReplacementCodeuivSUN_size()"), "code")]), + GlFunction(Void, "glReplacementCodeusvSUN", [(OpaqueArray(Const(GLushort), "__glReplacementCodeusvSUN_size()"), "code")]), + GlFunction(Void, "glReplacementCodeubvSUN", [(OpaqueArray(Const(GLubyte), "__glReplacementCodeubvSUN_size()"), "code")]), + GlFunction(Void, "glReplacementCodePointerSUN", [(GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer")]), + + # GL_SUN_vertex + GlFunction(Void, "glColor4ubVertex2fSUN", [(GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glColor4ubVertex2fvSUN", [(Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glColor4ubVertex3fSUN", [(GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glColor4ubVertex3fvSUN", [(Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glColor3fVertex3fSUN", [(GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glColor3fVertex3fvSUN", [(Array(Const(GLfloat), "3"), "c"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glNormal3fVertex3fSUN", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glColor4fNormal3fVertex3fSUN", [(GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glColor4fNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord2fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glTexCoord2fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord4fVertex4fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "p"), (GLfloat, "q"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glTexCoord4fVertex4fvSUN", [(Array(Const(GLfloat), "4"), "tc"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glTexCoord2fColor4ubVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glTexCoord2fColor4ubVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord2fColor3fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glTexCoord2fColor3fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "c"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord2fNormal3fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glTexCoord2fNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord2fColor4fNormal3fVertex3fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glTexCoord2fColor4fNormal3fVertex3fvSUN", [(Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glTexCoord4fColor4fNormal3fVertex4fSUN", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "p"), (GLfloat, "q"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glTexCoord4fColor4fNormal3fVertex4fvSUN", [(Array(Const(GLfloat), "4"), "tc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glReplacementCodeuiVertex3fSUN", [(GLuint, "rc"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiColor4ubVertex3fSUN", [(GLuint, "rc"), (GLubyte, "r"), (GLubyte, "g"), (GLubyte, "b"), (GLubyte, "a"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiColor4ubVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLubyte), "4"), "c"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiColor3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiColor3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "3"), "c"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiColor4fNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiTexCoord2fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiTexCoord2fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", [(GLuint, "rc"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "g"), (GLfloat, "b"), (GLfloat, "a"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", [(Pointer(Const(GLuint)), "rc"), (Array(Const(GLfloat), "2"), "tc"), (Array(Const(GLfloat), "4"), "c"), (Array(Const(GLfloat), "3"), "n"), (Array(Const(GLfloat), "3"), "v")]), + + # GL_EXT_blend_func_separate + GlFunction(Void, "glBlendFuncSeparateEXT", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), + + # GL_INGR_blend_func_separate + GlFunction(Void, "glBlendFuncSeparateINGR", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), + + # GL_EXT_vertex_weighting + GlFunction(Void, "glVertexWeightfEXT", [(GLfloat, "weight")]), + GlFunction(Void, "glVertexWeightfvEXT", [(Pointer(Const(GLfloat)), "weight")]), + GlFunction(Void, "glVertexWeightPointerEXT", [(GLsizei, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_NV_vertex_array_range + GlFunction(Void, "glFlushVertexArrayRangeNV", []), + GlFunction(Void, "glVertexArrayRangeNV", [(GLsizei, "length"), (OpaquePointer(Const(GLvoid)), "pointer")]), + + # GL_NV_register_combiners + GlFunction(Void, "glCombinerParameterfvNV", [(GLenum, "pname"), (OpaquePointer(Const(GLfloat)), "params")]), + GlFunction(Void, "glCombinerParameterfNV", [(GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glCombinerParameterivNV", [(GLenum, "pname"), (OpaquePointer(Const(GLint)), "params")]), + GlFunction(Void, "glCombinerParameteriNV", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glCombinerInputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]), + GlFunction(Void, "glCombinerOutputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "abOutput"), (GLenum, "cdOutput"), (GLenum, "sumOutput"), (GLenum, "scale"), (GLenum, "bias"), (GLboolean, "abDotProduct"), (GLboolean, "cdDotProduct"), (GLboolean, "muxSum")]), + GlFunction(Void, "glFinalCombinerInputNV", [(GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]), + GlFunction(Void, "glGetCombinerInputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetCombinerInputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetCombinerOutputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetCombinerOutputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetFinalCombinerInputParameterfvNV", [(GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetFinalCombinerInputParameterivNV", [(GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False), + + # GL_MESA_resize_buffers + GlFunction(Void, "glResizeBuffersMESA", []), + + # GL_MESA_window_pos + GlFunction(Void, "glWindowPos2dMESA", [(GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glWindowPos2dvMESA", [(Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glWindowPos2fMESA", [(GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glWindowPos2fvMESA", [(Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glWindowPos2iMESA", [(GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glWindowPos2ivMESA", [(Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glWindowPos2sMESA", [(GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glWindowPos2svMESA", [(Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glWindowPos3dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glWindowPos3dvMESA", [(Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glWindowPos3fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glWindowPos3fvMESA", [(Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glWindowPos3iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glWindowPos3ivMESA", [(Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glWindowPos3sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glWindowPos3svMESA", [(Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glWindowPos4dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glWindowPos4dvMESA", [(Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glWindowPos4fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glWindowPos4fvMESA", [(Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glWindowPos4iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glWindowPos4ivMESA", [(Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glWindowPos4sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glWindowPos4svMESA", [(Array(Const(GLshort), "4"), "v")]), + + # GL_IBM_multimode_draw_arrays + GlFunction(Void, "glMultiModeDrawArraysIBM", [(Array(Const(GLenum), "primcount"), "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount"), (GLint, "modestride")]), + GlFunction(Void, "glMultiModeDrawElementsIBM", [(Array(Const(GLenum), "primcount"), "mode"), (Array(Const(GLsizei), "primcount"), "count"), (GLenum, "type"), (Array(Const(Opaque("const GLvoid *")), "primcount"), "indices"), (GLsizei, "primcount"), (GLint, "modestride")]), + + # GL_IBM_vertex_array_lists + GlFunction(Void, "glColorPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glSecondaryColorPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glEdgeFlagPointerListIBM", [(GLint, "stride"), (OpaquePointer(Opaque("const GLboolean *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glFogCoordPointerListIBM", [(GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glIndexPointerListIBM", [(GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glNormalPointerListIBM", [(GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glTexCoordPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + GlFunction(Void, "glVertexPointerListIBM", [(GLint, "size"), (GLenum, "type"), (GLint, "stride"), (OpaquePointer(Opaque("const GLvoid *")), "pointer"), (GLint, "ptrstride")]), + + # GL_3DFX_tbuffer + GlFunction(Void, "glTbufferMask3DFX", [(GLuint, "mask")]), + + # GL_EXT_multisample + GlFunction(Void, "glSampleMaskEXT", [(GLclampf, "value"), (GLboolean, "invert")]), + GlFunction(Void, "glSamplePatternEXT", [(GLenum, "pattern")]), + + # GL_SGIS_texture_color_mask + GlFunction(Void, "glTextureColorMaskSGIS", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]), + + # GL_SGIX_igloo_interface + GlFunction(Void, "glIglooInterfaceSGIX", [(GLenum, "pname"), (OpaqueBlob(Const(GLvoid), "__glIglooInterfaceSGIX_size(pname)"), "params")]), + + # GL_NV_fence + GlFunction(Void, "glDeleteFencesNV", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "fences")]), + GlFunction(Void, "glGenFencesNV", [(GLsizei, "n"), Out(Array(GLuint, "n"), "fences")]), + GlFunction(GLboolean, "glIsFenceNV", [(GLuint, "fence")], sideeffects=False), + GlFunction(GLboolean, "glTestFenceNV", [(GLuint, "fence")]), + GlFunction(Void, "glGetFenceivNV", [(GLuint, "fence"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetFenceivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glFinishFenceNV", [(GLuint, "fence")]), + GlFunction(Void, "glSetFenceNV", [(GLuint, "fence"), (GLenum, "condition")]), + + # GL_NV_evaluators + GlFunction(Void, "glMapControlPointsNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "type"), (GLsizei, "ustride"), (GLsizei, "vstride"), (GLint, "uorder"), (GLint, "vorder"), (GLboolean, "packed"), (OpaqueBlob(Const(GLvoid), "__glMapControlPointsNV_size(target, uorder, vorder)"), "points")]), + GlFunction(Void, "glMapParameterivNV", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glMapParameterivNV_size(target, pname)"), "params")]), + GlFunction(Void, "glMapParameterfvNV", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glMapParameterfvNV_size(target, pname)"), "params")]), + GlFunction(Void, "glGetMapControlPointsNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "type"), (GLsizei, "ustride"), (GLsizei, "vstride"), (GLboolean, "packed"), Out(OpaqueBlob(GLvoid, "__glGetMapControlPointsNV_size(target)"), "points")], sideeffects=False), + GlFunction(Void, "glGetMapParameterivNV", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetMapParameterivNV_size(target, pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMapParameterfvNV", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetMapParameterfvNV_size(target, pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMapAttribParameterivNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetMapAttribParameterivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMapAttribParameterfvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetMapAttribParameterfvNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glEvalMapsNV", [(GLenum, "target"), (GLenum, "mode")]), + + # GL_NV_register_combiners2 + GlFunction(Void, "glCombinerStageParameterfvNV", [(GLenum, "stage"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glCombinerStageParameterfvNV_size(pname)"), "params")]), + GlFunction(Void, "glGetCombinerStageParameterfvNV", [(GLenum, "stage"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetCombinerStageParameterfvNV_size(pname)"), "params")], sideeffects=False), + + # GL_NV_vertex_program + GlFunction(GLboolean, "glAreProgramsResidentNV", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "ids"), Out(Array(GLboolean, "n"), "residences")]), + GlFunction(Void, "glBindProgramNV", [(GLenum, "target"), (GLprogramARB, "program")]), + GlFunction(Void, "glDeleteProgramsNV", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "programs")]), + GlFunction(Void, "glExecuteProgramNV", [(GLenum, "target"), (GLprogramARB, "id"), (Array(Const(GLfloat), "4"), "params")]), + GlFunction(Void, "glGenProgramsNV", [(GLsizei, "n"), Out(Array(GLprogramARB, "n"), "programs")]), + GlFunction(Void, "glGetProgramParameterdvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLdouble), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramParameterfvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramivNV", [(GLprogramARB, "id"), (GLenum, "pname"), (Pointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramStringNV", [(GLprogramARB, "id"), (GLenum, "pname"), (OpaquePointer(GLubyte), "program")], sideeffects=False), + GlFunction(Void, "glGetTrackMatrixivNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribdvNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLdouble), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribfvNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribivNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribPointervNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False), + GlFunction(GLboolean, "glIsProgramNV", [(GLprogramARB, "program")], sideeffects=False), + GlFunction(Void, "glLoadProgramNV", [(GLenum, "target"), (GLprogramARB, "id"), (GLsizei, "len"), (String("const GLubyte *", "len"), "program")]), + GlFunction(Void, "glProgramParameter4dNV", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glProgramParameter4dvNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glProgramParameter4fNV", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glProgramParameter4fvNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glProgramParameters4dvNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "v")]), + GlFunction(Void, "glProgramParameters4fvNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "v")]), + GlFunction(Void, "glRequestResidentProgramsNV", [(GLsizei, "n"), (Array(Const(GLprogramARB), "n"), "programs")]), + GlFunction(Void, "glTrackMatrixNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "matrix"), (GLenum, "transform")]), + GlFunction(Void, "glVertexAttribPointerNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glVertexAttrib1dNV", [(GLuint, "index"), (GLdouble, "x")]), + GlFunction(Void, "glVertexAttrib1dvNV", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glVertexAttrib1fNV", [(GLuint, "index"), (GLfloat, "x")]), + GlFunction(Void, "glVertexAttrib1fvNV", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]), + GlFunction(Void, "glVertexAttrib1sNV", [(GLuint, "index"), (GLshort, "x")]), + GlFunction(Void, "glVertexAttrib1svNV", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]), + GlFunction(Void, "glVertexAttrib2dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertexAttrib2dvNV", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glVertexAttrib2fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glVertexAttrib2fvNV", [(GLuint, "index"), (Array(Const(GLfloat), "2"), "v")]), + GlFunction(Void, "glVertexAttrib2sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glVertexAttrib2svNV", [(GLuint, "index"), (Array(Const(GLshort), "2"), "v")]), + GlFunction(Void, "glVertexAttrib3dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertexAttrib3dvNV", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glVertexAttrib3fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glVertexAttrib3fvNV", [(GLuint, "index"), (Array(Const(GLfloat), "3"), "v")]), + GlFunction(Void, "glVertexAttrib3sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glVertexAttrib3svNV", [(GLuint, "index"), (Array(Const(GLshort), "3"), "v")]), + GlFunction(Void, "glVertexAttrib4dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertexAttrib4dvNV", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glVertexAttrib4fvNV", [(GLuint, "index"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glVertexAttrib4svNV", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttrib4ubNV", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]), + GlFunction(Void, "glVertexAttrib4ubvNV", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttribs1dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "v")]), + GlFunction(Void, "glVertexAttribs1fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "v")]), + GlFunction(Void, "glVertexAttribs1svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count"), "v")]), + GlFunction(Void, "glVertexAttribs2dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "v")]), + GlFunction(Void, "glVertexAttribs2fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "v")]), + GlFunction(Void, "glVertexAttribs2svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count*2"), "v")]), + GlFunction(Void, "glVertexAttribs3dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "v")]), + GlFunction(Void, "glVertexAttribs3fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "v")]), + GlFunction(Void, "glVertexAttribs3svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count*3"), "v")]), + GlFunction(Void, "glVertexAttribs4dvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "v")]), + GlFunction(Void, "glVertexAttribs4fvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "v")]), + GlFunction(Void, "glVertexAttribs4svNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLshort), "count*4"), "v")]), + GlFunction(Void, "glVertexAttribs4ubvNV", [(GLuint, "index"), (GLsizei, "count"), (Array(Const(GLubyte), "count*4"), "v")]), + + # GL_ATI_envmap_bumpmap + GlFunction(Void, "glTexBumpParameterivATI", [(GLenum, "pname"), (OpaquePointer(Const(GLint)), "param")]), + GlFunction(Void, "glTexBumpParameterfvATI", [(GLenum, "pname"), (OpaquePointer(Const(GLfloat)), "param")]), + GlFunction(Void, "glGetTexBumpParameterivATI", [(GLenum, "pname"), Out(OpaquePointer(GLint), "param")], sideeffects=False), + GlFunction(Void, "glGetTexBumpParameterfvATI", [(GLenum, "pname"), Out(OpaquePointer(GLfloat), "param")], sideeffects=False), + + # GL_ATI_fragment_shader + GlFunction(Handle("fragmentShaderATI", GLuint, "range"), "glGenFragmentShadersATI", [(GLuint, "range")]), + GlFunction(Void, "glBindFragmentShaderATI", [(GLfragmentShaderATI, "id")]), + GlFunction(Void, "glDeleteFragmentShaderATI", [(GLfragmentShaderATI, "id")]), + GlFunction(Void, "glBeginFragmentShaderATI", []), + GlFunction(Void, "glEndFragmentShaderATI", []), + GlFunction(Void, "glPassTexCoordATI", [(GLuint, "dst"), (GLuint, "coord"), (GLenum, "swizzle")]), + GlFunction(Void, "glSampleMapATI", [(GLuint, "dst"), (GLuint, "interp"), (GLenum, "swizzle")]), + GlFunction(Void, "glColorFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]), + GlFunction(Void, "glColorFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]), + GlFunction(Void, "glColorFragmentOp3ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod"), (GLuint, "arg3"), (GLuint, "arg3Rep"), (GLuint, "arg3Mod")]), + GlFunction(Void, "glAlphaFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]), + GlFunction(Void, "glAlphaFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]), + GlFunction(Void, "glAlphaFragmentOp3ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod"), (GLuint, "arg3"), (GLuint, "arg3Rep"), (GLuint, "arg3Mod")]), + GlFunction(Void, "glSetFragmentShaderConstantATI", [(GLuint, "dst"), (Array(Const(GLfloat), "4"), "value")]), + + # GL_ATI_pn_triangles + GlFunction(Void, "glPNTrianglesiATI", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glPNTrianglesfATI", [(GLenum, "pname"), (GLfloat, "param")]), + + # GL_ATI_vertex_array_object + GlFunction(GLuint, "glNewObjectBufferATI", [(GLsizei, "size"), (Blob(Const(GLvoid), "size"), "pointer"), (GLenum, "usage")]), + GlFunction(GLboolean, "glIsObjectBufferATI", [(GLuint, "buffer")], sideeffects=False), + GlFunction(Void, "glUpdateObjectBufferATI", [(GLuint, "buffer"), (GLuint, "offset"), (GLsizei, "size"), (Blob(Const(GLvoid), "size"), "pointer"), (GLenum, "preserve")]), + GlFunction(Void, "glGetObjectBufferfvATI", [(GLuint, "buffer"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetObjectBufferivATI", [(GLuint, "buffer"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glFreeObjectBufferATI", [(GLuint, "buffer")]), + GlFunction(Void, "glArrayObjectATI", [(GLenum, "array"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLuint, "buffer"), (GLuint, "offset")]), + GlFunction(Void, "glGetArrayObjectfvATI", [(GLenum, "array"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetArrayObjectivATI", [(GLenum, "array"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glVariantArrayObjectATI", [(GLuint, "id"), (GLenum, "type"), (GLsizei, "stride"), (GLuint, "buffer"), (GLuint, "offset")]), + GlFunction(Void, "glGetVariantArrayObjectfvATI", [(GLuint, "id"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False), + GlFunction(Void, "glGetVariantArrayObjectivATI", [(GLuint, "id"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), + + # GL_EXT_vertex_shader + GlFunction(Void, "glBeginVertexShaderEXT", []), + GlFunction(Void, "glEndVertexShaderEXT", []), + GlFunction(Void, "glBindVertexShaderEXT", [(GLuint, "id")]), + GlFunction(GLuint, "glGenVertexShadersEXT", [(GLuint, "range")]), + GlFunction(Void, "glDeleteVertexShaderEXT", [(GLuint, "id")]), + GlFunction(Void, "glShaderOp1EXT", [(GLenum, "op"), (GLuint, "res"), (GLuint, "arg1")]), + GlFunction(Void, "glShaderOp2EXT", [(GLenum, "op"), (GLuint, "res"), (GLuint, "arg1"), (GLuint, "arg2")]), + GlFunction(Void, "glShaderOp3EXT", [(GLenum, "op"), (GLuint, "res"), (GLuint, "arg1"), (GLuint, "arg2"), (GLuint, "arg3")]), + GlFunction(Void, "glSwizzleEXT", [(GLuint, "res"), (GLuint, "in"), (GLenum, "outX"), (GLenum, "outY"), (GLenum, "outZ"), (GLenum, "outW")]), + GlFunction(Void, "glWriteMaskEXT", [(GLuint, "res"), (GLuint, "in"), (GLenum, "outX"), (GLenum, "outY"), (GLenum, "outZ"), (GLenum, "outW")]), + GlFunction(Void, "glInsertComponentEXT", [(GLuint, "res"), (GLuint, "src"), (GLuint, "num")]), + GlFunction(Void, "glExtractComponentEXT", [(GLuint, "res"), (GLuint, "src"), (GLuint, "num")]), + GlFunction(GLuint, "glGenSymbolsEXT", [(GLenum, "datatype"), (GLenum, "storagetype"), (GLenum, "range"), (GLuint, "components")]), + GlFunction(Void, "glSetInvariantEXT", [(GLuint, "id"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glSetInvariantEXT_size(id, type)"), "addr")]), + GlFunction(Void, "glSetLocalConstantEXT", [(GLuint, "id"), (GLenum, "type"), (OpaqueBlob(Const(GLvoid), "__glSetLocalConstantEXT_size(id, type)"), "addr")]), + GlFunction(Void, "glVariantbvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLbyte), "__glVariantbvEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantsvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLshort), "__glVariantsvEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantivEXT", [(GLuint, "id"), (OpaqueArray(Const(GLint), "__glVariantivEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantfvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLfloat), "__glVariantfvEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantdvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLdouble), "__glVariantdvEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantubvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLubyte), "__glVariantubvEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantusvEXT", [(GLuint, "id"), (OpaqueArray(Const(GLushort), "__glVariantusvEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantuivEXT", [(GLuint, "id"), (OpaqueArray(Const(GLuint), "__glVariantuivEXT_size(id)"), "addr")]), + GlFunction(Void, "glVariantPointerEXT", [(GLuint, "id"), (GLenum, "type"), (GLuint, "stride"), (OpaqueBlob(Const(GLvoid), "__glVariantPointerEXT_size(id, type, stride)"), "addr")]), + GlFunction(Void, "glEnableVariantClientStateEXT", [(GLuint, "id")]), + GlFunction(Void, "glDisableVariantClientStateEXT", [(GLuint, "id")]), + GlFunction(GLuint, "glBindLightParameterEXT", [(GLenum, "light"), (GLenum, "value")]), + GlFunction(GLuint, "glBindMaterialParameterEXT", [(GLenum, "face"), (GLenum, "value")]), + GlFunction(GLuint, "glBindTexGenParameterEXT", [(GLenum, "unit"), (GLenum, "coord"), (GLenum, "value")]), + GlFunction(GLuint, "glBindTextureUnitParameterEXT", [(GLenum, "unit"), (GLenum, "value")]), + GlFunction(GLuint, "glBindParameterEXT", [(GLenum, "value")]), + GlFunction(GLboolean, "glIsVariantEnabledEXT", [(GLuint, "id"), (GLenum, "cap")], sideeffects=False), + GlFunction(Void, "glGetVariantBooleanvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLboolean, "__glGetVariantBooleanvEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetVariantIntegervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLint, "__glGetVariantIntegervEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetVariantFloatvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLfloat, "__glGetVariantFloatvEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetVariantPointervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(OpaquePointer(GLvoid), "__glGetVariantPointervEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetInvariantBooleanvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLboolean, "__glGetInvariantBooleanvEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetInvariantIntegervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLint, "__glGetInvariantIntegervEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetInvariantFloatvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLfloat, "__glGetInvariantFloatvEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetLocalConstantBooleanvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLboolean, "__glGetLocalConstantBooleanvEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetLocalConstantIntegervEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLint, "__glGetLocalConstantIntegervEXT_size(id)"), "data")], sideeffects=False), + GlFunction(Void, "glGetLocalConstantFloatvEXT", [(GLuint, "id"), (GLenum, "value"), Out(OpaqueArray(GLfloat, "__glGetLocalConstantFloatvEXT_size(id)"), "data")], sideeffects=False), + + # GL_ATI_vertex_streams + GlFunction(Void, "glVertexStream1sATI", [(GLenum, "stream"), (GLshort, "x")]), + GlFunction(Void, "glVertexStream1svATI", [(GLenum, "stream"), (Pointer(Const(GLshort)), "coords")]), + GlFunction(Void, "glVertexStream1iATI", [(GLenum, "stream"), (GLint, "x")]), + GlFunction(Void, "glVertexStream1ivATI", [(GLenum, "stream"), (Pointer(Const(GLint)), "coords")]), + GlFunction(Void, "glVertexStream1fATI", [(GLenum, "stream"), (GLfloat, "x")]), + GlFunction(Void, "glVertexStream1fvATI", [(GLenum, "stream"), (Pointer(Const(GLfloat)), "coords")]), + GlFunction(Void, "glVertexStream1dATI", [(GLenum, "stream"), (GLdouble, "x")]), + GlFunction(Void, "glVertexStream1dvATI", [(GLenum, "stream"), (Pointer(Const(GLdouble)), "coords")]), + GlFunction(Void, "glVertexStream2sATI", [(GLenum, "stream"), (GLshort, "x"), (GLshort, "y")]), + GlFunction(Void, "glVertexStream2svATI", [(GLenum, "stream"), (Array(Const(GLshort), "2"), "coords")]), + GlFunction(Void, "glVertexStream2iATI", [(GLenum, "stream"), (GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glVertexStream2ivATI", [(GLenum, "stream"), (Array(Const(GLint), "2"), "coords")]), + GlFunction(Void, "glVertexStream2fATI", [(GLenum, "stream"), (GLfloat, "x"), (GLfloat, "y")]), + GlFunction(Void, "glVertexStream2fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "2"), "coords")]), + GlFunction(Void, "glVertexStream2dATI", [(GLenum, "stream"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertexStream2dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "2"), "coords")]), + GlFunction(Void, "glVertexStream3sATI", [(GLenum, "stream"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]), + GlFunction(Void, "glVertexStream3svATI", [(GLenum, "stream"), (Array(Const(GLshort), "3"), "coords")]), + GlFunction(Void, "glVertexStream3iATI", [(GLenum, "stream"), (GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glVertexStream3ivATI", [(GLenum, "stream"), (Array(Const(GLint), "3"), "coords")]), + GlFunction(Void, "glVertexStream3fATI", [(GLenum, "stream"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glVertexStream3fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "3"), "coords")]), + GlFunction(Void, "glVertexStream3dATI", [(GLenum, "stream"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertexStream3dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "3"), "coords")]), + GlFunction(Void, "glVertexStream4sATI", [(GLenum, "stream"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]), + GlFunction(Void, "glVertexStream4svATI", [(GLenum, "stream"), (Array(Const(GLshort), "4"), "coords")]), + GlFunction(Void, "glVertexStream4iATI", [(GLenum, "stream"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glVertexStream4ivATI", [(GLenum, "stream"), (Array(Const(GLint), "4"), "coords")]), + GlFunction(Void, "glVertexStream4fATI", [(GLenum, "stream"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glVertexStream4fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "4"), "coords")]), + GlFunction(Void, "glVertexStream4dATI", [(GLenum, "stream"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertexStream4dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "4"), "coords")]), + GlFunction(Void, "glNormalStream3bATI", [(GLenum, "stream"), (GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]), + GlFunction(Void, "glNormalStream3bvATI", [(GLenum, "stream"), (Array(Const(GLbyte), "3"), "coords")]), + GlFunction(Void, "glNormalStream3sATI", [(GLenum, "stream"), (GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]), + GlFunction(Void, "glNormalStream3svATI", [(GLenum, "stream"), (Array(Const(GLshort), "3"), "coords")]), + GlFunction(Void, "glNormalStream3iATI", [(GLenum, "stream"), (GLint, "nx"), (GLint, "ny"), (GLint, "nz")]), + GlFunction(Void, "glNormalStream3ivATI", [(GLenum, "stream"), (Array(Const(GLint), "3"), "coords")]), + GlFunction(Void, "glNormalStream3fATI", [(GLenum, "stream"), (GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]), + GlFunction(Void, "glNormalStream3fvATI", [(GLenum, "stream"), (Array(Const(GLfloat), "3"), "coords")]), + GlFunction(Void, "glNormalStream3dATI", [(GLenum, "stream"), (GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]), + GlFunction(Void, "glNormalStream3dvATI", [(GLenum, "stream"), (Array(Const(GLdouble), "3"), "coords")]), + GlFunction(Void, "glClientActiveVertexStreamATI", [(GLenum, "stream")]), + GlFunction(Void, "glVertexBlendEnviATI", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glVertexBlendEnvfATI", [(GLenum, "pname"), (GLfloat, "param")]), + + # GL_ATI_element_array + GlFunction(Void, "glElementPointerATI", [(GLenum, "type"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glDrawElementArrayATI", [(GLenum_mode, "mode"), (GLsizei, "count")]), + GlFunction(Void, "glDrawRangeElementArrayATI", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count")]), + + # GL_SUN_mesh_array + GlFunction(Void, "glDrawMeshArraysSUN", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "width")]), + + # GL_NV_occlusion_query + GlFunction(Void, "glGenOcclusionQueriesNV", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]), + GlFunction(Void, "glDeleteOcclusionQueriesNV", [(GLsizei, "n"), (Array(Const(GLquery), "n"), "ids")]), + GlFunction(GLboolean, "glIsOcclusionQueryNV", [(GLquery, "id")], sideeffects=False), + GlFunction(Void, "glBeginOcclusionQueryNV", [(GLquery, "id")]), + GlFunction(Void, "glEndOcclusionQueryNV", []), + GlFunction(Void, "glGetOcclusionQueryivNV", [(GLquery, "id"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetOcclusionQueryivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetOcclusionQueryuivNV", [(GLquery, "id"), (GLenum, "pname"), Out(OpaqueArray(GLuint, "__glGetOcclusionQueryuivNV_size(pname)"), "params")], sideeffects=False), + + # GL_NV_point_sprite + GlFunction(Void, "glPointParameteriNV", [(GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glPointParameterivNV", [(GLenum, "pname"), (OpaquePointer(Const(GLint)), "params")]), + + # GL_EXT_stencil_two_side + GlFunction(Void, "glActiveStencilFaceEXT", [(GLenum, "face")]), + + # GL_APPLE_element_array + GlFunction(Void, "glElementPointerAPPLE", [(GLenum, "type"), (Blob(Const(GLvoid), "type"), "pointer")]), + GlFunction(Void, "glDrawElementArrayAPPLE", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]), + GlFunction(Void, "glDrawRangeElementArrayAPPLE", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLint, "first"), (GLsizei, "count")]), + GlFunction(Void, "glMultiDrawElementArrayAPPLE", [(GLenum_mode, "mode"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glMultiDrawRangeElementArrayAPPLE", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (Array(Const(GLint), "primcount"), "first"), (Array(Const(GLsizei), "primcount"), "count"), (GLsizei, "primcount")]), + + # GL_APPLE_fence + GlFunction(Void, "glGenFencesAPPLE", [(GLsizei, "n"), Out(Array(GLuint, "n"), "fences")]), + GlFunction(Void, "glDeleteFencesAPPLE", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "fences")]), + GlFunction(Void, "glSetFenceAPPLE", [(GLuint, "fence")]), + GlFunction(GLboolean, "glIsFenceAPPLE", [(GLuint, "fence")], sideeffects=False), + GlFunction(GLboolean, "glTestFenceAPPLE", [(GLuint, "fence")]), + GlFunction(Void, "glFinishFenceAPPLE", [(GLuint, "fence")]), + GlFunction(GLboolean, "glTestObjectAPPLE", [(GLenum, "object"), (GLuint, "name")]), + GlFunction(Void, "glFinishObjectAPPLE", [(GLenum, "object"), (GLint, "name")]), + + # GL_APPLE_vertex_array_object + GlFunction(Void, "glBindVertexArrayAPPLE", [(GLuint, "array")]), + GlFunction(Void, "glDeleteVertexArraysAPPLE", [(GLsizei, "n"), (Array(Const(GLuint), "n"), "arrays")]), + GlFunction(Void, "glGenVertexArraysAPPLE", [(GLsizei, "n"), Out(Array(GLuint, "n"), "arrays")]), + GlFunction(GLboolean, "glIsVertexArrayAPPLE", [(GLuint, "array")], sideeffects=False), + + # GL_APPLE_vertex_array_range + GlFunction(Void, "glVertexArrayRangeAPPLE", [(GLsizei, "length"), Out(Blob(GLvoid, "length"), "pointer")]), + GlFunction(Void, "glFlushVertexArrayRangeAPPLE", [(GLsizei, "length"), Out(Blob(GLvoid, "length"), "pointer")]), + GlFunction(Void, "glVertexArrayParameteriAPPLE", [(GLenum, "pname"), (GLint, "param")]), + + # GL_APPLE_flush_render + GlFunction(Void, "glFlushRenderAPPLE", []), + GlFunction(Void, "glFinishRenderAPPLE", []), + GlFunction(Void, "glSwapAPPLE", []), + + # GL_ATI_draw_buffers + GlFunction(Void, "glDrawBuffersATI", [(GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), + + # GL_NV_fragment_program + GlFunction(Void, "glProgramNamedParameter4fNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glProgramNamedParameter4dNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glProgramNamedParameter4fvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (Array(Const(GLfloat), "4"), "v")]), + GlFunction(Void, "glProgramNamedParameter4dvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glGetProgramNamedParameterdvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (OpaquePointer(GLdouble), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramNamedParameterfvNV", [(GLprogramARB, "id"), (GLsizei, "len"), (OpaquePointer(Const(GLubyte)), "name"), (OpaquePointer(GLfloat), "params")], sideeffects=False), + + # GL_NV_half_float + GlFunction(Void, "glVertex2hNV", [(GLhalfNV, "x"), (GLhalfNV, "y")]), + GlFunction(Void, "glVertex2hvNV", [(Array(Const(GLhalfNV), "2"), "v")]), + GlFunction(Void, "glVertex3hNV", [(GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z")]), + GlFunction(Void, "glVertex3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glVertex4hNV", [(GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z"), (GLhalfNV, "w")]), + GlFunction(Void, "glVertex4hvNV", [(Array(Const(GLhalfNV), "4"), "v")]), + GlFunction(Void, "glNormal3hNV", [(GLhalfNV, "nx"), (GLhalfNV, "ny"), (GLhalfNV, "nz")]), + GlFunction(Void, "glNormal3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glColor3hNV", [(GLhalfNV, "red"), (GLhalfNV, "green"), (GLhalfNV, "blue")]), + GlFunction(Void, "glColor3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glColor4hNV", [(GLhalfNV, "red"), (GLhalfNV, "green"), (GLhalfNV, "blue"), (GLhalfNV, "alpha")]), + GlFunction(Void, "glColor4hvNV", [(Array(Const(GLhalfNV), "4"), "v")]), + GlFunction(Void, "glTexCoord1hNV", [(GLhalfNV, "s")]), + GlFunction(Void, "glTexCoord1hvNV", [(Pointer(Const(GLhalfNV)), "v")]), + GlFunction(Void, "glTexCoord2hNV", [(GLhalfNV, "s"), (GLhalfNV, "t")]), + GlFunction(Void, "glTexCoord2hvNV", [(Array(Const(GLhalfNV), "2"), "v")]), + GlFunction(Void, "glTexCoord3hNV", [(GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r")]), + GlFunction(Void, "glTexCoord3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glTexCoord4hNV", [(GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r"), (GLhalfNV, "q")]), + GlFunction(Void, "glTexCoord4hvNV", [(Array(Const(GLhalfNV), "4"), "v")]), + GlFunction(Void, "glMultiTexCoord1hNV", [(GLenum, "target"), (GLhalfNV, "s")]), + GlFunction(Void, "glMultiTexCoord1hvNV", [(GLenum, "target"), (Pointer(Const(GLhalfNV)), "v")]), + GlFunction(Void, "glMultiTexCoord2hNV", [(GLenum, "target"), (GLhalfNV, "s"), (GLhalfNV, "t")]), + GlFunction(Void, "glMultiTexCoord2hvNV", [(GLenum, "target"), (Array(Const(GLhalfNV), "2"), "v")]), + GlFunction(Void, "glMultiTexCoord3hNV", [(GLenum, "target"), (GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r")]), + GlFunction(Void, "glMultiTexCoord3hvNV", [(GLenum, "target"), (Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glMultiTexCoord4hNV", [(GLenum, "target"), (GLhalfNV, "s"), (GLhalfNV, "t"), (GLhalfNV, "r"), (GLhalfNV, "q")]), + GlFunction(Void, "glMultiTexCoord4hvNV", [(GLenum, "target"), (Array(Const(GLhalfNV), "4"), "v")]), + GlFunction(Void, "glFogCoordhNV", [(GLhalfNV, "fog")]), + GlFunction(Void, "glFogCoordhvNV", [(Pointer(Const(GLhalfNV)), "fog")]), + GlFunction(Void, "glSecondaryColor3hNV", [(GLhalfNV, "red"), (GLhalfNV, "green"), (GLhalfNV, "blue")]), + GlFunction(Void, "glSecondaryColor3hvNV", [(Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glVertexWeighthNV", [(GLhalfNV, "weight")]), + GlFunction(Void, "glVertexWeighthvNV", [(Pointer(Const(GLhalfNV)), "weight")]), + GlFunction(Void, "glVertexAttrib1hNV", [(GLuint, "index"), (GLhalfNV, "x")]), + GlFunction(Void, "glVertexAttrib1hvNV", [(GLuint, "index"), (Pointer(Const(GLhalfNV)), "v")]), + GlFunction(Void, "glVertexAttrib2hNV", [(GLuint, "index"), (GLhalfNV, "x"), (GLhalfNV, "y")]), + GlFunction(Void, "glVertexAttrib2hvNV", [(GLuint, "index"), (Array(Const(GLhalfNV), "2"), "v")]), + GlFunction(Void, "glVertexAttrib3hNV", [(GLuint, "index"), (GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z")]), + GlFunction(Void, "glVertexAttrib3hvNV", [(GLuint, "index"), (Array(Const(GLhalfNV), "3"), "v")]), + GlFunction(Void, "glVertexAttrib4hNV", [(GLuint, "index"), (GLhalfNV, "x"), (GLhalfNV, "y"), (GLhalfNV, "z"), (GLhalfNV, "w")]), + GlFunction(Void, "glVertexAttrib4hvNV", [(GLuint, "index"), (Array(Const(GLhalfNV), "4"), "v")]), + GlFunction(Void, "glVertexAttribs1hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), + GlFunction(Void, "glVertexAttribs2hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), + GlFunction(Void, "glVertexAttribs3hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), + GlFunction(Void, "glVertexAttribs4hvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLhalfNV), "n"), "v")]), + + # GL_NV_pixel_data_range + GlFunction(Void, "glPixelDataRangeNV", [(GLenum, "target"), (GLsizei, "length"), Out(Blob(GLvoid, "length"), "pointer")]), + GlFunction(Void, "glFlushPixelDataRangeNV", [(GLenum, "target")]), + + # GL_NV_primitive_restart + GlFunction(Void, "glPrimitiveRestartNV", []), + GlFunction(Void, "glPrimitiveRestartIndexNV", [(GLuint, "index")]), + + # GL_ATI_map_object_buffer + GlFunction(GLmap, "glMapObjectBufferATI", [(GLbuffer, "buffer")]), + GlFunction(Void, "glUnmapObjectBufferATI", [(GLbuffer, "buffer")]), + + # GL_ATI_separate_stencil + GlFunction(Void, "glStencilOpSeparateATI", [(GLenum, "face"), (GLenum, "sfail"), (GLenum, "dpfail"), (GLenum, "dppass")]), + GlFunction(Void, "glStencilFuncSeparateATI", [(GLenum, "frontfunc"), (GLenum, "backfunc"), (GLint, "ref"), (GLuint, "mask")]), + + # GL_ATI_vertex_attrib_array_object + GlFunction(Void, "glVertexAttribArrayObjectATI", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (GLuint, "buffer"), (GLuint, "offset")]), + GlFunction(Void, "glGetVertexAttribArrayObjectfvATI", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "pname"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribArrayObjectivATI", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "pname"), "params")], sideeffects=False), + + # GL_EXT_depth_bounds_test + GlFunction(Void, "glDepthBoundsEXT", [(GLclampd, "zmin"), (GLclampd, "zmax")]), + + # GL_EXT_blend_equation_separate + GlFunction(Void, "glBlendEquationSeparateEXT", [(GLenum, "modeRGB"), (GLenum, "modeAlpha")]), + + # GL_EXT_framebuffer_object + GlFunction(GLboolean, "glIsRenderbufferEXT", [(GLrenderbuffer, "renderbuffer")], sideeffects=False), + GlFunction(Void, "glBindRenderbufferEXT", [(GLenum, "target"), (GLrenderbuffer, "renderbuffer")]), + GlFunction(Void, "glDeleteRenderbuffersEXT", [(GLsizei, "n"), (Array(Const(GLrenderbuffer), "n"), "renderbuffers")]), + GlFunction(Void, "glGenRenderbuffersEXT", [(GLsizei, "n"), Out(Array(GLrenderbuffer, "n"), "renderbuffers")]), + GlFunction(Void, "glRenderbufferStorageEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetRenderbufferParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(GLboolean, "glIsFramebufferEXT", [(GLframebuffer, "framebuffer")], sideeffects=False), + GlFunction(Void, "glBindFramebufferEXT", [(GLenum, "target"), (GLframebuffer, "framebuffer")]), + GlFunction(Void, "glDeleteFramebuffersEXT", [(GLsizei, "n"), (Array(Const(GLframebuffer), "n"), "framebuffers")]), + GlFunction(Void, "glGenFramebuffersEXT", [(GLsizei, "n"), Out(Array(GLframebuffer, "n"), "framebuffers")]), + GlFunction(GLenum, "glCheckFramebufferStatusEXT", [(GLenum, "target")]), + GlFunction(Void, "glFramebufferTexture1DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glFramebufferTexture2DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glFramebufferTexture3DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]), + GlFunction(Void, "glFramebufferRenderbufferEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]), + GlFunction(Void, "glGetFramebufferAttachmentParameterivEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGenerateMipmapEXT", [(GLenum, "target")]), + + # GL_GREMEDY_string_marker + GlFunction(Void, "glStringMarkerGREMEDY", [(GLsizei, "len"), (Const(String("GLvoid *", "len ? len : strlen((const char *)string)")), "string")], sideeffects=False), + + # GL_EXT_stencil_clear_tag + GlFunction(Void, "glStencilClearTagEXT", [(GLsizei, "stencilTagBits"), (GLuint, "stencilClearTag")]), + + # GL_EXT_framebuffer_blit + GlFunction(Void, "glBlitFramebufferEXT", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield_attrib, "mask"), (GLenum, "filter")]), + + # GL_EXT_framebuffer_multisample + GlFunction(Void, "glRenderbufferStorageMultisampleEXT", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + + # GL_EXT_timer_query + GlFunction(Void, "glGetQueryObjecti64vEXT", [(GLquery, "id"), (GLenum, "pname"), (OpaquePointer(GLint64EXT), "params")], sideeffects=False), + GlFunction(Void, "glGetQueryObjectui64vEXT", [(GLquery, "id"), (GLenum, "pname"), (OpaquePointer(GLuint64EXT), "params")], sideeffects=False), + + # GL_EXT_gpu_program_parameters + GlFunction(Void, "glProgramEnvParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "params")]), + GlFunction(Void, "glProgramLocalParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "params")]), + + # GL_APPLE_flush_buffer_range + GlFunction(Void, "glBufferParameteriAPPLE", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glFlushMappedBufferRangeAPPLE", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size")]), + + # GL_NV_gpu_program4 + GlFunction(Void, "glProgramLocalParameterI4iNV", [(GLenum, "target"), (GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glProgramLocalParameterI4ivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLint), "4"), "params")]), + GlFunction(Void, "glProgramLocalParametersI4ivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "params")]), + GlFunction(Void, "glProgramLocalParameterI4uiNV", [(GLenum, "target"), (GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), + GlFunction(Void, "glProgramLocalParameterI4uivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLuint), "4"), "params")]), + GlFunction(Void, "glProgramLocalParametersI4uivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "params")]), + GlFunction(Void, "glProgramEnvParameterI4iNV", [(GLenum, "target"), (GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glProgramEnvParameterI4ivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLint), "4"), "params")]), + GlFunction(Void, "glProgramEnvParametersI4ivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "params")]), + GlFunction(Void, "glProgramEnvParameterI4uiNV", [(GLenum, "target"), (GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), + GlFunction(Void, "glProgramEnvParameterI4uivNV", [(GLenum, "target"), (GLuint, "index"), (Array(Const(GLuint), "4"), "params")]), + GlFunction(Void, "glProgramEnvParametersI4uivNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "params")]), + GlFunction(Void, "glGetProgramLocalParameterIivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramLocalParameterIuivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLuint, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramEnvParameterIivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetProgramEnvParameterIuivNV", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLuint, "4"), "params")], sideeffects=False), + + # GL_NV_geometry_program4 + GlFunction(Void, "glProgramVertexLimitNV", [(GLenum, "target"), (GLint, "limit")]), + GlFunction(Void, "glFramebufferTextureEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glFramebufferTextureLayerEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), + GlFunction(Void, "glFramebufferTextureFaceEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLenum, "face")]), + + # GL_EXT_geometry_shader4 + GlFunction(Void, "glProgramParameteriEXT", [(GLprogram, "program"), (GLenum, "pname"), (GLint, "value")]), + + # GL_NV_vertex_program4 + GlFunction(Void, "glVertexAttribI1iEXT", [(GLuint, "index"), (GLint, "x")]), + GlFunction(Void, "glVertexAttribI2iEXT", [(GLuint, "index"), (GLint, "x"), (GLint, "y")]), + GlFunction(Void, "glVertexAttribI3iEXT", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z")]), + GlFunction(Void, "glVertexAttribI4iEXT", [(GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glVertexAttribI1uiEXT", [(GLuint, "index"), (GLuint, "x")]), + GlFunction(Void, "glVertexAttribI2uiEXT", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y")]), + GlFunction(Void, "glVertexAttribI3uiEXT", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z")]), + GlFunction(Void, "glVertexAttribI4uiEXT", [(GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), + GlFunction(Void, "glVertexAttribI1ivEXT", [(GLuint, "index"), (Pointer(Const(GLint)), "v")]), + GlFunction(Void, "glVertexAttribI2ivEXT", [(GLuint, "index"), (Array(Const(GLint), "2"), "v")]), + GlFunction(Void, "glVertexAttribI3ivEXT", [(GLuint, "index"), (Array(Const(GLint), "3"), "v")]), + GlFunction(Void, "glVertexAttribI4ivEXT", [(GLuint, "index"), (Array(Const(GLint), "4"), "v")]), + GlFunction(Void, "glVertexAttribI1uivEXT", [(GLuint, "index"), (Pointer(Const(GLuint)), "v")]), + GlFunction(Void, "glVertexAttribI2uivEXT", [(GLuint, "index"), (Array(Const(GLuint), "2"), "v")]), + GlFunction(Void, "glVertexAttribI3uivEXT", [(GLuint, "index"), (Array(Const(GLuint), "3"), "v")]), + GlFunction(Void, "glVertexAttribI4uivEXT", [(GLuint, "index"), (Array(Const(GLuint), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4bvEXT", [(GLuint, "index"), (Array(Const(GLbyte), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4svEXT", [(GLuint, "index"), (Array(Const(GLshort), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4ubvEXT", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]), + GlFunction(Void, "glVertexAttribI4usvEXT", [(GLuint, "index"), (Array(Const(GLushort), "4"), "v")]), + GlFunction(Void, "glVertexAttribIPointerEXT", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glGetVertexAttribIivEXT", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribIuivEXT", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLuint), "params")], sideeffects=False), + + # GL_EXT_gpu_shader4 + GlFunction(Void, "glGetUniformuivEXT", [(GLprogram, "program"), (GLlocation, "location"), Out(OpaqueArray(GLuint, "__glGetUniformuivEXT_size(program, location)"), "params")], sideeffects=False), + GlFunction(Void, "glBindFragDataLocationEXT", [(GLprogram, "program"), (GLuint, "color"), (Const(GLstring), "name")]), + GlFunction(GLlocation, "glGetFragDataLocationEXT", [(GLprogram, "program"), (Const(GLstring), "name")]), + GlFunction(Void, "glUniform1uiEXT", [(GLlocation, "location"), (GLuint, "v0")]), + GlFunction(Void, "glUniform2uiEXT", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), + GlFunction(Void, "glUniform3uiEXT", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), + GlFunction(Void, "glUniform4uiEXT", [(GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), + GlFunction(Void, "glUniform1uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), + GlFunction(Void, "glUniform2uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), + GlFunction(Void, "glUniform3uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), + GlFunction(Void, "glUniform4uivEXT", [(GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), + + # GL_EXT_draw_instanced + GlFunction(Void, "glDrawArraysInstancedEXT", [(GLenum_mode, "mode"), (GLint, "start"), (GLsizei, "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glDrawElementsInstancedEXT", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indices"), (GLsizei, "primcount")]), + + # GL_EXT_texture_buffer_object + GlFunction(Void, "glTexBufferEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), + + # GL_NV_depth_buffer_float + GlFunction(Void, "glDepthRangedNV", [(GLdouble, "zNear"), (GLdouble, "zFar")]), + GlFunction(Void, "glClearDepthdNV", [(GLdouble, "depth")]), + GlFunction(Void, "glDepthBoundsdNV", [(GLdouble, "zmin"), (GLdouble, "zmax")]), + + # GL_NV_framebuffer_multisample_coverage + GlFunction(Void, "glRenderbufferStorageMultisampleCoverageNV", [(GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + + # GL_NV_parameter_buffer_object + GlFunction(Void, "glProgramBufferParametersfvNV", [(GLenum, "target"), (GLbuffer, "buffer"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "params")]), + GlFunction(Void, "glProgramBufferParametersIivNV", [(GLenum, "target"), (GLbuffer, "buffer"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count"), "params")]), + GlFunction(Void, "glProgramBufferParametersIuivNV", [(GLenum, "target"), (GLbuffer, "buffer"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "params")]), + + # GL_EXT_draw_buffers2 + GlFunction(Void, "glColorMaskIndexedEXT", [(GLuint, "index"), (GLboolean, "r"), (GLboolean, "g"), (GLboolean, "b"), (GLboolean, "a")]), + GlFunction(Void, "glGetBooleanIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLboolean, "__glGetBooleanIndexedvEXT_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glGetIntegerIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLint, "__glGetIntegerIndexedvEXT_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glEnableIndexedEXT", [(GLenum, "target"), (GLuint, "index")]), + GlFunction(Void, "glDisableIndexedEXT", [(GLenum, "target"), (GLuint, "index")]), + GlFunction(GLboolean, "glIsEnabledIndexedEXT", [(GLenum, "target"), (GLuint, "index")], sideeffects=False), + + # GL_NV_transform_feedback + GlFunction(Void, "glBeginTransformFeedbackNV", [(GLenum_mode, "primitiveMode")]), + GlFunction(Void, "glEndTransformFeedbackNV", []), + GlFunction(Void, "glTransformFeedbackAttribsNV", [(GLuint, "count"), (OpaqueArray(Const(GLint), "__glTransformFeedbackAttribsNV_size(count)"), "attribs"), (GLenum, "bufferMode")]), + GlFunction(Void, "glBindBufferRangeNV", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size")]), + GlFunction(Void, "glBindBufferOffsetNV", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset")]), + GlFunction(Void, "glBindBufferBaseNV", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer")]), + GlFunction(Void, "glTransformFeedbackVaryingsNV", [(GLprogram, "program"), (GLsizei, "count"), (Array(Const(GLint), "count"), "locations"), (GLenum, "bufferMode")]), + GlFunction(Void, "glActiveVaryingNV", [(GLprogram, "program"), (Const(GLstring), "name")]), + GlFunction(GLlocation, "glGetVaryingLocationNV", [(GLprogram, "program"), (Const(GLstring), "name")]), + GlFunction(Void, "glGetActiveVaryingNV", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLsizei), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), + GlFunction(Void, "glGetTransformFeedbackVaryingNV", [(GLprogram, "program"), (GLuint, "index"), Out(Pointer(GLlocation), "location")], sideeffects=False), + GlFunction(Void, "glTransformFeedbackStreamAttribsNV", [(GLsizei, "count"), (Array(Const(GLint), "count"), "attribs"), (GLsizei, "nbuffers"), (Array(Const(GLint), "nbuffers"), "bufstreams"), (GLenum, "bufferMode")]), + + # GL_EXT_bindable_uniform + GlFunction(Void, "glUniformBufferEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLbuffer, "buffer")]), + GlFunction(GLint, "glGetUniformBufferSizeEXT", [(GLprogram, "program"), (GLlocation, "location")]), + GlFunction(GLintptr, "glGetUniformOffsetEXT", [(GLprogram, "program"), (GLlocation, "location")]), + + # GL_EXT_texture_integer + GlFunction(Void, "glTexParameterIivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glTexParameterIivEXT_size(pname)"), "params")]), + GlFunction(Void, "glTexParameterIuivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaqueArray(Const(GLuint), "__glTexParameterIuivEXT_size(pname)"), "params")]), + GlFunction(Void, "glGetTexParameterIivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetTexParameterIivEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTexParameterIuivEXT", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLuint, "__glGetTexParameterIuivEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glClearColorIiEXT", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]), + GlFunction(Void, "glClearColorIuiEXT", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]), + + # GL_GREMEDY_frame_terminator + GlFunction(Void, "glFrameTerminatorGREMEDY", []), + + # GL_NV_conditional_render + GlFunction(Void, "glBeginConditionalRenderNV", [(GLuint, "id"), (GLenum, "mode")]), + GlFunction(Void, "glEndConditionalRenderNV", []), + + # GL_NV_present_video + GlFunction(Void, "glPresentFrameKeyedNV", [(GLuint, "video_slot"), (GLuint64EXT, "minPresentTime"), (GLuint, "beginPresentTimeId"), (GLuint, "presentDurationId"), (GLenum, "type"), (GLenum, "target0"), (GLuint, "fill0"), (GLuint, "key0"), (GLenum, "target1"), (GLuint, "fill1"), (GLuint, "key1")]), + GlFunction(Void, "glPresentFrameDualFillNV", [(GLuint, "video_slot"), (GLuint64EXT, "minPresentTime"), (GLuint, "beginPresentTimeId"), (GLuint, "presentDurationId"), (GLenum, "type"), (GLenum, "target0"), (GLuint, "fill0"), (GLenum, "target1"), (GLuint, "fill1"), (GLenum, "target2"), (GLuint, "fill2"), (GLenum, "target3"), (GLuint, "fill3")]), + GlFunction(Void, "glGetVideoivNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetVideoivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVideouivNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLuint, "__glGetVideouivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVideoi64vNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLint64EXT, "__glGetVideoi64vNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVideoui64vNV", [(GLuint, "video_slot"), (GLenum, "pname"), Out(OpaqueArray(GLuint64EXT, "__glGetVideoui64vNV_size(pname)"), "params")], sideeffects=False), + + # GL_EXT_transform_feedback + GlFunction(Void, "glBeginTransformFeedbackEXT", [(GLenum_mode, "primitiveMode")]), + GlFunction(Void, "glEndTransformFeedbackEXT", []), + GlFunction(Void, "glBindBufferRangeEXT", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size")]), + GlFunction(Void, "glBindBufferOffsetEXT", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer"), (GLintptr, "offset")]), + GlFunction(Void, "glBindBufferBaseEXT", [(GLenum, "target"), (GLuint, "index"), (GLbuffer, "buffer")]), + GlFunction(Void, "glTransformFeedbackVaryingsEXT", [(GLprogram, "program"), (GLsizei, "count"), (Const(Array(Const(GLstring), "count")), "varyings"), (GLenum, "bufferMode")]), + GlFunction(Void, "glGetTransformFeedbackVaryingEXT", [(GLprogram, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLsizei), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False), + + # GL_EXT_direct_state_access + GlFunction(Void, "glClientAttribDefaultEXT", [(GLbitfield_client_attrib, "mask")]), + GlFunction(Void, "glPushClientAttribDefaultEXT", [(GLbitfield_client_attrib, "mask")]), + GlFunction(Void, "glMatrixLoadfEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMatrixLoaddEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glMatrixMultfEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMatrixMultdEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glMatrixLoadIdentityEXT", [(GLenum, "mode")]), + GlFunction(Void, "glMatrixRotatefEXT", [(GLenum, "mode"), (GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glMatrixRotatedEXT", [(GLenum, "mode"), (GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glMatrixScalefEXT", [(GLenum, "mode"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glMatrixScaledEXT", [(GLenum, "mode"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glMatrixTranslatefEXT", [(GLenum, "mode"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]), + GlFunction(Void, "glMatrixTranslatedEXT", [(GLenum, "mode"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glMatrixFrustumEXT", [(GLenum, "mode"), (GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), + GlFunction(Void, "glMatrixOrthoEXT", [(GLenum, "mode"), (GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]), + GlFunction(Void, "glMatrixPopEXT", [(GLenum, "mode")]), + GlFunction(Void, "glMatrixPushEXT", [(GLenum, "mode")]), + GlFunction(Void, "glMatrixLoadTransposefEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMatrixLoadTransposedEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glMatrixMultTransposefEXT", [(GLenum, "mode"), (Array(Const(GLfloat), "16"), "m")]), + GlFunction(Void, "glMatrixMultTransposedEXT", [(GLenum, "mode"), (Array(Const(GLdouble), "16"), "m")]), + GlFunction(Void, "glTextureParameterfEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glTextureParameterfvEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glTextureParameteriEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glTextureParameterivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glTextureImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureImage1DEXT_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glTextureImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureImage2DEXT_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glTextureSubImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureSubImage1DEXT_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glTextureSubImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureSubImage2DEXT_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glCopyTextureImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), + GlFunction(Void, "glCopyTextureImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), + GlFunction(Void, "glCopyTextureSubImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glCopyTextureSubImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetTextureImageEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetTextureImageEXT_size(target, level, format, type)"), "pixels")], sideeffects=False), + GlFunction(Void, "glGetTextureParameterfvEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTextureParameterivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTextureLevelParameterfvEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTextureLevelParameterivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glTextureImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glTextureSubImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glTextureSubImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glCopyTextureSubImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glMultiTexParameterfEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glMultiTexParameterfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexParameteriEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glMultiTexParameterivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexImage1DEXT_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glMultiTexImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexImage2DEXT_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glMultiTexSubImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexSubImage1DEXT_size(format, type, width)"), "pixels")]), + GlFunction(Void, "glMultiTexSubImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexSubImage2DEXT_size(format, type, width, height)"), "pixels")]), + GlFunction(Void, "glCopyMultiTexImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]), + GlFunction(Void, "glCopyMultiTexImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]), + GlFunction(Void, "glCopyMultiTexSubImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]), + GlFunction(Void, "glCopyMultiTexSubImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetMultiTexImageEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaqueBlob(GLvoid, "__glGetMultiTexImageEXT_size(target, level, format, type)"), "pixels")], sideeffects=False), + GlFunction(Void, "glGetMultiTexParameterfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexParameterivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexLevelParameterfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexLevelParameterivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glMultiTexImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glMultiTexSubImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__glMultiTexSubImage3DEXT_size(format, type, width, height, depth)"), "pixels")]), + GlFunction(Void, "glCopyMultiTexSubImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glBindMultiTextureEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLtexture, "texture")]), + GlFunction(Void, "glEnableClientStateIndexedEXT", [(GLenum, "array"), (GLuint, "index")]), + GlFunction(Void, "glDisableClientStateIndexedEXT", [(GLenum, "array"), (GLuint, "index")]), + GlFunction(Void, "glMultiTexCoordPointerEXT", [(GLenum, "texunit"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (OpaquePointer(Const(GLvoid)), "pointer")]), + GlFunction(Void, "glMultiTexEnvfEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glMultiTexEnvfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexEnviEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glMultiTexEnvivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexGendEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]), + GlFunction(Void, "glMultiTexGendvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLdouble), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexGenfEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]), + GlFunction(Void, "glMultiTexGenfvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLfloat), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexGeniEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]), + GlFunction(Void, "glMultiTexGenivEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glGetMultiTexEnvfvEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexEnvivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexGendvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), Out(Array(GLdouble, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexGenfvEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), Out(Array(GLfloat, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexGenivEXT", [(GLenum, "texunit"), (GLenum, "coord"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetFloatIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLfloat, "__glGetFloatIndexedvEXT_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glGetDoubleIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLdouble, "__glGetDoubleIndexedvEXT_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glGetPointerIndexedvEXT", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(OpaquePointer(GLvoid), "__glGetPointerIndexedvEXT_size(target)"), "data")], sideeffects=False), + GlFunction(Void, "glCompressedTextureImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedTextureImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedTextureImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedTextureSubImage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedTextureSubImage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedTextureSubImage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glGetCompressedTextureImageEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLint, "lod"), Out(OpaqueBlob(GLvoid, "__glGetCompressedTextureImageEXT_size(target, lod)"), "img")], sideeffects=False), + GlFunction(Void, "glCompressedMultiTexImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedMultiTexImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedMultiTexImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedMultiTexSubImage3DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedMultiTexSubImage2DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glCompressedMultiTexSubImage1DEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Blob(Const(GLvoid), "imageSize"), "bits")]), + GlFunction(Void, "glGetCompressedMultiTexImageEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLint, "lod"), Out(OpaqueBlob(GLvoid, "__glGetCompressedMultiTexImageEXT_size(target, lod)"), "img")], sideeffects=False), + GlFunction(Void, "glNamedProgramStringEXT", [(GLprogram, "program"), (GLenum, "target"), (GLenum, "format"), (GLsizei, "len"), (Const(String("GLvoid *", "len")), "string")]), + GlFunction(Void, "glNamedProgramLocalParameter4dEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glNamedProgramLocalParameter4dvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLdouble), "4"), "params")]), + GlFunction(Void, "glNamedProgramLocalParameter4fEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]), + GlFunction(Void, "glNamedProgramLocalParameter4fvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLfloat), "4"), "params")]), + GlFunction(Void, "glGetNamedProgramLocalParameterdvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedProgramLocalParameterfvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedProgramivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedProgramStringEXT", [(GLprogram, "program"), (GLenum, "target"), (GLenum, "pname"), Out(OpaqueBlob(GLvoid, "__glGetNamedProgramStringEXT_size(program,pname)"), "string")], sideeffects=False), + GlFunction(Void, "glNamedProgramLocalParameters4fvEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "params")]), + GlFunction(Void, "glNamedProgramLocalParameterI4iEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]), + GlFunction(Void, "glNamedProgramLocalParameterI4ivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLint), "4"), "params")]), + GlFunction(Void, "glNamedProgramLocalParametersI4ivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "params")]), + GlFunction(Void, "glNamedProgramLocalParameterI4uiEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLuint, "x"), (GLuint, "y"), (GLuint, "z"), (GLuint, "w")]), + GlFunction(Void, "glNamedProgramLocalParameterI4uivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (Array(Const(GLuint), "4"), "params")]), + GlFunction(Void, "glNamedProgramLocalParametersI4uivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "params")]), + GlFunction(Void, "glGetNamedProgramLocalParameterIivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLint, "4"), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedProgramLocalParameterIuivEXT", [(GLprogram, "program"), (GLenum, "target"), (GLuint, "index"), Out(Array(GLuint, "4"), "params")], sideeffects=False), + GlFunction(Void, "glTextureParameterIivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glTextureParameterIuivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLuint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glGetTextureParameterIivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetTextureParameterIuivEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glMultiTexParameterIivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glMultiTexParameterIuivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), (Array(Const(GLuint), "__gl_param_size(pname)"), "params")]), + GlFunction(Void, "glGetMultiTexParameterIivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetMultiTexParameterIuivEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "pname"), Out(Array(GLuint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glProgramUniform1fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0")]), + GlFunction(Void, "glProgramUniform2fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1")]), + GlFunction(Void, "glProgramUniform3fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]), + GlFunction(Void, "glProgramUniform4fEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]), + GlFunction(Void, "glProgramUniform1iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0")]), + GlFunction(Void, "glProgramUniform2iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1")]), + GlFunction(Void, "glProgramUniform3iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]), + GlFunction(Void, "glProgramUniform4iEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]), + GlFunction(Void, "glProgramUniform1fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count"), "value")]), + GlFunction(Void, "glProgramUniform2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLfloat), "count*4"), "value")]), + GlFunction(Void, "glProgramUniform1ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count"), "value")]), + GlFunction(Void, "glProgramUniform2ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4ivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLint), "count*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*2*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x2fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*3*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x3fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*3"), "value")]), + GlFunction(Void, "glProgramUniform1uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0")]), + GlFunction(Void, "glProgramUniform2uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1")]), + GlFunction(Void, "glProgramUniform3uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2")]), + GlFunction(Void, "glProgramUniform4uiEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLuint, "v0"), (GLuint, "v1"), (GLuint, "v2"), (GLuint, "v3")]), + GlFunction(Void, "glProgramUniform1uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "value")]), + GlFunction(Void, "glProgramUniform2uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4uivEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLuint), "count*4"), "value")]), + GlFunction(Void, "glNamedBufferDataEXT", [(GLbuffer, "buffer"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]), + GlFunction(Void, "glNamedBufferSubDataEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data")]), + GlFunction(GLmap, "glMapNamedBufferEXT", [(GLbuffer, "buffer"), (GLenum, "access")]), + GlFunction(GLboolean, "glUnmapNamedBufferEXT", [(GLbuffer, "buffer")]), + GlFunction(GLmap, "glMapNamedBufferRangeEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "length"), (GLbitfield_access, "access")]), + GlFunction(Void, "glFlushMappedNamedBufferRangeEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "length")]), + GlFunction(Void, "glNamedCopyBufferSubDataEXT", [(GLbuffer, "readBuffer"), (GLbuffer, "writeBuffer"), (GLintptr, "readOffset"), (GLintptr, "writeOffset"), (GLsizeiptr, "size")]), + GlFunction(Void, "glGetNamedBufferParameterivEXT", [(GLbuffer, "buffer"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedBufferPointervEXT", [(GLbuffer, "buffer"), (GLenum, "pname"), Out(Array(OpaquePointer(GLvoid), "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedBufferSubDataEXT", [(GLbuffer, "buffer"), (GLintptr, "offset"), (GLsizeiptr, "size"), Out(OpaqueBlob(GLvoid, "__glGetNamedBufferSubDataEXT_size(size)"), "data")], sideeffects=False), + GlFunction(Void, "glTextureBufferEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), + GlFunction(Void, "glMultiTexBufferEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLenum, "internalformat"), (GLbuffer, "buffer")]), + GlFunction(Void, "glNamedRenderbufferStorageEXT", [(GLrenderbuffer, "renderbuffer"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glGetNamedRenderbufferParameterivEXT", [(GLrenderbuffer, "renderbuffer"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(GLenum, "glCheckNamedFramebufferStatusEXT", [(GLframebuffer, "framebuffer"), (GLenum, "target")]), + GlFunction(Void, "glNamedFramebufferTexture1DEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glNamedFramebufferTexture2DEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glNamedFramebufferTexture3DEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]), + GlFunction(Void, "glNamedFramebufferRenderbufferEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]), + GlFunction(Void, "glGetNamedFramebufferAttachmentParameterivEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGenerateTextureMipmapEXT", [(GLtexture, "texture"), (GLenum, "target")]), + GlFunction(Void, "glGenerateMultiTexMipmapEXT", [(GLenum, "texunit"), (GLenum, "target")]), + GlFunction(Void, "glFramebufferDrawBufferEXT", [(GLframebuffer, "framebuffer"), (GLenum, "mode")]), + GlFunction(Void, "glFramebufferDrawBuffersEXT", [(GLframebuffer, "framebuffer"), (GLsizei, "n"), (Array(Const(GLenum), "n"), "bufs")]), + GlFunction(Void, "glFramebufferReadBufferEXT", [(GLframebuffer, "framebuffer"), (GLenum, "mode")]), + GlFunction(Void, "glGetFramebufferParameterivEXT", [(GLframebuffer, "framebuffer"), (GLenum, "pname"), Out(Array(GLint, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glNamedRenderbufferStorageMultisampleEXT", [(GLrenderbuffer, "renderbuffer"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glNamedRenderbufferStorageMultisampleCoverageEXT", [(GLrenderbuffer, "renderbuffer"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glNamedFramebufferTextureEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level")]), + GlFunction(Void, "glNamedFramebufferTextureLayerEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]), + GlFunction(Void, "glNamedFramebufferTextureFaceEXT", [(GLframebuffer, "framebuffer"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLenum, "face")]), + GlFunction(Void, "glTextureRenderbufferEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLuint, "renderbuffer")]), + GlFunction(Void, "glMultiTexRenderbufferEXT", [(GLenum, "texunit"), (GLenum, "target"), (GLuint, "renderbuffer")]), + GlFunction(Void, "glProgramUniform1dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x")]), + GlFunction(Void, "glProgramUniform2dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glProgramUniform3dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glProgramUniform4dEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glProgramUniform1dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count"), "value")]), + GlFunction(Void, "glProgramUniform2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (Array(Const(GLdouble), "count*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*3"), "value")]), + GlFunction(Void, "glProgramUniformMatrix2x4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*2*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix3x4dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*3*4"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x2dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*2"), "value")]), + GlFunction(Void, "glProgramUniformMatrix4x3dvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLdouble), "count*4*3"), "value")]), + GlFunction(Void, "glVertexArrayVertexOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayColorOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayEdgeFlagOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayIndexOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayNormalOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayTexCoordOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayMultiTexCoordOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "texunit"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayFogCoordOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArraySecondaryColorOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayVertexAttribOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glVertexArrayVertexAttribIOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + GlFunction(Void, "glEnableVertexArrayEXT", [(GLarray, "vaobj"), (GLenum, "array")]), + GlFunction(Void, "glDisableVertexArrayEXT", [(GLarray, "vaobj"), (GLenum, "array")]), + GlFunction(Void, "glEnableVertexArrayAttribEXT", [(GLarray, "vaobj"), (GLuint, "index")]), + GlFunction(Void, "glDisableVertexArrayAttribEXT", [(GLarray, "vaobj"), (GLuint, "index")]), + GlFunction(Void, "glGetVertexArrayIntegervEXT", [(GLarray, "vaobj"), (GLenum, "pname"), Out(Pointer(GLint), "param")]), + GlFunction(Void, "glGetVertexArrayPointervEXT", [(GLarray, "vaobj"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "param")]), + GlFunction(Void, "glGetVertexArrayIntegeri_vEXT", [(GLarray, "vaobj"), (GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLint), "param")]), + GlFunction(Void, "glGetVertexArrayPointeri_vEXT", [(GLarray, "vaobj"), (GLuint, "index"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "param")]), + + # GL_NV_explicit_multisample + GlFunction(Void, "glGetMultisamplefvNV", [(GLenum, "pname"), (GLuint, "index"), Out(Array(GLfloat, "2"), "val")], sideeffects=False), + GlFunction(Void, "glSampleMaskIndexedNV", [(GLuint, "index"), (GLbitfield, "mask")]), + GlFunction(Void, "glTexRenderbufferNV", [(GLenum, "target"), (GLuint, "renderbuffer")]), + + # GL_NV_transform_feedback2 + GlFunction(Void, "glBindTransformFeedbackNV", [(GLenum, "target"), (GLfeedback, "id")]), + GlFunction(Void, "glDeleteTransformFeedbacksNV", [(GLsizei, "n"), (Array(Const(GLfeedback), "n"), "ids")]), + GlFunction(Void, "glGenTransformFeedbacksNV", [(GLsizei, "n"), Out(Array(GLfeedback, "n"), "ids")]), + GlFunction(GLboolean, "glIsTransformFeedbackNV", [(GLfeedback, "id")], sideeffects=False), + GlFunction(Void, "glPauseTransformFeedbackNV", []), + GlFunction(Void, "glResumeTransformFeedbackNV", []), + GlFunction(Void, "glDrawTransformFeedbackNV", [(GLenum_mode, "mode"), (GLfeedback, "id")]), + + # GL_AMD_performance_monitor + GlFunction(Void, "glGetPerfMonitorGroupsAMD", [Out(Pointer(GLint), "numGroups"), (GLsizei, "groupsSize"), Out(Array(GLuint, "groupsSize"), "groups")], sideeffects=False), + GlFunction(Void, "glGetPerfMonitorCountersAMD", [(GLuint, "group"), Out(Pointer(GLint), "numCounters"), Out(Pointer(GLint), "maxActiveCounters"), (GLsizei, "counterSize"), Out(Array(GLuint, "counterSize"), "counters")], sideeffects=False), + GlFunction(Void, "glGetPerfMonitorGroupStringAMD", [(GLuint, "group"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "groupString")], sideeffects=False), + GlFunction(Void, "glGetPerfMonitorCounterStringAMD", [(GLuint, "group"), (GLuint, "counter"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Array(GLchar, "bufSize"), "counterString")], sideeffects=False), + GlFunction(Void, "glGetPerfMonitorCounterInfoAMD", [(GLuint, "group"), (GLuint, "counter"), (GLenum, "pname"), Out(OpaqueBlob(GLvoid, "__glGetPerfMonitorCounterInfoAMD_size(pname)"), "data")], sideeffects=False), + GlFunction(Void, "glGenPerfMonitorsAMD", [(GLsizei, "n"), Out(Array(GLuint, "n"), "monitors")]), + GlFunction(Void, "glDeletePerfMonitorsAMD", [(GLsizei, "n"), Out(Array(GLuint, "n"), "monitors")]), + GlFunction(Void, "glSelectPerfMonitorCountersAMD", [(GLuint, "monitor"), (GLboolean, "enable"), (GLuint, "group"), (GLint, "numCounters"), Out(Array(GLuint, "numCounters"), "counterList")]), + GlFunction(Void, "glBeginPerfMonitorAMD", [(GLuint, "monitor")]), + GlFunction(Void, "glEndPerfMonitorAMD", [(GLuint, "monitor")]), + GlFunction(Void, "glGetPerfMonitorCounterDataAMD", [(GLuint, "monitor"), (GLenum, "pname"), (GLsizei, "dataSize"), Out(Array(GLuint, "dataSize"), "data"), Out(Pointer(GLint), "bytesWritten")], sideeffects=False), + + # GL_AMD_vertex_shader_tesselator + GlFunction(Void, "glTessellationFactorAMD", [(GLfloat, "factor")]), + GlFunction(Void, "glTessellationModeAMD", [(GLenum, "mode")]), + + # GL_EXT_provoking_vertex + GlFunction(Void, "glProvokingVertexEXT", [(GLenum, "mode")]), + + # GL_AMD_draw_buffers_blend + GlFunction(Void, "glBlendFuncIndexedAMD", [(GLuint, "buf"), (GLenum, "src"), (GLenum, "dst")]), + GlFunction(Void, "glBlendFuncSeparateIndexedAMD", [(GLuint, "buf"), (GLenum, "srcRGB"), (GLenum, "dstRGB"), (GLenum, "srcAlpha"), (GLenum, "dstAlpha")]), + GlFunction(Void, "glBlendEquationIndexedAMD", [(GLuint, "buf"), (GLenum, "mode")]), + GlFunction(Void, "glBlendEquationSeparateIndexedAMD", [(GLuint, "buf"), (GLenum, "modeRGB"), (GLenum, "modeAlpha")]), + + # GL_APPLE_texture_range + GlFunction(Void, "glTextureRangeAPPLE", [(GLenum, "target"), (GLsizei, "length"), (Blob(Const(GLvoid), "length"), "pointer")]), + GlFunction(Void, "glGetTexParameterPointervAPPLE", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False), + + # GL_APPLE_vertex_program_evaluators + GlFunction(Void, "glEnableVertexAttribAPPLE", [(GLuint, "index"), (GLenum, "pname")]), + GlFunction(Void, "glDisableVertexAttribAPPLE", [(GLuint, "index"), (GLenum, "pname")]), + GlFunction(GLboolean, "glIsVertexAttribEnabledAPPLE", [(GLuint, "index"), (GLenum, "pname")], sideeffects=False), + GlFunction(Void, "glMapVertexAttrib1dAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (OpaqueArray(Const(GLdouble), "__glMapVertexAttrib1dAPPLE_size(size, stride, order)"), "points")]), + GlFunction(Void, "glMapVertexAttrib1fAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (OpaqueArray(Const(GLfloat), "__glMapVertexAttrib1fAPPLE_size(size, stride, order)"), "points")]), + GlFunction(Void, "glMapVertexAttrib2dAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (OpaqueArray(Const(GLdouble), "__glMapVertexAttrib2dAPPLE_size(size, ustride, uorder, vstride, vorder)"), "points")]), + GlFunction(Void, "glMapVertexAttrib2fAPPLE", [(GLuint, "index"), (GLuint, "size"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (OpaqueArray(Const(GLfloat), "__glMapVertexAttrib2fAPPLE_size(size, ustride, uorder, vstride, vorder)"), "points")]), + + # GL_APPLE_object_purgeable + GlFunction(GLenum, "glObjectPurgeableAPPLE", [(GLenum, "objectType"), (GLuint, "name"), (GLenum, "option")]), + GlFunction(GLenum, "glObjectUnpurgeableAPPLE", [(GLenum, "objectType"), (GLuint, "name"), (GLenum, "option")]), + GlFunction(Void, "glGetObjectParameterivAPPLE", [(GLenum, "objectType"), (GLuint, "name"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetObjectParameterivAPPLE_size(pname)"), "params")], sideeffects=False), + + # GL_NV_video_capture + GlFunction(Void, "glBeginVideoCaptureNV", [(GLuint, "video_capture_slot")]), + GlFunction(Void, "glBindVideoCaptureStreamBufferNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "frame_region"), (GLintptrARB, "offset")]), + GlFunction(Void, "glBindVideoCaptureStreamTextureNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "frame_region"), (GLenum, "target"), (GLuint, "texture")]), + GlFunction(Void, "glEndVideoCaptureNV", [(GLuint, "video_capture_slot")]), + GlFunction(Void, "glGetVideoCaptureivNV", [(GLuint, "video_capture_slot"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetVideoCaptureivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVideoCaptureStreamivNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), Out(OpaqueArray(GLint, "__glGetVideoCaptureStreamivNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVideoCaptureStreamfvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), Out(OpaqueArray(GLfloat, "__glGetVideoCaptureStreamfvNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVideoCaptureStreamdvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), Out(OpaqueArray(GLdouble, "__glGetVideoCaptureStreamdvNV_size(pname)"), "params")], sideeffects=False), + GlFunction(GLenum, "glVideoCaptureNV", [(GLuint, "video_capture_slot"), Out(Pointer(GLuint), "sequence_num"), Out(Pointer(GLuint64EXT), "capture_time")]), + GlFunction(Void, "glVideoCaptureStreamParameterivNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), (OpaqueArray(Const(GLint), "__glVideoCaptureStreamParameterivNV_size(pname)"), "params")]), + GlFunction(Void, "glVideoCaptureStreamParameterfvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), (OpaqueArray(Const(GLfloat), "__glVideoCaptureStreamParameterfvNV_size(pname)"), "params")]), + GlFunction(Void, "glVideoCaptureStreamParameterdvNV", [(GLuint, "video_capture_slot"), (GLuint, "stream"), (GLenum, "pname"), (OpaqueArray(Const(GLdouble), "__glVideoCaptureStreamParameterdvNV_size(pname)"), "params")]), + + # GL_NV_copy_image + GlFunction(Void, "glCopyImageSubDataNV", [(GLuint, "srcName"), (GLenum, "srcTarget"), (GLint, "srcLevel"), (GLint, "srcX"), (GLint, "srcY"), (GLint, "srcZ"), (GLuint, "dstName"), (GLenum, "dstTarget"), (GLint, "dstLevel"), (GLint, "dstX"), (GLint, "dstY"), (GLint, "dstZ"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), + + # GL_EXT_separate_shader_objects + GlFunction(Void, "glUseShaderProgramEXT", [(GLenum, "type"), (GLprogram, "program")]), + GlFunction(Void, "glActiveProgramEXT", [(GLprogram, "program")]), + GlFunction(GLprogram, "glCreateShaderProgramEXT", [(GLenum, "type"), (Const(GLstring), "string")]), + + # GL_NV_shader_buffer_load + GlFunction(Void, "glMakeBufferResidentNV", [(GLenum, "target"), (GLenum, "access")]), + GlFunction(Void, "glMakeBufferNonResidentNV", [(GLenum, "target")]), + GlFunction(GLboolean, "glIsBufferResidentNV", [(GLenum, "target")], sideeffects=False), + GlFunction(Void, "glMakeNamedBufferResidentNV", [(GLuint, "buffer"), (GLenum, "access")]), + GlFunction(Void, "glMakeNamedBufferNonResidentNV", [(GLuint, "buffer")]), + GlFunction(GLboolean, "glIsNamedBufferResidentNV", [(GLuint, "buffer")], sideeffects=False), + GlFunction(Void, "glGetBufferParameterui64vNV", [(GLenum, "target"), (GLenum, "pname"), Out(OpaqueArray(GLuint64EXT, "__glGetBufferParameterui64vNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetNamedBufferParameterui64vNV", [(GLuint, "buffer"), (GLenum, "pname"), Out(OpaqueArray(GLuint64EXT, "__glGetNamedBufferParameterui64vNV_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetIntegerui64vNV", [(GLenum, "value"), Out(OpaqueArray(GLuint64EXT, "__glGetIntegerui64vNV_size(value)"), "result")], sideeffects=False), + GlFunction(Void, "glUniformui64NV", [(GLint, "location"), (GLuint64EXT, "value")]), + GlFunction(Void, "glUniformui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), + GlFunction(Void, "glGetUniformui64vNV", [(GLuint, "program"), (GLint, "location"), Out(OpaqueArray(GLuint64EXT, "__glGetUniformui64vNV_size(program, location)"), "params")], sideeffects=False), + GlFunction(Void, "glProgramUniformui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "value")]), + GlFunction(Void, "glProgramUniformui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), + + # GL_NV_vertex_buffer_unified_memory + GlFunction(Void, "glBufferAddressRangeNV", [(GLenum, "pname"), (GLuint, "index"), (GLuint64EXT, "address"), (GLsizeiptr, "length")]), + GlFunction(Void, "glVertexFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glNormalFormatNV", [(GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glColorFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glIndexFormatNV", [(GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glTexCoordFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glEdgeFlagFormatNV", [(GLsizei, "stride")]), + GlFunction(Void, "glSecondaryColorFormatNV", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glFogCoordFormatNV", [(GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glVertexAttribFormatNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride")]), + GlFunction(Void, "glVertexAttribIFormatNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), + GlFunction(Void, "glGetIntegerui64i_vNV", [(GLenum, "value"), (GLuint, "index"), Out(OpaqueArray(GLuint64EXT, "__glGetIntegerui64i_vNV_size(value)"), "result")], sideeffects=False), + + # GL_NV_texture_barrier + GlFunction(Void, "glTextureBarrierNV", []), + + # GL_EXT_shader_image_load_store + GlFunction(Void, "glBindImageTextureEXT", [(GLuint, "index"), (GLtexture, "texture"), (GLint, "level"), (GLboolean, "layered"), (GLint, "layer"), (GLenum, "access"), (GLint, "format")]), + GlFunction(Void, "glMemoryBarrierEXT", [(GLbitfield_barrier, "barriers")]), + + # GL_EXT_vertex_attrib_64bit + GlFunction(Void, "glVertexAttribL1dEXT", [(GLuint, "index"), (GLdouble, "x")]), + GlFunction(Void, "glVertexAttribL2dEXT", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]), + GlFunction(Void, "glVertexAttribL3dEXT", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]), + GlFunction(Void, "glVertexAttribL4dEXT", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]), + GlFunction(Void, "glVertexAttribL1dvEXT", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]), + GlFunction(Void, "glVertexAttribL2dvEXT", [(GLuint, "index"), (Array(Const(GLdouble), "2"), "v")]), + GlFunction(Void, "glVertexAttribL3dvEXT", [(GLuint, "index"), (Array(Const(GLdouble), "3"), "v")]), + GlFunction(Void, "glVertexAttribL4dvEXT", [(GLuint, "index"), (Array(Const(GLdouble), "4"), "v")]), + GlFunction(Void, "glVertexAttribLPointerEXT", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Blob(Const(GLvoid), "size"), "pointer")]), + GlFunction(Void, "glGetVertexAttribLdvEXT", [(GLuint, "index"), (GLenum, "pname"), Out(OpaqueArray(GLdouble, "__glGetVertexAttribLdvEXT_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glVertexArrayVertexAttribLOffsetEXT", [(GLarray, "vaobj"), (GLuint, "buffer"), (GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLintptr, "offset")]), + + # GL_NV_gpu_program5 + GlFunction(Void, "glProgramSubroutineParametersuivNV", [(GLenum, "target"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "params")]), + GlFunction(Void, "glGetProgramSubroutineParameteruivNV", [(GLenum, "target"), (GLuint, "index"), Out(OpaqueArray(GLuint, "__glGetProgramSubroutineParameteruivNV_size(target)"), "param")], sideeffects=False), + + # GL_NV_gpu_shader5 + GlFunction(Void, "glUniform1i64NV", [(GLint, "location"), (GLint64EXT, "x")]), + GlFunction(Void, "glUniform2i64NV", [(GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y")]), + GlFunction(Void, "glUniform3i64NV", [(GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z")]), + GlFunction(Void, "glUniform4i64NV", [(GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z"), (GLint64EXT, "w")]), + GlFunction(Void, "glUniform1i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count"), "value")]), + GlFunction(Void, "glUniform2i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*2"), "value")]), + GlFunction(Void, "glUniform3i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*3"), "value")]), + GlFunction(Void, "glUniform4i64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*4"), "value")]), + GlFunction(Void, "glUniform1ui64NV", [(GLint, "location"), (GLuint64EXT, "x")]), + GlFunction(Void, "glUniform2ui64NV", [(GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y")]), + GlFunction(Void, "glUniform3ui64NV", [(GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z")]), + GlFunction(Void, "glUniform4ui64NV", [(GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z"), (GLuint64EXT, "w")]), + GlFunction(Void, "glUniform1ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), + GlFunction(Void, "glUniform2ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*2"), "value")]), + GlFunction(Void, "glUniform3ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*3"), "value")]), + GlFunction(Void, "glUniform4ui64vNV", [(GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*4"), "value")]), + GlFunction(Void, "glGetUniformi64vNV", [(GLuint, "program"), (GLint, "location"), Out(OpaqueArray(GLint64EXT, "__glGetUniformi64vNV_size(location)"), "params")], sideeffects=False), + GlFunction(Void, "glProgramUniform1i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x")]), + GlFunction(Void, "glProgramUniform2i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y")]), + GlFunction(Void, "glProgramUniform3i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z")]), + GlFunction(Void, "glProgramUniform4i64NV", [(GLuint, "program"), (GLint, "location"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z"), (GLint64EXT, "w")]), + GlFunction(Void, "glProgramUniform1i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count"), "value")]), + GlFunction(Void, "glProgramUniform2i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4i64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLint64EXT), "count*4"), "value")]), + GlFunction(Void, "glProgramUniform1ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x")]), + GlFunction(Void, "glProgramUniform2ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y")]), + GlFunction(Void, "glProgramUniform3ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z")]), + GlFunction(Void, "glProgramUniform4ui64NV", [(GLuint, "program"), (GLint, "location"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z"), (GLuint64EXT, "w")]), + GlFunction(Void, "glProgramUniform1ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count"), "value")]), + GlFunction(Void, "glProgramUniform2ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*2"), "value")]), + GlFunction(Void, "glProgramUniform3ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*3"), "value")]), + GlFunction(Void, "glProgramUniform4ui64vNV", [(GLuint, "program"), (GLint, "location"), (GLsizei, "count"), (Array(Const(GLuint64EXT), "count*4"), "value")]), + + # GL_NV_vertex_attrib_integer_64bit + GlFunction(Void, "glVertexAttribL1i64NV", [(GLuint, "index"), (GLint64EXT, "x")]), + GlFunction(Void, "glVertexAttribL2i64NV", [(GLuint, "index"), (GLint64EXT, "x"), (GLint64EXT, "y")]), + GlFunction(Void, "glVertexAttribL3i64NV", [(GLuint, "index"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z")]), + GlFunction(Void, "glVertexAttribL4i64NV", [(GLuint, "index"), (GLint64EXT, "x"), (GLint64EXT, "y"), (GLint64EXT, "z"), (GLint64EXT, "w")]), + GlFunction(Void, "glVertexAttribL1i64vNV", [(GLuint, "index"), (Pointer(Const(GLint64EXT)), "v")]), + GlFunction(Void, "glVertexAttribL2i64vNV", [(GLuint, "index"), (Array(Const(GLint64EXT), "2"), "v")]), + GlFunction(Void, "glVertexAttribL3i64vNV", [(GLuint, "index"), (Array(Const(GLint64EXT), "3"), "v")]), + GlFunction(Void, "glVertexAttribL4i64vNV", [(GLuint, "index"), (Array(Const(GLint64EXT), "4"), "v")]), + GlFunction(Void, "glVertexAttribL1ui64NV", [(GLuint, "index"), (GLuint64EXT, "x")]), + GlFunction(Void, "glVertexAttribL2ui64NV", [(GLuint, "index"), (GLuint64EXT, "x"), (GLuint64EXT, "y")]), + GlFunction(Void, "glVertexAttribL3ui64NV", [(GLuint, "index"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z")]), + GlFunction(Void, "glVertexAttribL4ui64NV", [(GLuint, "index"), (GLuint64EXT, "x"), (GLuint64EXT, "y"), (GLuint64EXT, "z"), (GLuint64EXT, "w")]), + GlFunction(Void, "glVertexAttribL1ui64vNV", [(GLuint, "index"), (Pointer(Const(GLuint64EXT)), "v")]), + GlFunction(Void, "glVertexAttribL2ui64vNV", [(GLuint, "index"), (Array(Const(GLuint64EXT), "2"), "v")]), + GlFunction(Void, "glVertexAttribL3ui64vNV", [(GLuint, "index"), (Array(Const(GLuint64EXT), "3"), "v")]), + GlFunction(Void, "glVertexAttribL4ui64vNV", [(GLuint, "index"), (Array(Const(GLuint64EXT), "4"), "v")]), + GlFunction(Void, "glGetVertexAttribLi64vNV", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint64EXT, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glGetVertexAttribLui64vNV", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLuint64EXT, "__gl_param_size(pname)"), "params")], sideeffects=False), + GlFunction(Void, "glVertexAttribLFormatNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride")]), + + # GL_AMD_name_gen_delete + GlFunction(Void, "glGenNamesAMD", [(GLenum, "identifier"), (GLuint, "num"), Out(Array(GLuint, "num"), "names")]), + GlFunction(Void, "glDeleteNamesAMD", [(GLenum, "identifier"), (GLuint, "num"), (Array(Const(GLuint), "num"), "names")]), + GlFunction(GLboolean, "glIsNameAMD", [(GLenum, "identifier"), (GLuint, "name")], sideeffects=False), + + # GL_AMD_debug_output + GlFunction(Void, "glDebugMessageEnableAMD", [(GLenum, "category"), (GLenum, "severity"), (GLsizei, "count"), (Array(Const(GLuint), "count"), "ids"), (GLboolean, "enabled")], sideeffects=False), + GlFunction(Void, "glDebugMessageInsertAMD", [(GLenum, "category"), (GLenum, "severity"), (GLuint, "id"), (GLsizei, "length"), (Array(Const(GLchar), "length"), "buf")], sideeffects=False), + GlFunction(Void, "glDebugMessageCallbackAMD", [(GLDEBUGPROCAMD, "callback"), (Opaque("GLvoid *"), "userParam")], sideeffects=False), + GlFunction(GLuint, "glGetDebugMessageLogAMD", [(GLuint, "count"), (GLsizei, "bufsize"), Out(Array(GLenum, "count"), "categories"), Out(Array(GLuint, "count"), "severities"), Out(Array(GLuint, "count"), "ids"), Out(Array(GLsizei, "count"), "lengths"), Out(Array(GLchar, "bufsize"), "message")], sideeffects=False), + + # GL_NV_texture_multisample + GlFunction(Void, "glTexImage2DMultisampleCoverageNV", [(GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedSampleLocations")]), + GlFunction(Void, "glTexImage3DMultisampleCoverageNV", [(GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedSampleLocations")]), + GlFunction(Void, "glTextureImage2DMultisampleNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "samples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedSampleLocations")]), + GlFunction(Void, "glTextureImage3DMultisampleNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "samples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedSampleLocations")]), + GlFunction(Void, "glTextureImage2DMultisampleCoverageNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLboolean, "fixedSampleLocations")]), + GlFunction(Void, "glTextureImage3DMultisampleCoverageNV", [(GLuint, "texture"), (GLenum, "target"), (GLsizei, "coverageSamples"), (GLsizei, "colorSamples"), (GLint, "internalFormat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLboolean, "fixedSampleLocations")]), + + # GL_AMD_sample_positions + GlFunction(Void, "glSetMultisamplefvAMD", [(GLenum, "pname"), (GLuint, "index"), (Array(Const(GLfloat), "2"), "val")]), + + # GL_EXT_x11_sync_object + GlFunction(GLsync, "glImportSyncEXT", [(GLenum, "external_sync_type"), (GLintptr, "external_sync"), (GLbitfield, "flags")]), + + # GL_AMD_multi_draw_indirect + GlFunction(Void, "glMultiDrawArraysIndirectAMD", [(GLenum_mode, "mode"), (OpaquePointer(Const(GLvoid)), "indirect"), (GLsizei, "primcount"), (GLsizei, "stride")]), + GlFunction(Void, "glMultiDrawElementsIndirectAMD", [(GLenum_mode, "mode"), (GLenum, "type"), (OpaquePointer(Const(GLvoid)), "indirect"), (GLsizei, "primcount"), (GLsizei, "stride")]), + + # GL_KTX_buffer_region + # XXX: http://www.west.net/~brittain/3dsmax2.htm does not mention EXT suffix + GlFunction(GLregion, "glNewBufferRegion", [(GLenum, "type")]), + GlFunction(Void, "glDeleteBufferRegion", [(GLregion, "region")]), + GlFunction(Void, "glReadBufferRegion", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glDrawBufferRegion", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "xDest"), (GLint, "yDest")]), + GlFunction(GLuint, "glBufferRegionEnabled", [], sideeffects=False), + # XXX: but GLEW uses EXT suffix + GlFunction(GLregion, "glNewBufferRegionEXT", [(GLenum, "type")]), + GlFunction(Void, "glDeleteBufferRegionEXT", [(GLregion, "region")]), + GlFunction(Void, "glReadBufferRegionEXT", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), + GlFunction(Void, "glDrawBufferRegionEXT", [(GLregion, "region"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "xDest"), (GLint, "yDest")]), + GlFunction(GLuint, "glBufferRegionEnabledEXT", [], sideeffects=False), + + # GL_WIN_swap_hint + GlFunction(Void, "glAddSwapHintRectWIN", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]), +]) + + +# memcpy's prototype. We don't really want to trace all memcpy calls -- just +# emit a few fake memcpy calls --, which is why the prototype is not together +# with the rest. +memcpy = Function(Void, "memcpy", [(GLmap, "dest"), (Blob(Const(Void), "n"), "src"), (SizeT, "n")]) diff --git a/specs/glparams.py b/specs/glparams.py new file mode 100644 index 0000000..8636877 --- /dev/null +++ b/specs/glparams.py @@ -0,0 +1,2985 @@ +########################################################################## +# +# Copyright 2011 Jose Fonseca +# 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 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. +# +##########################################################################/ + + +'''Describe GL parameters.''' + + +from stdapi import * + +from gltypes import * + + +# Shorthands for the types +X = None # To be determined, merely an enum +B = GLboolean +I = GLint +I64 = GLint64 +E = GLenum +F = GLfloat +D = GLdouble +P = OpaquePointer(Void) +S = CString +H = GLhandleARB + +# A underscore prefix (e.g., _glGet) is used to skip automatic code generation +# for parameters that are obtained through other ways. + +parameters = [ + # (functions, type, count, name) # value + ("", X, 1, "GL_ZERO"), # 0x0000 + ("", X, 1, "GL_ONE"), # 0x0001 + + # These are enumerated separately in GLenum_mode + #("", X, 1, "GL_POINTS"), # 0x0000 + #("", X, 1, "GL_LINES"), # 0x0001 + #("", X, 1, "GL_LINE_LOOP"), # 0x0002 + #("", X, 1, "GL_LINE_STRIP"), # 0x0003 + #("", X, 1, "GL_TRIANGLES"), # 0x0004 + #("", X, 1, "GL_TRIANGLE_STRIP"), # 0x0005 + #("", X, 1, "GL_TRIANGLE_FAN"), # 0x0006 + #("", X, 1, "GL_QUADS"), # 0x0007 + #("", X, 1, "GL_QUAD_STRIP"), # 0x0008 + #("", X, 1, "GL_POLYGON"), # 0x0009 + #("", X, 1, "GL_LINES_ADJACENCY"), # 0x000A + #("", X, 1, "GL_LINE_STRIP_ADJACENCY"), # 0x000B + #("", X, 1, "GL_TRIANGLES_ADJACENCY"), # 0x000C + #("", X, 1, "GL_TRIANGLE_STRIP_ADJACENCY"), # 0x000D + #("", X, 1, "GL_PATCHES"), # 0x000E + + ("", X, 1, "GL_ACCUM"), # 0x0100 + ("", X, 1, "GL_LOAD"), # 0x0101 + ("", X, 1, "GL_RETURN"), # 0x0102 + ("", X, 1, "GL_MULT"), # 0x0103 + ("", X, 1, "GL_ADD"), # 0x0104 + ("", X, 1, "GL_NEVER"), # 0x0200 + ("", X, 1, "GL_LESS"), # 0x0201 + ("", X, 1, "GL_EQUAL"), # 0x0202 + ("", X, 1, "GL_LEQUAL"), # 0x0203 + ("", X, 1, "GL_GREATER"), # 0x0204 + ("", X, 1, "GL_NOTEQUAL"), # 0x0205 + ("", X, 1, "GL_GEQUAL"), # 0x0206 + ("", X, 1, "GL_ALWAYS"), # 0x0207 + ("", X, 1, "GL_SRC_COLOR"), # 0x0300 + ("", X, 1, "GL_ONE_MINUS_SRC_COLOR"), # 0x0301 + ("", X, 1, "GL_SRC_ALPHA"), # 0x0302 + ("", X, 1, "GL_ONE_MINUS_SRC_ALPHA"), # 0x0303 + ("", X, 1, "GL_DST_ALPHA"), # 0x0304 + ("", X, 1, "GL_ONE_MINUS_DST_ALPHA"), # 0x0305 + ("", X, 1, "GL_DST_COLOR"), # 0x0306 + ("", X, 1, "GL_ONE_MINUS_DST_COLOR"), # 0x0307 + ("", X, 1, "GL_SRC_ALPHA_SATURATE"), # 0x0308 + ("", X, 1, "GL_FRONT_LEFT"), # 0x0400 + ("", X, 1, "GL_FRONT_RIGHT"), # 0x0401 + ("", X, 1, "GL_BACK_LEFT"), # 0x0402 + ("", X, 1, "GL_BACK_RIGHT"), # 0x0403 + ("", X, 1, "GL_FRONT"), # 0x0404 + ("", X, 1, "GL_BACK"), # 0x0405 + ("", X, 1, "GL_LEFT"), # 0x0406 + ("", X, 1, "GL_RIGHT"), # 0x0407 + ("", X, 1, "GL_FRONT_AND_BACK"), # 0x0408 + ("", X, 1, "GL_AUX0"), # 0x0409 + ("", X, 1, "GL_AUX1"), # 0x040A + ("", X, 1, "GL_AUX2"), # 0x040B + ("", X, 1, "GL_AUX3"), # 0x040C + ("", X, 1, "GL_INVALID_ENUM"), # 0x0500 + ("", X, 1, "GL_INVALID_VALUE"), # 0x0501 + ("", X, 1, "GL_INVALID_OPERATION"), # 0x0502 + ("", X, 1, "GL_STACK_OVERFLOW"), # 0x0503 + ("", X, 1, "GL_STACK_UNDERFLOW"), # 0x0504 + ("", X, 1, "GL_OUT_OF_MEMORY"), # 0x0505 + ("", X, 1, "GL_INVALID_FRAMEBUFFER_OPERATION"), # 0x0506 + ("", X, 1, "GL_2D"), # 0x0600 + ("", X, 1, "GL_3D"), # 0x0601 + ("", X, 1, "GL_3D_COLOR"), # 0x0602 + ("", X, 1, "GL_3D_COLOR_TEXTURE"), # 0x0603 + ("", X, 1, "GL_4D_COLOR_TEXTURE"), # 0x0604 + ("", X, 1, "GL_PASS_THROUGH_TOKEN"), # 0x0700 + ("", X, 1, "GL_POINT_TOKEN"), # 0x0701 + ("", X, 1, "GL_LINE_TOKEN"), # 0x0702 + ("", X, 1, "GL_POLYGON_TOKEN"), # 0x0703 + ("", X, 1, "GL_BITMAP_TOKEN"), # 0x0704 + ("", X, 1, "GL_DRAW_PIXEL_TOKEN"), # 0x0705 + ("", X, 1, "GL_COPY_PIXEL_TOKEN"), # 0x0706 + ("", X, 1, "GL_LINE_RESET_TOKEN"), # 0x0707 + ("", X, 1, "GL_EXP"), # 0x0800 + ("", X, 1, "GL_EXP2"), # 0x0801 + ("", X, 1, "GL_CW"), # 0x0900 + ("", X, 1, "GL_CCW"), # 0x0901 + ("", X, 1, "GL_COEFF"), # 0x0A00 + ("", X, 1, "GL_ORDER"), # 0x0A01 + ("", X, 1, "GL_DOMAIN"), # 0x0A02 + ("glGet", F, 4, "GL_CURRENT_COLOR"), # 0x0B00 + ("glGet", F, 1, "GL_CURRENT_INDEX"), # 0x0B01 + ("glGet", F, 3, "GL_CURRENT_NORMAL"), # 0x0B02 + ("glGet", F, 4, "GL_CURRENT_TEXTURE_COORDS"), # 0x0B03 + ("glGet", F, 4, "GL_CURRENT_RASTER_COLOR"), # 0x0B04 + ("glGet", F, 1, "GL_CURRENT_RASTER_INDEX"), # 0x0B05 + ("glGet", F, 4, "GL_CURRENT_RASTER_TEXTURE_COORDS"), # 0x0B06 + ("glGet", F, 4, "GL_CURRENT_RASTER_POSITION"), # 0x0B07 + ("glGet", I, 1, "GL_CURRENT_RASTER_POSITION_VALID"), # 0x0B08 + ("glGet", F, 1, "GL_CURRENT_RASTER_DISTANCE"), # 0x0B09 + ("glGet", B, 1, "GL_POINT_SMOOTH"), # 0x0B10 + ("glGet", F, 1, "GL_POINT_SIZE"), # 0x0B11 + ("glGet", F, 2, "GL_POINT_SIZE_RANGE"), # 0x0B12 + ("glGet", F, 1, "GL_POINT_SIZE_GRANULARITY"), # 0x0B13 + ("glGet", B, 1, "GL_LINE_SMOOTH"), # 0x0B20 + ("glGet", F, 1, "GL_LINE_WIDTH"), # 0x0B21 + ("glGet", F, 2, "GL_LINE_WIDTH_RANGE"), # 0x0B22 + ("glGet", F, 1, "GL_LINE_WIDTH_GRANULARITY"), # 0x0B23 + ("glGet", B, 1, "GL_LINE_STIPPLE"), # 0x0B24 + ("glGet", I, 1, "GL_LINE_STIPPLE_PATTERN"), # 0x0B25 + ("glGet", I, 1, "GL_LINE_STIPPLE_REPEAT"), # 0x0B26 + ("glGet", E, 1, "GL_LIST_MODE"), # 0x0B30 + ("glGet", I, 1, "GL_MAX_LIST_NESTING"), # 0x0B31 + ("glGet", I, 1, "GL_LIST_BASE"), # 0x0B32 + ("glGet", I, 1, "GL_LIST_INDEX"), # 0x0B33 + ("glGet", E, 2, "GL_POLYGON_MODE"), # 0x0B40 + ("glGet", B, 1, "GL_POLYGON_SMOOTH"), # 0x0B41 + ("glGet", B, 1, "GL_POLYGON_STIPPLE"), # 0x0B42 + ("glGet", B, 1, "GL_EDGE_FLAG"), # 0x0B43 + ("glGet", B, 1, "GL_CULL_FACE"), # 0x0B44 + ("glGet", E, 1, "GL_CULL_FACE_MODE"), # 0x0B45 + ("glGet", E, 1, "GL_FRONT_FACE"), # 0x0B46 + ("glGet", B, 1, "GL_LIGHTING"), # 0x0B50 + ("glGet", B, 1, "GL_LIGHT_MODEL_LOCAL_VIEWER"), # 0x0B51 + ("glGet", B, 1, "GL_LIGHT_MODEL_TWO_SIDE"), # 0x0B52 + ("glGet", F, 4, "GL_LIGHT_MODEL_AMBIENT"), # 0x0B53 + ("glGet", E, 1, "GL_SHADE_MODEL"), # 0x0B54 + ("glGet", E, 1, "GL_COLOR_MATERIAL_FACE"), # 0x0B55 + ("glGet", E, 1, "GL_COLOR_MATERIAL_PARAMETER"), # 0x0B56 + ("glGet", B, 1, "GL_COLOR_MATERIAL"), # 0x0B57 + ("glGet", B, 1, "GL_FOG"), # 0x0B60 + ("glGet", I, 1, "GL_FOG_INDEX"), # 0x0B61 + ("glGet", F, 1, "GL_FOG_DENSITY"), # 0x0B62 + ("glGet", F, 1, "GL_FOG_START"), # 0x0B63 + ("glGet", F, 1, "GL_FOG_END"), # 0x0B64 + ("glGet", E, 1, "GL_FOG_MODE"), # 0x0B65 + ("glGet", F, 4, "GL_FOG_COLOR"), # 0x0B66 + ("glGet", F, 2, "GL_DEPTH_RANGE"), # 0x0B70 + ("glGet", B, 1, "GL_DEPTH_TEST"), # 0x0B71 + ("glGet", B, 1, "GL_DEPTH_WRITEMASK"), # 0x0B72 + ("glGet", F, 1, "GL_DEPTH_CLEAR_VALUE"), # 0x0B73 + ("glGet", E, 1, "GL_DEPTH_FUNC"), # 0x0B74 + ("glGet", F, 4, "GL_ACCUM_CLEAR_VALUE"), # 0x0B80 + ("glGet", B, 1, "GL_STENCIL_TEST"), # 0x0B90 + ("glGet", I, 1, "GL_STENCIL_CLEAR_VALUE"), # 0x0B91 + ("glGet", E, 1, "GL_STENCIL_FUNC"), # 0x0B92 + ("glGet", I, 1, "GL_STENCIL_VALUE_MASK"), # 0x0B93 + ("glGet", E, 1, "GL_STENCIL_FAIL"), # 0x0B94 + ("glGet", E, 1, "GL_STENCIL_PASS_DEPTH_FAIL"), # 0x0B95 + ("glGet", E, 1, "GL_STENCIL_PASS_DEPTH_PASS"), # 0x0B96 + ("glGet", I, 1, "GL_STENCIL_REF"), # 0x0B97 + ("glGet", I, 1, "GL_STENCIL_WRITEMASK"), # 0x0B98 + ("glGet", E, 1, "GL_MATRIX_MODE"), # 0x0BA0 + ("glGet", B, 1, "GL_NORMALIZE"), # 0x0BA1 + ("glGet", I, 4, "GL_VIEWPORT"), # 0x0BA2 + ("glGet", I, 1, "GL_MODELVIEW_STACK_DEPTH"), # 0x0BA3 + ("glGet", I, 1, "GL_PROJECTION_STACK_DEPTH"), # 0x0BA4 + ("glGet", I, 1, "GL_TEXTURE_STACK_DEPTH"), # 0x0BA5 + ("glGet", F, 16, "GL_MODELVIEW_MATRIX"), # 0x0BA6 + ("glGet", F, 16, "GL_PROJECTION_MATRIX"), # 0x0BA7 + ("glGet", F, 16, "GL_TEXTURE_MATRIX"), # 0x0BA8 + ("glGet", I, 1, "GL_ATTRIB_STACK_DEPTH"), # 0x0BB0 + ("glGet", I, 1, "GL_CLIENT_ATTRIB_STACK_DEPTH"), # 0x0BB1 + ("glGet", B, 1, "GL_ALPHA_TEST"), # 0x0BC0 + ("glGet", E, 1, "GL_ALPHA_TEST_FUNC"), # 0x0BC1 + ("glGet", F, 1, "GL_ALPHA_TEST_REF"), # 0x0BC2 + ("glGet", B, 1, "GL_DITHER"), # 0x0BD0 + ("glGet", E, 1, "GL_BLEND_DST"), # 0x0BE0 + ("glGet", E, 1, "GL_BLEND_SRC"), # 0x0BE1 + ("glGet", B, 1, "GL_BLEND"), # 0x0BE2 + ("glGet", E, 1, "GL_LOGIC_OP_MODE"), # 0x0BF0 + ("glGet", B, 1, "GL_INDEX_LOGIC_OP"), # 0x0BF1 + ("glGet", B, 1, "GL_COLOR_LOGIC_OP"), # 0x0BF2 + ("glGet", I, 1, "GL_AUX_BUFFERS"), # 0x0C00 + ("glGet", E, 1, "GL_DRAW_BUFFER"), # 0x0C01 + ("glGet", E, 1, "GL_READ_BUFFER"), # 0x0C02 + ("glGet", I, 4, "GL_SCISSOR_BOX"), # 0x0C10 + ("glGet", B, 1, "GL_SCISSOR_TEST"), # 0x0C11 + ("glGet", I, 1, "GL_INDEX_CLEAR_VALUE"), # 0x0C20 + ("glGet", I, 1, "GL_INDEX_WRITEMASK"), # 0x0C21 + ("glGet", F, 4, "GL_COLOR_CLEAR_VALUE"), # 0x0C22 + ("glGet", B, 4, "GL_COLOR_WRITEMASK"), # 0x0C23 + ("glGet", B, 1, "GL_INDEX_MODE"), # 0x0C30 + ("glGet", B, 1, "GL_RGBA_MODE"), # 0x0C31 + ("glGet", B, 1, "GL_DOUBLEBUFFER"), # 0x0C32 + ("glGet", B, 1, "GL_STEREO"), # 0x0C33 + ("glGet", E, 1, "GL_RENDER_MODE"), # 0x0C40 + ("glGet", E, 1, "GL_PERSPECTIVE_CORRECTION_HINT"), # 0x0C50 + ("glGet", E, 1, "GL_POINT_SMOOTH_HINT"), # 0x0C51 + ("glGet", E, 1, "GL_LINE_SMOOTH_HINT"), # 0x0C52 + ("glGet", E, 1, "GL_POLYGON_SMOOTH_HINT"), # 0x0C53 + ("glGet", E, 1, "GL_FOG_HINT"), # 0x0C54 + ("glGet", B, 1, "GL_TEXTURE_GEN_S"), # 0x0C60 + ("glGet", B, 1, "GL_TEXTURE_GEN_T"), # 0x0C61 + ("glGet", B, 1, "GL_TEXTURE_GEN_R"), # 0x0C62 + ("glGet", B, 1, "GL_TEXTURE_GEN_Q"), # 0x0C63 + ("", X, 1, "GL_PIXEL_MAP_I_TO_I"), # 0x0C70 + ("", X, 1, "GL_PIXEL_MAP_S_TO_S"), # 0x0C71 + ("", X, 1, "GL_PIXEL_MAP_I_TO_R"), # 0x0C72 + ("", X, 1, "GL_PIXEL_MAP_I_TO_G"), # 0x0C73 + ("", X, 1, "GL_PIXEL_MAP_I_TO_B"), # 0x0C74 + ("", X, 1, "GL_PIXEL_MAP_I_TO_A"), # 0x0C75 + ("", X, 1, "GL_PIXEL_MAP_R_TO_R"), # 0x0C76 + ("", X, 1, "GL_PIXEL_MAP_G_TO_G"), # 0x0C77 + ("", X, 1, "GL_PIXEL_MAP_B_TO_B"), # 0x0C78 + ("", X, 1, "GL_PIXEL_MAP_A_TO_A"), # 0x0C79 + ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_I_SIZE"), # 0x0CB0 + ("glGet", I, 1, "GL_PIXEL_MAP_S_TO_S_SIZE"), # 0x0CB1 + ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_R_SIZE"), # 0x0CB2 + ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_G_SIZE"), # 0x0CB3 + ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_B_SIZE"), # 0x0CB4 + ("glGet", I, 1, "GL_PIXEL_MAP_I_TO_A_SIZE"), # 0x0CB5 + ("glGet", I, 1, "GL_PIXEL_MAP_R_TO_R_SIZE"), # 0x0CB6 + ("glGet", I, 1, "GL_PIXEL_MAP_G_TO_G_SIZE"), # 0x0CB7 + ("glGet", I, 1, "GL_PIXEL_MAP_B_TO_B_SIZE"), # 0x0CB8 + ("glGet", I, 1, "GL_PIXEL_MAP_A_TO_A_SIZE"), # 0x0CB9 + ("glGet", B, 1, "GL_UNPACK_SWAP_BYTES"), # 0x0CF0 + ("glGet", B, 1, "GL_UNPACK_LSB_FIRST"), # 0x0CF1 + ("glGet", I, 1, "GL_UNPACK_ROW_LENGTH"), # 0x0CF2 + ("glGet", I, 1, "GL_UNPACK_SKIP_ROWS"), # 0x0CF3 + ("glGet", I, 1, "GL_UNPACK_SKIP_PIXELS"), # 0x0CF4 + ("glGet", I, 1, "GL_UNPACK_ALIGNMENT"), # 0x0CF5 + ("glGet", B, 1, "GL_PACK_SWAP_BYTES"), # 0x0D00 + ("glGet", B, 1, "GL_PACK_LSB_FIRST"), # 0x0D01 + ("glGet", I, 1, "GL_PACK_ROW_LENGTH"), # 0x0D02 + ("glGet", I, 1, "GL_PACK_SKIP_ROWS"), # 0x0D03 + ("glGet", I, 1, "GL_PACK_SKIP_PIXELS"), # 0x0D04 + ("glGet", I, 1, "GL_PACK_ALIGNMENT"), # 0x0D05 + ("glGet", B, 1, "GL_MAP_COLOR"), # 0x0D10 + ("glGet", B, 1, "GL_MAP_STENCIL"), # 0x0D11 + ("glGet", I, 1, "GL_INDEX_SHIFT"), # 0x0D12 + ("glGet", I, 1, "GL_INDEX_OFFSET"), # 0x0D13 + ("glGet", F, 1, "GL_RED_SCALE"), # 0x0D14 + ("glGet", F, 1, "GL_RED_BIAS"), # 0x0D15 + ("glGet", F, 1, "GL_ZOOM_X"), # 0x0D16 + ("glGet", F, 1, "GL_ZOOM_Y"), # 0x0D17 + ("glGet", F, 1, "GL_GREEN_SCALE"), # 0x0D18 + ("glGet", F, 1, "GL_GREEN_BIAS"), # 0x0D19 + ("glGet", F, 1, "GL_BLUE_SCALE"), # 0x0D1A + ("glGet", F, 1, "GL_BLUE_BIAS"), # 0x0D1B + ("glGet,glGetTexEnv", F, 1, "GL_ALPHA_SCALE"), # 0x0D1C + ("glGet", F, 1, "GL_ALPHA_BIAS"), # 0x0D1D + ("glGet", F, 1, "GL_DEPTH_SCALE"), # 0x0D1E + ("glGet", F, 1, "GL_DEPTH_BIAS"), # 0x0D1F + ("glGet", I, 1, "GL_MAX_EVAL_ORDER"), # 0x0D30 + ("glGet", I, 1, "GL_MAX_LIGHTS"), # 0x0D31 + ("glGet", I, 1, "GL_MAX_CLIP_DISTANCES"), # 0x0D32 + ("glGet", I, 1, "GL_MAX_TEXTURE_SIZE"), # 0x0D33 + ("glGet", I, 1, "GL_MAX_PIXEL_MAP_TABLE"), # 0x0D34 + ("glGet", I, 1, "GL_MAX_ATTRIB_STACK_DEPTH"), # 0x0D35 + ("glGet", I, 1, "GL_MAX_MODELVIEW_STACK_DEPTH"), # 0x0D36 + ("glGet", I, 1, "GL_MAX_NAME_STACK_DEPTH"), # 0x0D37 + ("glGet", I, 1, "GL_MAX_PROJECTION_STACK_DEPTH"), # 0x0D38 + ("glGet", I, 1, "GL_MAX_TEXTURE_STACK_DEPTH"), # 0x0D39 + ("glGet", F, 2, "GL_MAX_VIEWPORT_DIMS"), # 0x0D3A + ("glGet", I, 1, "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"), # 0x0D3B + ("glGet", I, 1, "GL_SUBPIXEL_BITS"), # 0x0D50 + ("glGet", I, 1, "GL_INDEX_BITS"), # 0x0D51 + ("glGet", I, 1, "GL_RED_BITS"), # 0x0D52 + ("glGet", I, 1, "GL_GREEN_BITS"), # 0x0D53 + ("glGet", I, 1, "GL_BLUE_BITS"), # 0x0D54 + ("glGet", I, 1, "GL_ALPHA_BITS"), # 0x0D55 + ("glGet", I, 1, "GL_DEPTH_BITS"), # 0x0D56 + ("glGet", I, 1, "GL_STENCIL_BITS"), # 0x0D57 + ("glGet", I, 1, "GL_ACCUM_RED_BITS"), # 0x0D58 + ("glGet", I, 1, "GL_ACCUM_GREEN_BITS"), # 0x0D59 + ("glGet", I, 1, "GL_ACCUM_BLUE_BITS"), # 0x0D5A + ("glGet", I, 1, "GL_ACCUM_ALPHA_BITS"), # 0x0D5B + ("glGet", I, 1, "GL_NAME_STACK_DEPTH"), # 0x0D70 + ("glGet", B, 1, "GL_AUTO_NORMAL"), # 0x0D80 + ("glGet", B, 1, "GL_MAP1_COLOR_4"), # 0x0D90 + ("glGet", B, 1, "GL_MAP1_INDEX"), # 0x0D91 + ("glGet", B, 1, "GL_MAP1_NORMAL"), # 0x0D92 + ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_1"), # 0x0D93 + ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_2"), # 0x0D94 + ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_3"), # 0x0D95 + ("glGet", B, 1, "GL_MAP1_TEXTURE_COORD_4"), # 0x0D96 + ("glGet", B, 1, "GL_MAP1_VERTEX_3"), # 0x0D97 + ("glGet", B, 1, "GL_MAP1_VERTEX_4"), # 0x0D98 + ("glGet", B, 1, "GL_MAP2_COLOR_4"), # 0x0DB0 + ("glGet", B, 1, "GL_MAP2_INDEX"), # 0x0DB1 + ("glGet", B, 1, "GL_MAP2_NORMAL"), # 0x0DB2 + ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_1"), # 0x0DB3 + ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_2"), # 0x0DB4 + ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_3"), # 0x0DB5 + ("glGet", B, 1, "GL_MAP2_TEXTURE_COORD_4"), # 0x0DB6 + ("glGet", B, 1, "GL_MAP2_VERTEX_3"), # 0x0DB7 + ("glGet", B, 1, "GL_MAP2_VERTEX_4"), # 0x0DB8 + ("glGet", F, 2, "GL_MAP1_GRID_DOMAIN"), # 0x0DD0 + ("glGet", I, 1, "GL_MAP1_GRID_SEGMENTS"), # 0x0DD1 + ("glGet", F, 4, "GL_MAP2_GRID_DOMAIN"), # 0x0DD2 + ("glGet", I, 2, "GL_MAP2_GRID_SEGMENTS"), # 0x0DD3 + ("_glGet", B, 1, "GL_TEXTURE_1D"), # 0x0DE0 + ("_glGet", B, 1, "GL_TEXTURE_2D"), # 0x0DE1 + ("glGet", P, 1, "GL_FEEDBACK_BUFFER_POINTER"), # 0x0DF0 + ("glGet", I, 1, "GL_FEEDBACK_BUFFER_SIZE"), # 0x0DF1 + ("glGet", E, 1, "GL_FEEDBACK_BUFFER_TYPE"), # 0x0DF2 + ("glGet", P, 1, "GL_SELECTION_BUFFER_POINTER"), # 0x0DF3 + ("glGet", I, 1, "GL_SELECTION_BUFFER_SIZE"), # 0x0DF4 + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_WIDTH"), # 0x1000 + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_HEIGHT"), # 0x1001 + ("glGetTexLevelParameter", E, 1, "GL_TEXTURE_INTERNAL_FORMAT"), # 0x1003 + ("glGetTexParameter", F, 4, "GL_TEXTURE_BORDER_COLOR"), # 0x1004 + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_BORDER"), # 0x1005 + ("", X, 1, "GL_DONT_CARE"), # 0x1100 + ("", X, 1, "GL_FASTEST"), # 0x1101 + ("", X, 1, "GL_NICEST"), # 0x1102 + ("glGetLight,glGetMaterial", F, 4, "GL_AMBIENT"), # 0x1200 + ("glGetLight,glGetMaterial", F, 4, "GL_DIFFUSE"), # 0x1201 + ("glGetLight,glGetMaterial", F, 4, "GL_SPECULAR"), # 0x1202 + ("glGetLight", F, 4, "GL_POSITION"), # 0x1203 + ("glGetLight", F, 3, "GL_SPOT_DIRECTION"), # 0x1204 + ("glGetLight", F, 1, "GL_SPOT_EXPONENT"), # 0x1205 + ("glGetLight", F, 1, "GL_SPOT_CUTOFF"), # 0x1206 + ("glGetLight", F, 1, "GL_CONSTANT_ATTENUATION"), # 0x1207 + ("glGetLight", F, 1, "GL_LINEAR_ATTENUATION"), # 0x1208 + ("glGetLight", F, 1, "GL_QUADRATIC_ATTENUATION"), # 0x1209 + ("", X, 1, "GL_COMPILE"), # 0x1300 + ("", X, 1, "GL_COMPILE_AND_EXECUTE"), # 0x1301 + ("", X, 1, "GL_BYTE"), # 0x1400 + ("", X, 1, "GL_UNSIGNED_BYTE"), # 0x1401 + ("", X, 1, "GL_SHORT"), # 0x1402 + ("", X, 1, "GL_UNSIGNED_SHORT"), # 0x1403 + ("", X, 1, "GL_INT"), # 0x1404 + ("", X, 1, "GL_UNSIGNED_INT"), # 0x1405 + ("", X, 1, "GL_FLOAT"), # 0x1406 + ("", X, 1, "GL_2_BYTES"), # 0x1407 + ("", X, 1, "GL_3_BYTES"), # 0x1408 + ("", X, 1, "GL_4_BYTES"), # 0x1409 + ("", X, 1, "GL_DOUBLE"), # 0x140A + ("", X, 1, "GL_HALF_FLOAT"), # 0x140B + ("", X, 1, "GL_FIXED"), # 0x140C + ("", X, 1, "GL_INT64_NV"), # 0x140E + ("", X, 1, "GL_UNSIGNED_INT64_NV"), # 0x140F + ("", X, 1, "GL_CLEAR"), # 0x1500 + ("", X, 1, "GL_AND"), # 0x1501 + ("", X, 1, "GL_AND_REVERSE"), # 0x1502 + ("", X, 1, "GL_COPY"), # 0x1503 + ("", X, 1, "GL_AND_INVERTED"), # 0x1504 + ("", X, 1, "GL_NOOP"), # 0x1505 + ("", X, 1, "GL_XOR"), # 0x1506 + ("", X, 1, "GL_OR"), # 0x1507 + ("", X, 1, "GL_NOR"), # 0x1508 + ("", X, 1, "GL_EQUIV"), # 0x1509 + ("", X, 1, "GL_INVERT"), # 0x150A + ("", X, 1, "GL_OR_REVERSE"), # 0x150B + ("", X, 1, "GL_COPY_INVERTED"), # 0x150C + ("", X, 1, "GL_OR_INVERTED"), # 0x150D + ("", X, 1, "GL_NAND"), # 0x150E + ("", X, 1, "GL_SET"), # 0x150F + ("glGetMaterial", F, 4, "GL_EMISSION"), # 0x1600 + ("glGetMaterial", F, 1, "GL_SHININESS"), # 0x1601 + ("", F, 4, "GL_AMBIENT_AND_DIFFUSE"), # 0x1602 + ("glGetMaterial", F, 3, "GL_COLOR_INDEXES"), # 0x1603 + ("", X, 1, "GL_MODELVIEW"), # 0x1700 + ("", X, 1, "GL_PROJECTION"), # 0x1701 + ("", X, 1, "GL_TEXTURE"), # 0x1702 + ("", X, 1, "GL_COLOR"), # 0x1800 + ("", X, 1, "GL_DEPTH"), # 0x1801 + ("", X, 1, "GL_STENCIL"), # 0x1802 + ("", X, 1, "GL_COLOR_INDEX"), # 0x1900 + ("", X, 1, "GL_STENCIL_INDEX"), # 0x1901 + ("", X, 1, "GL_DEPTH_COMPONENT"), # 0x1902 + ("", X, 1, "GL_RED"), # 0x1903 + ("", X, 1, "GL_GREEN"), # 0x1904 + ("", X, 1, "GL_BLUE"), # 0x1905 + ("", X, 1, "GL_ALPHA"), # 0x1906 + ("", X, 1, "GL_RGB"), # 0x1907 + ("", X, 1, "GL_RGBA"), # 0x1908 + ("", X, 1, "GL_LUMINANCE"), # 0x1909 + ("", X, 1, "GL_LUMINANCE_ALPHA"), # 0x190A + ("_glGet", B, 1, "GL_RASTER_POSITION_UNCLIPPED_IBM"), # 0x19262 + ("", X, 1, "GL_BITMAP"), # 0x1A00 + ("", X, 1, "GL_PREFER_DOUBLEBUFFER_HINT_PGI"), # 0x1A1F8 + ("", X, 1, "GL_CONSERVE_MEMORY_HINT_PGI"), # 0x1A1FD + ("", X, 1, "GL_RECLAIM_MEMORY_HINT_PGI"), # 0x1A1FE + ("", X, 1, "GL_NATIVE_GRAPHICS_HANDLE_PGI"), # 0x1A202 + ("", X, 1, "GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"), # 0x1A203 + ("", X, 1, "GL_NATIVE_GRAPHICS_END_HINT_PGI"), # 0x1A204 + ("", X, 1, "GL_ALWAYS_FAST_HINT_PGI"), # 0x1A20C + ("", X, 1, "GL_ALWAYS_SOFT_HINT_PGI"), # 0x1A20D + ("", X, 1, "GL_ALLOW_DRAW_OBJ_HINT_PGI"), # 0x1A20E + ("", X, 1, "GL_ALLOW_DRAW_WIN_HINT_PGI"), # 0x1A20F + ("", X, 1, "GL_ALLOW_DRAW_FRG_HINT_PGI"), # 0x1A210 + ("", X, 1, "GL_ALLOW_DRAW_MEM_HINT_PGI"), # 0x1A211 + ("", X, 1, "GL_STRICT_DEPTHFUNC_HINT_PGI"), # 0x1A216 + ("", X, 1, "GL_STRICT_LIGHTING_HINT_PGI"), # 0x1A217 + ("", X, 1, "GL_STRICT_SCISSOR_HINT_PGI"), # 0x1A218 + ("", X, 1, "GL_FULL_STIPPLE_HINT_PGI"), # 0x1A219 + ("", X, 1, "GL_CLIP_NEAR_HINT_PGI"), # 0x1A220 + ("", X, 1, "GL_CLIP_FAR_HINT_PGI"), # 0x1A221 + ("", X, 1, "GL_WIDE_LINE_HINT_PGI"), # 0x1A222 + ("", X, 1, "GL_BACK_NORMALS_HINT_PGI"), # 0x1A223 + ("", X, 1, "GL_VERTEX_DATA_HINT_PGI"), # 0x1A22A + ("", X, 1, "GL_VERTEX_CONSISTENT_HINT_PGI"), # 0x1A22B + ("", X, 1, "GL_MATERIAL_SIDE_HINT_PGI"), # 0x1A22C + ("", X, 1, "GL_MAX_VERTEX_HINT_PGI"), # 0x1A22D + ("", X, 1, "GL_POINT"), # 0x1B00 + ("", X, 1, "GL_LINE"), # 0x1B01 + ("", X, 1, "GL_FILL"), # 0x1B02 + ("", X, 1, "GL_RENDER"), # 0x1C00 + ("", X, 1, "GL_FEEDBACK"), # 0x1C01 + ("", X, 1, "GL_SELECT"), # 0x1C02 + ("", X, 1, "GL_FLAT"), # 0x1D00 + ("", X, 1, "GL_SMOOTH"), # 0x1D01 + ("", X, 1, "GL_KEEP"), # 0x1E00 + ("", X, 1, "GL_REPLACE"), # 0x1E01 + ("", X, 1, "GL_INCR"), # 0x1E02 + ("", X, 1, "GL_DECR"), # 0x1E03 + ("glGet", S, 1, "GL_VENDOR"), # 0x1F00 + ("glGet", S, 1, "GL_RENDERER"), # 0x1F01 + ("glGet", S, 1, "GL_VERSION"), # 0x1F02 + ("glGet", S, 1, "GL_EXTENSIONS"), # 0x1F03 + ("", X, 1, "GL_S"), # 0x2000 + ("", X, 1, "GL_T"), # 0x2001 + ("", X, 1, "GL_R"), # 0x2002 + ("", X, 1, "GL_Q"), # 0x2003 + ("", X, 1, "GL_MODULATE"), # 0x2100 + ("", X, 1, "GL_DECAL"), # 0x2101 + ("glGetTexEnv", E, 1, "GL_TEXTURE_ENV_MODE"), # 0x2200 + ("glGetTexEnv", F, 4, "GL_TEXTURE_ENV_COLOR"), # 0x2201 + ("_glGet", X, 1, "GL_TEXTURE_ENV"), # 0x2300 + ("", X, 1, "GL_EYE_LINEAR"), # 0x2400 + ("", X, 1, "GL_OBJECT_LINEAR"), # 0x2401 + ("", X, 1, "GL_SPHERE_MAP"), # 0x2402 + ("glGetTexGen", E, 1, "GL_TEXTURE_GEN_MODE"), # 0x2500 + ("glGetTexGen", F, 4, "GL_OBJECT_PLANE"), # 0x2501 + ("glGetTexGen", F, 4, "GL_EYE_PLANE"), # 0x2502 + ("", X, 1, "GL_NEAREST"), # 0x2600 + ("", X, 1, "GL_LINEAR"), # 0x2601 + ("", X, 1, "GL_NEAREST_MIPMAP_NEAREST"), # 0x2700 + ("", X, 1, "GL_LINEAR_MIPMAP_NEAREST"), # 0x2701 + ("", X, 1, "GL_NEAREST_MIPMAP_LINEAR"), # 0x2702 + ("", X, 1, "GL_LINEAR_MIPMAP_LINEAR"), # 0x2703 + ("glGetTexParameter", E, 1, "GL_TEXTURE_MAG_FILTER"), # 0x2800 + ("glGetTexParameter", E, 1, "GL_TEXTURE_MIN_FILTER"), # 0x2801 + ("glGetTexParameter", E, 1, "GL_TEXTURE_WRAP_S"), # 0x2802 + ("glGetTexParameter", E, 1, "GL_TEXTURE_WRAP_T"), # 0x2803 + ("", X, 1, "GL_CLAMP"), # 0x2900 + ("", X, 1, "GL_REPEAT"), # 0x2901 + ("glGet", F, 1, "GL_POLYGON_OFFSET_UNITS"), # 0x2A00 + ("glGet", B, 1, "GL_POLYGON_OFFSET_POINT"), # 0x2A01 + ("glGet", B, 1, "GL_POLYGON_OFFSET_LINE"), # 0x2A02 + ("", X, 1, "GL_R3_G3_B2"), # 0x2A10 + ("", X, 1, "GL_V2F"), # 0x2A20 + ("", X, 1, "GL_V3F"), # 0x2A21 + ("", X, 1, "GL_C4UB_V2F"), # 0x2A22 + ("", X, 1, "GL_C4UB_V3F"), # 0x2A23 + ("", X, 1, "GL_C3F_V3F"), # 0x2A24 + ("", X, 1, "GL_N3F_V3F"), # 0x2A25 + ("", X, 1, "GL_C4F_N3F_V3F"), # 0x2A26 + ("", X, 1, "GL_T2F_V3F"), # 0x2A27 + ("", X, 1, "GL_T4F_V4F"), # 0x2A28 + ("", X, 1, "GL_T2F_C4UB_V3F"), # 0x2A29 + ("", X, 1, "GL_T2F_C3F_V3F"), # 0x2A2A + ("", X, 1, "GL_T2F_N3F_V3F"), # 0x2A2B + ("", X, 1, "GL_T2F_C4F_N3F_V3F"), # 0x2A2C + ("", X, 1, "GL_T4F_C4F_N3F_V4F"), # 0x2A2D + ("glGet", B, 1, "GL_CLIP_DISTANCE0"), # 0x3000 + ("glGet", B, 1, "GL_CLIP_DISTANCE1"), # 0x3001 + ("glGet", B, 1, "GL_CLIP_DISTANCE2"), # 0x3002 + ("glGet", B, 1, "GL_CLIP_DISTANCE3"), # 0x3003 + ("glGet", B, 1, "GL_CLIP_DISTANCE4"), # 0x3004 + ("glGet", B, 1, "GL_CLIP_DISTANCE5"), # 0x3005 + ("glGet", B, 1, "GL_CLIP_DISTANCE6"), # 0x3006 + ("glGet", B, 1, "GL_CLIP_DISTANCE7"), # 0x3007 + ("_glGet", B, 1, "GL_LIGHT0"), # 0x4000 + ("_glGet", B, 1, "GL_LIGHT1"), # 0x4001 + ("_glGet", B, 1, "GL_LIGHT2"), # 0x4002 + ("_glGet", B, 1, "GL_LIGHT3"), # 0x4003 + ("_glGet", B, 1, "GL_LIGHT4"), # 0x4004 + ("_glGet", B, 1, "GL_LIGHT5"), # 0x4005 + ("_glGet", B, 1, "GL_LIGHT6"), # 0x4006 + ("_glGet", B, 1, "GL_LIGHT7"), # 0x4007 + ("", X, 1, "GL_ABGR_EXT"), # 0x8000 + ("", X, 1, "GL_CONSTANT_COLOR"), # 0x8001 + ("", X, 1, "GL_ONE_MINUS_CONSTANT_COLOR"), # 0x8002 + ("", X, 1, "GL_CONSTANT_ALPHA"), # 0x8003 + ("", X, 1, "GL_ONE_MINUS_CONSTANT_ALPHA"), # 0x8004 + ("glGet", F, 4, "GL_BLEND_COLOR"), # 0x8005 + ("", X, 1, "GL_FUNC_ADD"), # 0x8006 + ("", X, 1, "GL_MIN"), # 0x8007 + ("", X, 1, "GL_MAX"), # 0x8008 + ("glGet", E, 1, "GL_BLEND_EQUATION"), # 0x8009 + ("", X, 1, "GL_FUNC_SUBTRACT"), # 0x800A + ("", X, 1, "GL_FUNC_REVERSE_SUBTRACT"), # 0x800B + ("", X, 1, "GL_CMYK_EXT"), # 0x800C + ("", X, 1, "GL_CMYKA_EXT"), # 0x800D + ("glGet", I, 1, "GL_PACK_CMYK_HINT_EXT"), # 0x800E + ("glGet", I, 1, "GL_UNPACK_CMYK_HINT_EXT"), # 0x800F + ("glGet", B, 1, "GL_CONVOLUTION_1D"), # 0x8010 + ("glGet", B, 1, "GL_CONVOLUTION_2D"), # 0x8011 + ("glGet", B, 1, "GL_SEPARABLE_2D"), # 0x8012 + ("glGetConvolutionParameter", E, 1, "GL_CONVOLUTION_BORDER_MODE"), # 0x8013 + ("glGetConvolutionParameter", F, 4, "GL_CONVOLUTION_FILTER_SCALE"), # 0x8014 + ("glGetConvolutionParameter", F, 4, "GL_CONVOLUTION_FILTER_BIAS"), # 0x8015 + ("", X, 1, "GL_REDUCE"), # 0x8016 + ("glGetConvolutionParameter", E, 1, "GL_CONVOLUTION_FORMAT"), # 0x8017 + ("glGetConvolutionParameter", I, 1, "GL_CONVOLUTION_WIDTH"), # 0x8018 + ("glGetConvolutionParameter", I, 1, "GL_CONVOLUTION_HEIGHT"), # 0x8019 + ("glGetConvolutionParameter", I, 1, "GL_MAX_CONVOLUTION_WIDTH"), # 0x801A + ("glGetConvolutionParameter", I, 1, "GL_MAX_CONVOLUTION_HEIGHT"), # 0x801B + ("glGet", F, 1, "GL_POST_CONVOLUTION_RED_SCALE"), # 0x801C + ("glGet", F, 1, "GL_POST_CONVOLUTION_GREEN_SCALE"), # 0x801D + ("glGet", F, 1, "GL_POST_CONVOLUTION_BLUE_SCALE"), # 0x801E + ("glGet", F, 1, "GL_POST_CONVOLUTION_ALPHA_SCALE"), # 0x801F + ("glGet", F, 1, "GL_POST_CONVOLUTION_RED_BIAS"), # 0x8020 + ("glGet", F, 1, "GL_POST_CONVOLUTION_GREEN_BIAS"), # 0x8021 + ("glGet", F, 1, "GL_POST_CONVOLUTION_BLUE_BIAS"), # 0x8022 + ("glGet", F, 1, "GL_POST_CONVOLUTION_ALPHA_BIAS"), # 0x8023 + ("glGet", B, 1, "GL_HISTOGRAM"), # 0x8024 + ("", X, 1, "GL_PROXY_HISTOGRAM"), # 0x8025 + ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_WIDTH"), # 0x8026 + ("glGetHistogramParameter", E, 1, "GL_HISTOGRAM_FORMAT"), # 0x8027 + ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_RED_SIZE"), # 0x8028 + ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_GREEN_SIZE"), # 0x8029 + ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_BLUE_SIZE"), # 0x802A + ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_ALPHA_SIZE"), # 0x802B + ("glGetHistogramParameter", I, 1, "GL_HISTOGRAM_LUMINANCE_SIZE"), # 0x802C + ("glGetHistogramParameter", B, 1, "GL_HISTOGRAM_SINK"), # 0x802D + ("glGet", B, 1, "GL_MINMAX"), # 0x802E + ("glGetMinMaxParameter", E, 1, "GL_MINMAX_FORMAT"), # 0x802F + ("glGetMinMaxParameter", B, 1, "GL_MINMAX_SINK"), # 0x8030 + ("", X, 1, "GL_TABLE_TOO_LARGE"), # 0x8031 + ("", X, 1, "GL_UNSIGNED_BYTE_3_3_2"), # 0x8032 + ("", X, 1, "GL_UNSIGNED_SHORT_4_4_4_4"), # 0x8033 + ("", X, 1, "GL_UNSIGNED_SHORT_5_5_5_1"), # 0x8034 + ("", X, 1, "GL_UNSIGNED_INT_8_8_8_8"), # 0x8035 + ("", X, 1, "GL_UNSIGNED_INT_10_10_10_2"), # 0x8036 + ("glGet", B, 1, "GL_POLYGON_OFFSET_FILL"), # 0x8037 + ("glGet", F, 1, "GL_POLYGON_OFFSET_FACTOR"), # 0x8038 + ("glGet", F, 1, "GL_POLYGON_OFFSET_BIAS_EXT"), # 0x8039 + ("glGet", B, 1, "GL_RESCALE_NORMAL"), # 0x803A + ("", X, 1, "GL_ALPHA4"), # 0x803B + ("", X, 1, "GL_ALPHA8"), # 0x803C + ("", X, 1, "GL_ALPHA12"), # 0x803D + ("", X, 1, "GL_ALPHA16"), # 0x803E + ("", X, 1, "GL_LUMINANCE4"), # 0x803F + ("", X, 1, "GL_LUMINANCE8"), # 0x8040 + ("", X, 1, "GL_LUMINANCE12"), # 0x8041 + ("", X, 1, "GL_LUMINANCE16"), # 0x8042 + ("", X, 1, "GL_LUMINANCE4_ALPHA4"), # 0x8043 + ("", X, 1, "GL_LUMINANCE6_ALPHA2"), # 0x8044 + ("", X, 1, "GL_LUMINANCE8_ALPHA8"), # 0x8045 + ("", X, 1, "GL_LUMINANCE12_ALPHA4"), # 0x8046 + ("", X, 1, "GL_LUMINANCE12_ALPHA12"), # 0x8047 + ("", X, 1, "GL_LUMINANCE16_ALPHA16"), # 0x8048 + ("", X, 1, "GL_INTENSITY"), # 0x8049 + ("", X, 1, "GL_INTENSITY4"), # 0x804A + ("", X, 1, "GL_INTENSITY8"), # 0x804B + ("", X, 1, "GL_INTENSITY12"), # 0x804C + ("", X, 1, "GL_INTENSITY16"), # 0x804D + ("", X, 1, "GL_RGB2_EXT"), # 0x804E + ("", X, 1, "GL_RGB4"), # 0x804F + ("", X, 1, "GL_RGB5"), # 0x8050 + ("", X, 1, "GL_RGB8"), # 0x8051 + ("", X, 1, "GL_RGB10"), # 0x8052 + ("", X, 1, "GL_RGB12"), # 0x8053 + ("", X, 1, "GL_RGB16"), # 0x8054 + ("", X, 1, "GL_RGBA2"), # 0x8055 + ("", X, 1, "GL_RGBA4"), # 0x8056 + ("", X, 1, "GL_RGB5_A1"), # 0x8057 + ("", X, 1, "GL_RGBA8"), # 0x8058 + ("", X, 1, "GL_RGB10_A2"), # 0x8059 + ("", X, 1, "GL_RGBA12"), # 0x805A + ("", X, 1, "GL_RGBA16"), # 0x805B + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_RED_SIZE"), # 0x805C + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_GREEN_SIZE"), # 0x805D + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_BLUE_SIZE"), # 0x805E + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_ALPHA_SIZE"), # 0x805F + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_LUMINANCE_SIZE"), # 0x8060 + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_INTENSITY_SIZE"), # 0x8061 + ("", X, 1, "GL_REPLACE_EXT"), # 0x8062 + ("", X, 1, "GL_PROXY_TEXTURE_1D"), # 0x8063 + ("", X, 1, "GL_PROXY_TEXTURE_2D"), # 0x8064 + ("", X, 1, "GL_TEXTURE_TOO_LARGE_EXT"), # 0x8065 + ("glGetTexParameter", F, 1, "GL_TEXTURE_PRIORITY"), # 0x8066 + ("glGetTexParameter", B, 1, "GL_TEXTURE_RESIDENT"), # 0x8067 + ("_glGet", I, 1, "GL_TEXTURE_BINDING_1D"), # 0x8068 + ("_glGet", I, 1, "GL_TEXTURE_BINDING_2D"), # 0x8069 + ("_glGet", I, 1, "GL_TEXTURE_BINDING_3D"), # 0x806A + ("glGet", I, 1, "GL_PACK_SKIP_IMAGES"), # 0x806B + ("glGet", F, 1, "GL_PACK_IMAGE_HEIGHT"), # 0x806C + ("glGet", I, 1, "GL_UNPACK_SKIP_IMAGES"), # 0x806D + ("glGet", F, 1, "GL_UNPACK_IMAGE_HEIGHT"), # 0x806E + ("glGet", B, 1, "GL_TEXTURE_3D"), # 0x806F + ("", X, 1, "GL_PROXY_TEXTURE_3D"), # 0x8070 + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_DEPTH"), # 0x8071 + ("glGetTexParameter", E, 1, "GL_TEXTURE_WRAP_R"), # 0x8072 + ("glGet", I, 1, "GL_MAX_3D_TEXTURE_SIZE"), # 0x8073 + ("glGet", B, 1, "GL_VERTEX_ARRAY"), # 0x8074 + ("glGet", B, 1, "GL_NORMAL_ARRAY"), # 0x8075 + ("glGet", B, 1, "GL_COLOR_ARRAY"), # 0x8076 + ("glGet", B, 1, "GL_INDEX_ARRAY"), # 0x8077 + ("glGet", B, 1, "GL_TEXTURE_COORD_ARRAY"), # 0x8078 + ("glGet", B, 1, "GL_EDGE_FLAG_ARRAY"), # 0x8079 + ("glGet", I, 1, "GL_VERTEX_ARRAY_SIZE"), # 0x807A + ("glGet", E, 1, "GL_VERTEX_ARRAY_TYPE"), # 0x807B + ("glGet", I, 1, "GL_VERTEX_ARRAY_STRIDE"), # 0x807C + ("glGet", I, 1, "GL_VERTEX_ARRAY_COUNT_EXT"), # 0x807D + ("glGet", E, 1, "GL_NORMAL_ARRAY_TYPE"), # 0x807E + ("glGet", I, 1, "GL_NORMAL_ARRAY_STRIDE"), # 0x807F + ("glGet", I, 1, "GL_NORMAL_ARRAY_COUNT_EXT"), # 0x8080 + ("glGet", I, 1, "GL_COLOR_ARRAY_SIZE"), # 0x8081 + ("glGet", E, 1, "GL_COLOR_ARRAY_TYPE"), # 0x8082 + ("glGet", I, 1, "GL_COLOR_ARRAY_STRIDE"), # 0x8083 + ("glGet", I, 1, "GL_COLOR_ARRAY_COUNT_EXT"), # 0x8084 + ("glGet", E, 1, "GL_INDEX_ARRAY_TYPE"), # 0x8085 + ("glGet", I, 1, "GL_INDEX_ARRAY_STRIDE"), # 0x8086 + ("glGet", I, 1, "GL_INDEX_ARRAY_COUNT_EXT"), # 0x8087 + ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_SIZE"), # 0x8088 + ("glGet", E, 1, "GL_TEXTURE_COORD_ARRAY_TYPE"), # 0x8089 + ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_STRIDE"), # 0x808A + ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_COUNT_EXT"), # 0x808B + ("glGet", I, 1, "GL_EDGE_FLAG_ARRAY_STRIDE"), # 0x808C + ("glGet", I, 1, "GL_EDGE_FLAG_ARRAY_COUNT_EXT"), # 0x808D + ("glGet", P, 1, "GL_VERTEX_ARRAY_POINTER"), # 0x808E + ("glGet", P, 1, "GL_NORMAL_ARRAY_POINTER"), # 0x808F + ("glGet", P, 1, "GL_COLOR_ARRAY_POINTER"), # 0x8090 + ("glGet", P, 1, "GL_INDEX_ARRAY_POINTER"), # 0x8091 + ("glGet", P, 1, "GL_TEXTURE_COORD_ARRAY_POINTER"), # 0x8092 + ("glGet", P, 1, "GL_EDGE_FLAG_ARRAY_POINTER"), # 0x8093 + ("glGet", I, 1, "GL_INTERLACE_SGIX"), # 0x8094 + ("", X, 1, "GL_DETAIL_TEXTURE_2D_SGIS"), # 0x8095 + ("glGet", I, 1, "GL_DETAIL_TEXTURE_2D_BINDING_SGIS"), # 0x8096 + ("", X, 1, "GL_LINEAR_DETAIL_SGIS"), # 0x8097 + ("", X, 1, "GL_LINEAR_DETAIL_ALPHA_SGIS"), # 0x8098 + ("", X, 1, "GL_LINEAR_DETAIL_COLOR_SGIS"), # 0x8099 + ("", X, 1, "GL_DETAIL_TEXTURE_LEVEL_SGIS"), # 0x809A + ("", X, 1, "GL_DETAIL_TEXTURE_MODE_SGIS"), # 0x809B + ("", X, 1, "GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"), # 0x809C + ("glGet", I, 1, "GL_MULTISAMPLE"), # 0x809D + ("glGet", I, 1, "GL_SAMPLE_ALPHA_TO_COVERAGE"), # 0x809E + ("glGet", I, 1, "GL_SAMPLE_ALPHA_TO_ONE"), # 0x809F + ("glGet", I, 1, "GL_SAMPLE_COVERAGE"), # 0x80A0 + ("", X, 1, "GL_1PASS_EXT"), # 0x80A1 + ("", X, 1, "GL_2PASS_0_EXT"), # 0x80A2 + ("", X, 1, "GL_2PASS_1_EXT"), # 0x80A3 + ("", X, 1, "GL_4PASS_0_EXT"), # 0x80A4 + ("", X, 1, "GL_4PASS_1_EXT"), # 0x80A5 + ("", X, 1, "GL_4PASS_2_EXT"), # 0x80A6 + ("", X, 1, "GL_4PASS_3_EXT"), # 0x80A7 + ("glGet", I, 1, "GL_SAMPLE_BUFFERS"), # 0x80A8 + ("glGet", I, 1, "GL_SAMPLES"), # 0x80A9 + ("glGet", F, 1, "GL_SAMPLE_COVERAGE_VALUE"), # 0x80AA + ("glGet", I, 1, "GL_SAMPLE_COVERAGE_INVERT"), # 0x80AB + ("glGet", I, 1, "GL_SAMPLE_PATTERN_EXT"), # 0x80AC + ("", X, 1, "GL_LINEAR_SHARPEN_SGIS"), # 0x80AD + ("", X, 1, "GL_LINEAR_SHARPEN_ALPHA_SGIS"), # 0x80AE + ("", X, 1, "GL_LINEAR_SHARPEN_COLOR_SGIS"), # 0x80AF + ("", X, 1, "GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"), # 0x80B0 + ("glGet", F, 16, "GL_COLOR_MATRIX"), # 0x80B1 + ("glGet", I, 1, "GL_COLOR_MATRIX_STACK_DEPTH"), # 0x80B2 + ("glGet", I, 1, "GL_MAX_COLOR_MATRIX_STACK_DEPTH"), # 0x80B3 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_RED_SCALE"), # 0x80B4 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_GREEN_SCALE"), # 0x80B5 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_BLUE_SCALE"), # 0x80B6 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_ALPHA_SCALE"), # 0x80B7 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_RED_BIAS"), # 0x80B8 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_GREEN_BIAS"), # 0x80B9 + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_BLUE_BIAS"), # 0x80BA + ("glGet", F, 1, "GL_POST_COLOR_MATRIX_ALPHA_BIAS"), # 0x80BB + ("glGet", I, 1, "GL_TEXTURE_COLOR_TABLE_SGI"), # 0x80BC + ("", X, 1, "GL_PROXY_TEXTURE_COLOR_TABLE_SGI"), # 0x80BD + ("", X, 1, "GL_TEXTURE_ENV_BIAS_SGIX"), # 0x80BE + ("glGetTexParameter", F, 1, "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"), # 0x80BF + ("glGet", E, 1, "GL_BLEND_DST_RGB"), # 0x80C8 + ("glGet", E, 1, "GL_BLEND_SRC_RGB"), # 0x80C9 + ("glGet", E, 1, "GL_BLEND_DST_ALPHA"), # 0x80CA + ("glGet", E, 1, "GL_BLEND_SRC_ALPHA"), # 0x80CB + ("", X, 1, "GL_422_EXT"), # 0x80CC + ("", X, 1, "GL_422_REV_EXT"), # 0x80CD + ("", X, 1, "GL_422_AVERAGE_EXT"), # 0x80CE + ("", X, 1, "GL_422_REV_AVERAGE_EXT"), # 0x80CF + ("glGet", B, 1, "GL_COLOR_TABLE"), # 0x80D0 + ("glGet", I, 1, "GL_POST_CONVOLUTION_COLOR_TABLE"), # 0x80D1 + ("glGet", I, 1, "GL_POST_COLOR_MATRIX_COLOR_TABLE"), # 0x80D2 + ("", X, 1, "GL_PROXY_COLOR_TABLE"), # 0x80D3 + ("", X, 1, "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"), # 0x80D4 + ("", X, 1, "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"), # 0x80D5 + ("glGetColorTableParameter", F, 4, "GL_COLOR_TABLE_SCALE"), # 0x80D6 + ("glGetColorTableParameter", F, 4, "GL_COLOR_TABLE_BIAS"), # 0x80D7 + ("glGetColorTableParameter", E, 1, "GL_COLOR_TABLE_FORMAT"), # 0x80D8 + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_WIDTH"), # 0x80D9 + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_RED_SIZE"), # 0x80DA + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_GREEN_SIZE"), # 0x80DB + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_BLUE_SIZE"), # 0x80DC + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_ALPHA_SIZE"), # 0x80DD + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_LUMINANCE_SIZE"), # 0x80DE + ("glGetColorTableParameter", I, 1, "GL_COLOR_TABLE_INTENSITY_SIZE"), # 0x80DF + ("", X, 1, "GL_BGR"), # 0x80E0 + ("", X, 1, "GL_BGRA"), # 0x80E1 + ("", X, 1, "GL_COLOR_INDEX1_EXT"), # 0x80E2 + ("", X, 1, "GL_COLOR_INDEX2_EXT"), # 0x80E3 + ("", X, 1, "GL_COLOR_INDEX4_EXT"), # 0x80E4 + ("", X, 1, "GL_COLOR_INDEX8_EXT"), # 0x80E5 + ("", X, 1, "GL_COLOR_INDEX12_EXT"), # 0x80E6 + ("", X, 1, "GL_COLOR_INDEX16_EXT"), # 0x80E7 + ("glGet", I, 1, "GL_MAX_ELEMENTS_VERTICES"), # 0x80E8 + ("glGet", I, 1, "GL_MAX_ELEMENTS_INDICES"), # 0x80E9 + ("", X, 1, "GL_PHONG_WIN"), # 0x80EA + ("", X, 1, "GL_PHONG_HINT_WIN"), # 0x80EB + ("", X, 1, "GL_FOG_SPECULAR_TEXTURE_WIN"), # 0x80EC + ("", X, 1, "GL_TEXTURE_INDEX_SIZE_EXT"), # 0x80ED + ("glGet", E, 1, "GL_CLIP_VOLUME_CLIPPING_HINT_EXT"), # 0x80F0 + ("", X, 1, "GL_DUAL_ALPHA4_SGIS"), # 0x8110 + ("", X, 1, "GL_DUAL_ALPHA8_SGIS"), # 0x8111 + ("", X, 1, "GL_DUAL_ALPHA12_SGIS"), # 0x8112 + ("", X, 1, "GL_DUAL_ALPHA16_SGIS"), # 0x8113 + ("", X, 1, "GL_DUAL_LUMINANCE4_SGIS"), # 0x8114 + ("", X, 1, "GL_DUAL_LUMINANCE8_SGIS"), # 0x8115 + ("", X, 1, "GL_DUAL_LUMINANCE12_SGIS"), # 0x8116 + ("", X, 1, "GL_DUAL_LUMINANCE16_SGIS"), # 0x8117 + ("", X, 1, "GL_DUAL_INTENSITY4_SGIS"), # 0x8118 + ("", X, 1, "GL_DUAL_INTENSITY8_SGIS"), # 0x8119 + ("", X, 1, "GL_DUAL_INTENSITY12_SGIS"), # 0x811A + ("", X, 1, "GL_DUAL_INTENSITY16_SGIS"), # 0x811B + ("", X, 1, "GL_DUAL_LUMINANCE_ALPHA4_SGIS"), # 0x811C + ("", X, 1, "GL_DUAL_LUMINANCE_ALPHA8_SGIS"), # 0x811D + ("", X, 1, "GL_QUAD_ALPHA4_SGIS"), # 0x811E + ("", X, 1, "GL_QUAD_ALPHA8_SGIS"), # 0x811F + ("", X, 1, "GL_QUAD_LUMINANCE4_SGIS"), # 0x8120 + ("", X, 1, "GL_QUAD_LUMINANCE8_SGIS"), # 0x8121 + ("", X, 1, "GL_QUAD_INTENSITY4_SGIS"), # 0x8122 + ("", X, 1, "GL_QUAD_INTENSITY8_SGIS"), # 0x8123 + ("", X, 1, "GL_DUAL_TEXTURE_SELECT_SGIS"), # 0x8124 + ("", X, 1, "GL_QUAD_TEXTURE_SELECT_SGIS"), # 0x8125 + ("glGet", F, 1, "GL_POINT_SIZE_MIN"), # 0x8126 + ("glGet", F, 1, "GL_POINT_SIZE_MAX"), # 0x8127 + ("glGet", F, 1, "GL_POINT_FADE_THRESHOLD_SIZE"), # 0x8128 + ("glGet", F, 3, "GL_POINT_DISTANCE_ATTENUATION"), # 0x8129 + ("", X, 1, "GL_FOG_FUNC_SGIS"), # 0x812A + ("glGet", I, 1, "GL_FOG_FUNC_POINTS_SGIS"), # 0x812B + ("glGet", I, 1, "GL_MAX_FOG_FUNC_POINTS_SGIS"), # 0x812C + ("", X, 1, "GL_CLAMP_TO_BORDER"), # 0x812D + ("", X, 1, "GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"), # 0x812E + ("", X, 1, "GL_CLAMP_TO_EDGE"), # 0x812F + ("glGet", I, 1, "GL_PACK_SKIP_VOLUMES_SGIS"), # 0x8130 + ("glGet", I, 1, "GL_PACK_IMAGE_DEPTH_SGIS"), # 0x8131 + ("glGet", I, 1, "GL_UNPACK_SKIP_VOLUMES_SGIS"), # 0x8132 + ("glGet", I, 1, "GL_UNPACK_IMAGE_DEPTH_SGIS"), # 0x8133 + ("glGet", I, 1, "GL_TEXTURE_4D_SGIS"), # 0x8134 + ("", X, 1, "GL_PROXY_TEXTURE_4D_SGIS"), # 0x8135 + ("", X, 1, "GL_TEXTURE_4DSIZE_SGIS"), # 0x8136 + ("", X, 1, "GL_TEXTURE_WRAP_Q_SGIS"), # 0x8137 + ("glGet", I, 1, "GL_MAX_4D_TEXTURE_SIZE_SGIS"), # 0x8138 + ("glGet", I, 1, "GL_PIXEL_TEX_GEN_SGIX"), # 0x8139 + ("glGetTexParameter", F, 1, "GL_TEXTURE_MIN_LOD"), # 0x813A + ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_LOD"), # 0x813B + ("glGetTexParameter", F, 1, "GL_TEXTURE_BASE_LEVEL"), # 0x813C + ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_LEVEL"), # 0x813D + ("glGet", I, 1, "GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX"), # 0x813E + ("glGet", I, 1, "GL_PIXEL_TILE_CACHE_INCREMENT_SGIX"), # 0x813F + ("glGet", I, 1, "GL_PIXEL_TILE_WIDTH_SGIX"), # 0x8140 + ("glGet", I, 1, "GL_PIXEL_TILE_HEIGHT_SGIX"), # 0x8141 + ("glGet", I, 1, "GL_PIXEL_TILE_GRID_WIDTH_SGIX"), # 0x8142 + ("glGet", I, 1, "GL_PIXEL_TILE_GRID_HEIGHT_SGIX"), # 0x8143 + ("glGet", I, 1, "GL_PIXEL_TILE_GRID_DEPTH_SGIX"), # 0x8144 + ("glGet", I, 1, "GL_PIXEL_TILE_CACHE_SIZE_SGIX"), # 0x8145 + ("", X, 1, "GL_FILTER4_SGIS"), # 0x8146 + ("", X, 1, "GL_TEXTURE_FILTER4_SIZE_SGIS"), # 0x8147 + ("glGet", I, 1, "GL_SPRITE_SGIX"), # 0x8148 + ("glGet", I, 1, "GL_SPRITE_MODE_SGIX"), # 0x8149 + ("glGet", F, 3, "GL_SPRITE_AXIS_SGIX"), # 0x814A + ("glGet", F, 3, "GL_SPRITE_TRANSLATION_SGIX"), # 0x814B + ("", X, 1, "GL_SPRITE_AXIAL_SGIX"), # 0x814C + ("", X, 1, "GL_SPRITE_OBJECT_ALIGNED_SGIX"), # 0x814D + ("", X, 1, "GL_SPRITE_EYE_ALIGNED_SGIX"), # 0x814E + ("glGet", I, 1, "GL_TEXTURE_4D_BINDING_SGIS"), # 0x814F + ("", X, 1, "GL_IGNORE_BORDER_HP"), # 0x8150 + ("", X, 1, "GL_CONSTANT_BORDER"), # 0x8151 + ("", X, 1, "GL_REPLICATE_BORDER"), # 0x8153 + ("glGetConvolutionParameter", F, 4, "GL_CONVOLUTION_BORDER_COLOR"), # 0x8154 + ("", X, 1, "GL_IMAGE_SCALE_X_HP"), # 0x8155 + ("", X, 1, "GL_IMAGE_SCALE_Y_HP"), # 0x8156 + ("", X, 1, "GL_IMAGE_TRANSLATE_X_HP"), # 0x8157 + ("", X, 1, "GL_IMAGE_TRANSLATE_Y_HP"), # 0x8158 + ("", X, 1, "GL_IMAGE_ROTATE_ANGLE_HP"), # 0x8159 + ("", X, 1, "GL_IMAGE_ROTATE_ORIGIN_X_HP"), # 0x815A + ("", X, 1, "GL_IMAGE_ROTATE_ORIGIN_Y_HP"), # 0x815B + ("", X, 1, "GL_IMAGE_MAG_FILTER_HP"), # 0x815C + ("", X, 1, "GL_IMAGE_MIN_FILTER_HP"), # 0x815D + ("", X, 1, "GL_IMAGE_CUBIC_WEIGHT_HP"), # 0x815E + ("", X, 1, "GL_CUBIC_HP"), # 0x815F + ("", X, 1, "GL_AVERAGE_HP"), # 0x8160 + ("", X, 1, "GL_IMAGE_TRANSFORM_2D_HP"), # 0x8161 + ("", X, 1, "GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"), # 0x8162 + ("", X, 1, "GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"), # 0x8163 + ("_glGet", B, 1, "GL_OCCLUSION_TEST_HP"), # 0x8165 + ("_glGet", B, 1, "GL_OCCLUSION_TEST_RESULT_HP"), # 0x8166 + ("", X, 1, "GL_TEXTURE_LIGHTING_MODE_HP"), # 0x8167 + ("", X, 1, "GL_TEXTURE_POST_SPECULAR_HP"), # 0x8168 + ("", X, 1, "GL_TEXTURE_PRE_SPECULAR_HP"), # 0x8169 + ("", X, 1, "GL_LINEAR_CLIPMAP_LINEAR_SGIX"), # 0x8170 + ("glGetTexParameter", I, 2, "GL_TEXTURE_CLIPMAP_CENTER_SGIX"), # 0x8171 + ("glGetTexParameter", F, 1, "GL_TEXTURE_CLIPMAP_FRAME_SGIX"), # 0x8172 + ("glGetTexParameter", I, 2, "GL_TEXTURE_CLIPMAP_OFFSET_SGIX"), # 0x8173 + ("glGetTexParameter", I, 3, "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"), # 0x8174 + ("", X, 1, "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"), # 0x8175 + ("", X, 1, "GL_TEXTURE_CLIPMAP_DEPTH_SGIX"), # 0x8176 + ("glGet", I, 1, "GL_MAX_CLIPMAP_DEPTH_SGIX"), # 0x8177 + ("glGet", I, 1, "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX"), # 0x8178 + ("glGetTexParameter", F, 1, "GL_POST_TEXTURE_FILTER_BIAS_SGIX"), # 0x8179 + ("glGetTexParameter", F, 1, "GL_POST_TEXTURE_FILTER_SCALE_SGIX"), # 0x817A + ("glGet", F, 2, "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"), # 0x817B + ("glGet", F, 2, "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"), # 0x817C + ("glGet", I, 1, "GL_REFERENCE_PLANE_SGIX"), # 0x817D + ("glGet", F, 4, "GL_REFERENCE_PLANE_EQUATION_SGIX"), # 0x817E + ("glGet", I, 1, "GL_IR_INSTRUMENT1_SGIX"), # 0x817F + ("", X, 1, "GL_INSTRUMENT_BUFFER_POINTER_SGIX"), # 0x8180 + ("glGet", I, 1, "GL_INSTRUMENT_MEASUREMENTS_SGIX"), # 0x8181 + ("", X, 1, "GL_LIST_PRIORITY_SGIX"), # 0x8182 + ("glGet", I, 1, "GL_CALLIGRAPHIC_FRAGMENT_SGIX"), # 0x8183 + ("", X, 1, "GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"), # 0x8184 + ("", X, 1, "GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"), # 0x8185 + ("", X, 1, "GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"), # 0x8186 + ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX"), # 0x8187 + ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX"), # 0x8188 + ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX"), # 0x8189 + ("", X, 1, "GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX"), # 0x818A + ("glGet", I, 1, "GL_FRAMEZOOM_SGIX"), # 0x818B + ("glGet", I, 1, "GL_FRAMEZOOM_FACTOR_SGIX"), # 0x818C + ("glGet", I, 1, "GL_MAX_FRAMEZOOM_FACTOR_SGIX"), # 0x818D + ("glGetTexParameter", F, 1, "GL_TEXTURE_LOD_BIAS_S_SGIX"), # 0x818E + ("glGetTexParameter", F, 1, "GL_TEXTURE_LOD_BIAS_T_SGIX"), # 0x818F + ("glGetTexParameter", F, 1, "GL_TEXTURE_LOD_BIAS_R_SGIX"), # 0x8190 + ("glGetTexParameter", B, 1, "GL_GENERATE_MIPMAP"), # 0x8191 + ("glGet", E, 1, "GL_GENERATE_MIPMAP_HINT"), # 0x8192 + ("", X, 1, "GL_GEOMETRY_DEFORMATION_SGIX"), # 0x8194 + ("", X, 1, "GL_TEXTURE_DEFORMATION_SGIX"), # 0x8195 + ("glGet", I, 1, "GL_DEFORMATIONS_MASK_SGIX"), # 0x8196 + ("", X, 1, "GL_MAX_DEFORMATION_ORDER_SGIX"), # 0x8197 + ("glGet", I, 1, "GL_FOG_OFFSET_SGIX"), # 0x8198 + ("glGet", F, 4, "GL_FOG_OFFSET_VALUE_SGIX"), # 0x8199 + ("glGetTexParameter", B, 1, "GL_TEXTURE_COMPARE_SGIX"), # 0x819A + ("glGetTexParameter", E, 1, "GL_TEXTURE_COMPARE_OPERATOR_SGIX"), # 0x819B + ("", X, 1, "GL_TEXTURE_LEQUAL_R_SGIX"), # 0x819C + ("", X, 1, "GL_TEXTURE_GEQUAL_R_SGIX"), # 0x819D + ("", X, 1, "GL_DEPTH_COMPONENT16"), # 0x81A5 + ("", X, 1, "GL_DEPTH_COMPONENT24"), # 0x81A6 + ("", X, 1, "GL_DEPTH_COMPONENT32"), # 0x81A7 + ("", X, 1, "GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"), # 0x81A8 + ("", X, 1, "GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"), # 0x81A9 + ("", X, 1, "GL_CULL_VERTEX_EXT"), # 0x81AA + ("", X, 1, "GL_CULL_VERTEX_EYE_POSITION_EXT"), # 0x81AB + ("", X, 1, "GL_CULL_VERTEX_OBJECT_POSITION_EXT"), # 0x81AC + ("", X, 1, "GL_IUI_V2F_EXT"), # 0x81AD + ("", X, 1, "GL_IUI_V3F_EXT"), # 0x81AE + ("", X, 1, "GL_IUI_N3F_V2F_EXT"), # 0x81AF + ("", X, 1, "GL_IUI_N3F_V3F_EXT"), # 0x81B0 + ("", X, 1, "GL_T2F_IUI_V2F_EXT"), # 0x81B1 + ("", X, 1, "GL_T2F_IUI_V3F_EXT"), # 0x81B2 + ("", X, 1, "GL_T2F_IUI_N3F_V2F_EXT"), # 0x81B3 + ("", X, 1, "GL_T2F_IUI_N3F_V3F_EXT"), # 0x81B4 + ("", X, 1, "GL_INDEX_TEST_EXT"), # 0x81B5 + ("", X, 1, "GL_INDEX_TEST_FUNC_EXT"), # 0x81B6 + ("", X, 1, "GL_INDEX_TEST_REF_EXT"), # 0x81B7 + ("", X, 1, "GL_INDEX_MATERIAL_EXT"), # 0x81B8 + ("", X, 1, "GL_INDEX_MATERIAL_PARAMETER_EXT"), # 0x81B9 + ("", X, 1, "GL_INDEX_MATERIAL_FACE_EXT"), # 0x81BA + ("", X, 1, "GL_YCRCB_422_SGIX"), # 0x81BB + ("", X, 1, "GL_YCRCB_444_SGIX"), # 0x81BC + ("", X, 1, "GL_WRAP_BORDER_SUN"), # 0x81D4 + ("", X, 1, "GL_UNPACK_CONSTANT_DATA_SUNX"), # 0x81D5 + ("", X, 1, "GL_TEXTURE_CONSTANT_DATA_SUNX"), # 0x81D6 + ("", X, 1, "GL_TRIANGLE_LIST_SUN"), # 0x81D7 + ("", X, 1, "GL_REPLACEMENT_CODE_SUN"), # 0x81D8 + ("", X, 1, "GL_GLOBAL_ALPHA_SUN"), # 0x81D9 + ("", X, 1, "GL_GLOBAL_ALPHA_FACTOR_SUN"), # 0x81DA + ("", X, 1, "GL_TEXTURE_COLOR_WRITEMASK_SGIS"), # 0x81EF + ("", X, 1, "GL_EYE_DISTANCE_TO_POINT_SGIS"), # 0x81F0 + ("", X, 1, "GL_OBJECT_DISTANCE_TO_POINT_SGIS"), # 0x81F1 + ("", X, 1, "GL_EYE_DISTANCE_TO_LINE_SGIS"), # 0x81F2 + ("", X, 1, "GL_OBJECT_DISTANCE_TO_LINE_SGIS"), # 0x81F3 + ("", X, 1, "GL_EYE_POINT_SGIS"), # 0x81F4 + ("", X, 1, "GL_OBJECT_POINT_SGIS"), # 0x81F5 + ("", X, 1, "GL_EYE_LINE_SGIS"), # 0x81F6 + ("", X, 1, "GL_OBJECT_LINE_SGIS"), # 0x81F7 + ("glGet", E, 1, "GL_LIGHT_MODEL_COLOR_CONTROL"), # 0x81F8 + ("", X, 1, "GL_SINGLE_COLOR"), # 0x81F9 + ("", X, 1, "GL_SEPARATE_SPECULAR_COLOR"), # 0x81FA + ("", X, 1, "GL_SHARED_TEXTURE_PALETTE_EXT"), # 0x81FB + ("", X, 1, "GL_FOG_SCALE_SGIX"), # 0x81FC + ("", X, 1, "GL_FOG_SCALE_VALUE_SGIX"), # 0x81FD + ("", X, 1, "GL_TEXT_FRAGMENT_SHADER_ATI"), # 0x8200 + ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"), # 0x8210 + ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"), # 0x8211 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"), # 0x8212 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"), # 0x8213 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"), # 0x8214 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"), # 0x8215 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"), # 0x8216 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"), # 0x8217 + ("", X, 1, "GL_FRAMEBUFFER_DEFAULT"), # 0x8218 + ("", X, 1, "GL_FRAMEBUFFER_UNDEFINED"), # 0x8219 + ("", X, 1, "GL_DEPTH_STENCIL_ATTACHMENT"), # 0x821A + ("glGet", I, 1, "GL_MAJOR_VERSION"), # 0x821B + ("glGet", I, 1, "GL_MINOR_VERSION"), # 0x821C + ("glGet", I, 1, "GL_NUM_EXTENSIONS"), # 0x821D + ("glGet", I, 1, "GL_CONTEXT_FLAGS"), # 0x821E + ("", X, 1, "GL_INDEX"), # 0x8222 + ("", X, 1, "GL_DEPTH_BUFFER"), # 0x8223 + ("", X, 1, "GL_STENCIL_BUFFER"), # 0x8224 + ("", X, 1, "GL_COMPRESSED_RED"), # 0x8225 + ("", X, 1, "GL_COMPRESSED_RG"), # 0x8226 + ("", X, 1, "GL_RG"), # 0x8227 + ("", X, 1, "GL_RG_INTEGER"), # 0x8228 + ("", X, 1, "GL_R8"), # 0x8229 + ("", X, 1, "GL_R16"), # 0x822A + ("", X, 1, "GL_RG8"), # 0x822B + ("", X, 1, "GL_RG16"), # 0x822C + ("", X, 1, "GL_R16F"), # 0x822D + ("", X, 1, "GL_R32F"), # 0x822E + ("", X, 1, "GL_RG16F"), # 0x822F + ("", X, 1, "GL_RG32F"), # 0x8230 + ("", X, 1, "GL_R8I"), # 0x8231 + ("", X, 1, "GL_R8UI"), # 0x8232 + ("", X, 1, "GL_R16I"), # 0x8233 + ("", X, 1, "GL_R16UI"), # 0x8234 + ("", X, 1, "GL_R32I"), # 0x8235 + ("", X, 1, "GL_R32UI"), # 0x8236 + ("", X, 1, "GL_RG8I"), # 0x8237 + ("", X, 1, "GL_RG8UI"), # 0x8238 + ("", X, 1, "GL_RG16I"), # 0x8239 + ("", X, 1, "GL_RG16UI"), # 0x823A + ("", X, 1, "GL_RG32I"), # 0x823B + ("", X, 1, "GL_RG32UI"), # 0x823C + ("", X, 1, "GL_SYNC_CL_EVENT_ARB"), # 0x8240 + ("", X, 1, "GL_SYNC_CL_EVENT_COMPLETE_ARB"), # 0x8241 + ("", X, 1, "GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"), # 0x8242 + ("", X, 1, "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"), # 0x8243 + ("", X, 1, "GL_DEBUG_CALLBACK_FUNCTION_ARB"), # 0x8244 + ("", X, 1, "GL_DEBUG_CALLBACK_USER_PARAM_ARB"), # 0x8245 + ("", X, 1, "GL_DEBUG_SOURCE_API_ARB"), # 0x8246 + ("", X, 1, "GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"), # 0x8247 + ("", X, 1, "GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"), # 0x8248 + ("", X, 1, "GL_DEBUG_SOURCE_THIRD_PARTY_ARB"), # 0x8249 + ("", X, 1, "GL_DEBUG_SOURCE_APPLICATION_ARB"), # 0x824A + ("", X, 1, "GL_DEBUG_SOURCE_OTHER_ARB"), # 0x824B + ("", X, 1, "GL_DEBUG_TYPE_ERROR_ARB"), # 0x824C + ("", X, 1, "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"), # 0x824D + ("", X, 1, "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"), # 0x824E + ("", X, 1, "GL_DEBUG_TYPE_PORTABILITY_ARB"), # 0x824F + ("", X, 1, "GL_DEBUG_TYPE_PERFORMANCE_ARB"), # 0x8250 + ("", X, 1, "GL_DEBUG_TYPE_OTHER_ARB"), # 0x8251 + ("", X, 1, "GL_LOSE_CONTEXT_ON_RESET_ARB"), # 0x8252 + ("", X, 1, "GL_GUILTY_CONTEXT_RESET_ARB"), # 0x8253 + ("", X, 1, "GL_INNOCENT_CONTEXT_RESET_ARB"), # 0x8254 + ("", X, 1, "GL_UNKNOWN_CONTEXT_RESET_ARB"), # 0x8255 + ("glGet", E, 1, "GL_RESET_NOTIFICATION_STRATEGY_ARB"), # 0x8256 + ("", X, 1, "GL_PROGRAM_BINARY_RETRIEVABLE_HINT"), # 0x8257 + ("", X, 1, "GL_PROGRAM_SEPARABLE"), # 0x8258 + ("glGet", I, 1, "GL_ACTIVE_PROGRAM"), # 0x8259 + ("glGet", I, 1, "GL_PROGRAM_PIPELINE_BINDING"), # 0x825A + ("glGet", I, 1, "GL_MAX_VIEWPORTS"), # 0x825B + ("glGet", I, 1, "GL_VIEWPORT_SUBPIXEL_BITS"), # 0x825C + ("glGet", F, 2, "GL_VIEWPORT_BOUNDS_RANGE"), # 0x825D + ("glGet", E, 1, "GL_LAYER_PROVOKING_VERTEX"), # 0x825E + ("glGet", E, 1, "GL_VIEWPORT_INDEX_PROVOKING_VERTEX"), # 0x825F + ("", X, 1, "GL_UNDEFINED_VERTEX"), # 0x8260 + ("", X, 1, "GL_NO_RESET_NOTIFICATION_ARB"), # 0x8261 + ("", X, 1, "GL_DEPTH_PASS_INSTRUMENT_SGIX"), # 0x8310 + ("", X, 1, "GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX"), # 0x8311 + ("", X, 1, "GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX"), # 0x8312 + ("glGet", I, 1, "GL_CONVOLUTION_HINT_SGIX"), # 0x8316 + ("", X, 1, "GL_YCRCB_SGIX"), # 0x8318 + ("", X, 1, "GL_YCRCBA_SGIX"), # 0x8319 + ("", X, 1, "GL_ALPHA_MIN_SGIX"), # 0x8320 + ("", X, 1, "GL_ALPHA_MAX_SGIX"), # 0x8321 + ("", X, 1, "GL_SCALEBIAS_HINT_SGIX"), # 0x8322 + ("", X, 1, "GL_ASYNC_MARKER_SGIX"), # 0x8329 + ("glGet", I, 1, "GL_PIXEL_TEX_GEN_MODE_SGIX"), # 0x832B + ("", X, 1, "GL_ASYNC_HISTOGRAM_SGIX"), # 0x832C + ("", X, 1, "GL_MAX_ASYNC_HISTOGRAM_SGIX"), # 0x832D + ("", X, 1, "GL_PIXEL_TRANSFORM_2D_EXT"), # 0x8330 + ("", X, 1, "GL_PIXEL_MAG_FILTER_EXT"), # 0x8331 + ("", X, 1, "GL_PIXEL_MIN_FILTER_EXT"), # 0x8332 + ("", X, 1, "GL_PIXEL_CUBIC_WEIGHT_EXT"), # 0x8333 + ("", X, 1, "GL_CUBIC_EXT"), # 0x8334 + ("", X, 1, "GL_AVERAGE_EXT"), # 0x8335 + ("", X, 1, "GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"), # 0x8336 + ("", X, 1, "GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"), # 0x8337 + ("", X, 1, "GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"), # 0x8338 + ("", X, 1, "GL_FRAGMENT_MATERIAL_EXT"), # 0x8349 + ("", X, 1, "GL_FRAGMENT_NORMAL_EXT"), # 0x834A + ("", X, 1, "GL_FRAGMENT_COLOR_EXT"), # 0x834C + ("", X, 1, "GL_ATTENUATION_EXT"), # 0x834D + ("", X, 1, "GL_SHADOW_ATTENUATION_EXT"), # 0x834E + ("glGet", I, 1, "GL_TEXTURE_APPLICATION_MODE_EXT"), # 0x834F + ("glGet", I, 1, "GL_TEXTURE_LIGHT_EXT"), # 0x8350 + ("glGet", I, 1, "GL_TEXTURE_MATERIAL_FACE_EXT"), # 0x8351 + ("glGet", I, 1, "GL_TEXTURE_MATERIAL_PARAMETER_EXT"), # 0x8352 + ("glGet", I, 1, "GL_PIXEL_TEXTURE_SGIS"), # 0x8353 + ("glGet", I, 1, "GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"), # 0x8354 + ("glGet", I, 1, "GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"), # 0x8355 + ("glGet", I, 1, "GL_PIXEL_GROUP_COLOR_SGIS"), # 0x8356 + ("", X, 1, "GL_ASYNC_TEX_IMAGE_SGIX"), # 0x835C + ("", X, 1, "GL_ASYNC_DRAW_PIXELS_SGIX"), # 0x835D + ("", X, 1, "GL_ASYNC_READ_PIXELS_SGIX"), # 0x835E + ("", X, 1, "GL_MAX_ASYNC_TEX_IMAGE_SGIX"), # 0x835F + ("", X, 1, "GL_MAX_ASYNC_DRAW_PIXELS_SGIX"), # 0x8360 + ("", X, 1, "GL_MAX_ASYNC_READ_PIXELS_SGIX"), # 0x8361 + ("", X, 1, "GL_UNSIGNED_BYTE_2_3_3_REV"), # 0x8362 + ("", X, 1, "GL_UNSIGNED_SHORT_5_6_5"), # 0x8363 + ("", X, 1, "GL_UNSIGNED_SHORT_5_6_5_REV"), # 0x8364 + ("", X, 1, "GL_UNSIGNED_SHORT_4_4_4_4_REV"), # 0x8365 + ("", X, 1, "GL_UNSIGNED_SHORT_1_5_5_5_REV"), # 0x8366 + ("", X, 1, "GL_UNSIGNED_INT_8_8_8_8_REV"), # 0x8367 + ("", X, 1, "GL_UNSIGNED_INT_2_10_10_10_REV"), # 0x8368 + ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_CLAMP_S_SGIX"), # 0x8369 + ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_CLAMP_T_SGIX"), # 0x836A + ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_CLAMP_R_SGIX"), # 0x836B + ("", X, 1, "GL_MIRRORED_REPEAT"), # 0x8370 + ("", X, 1, "GL_RGB_S3TC"), # 0x83A0 + ("", X, 1, "GL_RGB4_S3TC"), # 0x83A1 + ("", X, 1, "GL_RGBA_S3TC"), # 0x83A2 + ("", X, 1, "GL_RGBA4_S3TC"), # 0x83A3 + ("", X, 1, "GL_VERTEX_PRECLIP_SGIX"), # 0x83EE + ("", X, 1, "GL_VERTEX_PRECLIP_HINT_SGIX"), # 0x83EF + ("", X, 1, "GL_COMPRESSED_RGB_S3TC_DXT1_EXT"), # 0x83F0 + ("", X, 1, "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"), # 0x83F1 + ("", X, 1, "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"), # 0x83F2 + ("", X, 1, "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"), # 0x83F3 + ("", X, 1, "GL_PARALLEL_ARRAYS_INTEL"), # 0x83F4 + ("", X, 1, "GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F5 + ("", X, 1, "GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F6 + ("", X, 1, "GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F7 + ("", X, 1, "GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"), # 0x83F8 + ("glGet", I, 1, "GL_FRAGMENT_LIGHTING_SGIX"), # 0x8400 + ("glGet", I, 1, "GL_FRAGMENT_COLOR_MATERIAL_SGIX"), # 0x8401 + ("glGet", I, 1, "GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"), # 0x8402 + ("glGet", I, 1, "GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"), # 0x8403 + ("glGet", I, 1, "GL_MAX_FRAGMENT_LIGHTS_SGIX"), # 0x8404 + ("glGet", I, 1, "GL_MAX_ACTIVE_LIGHTS_SGIX"), # 0x8405 + ("glGet", I, 1, "GL_CURRENT_RASTER_NORMAL_SGIX"), # 0x8406 + ("glGet", I, 1, "GL_LIGHT_ENV_MODE_SGIX"), # 0x8407 + ("glGet", I, 1, "GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"), # 0x8408 + ("glGet", I, 1, "GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"), # 0x8409 + ("glGet", F, 4, "GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"), # 0x840A + ("glGet", I, 1, "GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"), # 0x840B + ("glGet", I, 1, "GL_FRAGMENT_LIGHT0_SGIX"), # 0x840C + ("", X, 1, "GL_FRAGMENT_LIGHT1_SGIX"), # 0x840D + ("", X, 1, "GL_FRAGMENT_LIGHT2_SGIX"), # 0x840E + ("", X, 1, "GL_FRAGMENT_LIGHT3_SGIX"), # 0x840F + ("", X, 1, "GL_FRAGMENT_LIGHT4_SGIX"), # 0x8410 + ("", X, 1, "GL_FRAGMENT_LIGHT5_SGIX"), # 0x8411 + ("", X, 1, "GL_FRAGMENT_LIGHT6_SGIX"), # 0x8412 + ("", X, 1, "GL_FRAGMENT_LIGHT7_SGIX"), # 0x8413 + ("", X, 1, "GL_PACK_RESAMPLE_SGIX"), # 0x842C + ("", X, 1, "GL_UNPACK_RESAMPLE_SGIX"), # 0x842D + ("", X, 1, "GL_RESAMPLE_REPLICATE_SGIX"), # 0x842E + ("", X, 1, "GL_RESAMPLE_ZERO_FILL_SGIX"), # 0x842F + ("", X, 1, "GL_RESAMPLE_DECIMATE_SGIX"), # 0x8430 + ("", X, 1, "GL_TANGENT_ARRAY_EXT"), # 0x8439 + ("", X, 1, "GL_BINORMAL_ARRAY_EXT"), # 0x843A + ("", X, 1, "GL_CURRENT_TANGENT_EXT"), # 0x843B + ("", X, 1, "GL_CURRENT_BINORMAL_EXT"), # 0x843C + ("glGet", E, 1, "GL_TANGENT_ARRAY_TYPE_EXT"), # 0x843E + ("", X, 1, "GL_TANGENT_ARRAY_STRIDE_EXT"), # 0x843F + ("glGet", E, 1, "GL_BINORMAL_ARRAY_TYPE_EXT"), # 0x8440 + ("", X, 1, "GL_BINORMAL_ARRAY_STRIDE_EXT"), # 0x8441 + ("glGet", P, 1, "GL_TANGENT_ARRAY_POINTER_EXT"), # 0x8442 + ("glGet", P, 1, "GL_BINORMAL_ARRAY_POINTER_EXT"), # 0x8443 + ("", X, 1, "GL_MAP1_TANGENT_EXT"), # 0x8444 + ("", X, 1, "GL_MAP2_TANGENT_EXT"), # 0x8445 + ("", X, 1, "GL_MAP1_BINORMAL_EXT"), # 0x8446 + ("", X, 1, "GL_MAP2_BINORMAL_EXT"), # 0x8447 + ("", X, 1, "GL_NEAREST_CLIPMAP_NEAREST_SGIX"), # 0x844D + ("", X, 1, "GL_NEAREST_CLIPMAP_LINEAR_SGIX"), # 0x844E + ("", X, 1, "GL_LINEAR_CLIPMAP_NEAREST_SGIX"), # 0x844F + ("glGet", E, 1, "GL_FOG_COORD_SRC"), # 0x8450 + ("", X, 1, "GL_FOG_COORD"), # 0x8451 + ("", X, 1, "GL_FRAGMENT_DEPTH"), # 0x8452 + ("glGet", F, 1, "GL_CURRENT_FOG_COORD"), # 0x8453 + ("glGet", E, 1, "GL_FOG_COORD_ARRAY_TYPE"), # 0x8454 + ("glGet", I, 1, "GL_FOG_COORD_ARRAY_STRIDE"), # 0x8455 + ("", X, 1, "GL_FOG_COORD_ARRAY_POINTER"), # 0x8456 + ("glGet", B, 1, "GL_FOG_COORD_ARRAY"), # 0x8457 + ("glGet", B, 1, "GL_COLOR_SUM"), # 0x8458 + ("glGet", F, 3, "GL_CURRENT_SECONDARY_COLOR"), # 0x8459 + ("glGet", I, 1, "GL_SECONDARY_COLOR_ARRAY_SIZE"), # 0x845A + ("glGet", E, 1, "GL_SECONDARY_COLOR_ARRAY_TYPE"), # 0x845B + ("glGet", I, 1, "GL_SECONDARY_COLOR_ARRAY_STRIDE"), # 0x845C + ("", X, 1, "GL_SECONDARY_COLOR_ARRAY_POINTER"), # 0x845D + ("glGet", B, 1, "GL_SECONDARY_COLOR_ARRAY"), # 0x845E + ("", X, 1, "GL_CURRENT_RASTER_SECONDARY_COLOR"), # 0x845F + ("glGet", F, 2, "GL_ALIASED_POINT_SIZE_RANGE"), # 0x846D + ("glGet", F, 2, "GL_ALIASED_LINE_WIDTH_RANGE"), # 0x846E + ("", X, 1, "GL_SCREEN_COORDINATES_REND"), # 0x8490 + ("", X, 1, "GL_INVERTED_SCREEN_W_REND"), # 0x8491 + ("", X, 1, "GL_TEXTURE0"), # 0x84C0 + ("", X, 1, "GL_TEXTURE1"), # 0x84C1 + ("", X, 1, "GL_TEXTURE2"), # 0x84C2 + ("", X, 1, "GL_TEXTURE3"), # 0x84C3 + ("", X, 1, "GL_TEXTURE4"), # 0x84C4 + ("", X, 1, "GL_TEXTURE5"), # 0x84C5 + ("", X, 1, "GL_TEXTURE6"), # 0x84C6 + ("", X, 1, "GL_TEXTURE7"), # 0x84C7 + ("", X, 1, "GL_TEXTURE8"), # 0x84C8 + ("", X, 1, "GL_TEXTURE9"), # 0x84C9 + ("", X, 1, "GL_TEXTURE10"), # 0x84CA + ("", X, 1, "GL_TEXTURE11"), # 0x84CB + ("", X, 1, "GL_TEXTURE12"), # 0x84CC + ("", X, 1, "GL_TEXTURE13"), # 0x84CD + ("", X, 1, "GL_TEXTURE14"), # 0x84CE + ("", X, 1, "GL_TEXTURE15"), # 0x84CF + ("", X, 1, "GL_TEXTURE16"), # 0x84D0 + ("", X, 1, "GL_TEXTURE17"), # 0x84D1 + ("", X, 1, "GL_TEXTURE18"), # 0x84D2 + ("", X, 1, "GL_TEXTURE19"), # 0x84D3 + ("", X, 1, "GL_TEXTURE20"), # 0x84D4 + ("", X, 1, "GL_TEXTURE21"), # 0x84D5 + ("", X, 1, "GL_TEXTURE22"), # 0x84D6 + ("", X, 1, "GL_TEXTURE23"), # 0x84D7 + ("", X, 1, "GL_TEXTURE24"), # 0x84D8 + ("", X, 1, "GL_TEXTURE25"), # 0x84D9 + ("", X, 1, "GL_TEXTURE26"), # 0x84DA + ("", X, 1, "GL_TEXTURE27"), # 0x84DB + ("", X, 1, "GL_TEXTURE28"), # 0x84DC + ("", X, 1, "GL_TEXTURE29"), # 0x84DD + ("", X, 1, "GL_TEXTURE30"), # 0x84DE + ("", X, 1, "GL_TEXTURE31"), # 0x84DF + ("glGet", E, 1, "GL_ACTIVE_TEXTURE"), # 0x84E0 + ("glGet", E, 1, "GL_CLIENT_ACTIVE_TEXTURE"), # 0x84E1 + ("glGet", I, 1, "GL_MAX_TEXTURE_UNITS"), # 0x84E2 + ("glGet", F, 16, "GL_TRANSPOSE_MODELVIEW_MATRIX"), # 0x84E3 + ("glGet", F, 16, "GL_TRANSPOSE_PROJECTION_MATRIX"), # 0x84E4 + ("glGet", F, 16, "GL_TRANSPOSE_TEXTURE_MATRIX"), # 0x84E5 + ("glGet", F, 16, "GL_TRANSPOSE_COLOR_MATRIX"), # 0x84E6 + ("", X, 1, "GL_SUBTRACT"), # 0x84E7 + ("glGet", I, 1, "GL_MAX_RENDERBUFFER_SIZE"), # 0x84E8 + ("", X, 1, "GL_COMPRESSED_ALPHA"), # 0x84E9 + ("", X, 1, "GL_COMPRESSED_LUMINANCE"), # 0x84EA + ("", X, 1, "GL_COMPRESSED_LUMINANCE_ALPHA"), # 0x84EB + ("", X, 1, "GL_COMPRESSED_INTENSITY"), # 0x84EC + ("", X, 1, "GL_COMPRESSED_RGB"), # 0x84ED + ("", X, 1, "GL_COMPRESSED_RGBA"), # 0x84EE + ("glGet", E, 1, "GL_TEXTURE_COMPRESSION_HINT"), # 0x84EF + ("", X, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"), # 0x84F0 + ("", X, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"), # 0x84F1 + ("", X, 1, "GL_ALL_COMPLETED_NV"), # 0x84F2 + ("", X, 1, "GL_FENCE_STATUS_NV"), # 0x84F3 + ("", X, 1, "GL_FENCE_CONDITION_NV"), # 0x84F4 + ("_glGet", B, 1, "GL_TEXTURE_RECTANGLE"), # 0x84F5 + ("_glGet", I, 1, "GL_TEXTURE_BINDING_RECTANGLE"), # 0x84F6 + ("", X, 1, "GL_PROXY_TEXTURE_RECTANGLE"), # 0x84F7 + ("glGet", I, 1, "GL_MAX_RECTANGLE_TEXTURE_SIZE"), # 0x84F8 + ("", X, 1, "GL_DEPTH_STENCIL"), # 0x84F9 + ("", X, 1, "GL_UNSIGNED_INT_24_8"), # 0x84FA + ("glGet", F, 1, "GL_MAX_TEXTURE_LOD_BIAS"), # 0x84FD + ("glGetTexParameter", F, 1, "GL_TEXTURE_MAX_ANISOTROPY_EXT"), # 0x84FE + ("glGet", F, 1, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"), # 0x84FF + ("glGetTexEnv", E, 1, "GL_TEXTURE_FILTER_CONTROL"), # 0x8500 + ("glGetTexParameter,glGetTexEnv", F, 1, "GL_TEXTURE_LOD_BIAS"), # 0x8501 + ("", X, 1, "GL_MODELVIEW1_STACK_DEPTH_EXT"), # 0x8502 + ("", X, 1, "GL_COMBINE4_NV"), # 0x8503 + ("glGet", F, 1, "GL_MAX_SHININESS_NV"), # 0x8504 + ("glGet", F, 1, "GL_MAX_SPOT_EXPONENT_NV"), # 0x8505 + ("", X, 1, "GL_MODELVIEW1_MATRIX_EXT"), # 0x8506 + ("", X, 1, "GL_INCR_WRAP"), # 0x8507 + ("", X, 1, "GL_DECR_WRAP"), # 0x8508 + ("", X, 1, "GL_VERTEX_WEIGHTING_EXT"), # 0x8509 + ("", X, 1, "GL_MODELVIEW1_ARB"), # 0x850A + ("", X, 1, "GL_CURRENT_VERTEX_WEIGHT_EXT"), # 0x850B + ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_EXT"), # 0x850C + ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"), # 0x850D + ("glGet", E, 1, "GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"), # 0x850E + ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"), # 0x850F + ("", X, 1, "GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"), # 0x8510 + ("", X, 1, "GL_NORMAL_MAP"), # 0x8511 + ("", X, 1, "GL_REFLECTION_MAP"), # 0x8512 + ("_glGet", B, 1, "GL_TEXTURE_CUBE_MAP"), # 0x8513 + ("_glGet", I, 1, "GL_TEXTURE_BINDING_CUBE_MAP"), # 0x8514 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_POSITIVE_X"), # 0x8515 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_NEGATIVE_X"), # 0x8516 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_POSITIVE_Y"), # 0x8517 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"), # 0x8518 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_POSITIVE_Z"), # 0x8519 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"), # 0x851A + ("", X, 1, "GL_PROXY_TEXTURE_CUBE_MAP"), # 0x851B + ("glGet", I, 1, "GL_MAX_CUBE_MAP_TEXTURE_SIZE"), # 0x851C + ("_glGet", B, 1, "GL_VERTEX_ARRAY_RANGE_NV"), # 0x851D + ("_glGet", I, 1, "GL_VERTEX_ARRAY_RANGE_LENGTH_NV"), # 0x851E + ("_glGet", B, 1, "GL_VERTEX_ARRAY_RANGE_VALID_NV"), # 0x851F + ("_glGet", I, 1, "GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"), # 0x8520 + ("_glGet", P, 1, "GL_VERTEX_ARRAY_RANGE_POINTER_NV"), # 0x8521 + ("", X, 1, "GL_REGISTER_COMBINERS_NV"), # 0x8522 + ("", X, 1, "GL_VARIABLE_A_NV"), # 0x8523 + ("", X, 1, "GL_VARIABLE_B_NV"), # 0x8524 + ("", X, 1, "GL_VARIABLE_C_NV"), # 0x8525 + ("", X, 1, "GL_VARIABLE_D_NV"), # 0x8526 + ("", X, 1, "GL_VARIABLE_E_NV"), # 0x8527 + ("", X, 1, "GL_VARIABLE_F_NV"), # 0x8528 + ("", X, 1, "GL_VARIABLE_G_NV"), # 0x8529 + ("glGet", F, 4, "GL_CONSTANT_COLOR0_NV"), # 0x852A + ("glGet", F, 4, "GL_CONSTANT_COLOR1_NV"), # 0x852B + ("", X, 1, "GL_PRIMARY_COLOR_NV"), # 0x852C + ("", X, 1, "GL_SECONDARY_COLOR_NV"), # 0x852D + ("", X, 1, "GL_SPARE0_NV"), # 0x852E + ("", X, 1, "GL_SPARE1_NV"), # 0x852F + ("", X, 1, "GL_DISCARD_NV"), # 0x8530 + ("", X, 1, "GL_E_TIMES_F_NV"), # 0x8531 + ("", X, 1, "GL_SPARE0_PLUS_SECONDARY_COLOR_NV"), # 0x8532 + ("", X, 1, "GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"), # 0x8533 + ("glGet", E, 1, "GL_MULTISAMPLE_FILTER_HINT_NV"), # 0x8534 + ("", X, 1, "GL_PER_STAGE_CONSTANTS_NV"), # 0x8535 + ("", X, 1, "GL_UNSIGNED_IDENTITY_NV"), # 0x8536 + ("", X, 1, "GL_UNSIGNED_INVERT_NV"), # 0x8537 + ("", X, 1, "GL_EXPAND_NORMAL_NV"), # 0x8538 + ("", X, 1, "GL_EXPAND_NEGATE_NV"), # 0x8539 + ("", X, 1, "GL_HALF_BIAS_NORMAL_NV"), # 0x853A + ("", X, 1, "GL_HALF_BIAS_NEGATE_NV"), # 0x853B + ("", X, 1, "GL_SIGNED_IDENTITY_NV"), # 0x853C + ("", X, 1, "GL_SIGNED_NEGATE_NV"), # 0x853D + ("", X, 1, "GL_SCALE_BY_TWO_NV"), # 0x853E + ("", X, 1, "GL_SCALE_BY_FOUR_NV"), # 0x853F + ("", X, 1, "GL_SCALE_BY_ONE_HALF_NV"), # 0x8540 + ("", X, 1, "GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"), # 0x8541 + ("", X, 1, "GL_COMBINER_INPUT_NV"), # 0x8542 + ("", X, 1, "GL_COMBINER_MAPPING_NV"), # 0x8543 + ("", X, 1, "GL_COMBINER_COMPONENT_USAGE_NV"), # 0x8544 + ("", X, 1, "GL_COMBINER_AB_DOT_PRODUCT_NV"), # 0x8545 + ("", X, 1, "GL_COMBINER_CD_DOT_PRODUCT_NV"), # 0x8546 + ("", X, 1, "GL_COMBINER_MUX_SUM_NV"), # 0x8547 + ("", X, 1, "GL_COMBINER_SCALE_NV"), # 0x8548 + ("", X, 1, "GL_COMBINER_BIAS_NV"), # 0x8549 + ("", X, 1, "GL_COMBINER_AB_OUTPUT_NV"), # 0x854A + ("", X, 1, "GL_COMBINER_CD_OUTPUT_NV"), # 0x854B + ("", X, 1, "GL_COMBINER_SUM_OUTPUT_NV"), # 0x854C + ("glGet", I, 1, "GL_MAX_GENERAL_COMBINERS_NV"), # 0x854D + ("glGet", I, 1, "GL_NUM_GENERAL_COMBINERS_NV"), # 0x854E + ("glGet", B, 1, "GL_COLOR_SUM_CLAMP_NV"), # 0x854F + ("", X, 1, "GL_COMBINER0_NV"), # 0x8550 + ("", X, 1, "GL_COMBINER1_NV"), # 0x8551 + ("", X, 1, "GL_COMBINER2_NV"), # 0x8552 + ("", X, 1, "GL_COMBINER3_NV"), # 0x8553 + ("", X, 1, "GL_COMBINER4_NV"), # 0x8554 + ("", X, 1, "GL_COMBINER5_NV"), # 0x8555 + ("", X, 1, "GL_COMBINER6_NV"), # 0x8556 + ("", X, 1, "GL_COMBINER7_NV"), # 0x8557 + ("", X, 1, "GL_PRIMITIVE_RESTART_NV"), # 0x8558 + ("", X, 1, "GL_PRIMITIVE_RESTART_INDEX_NV"), # 0x8559 + ("glGet", E, 1, "GL_FOG_DISTANCE_MODE_NV"), # 0x855A + ("", X, 1, "GL_EYE_RADIAL_NV"), # 0x855B + ("", X, 1, "GL_EYE_PLANE_ABSOLUTE_NV"), # 0x855C + ("", X, 1, "GL_EMBOSS_LIGHT_NV"), # 0x855D + ("", X, 1, "GL_EMBOSS_CONSTANT_NV"), # 0x855E + ("", X, 1, "GL_EMBOSS_MAP_NV"), # 0x855F + ("", X, 1, "GL_RED_MIN_CLAMP_INGR"), # 0x8560 + ("", X, 1, "GL_GREEN_MIN_CLAMP_INGR"), # 0x8561 + ("", X, 1, "GL_BLUE_MIN_CLAMP_INGR"), # 0x8562 + ("", X, 1, "GL_ALPHA_MIN_CLAMP_INGR"), # 0x8563 + ("", X, 1, "GL_RED_MAX_CLAMP_INGR"), # 0x8564 + ("", X, 1, "GL_GREEN_MAX_CLAMP_INGR"), # 0x8565 + ("", X, 1, "GL_BLUE_MAX_CLAMP_INGR"), # 0x8566 + ("", X, 1, "GL_ALPHA_MAX_CLAMP_INGR"), # 0x8567 + ("", X, 1, "GL_INTERLACE_READ_INGR"), # 0x8568 + ("", X, 1, "GL_COMBINE"), # 0x8570 + ("glGetTexEnv", E, 1, "GL_COMBINE_RGB"), # 0x8571 + ("glGetTexEnv", E, 1, "GL_COMBINE_ALPHA"), # 0x8572 + ("glGetTexEnv", F, 1, "GL_RGB_SCALE"), # 0x8573 + ("", X, 1, "GL_ADD_SIGNED"), # 0x8574 + ("", X, 1, "GL_INTERPOLATE"), # 0x8575 + ("", X, 1, "GL_CONSTANT"), # 0x8576 + ("", X, 1, "GL_PRIMARY_COLOR"), # 0x8577 + ("", X, 1, "GL_PREVIOUS"), # 0x8578 + ("glGetTexEnv", E, 1, "GL_SRC0_RGB"), # 0x8580 + ("glGetTexEnv", E, 1, "GL_SRC1_RGB"), # 0x8581 + ("glGetTexEnv", E, 1, "GL_SRC2_RGB"), # 0x8582 + ("glGetTexEnv", E, 1, "GL_SOURCE3_RGB_NV"), # 0x8583 + ("glGetTexEnv", E, 1, "GL_SRC0_ALPHA"), # 0x8588 + ("glGetTexEnv", E, 1, "GL_SRC1_ALPHA"), # 0x8589 + ("glGetTexEnv", E, 1, "GL_SRC2_ALPHA"), # 0x858A + ("glGetTexEnv", E, 1, "GL_SOURCE3_ALPHA_NV"), # 0x858B + ("glGetTexEnv", E, 1, "GL_OPERAND0_RGB"), # 0x8590 + ("glGetTexEnv", E, 1, "GL_OPERAND1_RGB"), # 0x8591 + ("glGetTexEnv", E, 1, "GL_OPERAND2_RGB"), # 0x8592 + ("glGetTexEnv", E, 1, "GL_OPERAND3_RGB_NV"), # 0x8593 + ("glGetTexEnv", E, 1, "GL_OPERAND0_ALPHA"), # 0x8598 + ("glGetTexEnv", E, 1, "GL_OPERAND1_ALPHA"), # 0x8599 + ("glGetTexEnv", E, 1, "GL_OPERAND2_ALPHA"), # 0x859A + ("glGetTexEnv", E, 1, "GL_OPERAND3_ALPHA_NV"), # 0x859B + ("", X, 1, "GL_PACK_SUBSAMPLE_RATE_SGIX"), # 0x85A0 + ("", X, 1, "GL_UNPACK_SUBSAMPLE_RATE_SGIX"), # 0x85A1 + ("", X, 1, "GL_PIXEL_SUBSAMPLE_4444_SGIX"), # 0x85A2 + ("", X, 1, "GL_PIXEL_SUBSAMPLE_2424_SGIX"), # 0x85A3 + ("", X, 1, "GL_PIXEL_SUBSAMPLE_4242_SGIX"), # 0x85A4 + ("", X, 1, "GL_PERTURB_EXT"), # 0x85AE + ("", X, 1, "GL_TEXTURE_NORMAL_EXT"), # 0x85AF + ("", X, 1, "GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE"), # 0x85B0 + ("", X, 1, "GL_TRANSFORM_HINT_APPLE"), # 0x85B1 + ("", X, 1, "GL_UNPACK_CLIENT_STORAGE_APPLE"), # 0x85B2 + ("", X, 1, "GL_BUFFER_OBJECT_APPLE"), # 0x85B3 + ("", X, 1, "GL_STORAGE_CLIENT_APPLE"), # 0x85B4 + ("glGet", I, 1, "GL_VERTEX_ARRAY_BINDING"), # 0x85B5 + ("glGetTexParameter", X, 1, "GL_TEXTURE_RANGE_LENGTH_APPLE"), # 0x85B7 + ("", P, 1, "GL_TEXTURE_RANGE_POINTER_APPLE"), # 0x85B8 + ("", X, 1, "GL_YCBCR_422_APPLE"), # 0x85B9 + ("", X, 1, "GL_UNSIGNED_SHORT_8_8_MESA"), # 0x85BA + ("", X, 1, "GL_UNSIGNED_SHORT_8_8_REV_MESA"), # 0x85BB + ("glGetTexParameter", E, 1, "GL_TEXTURE_STORAGE_HINT_APPLE"), # 0x85BC + ("", X, 1, "GL_STORAGE_PRIVATE_APPLE"), # 0x85BD + ("", X, 1, "GL_STORAGE_CACHED_APPLE"), # 0x85BE + ("", X, 1, "GL_STORAGE_SHARED_APPLE"), # 0x85BF + ("", X, 1, "GL_REPLACEMENT_CODE_ARRAY_SUN"), # 0x85C0 + ("glGet", E, 1, "GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"), # 0x85C1 + ("", X, 1, "GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"), # 0x85C2 + ("", X, 1, "GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"), # 0x85C3 + ("", X, 1, "GL_R1UI_V3F_SUN"), # 0x85C4 + ("", X, 1, "GL_R1UI_C4UB_V3F_SUN"), # 0x85C5 + ("", X, 1, "GL_R1UI_C3F_V3F_SUN"), # 0x85C6 + ("", X, 1, "GL_R1UI_N3F_V3F_SUN"), # 0x85C7 + ("", X, 1, "GL_R1UI_C4F_N3F_V3F_SUN"), # 0x85C8 + ("", X, 1, "GL_R1UI_T2F_V3F_SUN"), # 0x85C9 + ("", X, 1, "GL_R1UI_T2F_N3F_V3F_SUN"), # 0x85CA + ("", X, 1, "GL_R1UI_T2F_C4F_N3F_V3F_SUN"), # 0x85CB + ("", X, 1, "GL_SLICE_ACCUM_SUN"), # 0x85CC + ("", X, 1, "GL_QUAD_MESH_SUN"), # 0x8614 + ("", X, 1, "GL_TRIANGLE_MESH_SUN"), # 0x8615 + ("_glGet", B, 1, "GL_VERTEX_PROGRAM_ARB"), # 0x8620 + ("", X, 1, "GL_VERTEX_STATE_PROGRAM_NV"), # 0x8621 + ("glGetVertexAttrib", B, 1, "GL_VERTEX_ATTRIB_ARRAY_ENABLED"), # 0x8622 + ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_SIZE"), # 0x8623 + ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_STRIDE"), # 0x8624 + ("glGetVertexAttrib", E, 1, "GL_VERTEX_ATTRIB_ARRAY_TYPE"), # 0x8625 + ("glGetVertexAttrib", D, 4, "GL_CURRENT_VERTEX_ATTRIB"), # 0x8626 + ("glGetProgramARB", I, 1, "GL_PROGRAM_LENGTH_ARB"), # 0x8627 + ("", S, 1, "GL_PROGRAM_STRING_ARB"), # 0x8628 + ("", X, 1, "GL_MODELVIEW_PROJECTION_NV"), # 0x8629 + ("", X, 1, "GL_IDENTITY_NV"), # 0x862A + ("", X, 1, "GL_INVERSE_NV"), # 0x862B + ("", X, 1, "GL_TRANSPOSE_NV"), # 0x862C + ("", X, 1, "GL_INVERSE_TRANSPOSE_NV"), # 0x862D + ("glGet", I, 1, "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"), # 0x862E + ("glGet", I, 1, "GL_MAX_PROGRAM_MATRICES_ARB"), # 0x862F + ("", X, 1, "GL_MATRIX0_NV"), # 0x8630 + ("", X, 1, "GL_MATRIX1_NV"), # 0x8631 + ("", X, 1, "GL_MATRIX2_NV"), # 0x8632 + ("", X, 1, "GL_MATRIX3_NV"), # 0x8633 + ("", X, 1, "GL_MATRIX4_NV"), # 0x8634 + ("", X, 1, "GL_MATRIX5_NV"), # 0x8635 + ("", X, 1, "GL_MATRIX6_NV"), # 0x8636 + ("", X, 1, "GL_MATRIX7_NV"), # 0x8637 + ("glGet", I, 1, "GL_CURRENT_MATRIX_STACK_DEPTH_ARB"), # 0x8640 + ("glGet", F, 16, "GL_CURRENT_MATRIX_ARB"), # 0x8641 + ("glGet", B, 1, "GL_PROGRAM_POINT_SIZE"), # 0x8642 + ("glGet", B, 1, "GL_VERTEX_PROGRAM_TWO_SIDE"), # 0x8643 + ("", X, 1, "GL_PROGRAM_PARAMETER_NV"), # 0x8644 + ("glGetVertexAttrib", P, 1, "GL_VERTEX_ATTRIB_ARRAY_POINTER"), # 0x8645 + ("glGetProgramNV", I, 1, "GL_PROGRAM_TARGET_NV"), # 0x8646 + ("glGetProgramNV", B, 1, "GL_PROGRAM_RESIDENT_NV"), # 0x8647 + ("", X, 1, "GL_TRACK_MATRIX_NV"), # 0x8648 + ("", X, 1, "GL_TRACK_MATRIX_TRANSFORM_NV"), # 0x8649 + ("glGet", I, 1, "GL_VERTEX_PROGRAM_BINDING_NV"), # 0x864A + ("glGet", I, 1, "GL_PROGRAM_ERROR_POSITION_ARB"), # 0x864B + ("", X, 1, "GL_OFFSET_TEXTURE_RECTANGLE_NV"), # 0x864C + ("", X, 1, "GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV"), # 0x864D + ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV"), # 0x864E + ("glGet", B, 1, "GL_DEPTH_CLAMP"), # 0x864F + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY0_NV"), # 0x8650 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY1_NV"), # 0x8651 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY2_NV"), # 0x8652 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY3_NV"), # 0x8653 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY4_NV"), # 0x8654 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY5_NV"), # 0x8655 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY6_NV"), # 0x8656 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY7_NV"), # 0x8657 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY8_NV"), # 0x8658 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY9_NV"), # 0x8659 + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY10_NV"), # 0x865A + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY11_NV"), # 0x865B + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY12_NV"), # 0x865C + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY13_NV"), # 0x865D + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY14_NV"), # 0x865E + ("_glGet", B, 1, "GL_VERTEX_ATTRIB_ARRAY15_NV"), # 0x865F + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB0_4_NV"), # 0x8660 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB1_4_NV"), # 0x8661 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB2_4_NV"), # 0x8662 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB3_4_NV"), # 0x8663 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB4_4_NV"), # 0x8664 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB5_4_NV"), # 0x8665 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB6_4_NV"), # 0x8666 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB7_4_NV"), # 0x8667 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB8_4_NV"), # 0x8668 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB9_4_NV"), # 0x8669 + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB10_4_NV"), # 0x866A + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB11_4_NV"), # 0x866B + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB12_4_NV"), # 0x866C + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB13_4_NV"), # 0x866D + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB14_4_NV"), # 0x866E + ("", X, 1, "GL_MAP1_VERTEX_ATTRIB15_4_NV"), # 0x866F + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB0_4_NV"), # 0x8670 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB1_4_NV"), # 0x8671 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB2_4_NV"), # 0x8672 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB3_4_NV"), # 0x8673 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB4_4_NV"), # 0x8674 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB5_4_NV"), # 0x8675 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB6_4_NV"), # 0x8676 + ("glGetProgramARB", I, 1, "GL_PROGRAM_BINDING_ARB"), # 0x8677 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB8_4_NV"), # 0x8678 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB9_4_NV"), # 0x8679 + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB10_4_NV"), # 0x867A + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB11_4_NV"), # 0x867B + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB12_4_NV"), # 0x867C + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB13_4_NV"), # 0x867D + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB14_4_NV"), # 0x867E + ("", X, 1, "GL_MAP2_VERTEX_ATTRIB15_4_NV"), # 0x867F + ("", X, 1, "GL_TEXTURE_COMPRESSED_IMAGE_SIZE"), # 0x86A0 + ("glGetTexLevelParameter", B, 1, "GL_TEXTURE_COMPRESSED"), # 0x86A1 + ("", X, 1, "GL_NUM_COMPRESSED_TEXTURE_FORMATS"), # 0x86A2 + #XXX: the list is GL_NUM_COMPRESSED_TEXTURES + #("glGet", E, 1, "GL_COMPRESSED_TEXTURE_FORMATS"), # 0x86A3 + ("glGet", I, 1, "GL_MAX_VERTEX_UNITS_ARB"), # 0x86A4 + ("glGet", I, 1, "GL_ACTIVE_VERTEX_UNITS_ARB"), # 0x86A5 + ("glGet", B, 1, "GL_WEIGHT_SUM_UNITY_ARB"), # 0x86A6 + ("glGet", B, 1, "GL_VERTEX_BLEND_ARB"), # 0x86A7 + ("glGet", F, 1, "GL_CURRENT_WEIGHT_ARB"), # 0x86A8 + ("glGet", E, 1, "GL_WEIGHT_ARRAY_TYPE_ARB"), # 0x86A9 + ("glGet", I, 1, "GL_WEIGHT_ARRAY_STRIDE_ARB"), # 0x86AA + ("glGet", I, 1, "GL_WEIGHT_ARRAY_SIZE_ARB"), # 0x86AB + ("glGet", P, 1, "GL_WEIGHT_ARRAY_POINTER_ARB"), # 0x86AC + ("glGet", B, 1, "GL_WEIGHT_ARRAY_ARB"), # 0x86AD + ("", X, 1, "GL_DOT3_RGB"), # 0x86AE + ("", X, 1, "GL_DOT3_RGBA"), # 0x86AF + ("", X, 1, "GL_COMPRESSED_RGB_FXT1_3DFX"), # 0x86B0 + ("", X, 1, "GL_COMPRESSED_RGBA_FXT1_3DFX"), # 0x86B1 + ("", X, 1, "GL_MULTISAMPLE_3DFX"), # 0x86B2 + ("", X, 1, "GL_SAMPLE_BUFFERS_3DFX"), # 0x86B3 + ("", X, 1, "GL_SAMPLES_3DFX"), # 0x86B4 + ("", X, 1, "GL_EVAL_2D_NV"), # 0x86C0 + ("", X, 1, "GL_EVAL_TRIANGULAR_2D_NV"), # 0x86C1 + ("", X, 1, "GL_MAP_TESSELLATION_NV"), # 0x86C2 + ("", X, 1, "GL_MAP_ATTRIB_U_ORDER_NV"), # 0x86C3 + ("", X, 1, "GL_MAP_ATTRIB_V_ORDER_NV"), # 0x86C4 + ("", X, 1, "GL_EVAL_FRACTIONAL_TESSELLATION_NV"), # 0x86C5 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB0_NV"), # 0x86C6 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB1_NV"), # 0x86C7 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB2_NV"), # 0x86C8 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB3_NV"), # 0x86C9 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB4_NV"), # 0x86CA + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB5_NV"), # 0x86CB + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB6_NV"), # 0x86CC + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB7_NV"), # 0x86CD + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB8_NV"), # 0x86CE + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB9_NV"), # 0x86CF + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB10_NV"), # 0x86D0 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB11_NV"), # 0x86D1 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB12_NV"), # 0x86D2 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB13_NV"), # 0x86D3 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB14_NV"), # 0x86D4 + ("", X, 1, "GL_EVAL_VERTEX_ATTRIB15_NV"), # 0x86D5 + ("", X, 1, "GL_MAX_MAP_TESSELLATION_NV"), # 0x86D6 + ("", X, 1, "GL_MAX_RATIONAL_EVAL_ORDER_NV"), # 0x86D7 + ("", X, 1, "GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"), # 0x86D8 + ("glGetTexEnv", E, 1, "GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV"), # 0x86D9 + ("", X, 1, "GL_UNSIGNED_INT_S8_S8_8_8_NV"), # 0x86DA + ("", X, 1, "GL_UNSIGNED_INT_8_8_S8_S8_REV_NV"), # 0x86DB + ("", X, 1, "GL_DSDT_MAG_INTENSITY_NV"), # 0x86DC + ("", X, 1, "GL_SHADER_CONSISTENT_NV"), # 0x86DD + ("", X, 1, "GL_TEXTURE_SHADER_NV"), # 0x86DE + ("glGetTexEnv", E, 1, "GL_SHADER_OPERATION_NV"), # 0x86DF + ("glGetTexEnv", E, 4, "GL_CULL_MODES_NV"), # 0x86E0 + ("glGetTexEnv", F, 4, "GL_OFFSET_TEXTURE_MATRIX_NV"), # 0x86E1 + ("glGetTexEnv", F, 1, "GL_OFFSET_TEXTURE_SCALE_NV"), # 0x86E2 + ("glGetTexEnv", F, 1, "GL_OFFSET_TEXTURE_BIAS_NV"), # 0x86E3 + ("glGetTexEnv", E, 1, "GL_PREVIOUS_TEXTURE_INPUT_NV"), # 0x86E4 + ("glGetTexEnv", F, 3, "GL_CONST_EYE_NV"), # 0x86E5 + ("", X, 1, "GL_PASS_THROUGH_NV"), # 0x86E6 + ("", X, 1, "GL_CULL_FRAGMENT_NV"), # 0x86E7 + ("", X, 1, "GL_OFFSET_TEXTURE_2D_NV"), # 0x86E8 + ("", X, 1, "GL_DEPENDENT_AR_TEXTURE_2D_NV"), # 0x86E9 + ("", X, 1, "GL_DEPENDENT_GB_TEXTURE_2D_NV"), # 0x86EA + ("", X, 1, "GL_SURFACE_STATE_NV"), # 0x86EB + ("", X, 1, "GL_DOT_PRODUCT_NV"), # 0x86EC + ("", X, 1, "GL_DOT_PRODUCT_DEPTH_REPLACE_NV"), # 0x86ED + ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_2D_NV"), # 0x86EE + ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_3D_NV"), # 0x86EF + ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV"), # 0x86F0 + ("", X, 1, "GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV"), # 0x86F1 + ("", X, 1, "GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV"), # 0x86F2 + ("", X, 1, "GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV"), # 0x86F3 + ("", X, 1, "GL_HILO_NV"), # 0x86F4 + ("", X, 1, "GL_DSDT_NV"), # 0x86F5 + ("", X, 1, "GL_DSDT_MAG_NV"), # 0x86F6 + ("", X, 1, "GL_DSDT_MAG_VIB_NV"), # 0x86F7 + ("", X, 1, "GL_HILO16_NV"), # 0x86F8 + ("", X, 1, "GL_SIGNED_HILO_NV"), # 0x86F9 + ("", X, 1, "GL_SIGNED_HILO16_NV"), # 0x86FA + ("", X, 1, "GL_SIGNED_RGBA_NV"), # 0x86FB + ("", X, 1, "GL_SIGNED_RGBA8_NV"), # 0x86FC + ("", X, 1, "GL_SURFACE_REGISTERED_NV"), # 0x86FD + ("", X, 1, "GL_SIGNED_RGB_NV"), # 0x86FE + ("", X, 1, "GL_SIGNED_RGB8_NV"), # 0x86FF + ("", X, 1, "GL_SURFACE_MAPPED_NV"), # 0x8700 + ("", X, 1, "GL_SIGNED_LUMINANCE_NV"), # 0x8701 + ("", X, 1, "GL_SIGNED_LUMINANCE8_NV"), # 0x8702 + ("", X, 1, "GL_SIGNED_LUMINANCE_ALPHA_NV"), # 0x8703 + ("", X, 1, "GL_SIGNED_LUMINANCE8_ALPHA8_NV"), # 0x8704 + ("", X, 1, "GL_SIGNED_ALPHA_NV"), # 0x8705 + ("", X, 1, "GL_SIGNED_ALPHA8_NV"), # 0x8706 + ("", X, 1, "GL_SIGNED_INTENSITY_NV"), # 0x8707 + ("", X, 1, "GL_SIGNED_INTENSITY8_NV"), # 0x8708 + ("", X, 1, "GL_DSDT8_NV"), # 0x8709 + ("", X, 1, "GL_DSDT8_MAG8_NV"), # 0x870A + ("", X, 1, "GL_DSDT8_MAG8_INTENSITY8_NV"), # 0x870B + ("", X, 1, "GL_SIGNED_RGB_UNSIGNED_ALPHA_NV"), # 0x870C + ("", X, 1, "GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"), # 0x870D + ("", X, 1, "GL_HI_SCALE_NV"), # 0x870E + ("", X, 1, "GL_LO_SCALE_NV"), # 0x870F + ("", X, 1, "GL_DS_SCALE_NV"), # 0x8710 + ("", X, 1, "GL_DT_SCALE_NV"), # 0x8711 + ("", X, 1, "GL_MAGNITUDE_SCALE_NV"), # 0x8712 + ("", X, 1, "GL_VIBRANCE_SCALE_NV"), # 0x8713 + ("", X, 1, "GL_HI_BIAS_NV"), # 0x8714 + ("", X, 1, "GL_LO_BIAS_NV"), # 0x8715 + ("", X, 1, "GL_DS_BIAS_NV"), # 0x8716 + ("", X, 1, "GL_DT_BIAS_NV"), # 0x8717 + ("", X, 1, "GL_MAGNITUDE_BIAS_NV"), # 0x8718 + ("", X, 1, "GL_VIBRANCE_BIAS_NV"), # 0x8719 + ("", X, 1, "GL_TEXTURE_BORDER_VALUES_NV"), # 0x871A + ("", X, 1, "GL_TEXTURE_HI_SIZE_NV"), # 0x871B + ("", X, 1, "GL_TEXTURE_LO_SIZE_NV"), # 0x871C + ("", X, 1, "GL_TEXTURE_DS_SIZE_NV"), # 0x871D + ("", X, 1, "GL_TEXTURE_DT_SIZE_NV"), # 0x871E + ("", X, 1, "GL_TEXTURE_MAG_SIZE_NV"), # 0x871F + ("_glGet", F, 16, "GL_MODELVIEW2_ARB"), # 0x8722 + ("_glGet", F, 16, "GL_MODELVIEW3_ARB"), # 0x8723 + ("_glGet", F, 16, "GL_MODELVIEW4_ARB"), # 0x8724 + ("_glGet", F, 16, "GL_MODELVIEW5_ARB"), # 0x8725 + ("_glGet", F, 16, "GL_MODELVIEW6_ARB"), # 0x8726 + ("_glGet", F, 16, "GL_MODELVIEW7_ARB"), # 0x8727 + ("_glGet", F, 16, "GL_MODELVIEW8_ARB"), # 0x8728 + ("_glGet", F, 16, "GL_MODELVIEW9_ARB"), # 0x8729 + ("_glGet", F, 16, "GL_MODELVIEW10_ARB"), # 0x872A + ("_glGet", F, 16, "GL_MODELVIEW11_ARB"), # 0x872B + ("_glGet", F, 16, "GL_MODELVIEW12_ARB"), # 0x872C + ("_glGet", F, 16, "GL_MODELVIEW13_ARB"), # 0x872D + ("_glGet", F, 16, "GL_MODELVIEW14_ARB"), # 0x872E + ("_glGet", F, 16, "GL_MODELVIEW15_ARB"), # 0x872F + ("_glGet", F, 16, "GL_MODELVIEW16_ARB"), # 0x8730 + ("_glGet", F, 16, "GL_MODELVIEW17_ARB"), # 0x8731 + ("_glGet", F, 16, "GL_MODELVIEW18_ARB"), # 0x8732 + ("_glGet", F, 16, "GL_MODELVIEW19_ARB"), # 0x8733 + ("_glGet", F, 16, "GL_MODELVIEW20_ARB"), # 0x8734 + ("_glGet", F, 16, "GL_MODELVIEW21_ARB"), # 0x8735 + ("_glGet", F, 16, "GL_MODELVIEW22_ARB"), # 0x8736 + ("_glGet", F, 16, "GL_MODELVIEW23_ARB"), # 0x8737 + ("_glGet", F, 16, "GL_MODELVIEW24_ARB"), # 0x8738 + ("_glGet", F, 16, "GL_MODELVIEW25_ARB"), # 0x8739 + ("_glGet", F, 16, "GL_MODELVIEW26_ARB"), # 0x873A + ("_glGet", F, 16, "GL_MODELVIEW27_ARB"), # 0x873B + ("_glGet", F, 16, "GL_MODELVIEW28_ARB"), # 0x873C + ("_glGet", F, 16, "GL_MODELVIEW29_ARB"), # 0x873D + ("_glGet", F, 16, "GL_MODELVIEW30_ARB"), # 0x873E + ("_glGet", F, 16, "GL_MODELVIEW31_ARB"), # 0x873F + ("", X, 1, "GL_DOT3_RGB_EXT"), # 0x8740 + ("", X, 1, "GL_DOT3_RGBA_EXT"), # 0x8741 + ("", X, 1, "GL_MIRROR_CLAMP_ATI"), # 0x8742 + ("", X, 1, "GL_MIRROR_CLAMP_TO_EDGE_ATI"), # 0x8743 + ("", X, 1, "GL_MODULATE_ADD_ATI"), # 0x8744 + ("", X, 1, "GL_MODULATE_SIGNED_ADD_ATI"), # 0x8745 + ("", X, 1, "GL_MODULATE_SUBTRACT_ATI"), # 0x8746 + ("", X, 1, "GL_YCBCR_MESA"), # 0x8757 + ("glGet", B, 1, "GL_PACK_INVERT_MESA"), # 0x8758 + ("", X, 1, "GL_TEXTURE_1D_STACK_MESAX"), # 0x8759 + ("", X, 1, "GL_TEXTURE_2D_STACK_MESAX"), # 0x875A + ("", X, 1, "GL_PROXY_TEXTURE_1D_STACK_MESAX"), # 0x875B + ("", X, 1, "GL_PROXY_TEXTURE_2D_STACK_MESAX"), # 0x875C + ("", X, 1, "GL_TEXTURE_1D_STACK_BINDING_MESAX"), # 0x875D + ("", X, 1, "GL_TEXTURE_2D_STACK_BINDING_MESAX"), # 0x875E + ("", X, 1, "GL_STATIC_ATI"), # 0x8760 + ("", X, 1, "GL_DYNAMIC_ATI"), # 0x8761 + ("", X, 1, "GL_PRESERVE_ATI"), # 0x8762 + ("", X, 1, "GL_DISCARD_ATI"), # 0x8763 + ("glGetBufferParameter", I, 1, "GL_BUFFER_SIZE"), # 0x8764 + ("glGetBufferParameter", E, 1, "GL_BUFFER_USAGE"), # 0x8765 + ("", X, 1, "GL_ARRAY_OBJECT_BUFFER_ATI"), # 0x8766 + ("", X, 1, "GL_ARRAY_OBJECT_OFFSET_ATI"), # 0x8767 + ("", X, 1, "GL_ELEMENT_ARRAY_ATI"), # 0x8768 + ("glGet", E, 1, "GL_ELEMENT_ARRAY_TYPE_ATI"), # 0x8769 + ("", X, 1, "GL_ELEMENT_ARRAY_POINTER_ATI"), # 0x876A + ("", X, 1, "GL_MAX_VERTEX_STREAMS_ATI"), # 0x876B + ("", X, 1, "GL_VERTEX_STREAM0_ATI"), # 0x876C + ("", X, 1, "GL_VERTEX_STREAM1_ATI"), # 0x876D + ("", X, 1, "GL_VERTEX_STREAM2_ATI"), # 0x876E + ("", X, 1, "GL_VERTEX_STREAM3_ATI"), # 0x876F + ("", X, 1, "GL_VERTEX_STREAM4_ATI"), # 0x8770 + ("", X, 1, "GL_VERTEX_STREAM5_ATI"), # 0x8771 + ("", X, 1, "GL_VERTEX_STREAM6_ATI"), # 0x8772 + ("", X, 1, "GL_VERTEX_STREAM7_ATI"), # 0x8773 + ("", X, 1, "GL_VERTEX_SOURCE_ATI"), # 0x8774 + ("", X, 1, "GL_BUMP_ROT_MATRIX_ATI"), # 0x8775 + ("", X, 1, "GL_BUMP_ROT_MATRIX_SIZE_ATI"), # 0x8776 + ("", X, 1, "GL_BUMP_NUM_TEX_UNITS_ATI"), # 0x8777 + ("", X, 1, "GL_BUMP_TEX_UNITS_ATI"), # 0x8778 + ("", X, 1, "GL_DUDV_ATI"), # 0x8779 + ("", X, 1, "GL_DU8DV8_ATI"), # 0x877A + ("", X, 1, "GL_BUMP_ENVMAP_ATI"), # 0x877B + ("glGetTexEnv", E, 1, "GL_BUMP_TARGET_ATI"), # 0x877C + ("", X, 1, "GL_VERTEX_SHADER_EXT"), # 0x8780 + ("glGet", I, 1, "GL_VERTEX_SHADER_BINDING_EXT"), # 0x8781 + ("", X, 1, "GL_OP_INDEX_EXT"), # 0x8782 + ("", X, 1, "GL_OP_NEGATE_EXT"), # 0x8783 + ("", X, 1, "GL_OP_DOT3_EXT"), # 0x8784 + ("", X, 1, "GL_OP_DOT4_EXT"), # 0x8785 + ("", X, 1, "GL_OP_MUL_EXT"), # 0x8786 + ("", X, 1, "GL_OP_ADD_EXT"), # 0x8787 + ("", X, 1, "GL_OP_MADD_EXT"), # 0x8788 + ("", X, 1, "GL_OP_FRAC_EXT"), # 0x8789 + ("", X, 1, "GL_OP_MAX_EXT"), # 0x878A + ("", X, 1, "GL_OP_MIN_EXT"), # 0x878B + ("", X, 1, "GL_OP_SET_GE_EXT"), # 0x878C + ("", X, 1, "GL_OP_SET_LT_EXT"), # 0x878D + ("", X, 1, "GL_OP_CLAMP_EXT"), # 0x878E + ("", X, 1, "GL_OP_FLOOR_EXT"), # 0x878F + ("", X, 1, "GL_OP_ROUND_EXT"), # 0x8790 + ("", X, 1, "GL_OP_EXP_BASE_2_EXT"), # 0x8791 + ("", X, 1, "GL_OP_LOG_BASE_2_EXT"), # 0x8792 + ("", X, 1, "GL_OP_POWER_EXT"), # 0x8793 + ("", X, 1, "GL_OP_RECIP_EXT"), # 0x8794 + ("", X, 1, "GL_OP_RECIP_SQRT_EXT"), # 0x8795 + ("", X, 1, "GL_OP_SUB_EXT"), # 0x8796 + ("", X, 1, "GL_OP_CROSS_PRODUCT_EXT"), # 0x8797 + ("", X, 1, "GL_OP_MULTIPLY_MATRIX_EXT"), # 0x8798 + ("", X, 1, "GL_OP_MOV_EXT"), # 0x8799 + ("", X, 1, "GL_OUTPUT_VERTEX_EXT"), # 0x879A + ("", X, 1, "GL_OUTPUT_COLOR0_EXT"), # 0x879B + ("", X, 1, "GL_OUTPUT_COLOR1_EXT"), # 0x879C + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD0_EXT"), # 0x879D + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD1_EXT"), # 0x879E + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD2_EXT"), # 0x879F + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD3_EXT"), # 0x87A0 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD4_EXT"), # 0x87A1 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD5_EXT"), # 0x87A2 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD6_EXT"), # 0x87A3 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD7_EXT"), # 0x87A4 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD8_EXT"), # 0x87A5 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD9_EXT"), # 0x87A6 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD10_EXT"), # 0x87A7 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD11_EXT"), # 0x87A8 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD12_EXT"), # 0x87A9 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD13_EXT"), # 0x87AA + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD14_EXT"), # 0x87AB + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD15_EXT"), # 0x87AC + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD16_EXT"), # 0x87AD + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD17_EXT"), # 0x87AE + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD18_EXT"), # 0x87AF + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD19_EXT"), # 0x87B0 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD20_EXT"), # 0x87B1 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD21_EXT"), # 0x87B2 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD22_EXT"), # 0x87B3 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD23_EXT"), # 0x87B4 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD24_EXT"), # 0x87B5 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD25_EXT"), # 0x87B6 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD26_EXT"), # 0x87B7 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD27_EXT"), # 0x87B8 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD28_EXT"), # 0x87B9 + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD29_EXT"), # 0x87BA + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD30_EXT"), # 0x87BB + ("", X, 1, "GL_OUTPUT_TEXTURE_COORD31_EXT"), # 0x87BC + ("", X, 1, "GL_OUTPUT_FOG_EXT"), # 0x87BD + ("", X, 1, "GL_SCALAR_EXT"), # 0x87BE + ("", X, 1, "GL_VECTOR_EXT"), # 0x87BF + ("", X, 1, "GL_MATRIX_EXT"), # 0x87C0 + ("", X, 1, "GL_VARIANT_EXT"), # 0x87C1 + ("", X, 1, "GL_INVARIANT_EXT"), # 0x87C2 + ("", X, 1, "GL_LOCAL_CONSTANT_EXT"), # 0x87C3 + ("", X, 1, "GL_LOCAL_EXT"), # 0x87C4 + ("", X, 1, "GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"), # 0x87C5 + ("", X, 1, "GL_MAX_VERTEX_SHADER_VARIANTS_EXT"), # 0x87C6 + ("", X, 1, "GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"), # 0x87C7 + ("", X, 1, "GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"), # 0x87C8 + ("", X, 1, "GL_MAX_VERTEX_SHADER_LOCALS_EXT"), # 0x87C9 + ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"), # 0x87CA + ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"), # 0x87CB + ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"), # 0x87CC + ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"), # 0x87CD + ("", X, 1, "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"), # 0x87CE + ("", X, 1, "GL_VERTEX_SHADER_INSTRUCTIONS_EXT"), # 0x87CF + ("", X, 1, "GL_VERTEX_SHADER_VARIANTS_EXT"), # 0x87D0 + ("", X, 1, "GL_VERTEX_SHADER_INVARIANTS_EXT"), # 0x87D1 + ("", X, 1, "GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"), # 0x87D2 + ("", X, 1, "GL_VERTEX_SHADER_LOCALS_EXT"), # 0x87D3 + ("", X, 1, "GL_VERTEX_SHADER_OPTIMIZED_EXT"), # 0x87D4 + ("", X, 1, "GL_X_EXT"), # 0x87D5 + ("", X, 1, "GL_Y_EXT"), # 0x87D6 + ("", X, 1, "GL_Z_EXT"), # 0x87D7 + ("", X, 1, "GL_W_EXT"), # 0x87D8 + ("", X, 1, "GL_NEGATIVE_X_EXT"), # 0x87D9 + ("", X, 1, "GL_NEGATIVE_Y_EXT"), # 0x87DA + ("", X, 1, "GL_NEGATIVE_Z_EXT"), # 0x87DB + ("", X, 1, "GL_NEGATIVE_W_EXT"), # 0x87DC + ("", X, 1, "GL_ZERO_EXT"), # 0x87DD + ("", X, 1, "GL_ONE_EXT"), # 0x87DE + ("", X, 1, "GL_NEGATIVE_ONE_EXT"), # 0x87DF + ("", X, 1, "GL_NORMALIZED_RANGE_EXT"), # 0x87E0 + ("", X, 1, "GL_FULL_RANGE_EXT"), # 0x87E1 + ("", X, 1, "GL_CURRENT_VERTEX_EXT"), # 0x87E2 + ("", X, 1, "GL_MVP_MATRIX_EXT"), # 0x87E3 + ("", X, 1, "GL_VARIANT_VALUE_EXT"), # 0x87E4 + ("", X, 1, "GL_VARIANT_DATATYPE_EXT"), # 0x87E5 + ("", X, 1, "GL_VARIANT_ARRAY_STRIDE_EXT"), # 0x87E6 + ("glGet", E, 1, "GL_VARIANT_ARRAY_TYPE_EXT"), # 0x87E7 + ("", X, 1, "GL_VARIANT_ARRAY_EXT"), # 0x87E8 + ("", X, 1, "GL_VARIANT_ARRAY_POINTER_EXT"), # 0x87E9 + ("", X, 1, "GL_INVARIANT_VALUE_EXT"), # 0x87EA + ("", X, 1, "GL_INVARIANT_DATATYPE_EXT"), # 0x87EB + ("", X, 1, "GL_LOCAL_CONSTANT_VALUE_EXT"), # 0x87EC + ("", X, 1, "GL_LOCAL_CONSTANT_DATATYPE_EXT"), # 0x87ED + ("", X, 1, "GL_PN_TRIANGLES_ATI"), # 0x87F0 + ("", X, 1, "GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"), # 0x87F1 + ("", X, 1, "GL_PN_TRIANGLES_POINT_MODE_ATI"), # 0x87F2 + ("", X, 1, "GL_PN_TRIANGLES_NORMAL_MODE_ATI"), # 0x87F3 + ("", X, 1, "GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"), # 0x87F4 + ("", X, 1, "GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"), # 0x87F5 + ("", X, 1, "GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"), # 0x87F6 + ("", X, 1, "GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"), # 0x87F7 + ("", X, 1, "GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"), # 0x87F8 + ("", X, 1, "GL_VBO_FREE_MEMORY_ATI"), # 0x87FB + ("", X, 1, "GL_TEXTURE_FREE_MEMORY_ATI"), # 0x87FC + ("", X, 1, "GL_RENDERBUFFER_FREE_MEMORY_ATI"), # 0x87FD + ("", X, 1, "GL_NUM_PROGRAM_BINARY_FORMATS"), # 0x87FE + ("", X, 1, "GL_PROGRAM_BINARY_FORMATS"), # 0x87FF + ("glGet", E, 1, "GL_STENCIL_BACK_FUNC"), # 0x8800 + ("glGet", E, 1, "GL_STENCIL_BACK_FAIL"), # 0x8801 + ("glGet", E, 1, "GL_STENCIL_BACK_PASS_DEPTH_FAIL"), # 0x8802 + ("glGet", E, 1, "GL_STENCIL_BACK_PASS_DEPTH_PASS"), # 0x8803 + ("_glGet", B, 1, "GL_FRAGMENT_PROGRAM_ARB"), # 0x8804 + ("glGetProgramARB", I, 1, "GL_PROGRAM_ALU_INSTRUCTIONS_ARB"), # 0x8805 + ("glGetProgramARB", I, 1, "GL_PROGRAM_TEX_INSTRUCTIONS_ARB"), # 0x8806 + ("glGetProgramARB", I, 1, "GL_PROGRAM_TEX_INDIRECTIONS_ARB"), # 0x8807 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"), # 0x8808 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"), # 0x8809 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"), # 0x880A + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"), # 0x880B + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"), # 0x880C + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"), # 0x880D + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"), # 0x880E + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"), # 0x880F + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"), # 0x8810 + ("", X, 1, "GL_RGBA32F"), # 0x8814 + ("", X, 1, "GL_RGB32F"), # 0x8815 + ("", X, 1, "GL_ALPHA32F_ARB"), # 0x8816 + ("", X, 1, "GL_INTENSITY32F_ARB"), # 0x8817 + ("", X, 1, "GL_LUMINANCE32F_ARB"), # 0x8818 + ("", X, 1, "GL_LUMINANCE_ALPHA32F_ARB"), # 0x8819 + ("", X, 1, "GL_RGBA16F"), # 0x881A + ("", X, 1, "GL_RGB16F"), # 0x881B + ("", X, 1, "GL_ALPHA16F_ARB"), # 0x881C + ("", X, 1, "GL_INTENSITY16F_ARB"), # 0x881D + ("", X, 1, "GL_LUMINANCE16F_ARB"), # 0x881E + ("", X, 1, "GL_LUMINANCE_ALPHA16F_ARB"), # 0x881F + ("", X, 1, "GL_RGBA_FLOAT_MODE_ARB"), # 0x8820 + ("glGet", I, 1, "GL_MAX_DRAW_BUFFERS"), # 0x8824 + ("glGet", E, 1, "GL_DRAW_BUFFER0"), # 0x8825 + ("glGet", E, 1, "GL_DRAW_BUFFER1"), # 0x8826 + ("glGet", E, 1, "GL_DRAW_BUFFER2"), # 0x8827 + ("glGet", E, 1, "GL_DRAW_BUFFER3"), # 0x8828 + ("glGet", E, 1, "GL_DRAW_BUFFER4"), # 0x8829 + ("glGet", E, 1, "GL_DRAW_BUFFER5"), # 0x882A + ("glGet", E, 1, "GL_DRAW_BUFFER6"), # 0x882B + ("glGet", E, 1, "GL_DRAW_BUFFER7"), # 0x882C + ("glGet", E, 1, "GL_DRAW_BUFFER8"), # 0x882D + ("glGet", E, 1, "GL_DRAW_BUFFER9"), # 0x882E + ("glGet", E, 1, "GL_DRAW_BUFFER10"), # 0x882F + ("glGet", E, 1, "GL_DRAW_BUFFER11"), # 0x8830 + ("glGet", E, 1, "GL_DRAW_BUFFER12"), # 0x8831 + ("glGet", E, 1, "GL_DRAW_BUFFER13"), # 0x8832 + ("glGet", E, 1, "GL_DRAW_BUFFER14"), # 0x8833 + ("glGet", E, 1, "GL_DRAW_BUFFER15"), # 0x8834 + ("", X, 1, "GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"), # 0x8835 + ("glGet", E, 1, "GL_BLEND_EQUATION_ALPHA"), # 0x883D + ("glGet", B, 1, "GL_MATRIX_PALETTE_ARB"), # 0x8840 + ("glGet", I, 1, "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"), # 0x8841 + ("glGet", I, 1, "GL_MAX_PALETTE_MATRICES_ARB"), # 0x8842 + ("glGet", I, 1, "GL_CURRENT_PALETTE_MATRIX_ARB"), # 0x8843 + ("glGet", B, 1, "GL_MATRIX_INDEX_ARRAY_ARB"), # 0x8844 + ("glGet", I, 1, "GL_CURRENT_MATRIX_INDEX_ARB"), # 0x8845 + ("glGet", I, 1, "GL_MATRIX_INDEX_ARRAY_SIZE_ARB"), # 0x8846 + ("glGet", E, 1, "GL_MATRIX_INDEX_ARRAY_TYPE_ARB"), # 0x8847 + ("glGet", I, 1, "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"), # 0x8848 + ("glGet", P, 1, "GL_MATRIX_INDEX_ARRAY_POINTER_ARB"), # 0x8849 + ("glGetTexLevelParameter", I, 1, "GL_TEXTURE_DEPTH_SIZE"), # 0x884A + ("glGetTexParameter", E, 1, "GL_DEPTH_TEXTURE_MODE"), # 0x884B + ("glGetTexParameter", E, 1, "GL_TEXTURE_COMPARE_MODE"), # 0x884C + ("glGetTexParameter", E, 1, "GL_TEXTURE_COMPARE_FUNC"), # 0x884D + ("", X, 1, "GL_COMPARE_REF_TO_TEXTURE"), # 0x884E + ("glGet", B, 1, "GL_TEXTURE_CUBE_MAP_SEAMLESS"), # 0x884F + ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV"), # 0x8850 + ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV"), # 0x8851 + ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV"), # 0x8852 + ("", X, 1, "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV"), # 0x8853 + ("", X, 1, "GL_OFFSET_HILO_TEXTURE_2D_NV"), # 0x8854 + ("", X, 1, "GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV"), # 0x8855 + ("", X, 1, "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV"), # 0x8856 + ("", X, 1, "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV"), # 0x8857 + ("", X, 1, "GL_DEPENDENT_HILO_TEXTURE_2D_NV"), # 0x8858 + ("", X, 1, "GL_DEPENDENT_RGB_TEXTURE_3D_NV"), # 0x8859 + ("", X, 1, "GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV"), # 0x885A + ("", X, 1, "GL_DOT_PRODUCT_PASS_THROUGH_NV"), # 0x885B + ("", X, 1, "GL_DOT_PRODUCT_TEXTURE_1D_NV"), # 0x885C + ("", X, 1, "GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV"), # 0x885D + ("", X, 1, "GL_HILO8_NV"), # 0x885E + ("", X, 1, "GL_SIGNED_HILO8_NV"), # 0x885F + ("", X, 1, "GL_FORCE_BLUE_TO_ONE_NV"), # 0x8860 + ("_glGet", B, 1, "GL_POINT_SPRITE"), # 0x8861 + ("glGetTexEnv", B, 1, "GL_COORD_REPLACE"), # 0x8862 + ("glGet", E, 1, "GL_POINT_SPRITE_R_MODE_NV"), # 0x8863 + ("glGetQuery", I, 1, "GL_QUERY_COUNTER_BITS"), # 0x8864 + ("glGetQuery", I, 1, "GL_CURRENT_QUERY"), # 0x8865 + ("glGetQueryObject", I, 1, "GL_QUERY_RESULT"), # 0x8866 + ("glGetQueryObject", B, 1, "GL_QUERY_RESULT_AVAILABLE"), # 0x8867 + ("", X, 1, "GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"), # 0x8868 + ("glGet", I, 1, "GL_MAX_VERTEX_ATTRIBS"), # 0x8869 + ("glGetVertexAttrib", B, 1, "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"), # 0x886A + ("", X, 1, "GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"), # 0x886C + ("", X, 1, "GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"), # 0x886D + ("", X, 1, "GL_DEPTH_STENCIL_TO_RGBA_NV"), # 0x886E + ("", X, 1, "GL_DEPTH_STENCIL_TO_BGRA_NV"), # 0x886F + ("", X, 1, "GL_FRAGMENT_PROGRAM_NV"), # 0x8870 + ("glGet", I, 1, "GL_MAX_TEXTURE_COORDS"), # 0x8871 + ("glGet", I, 1, "GL_MAX_TEXTURE_IMAGE_UNITS"), # 0x8872 + ("glGet", I, 1, "GL_FRAGMENT_PROGRAM_BINDING_NV"), # 0x8873 + ("glGet", S, 1, "GL_PROGRAM_ERROR_STRING_ARB"), # 0x8874 + ("", X, 1, "GL_PROGRAM_FORMAT_ASCII_ARB"), # 0x8875 + ("glGetProgramARB", E, 1, "GL_PROGRAM_FORMAT_ARB"), # 0x8876 + ("", X, 1, "GL_WRITE_PIXEL_DATA_RANGE_NV"), # 0x8878 + ("", X, 1, "GL_READ_PIXEL_DATA_RANGE_NV"), # 0x8879 + ("", X, 1, "GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"), # 0x887A + ("", X, 1, "GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"), # 0x887B + ("", X, 1, "GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"), # 0x887C + ("", X, 1, "GL_READ_PIXEL_DATA_RANGE_POINTER_NV"), # 0x887D + ("", X, 1, "GL_GEOMETRY_SHADER_INVOCATIONS"), # 0x887F + ("", X, 1, "GL_FLOAT_R_NV"), # 0x8880 + ("", X, 1, "GL_FLOAT_RG_NV"), # 0x8881 + ("", X, 1, "GL_FLOAT_RGB_NV"), # 0x8882 + ("", X, 1, "GL_FLOAT_RGBA_NV"), # 0x8883 + ("", X, 1, "GL_FLOAT_R16_NV"), # 0x8884 + ("", X, 1, "GL_FLOAT_R32_NV"), # 0x8885 + ("", X, 1, "GL_FLOAT_RG16_NV"), # 0x8886 + ("", X, 1, "GL_FLOAT_RG32_NV"), # 0x8887 + ("", X, 1, "GL_FLOAT_RGB16_NV"), # 0x8888 + ("", X, 1, "GL_FLOAT_RGB32_NV"), # 0x8889 + ("", X, 1, "GL_FLOAT_RGBA16_NV"), # 0x888A + ("", X, 1, "GL_FLOAT_RGBA32_NV"), # 0x888B + ("", X, 1, "GL_TEXTURE_FLOAT_COMPONENTS_NV"), # 0x888C + ("", X, 1, "GL_FLOAT_CLEAR_COLOR_VALUE_NV"), # 0x888D + ("", X, 1, "GL_FLOAT_RGBA_MODE_NV"), # 0x888E + ("glGetTexParameter", E, 1, "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV"), # 0x888F + ("glGet", B, 1, "GL_DEPTH_BOUNDS_TEST_EXT"), # 0x8890 + ("glGet", F, 2, "GL_DEPTH_BOUNDS_EXT"), # 0x8891 + ("", X, 1, "GL_ARRAY_BUFFER"), # 0x8892 + ("", X, 1, "GL_ELEMENT_ARRAY_BUFFER"), # 0x8893 + ("glGet", I, 1, "GL_ARRAY_BUFFER_BINDING"), # 0x8894 + ("glGet", I, 1, "GL_ELEMENT_ARRAY_BUFFER_BINDING"), # 0x8895 + ("glGet", I, 1, "GL_VERTEX_ARRAY_BUFFER_BINDING"), # 0x8896 + ("glGet", I, 1, "GL_NORMAL_ARRAY_BUFFER_BINDING"), # 0x8897 + ("glGet", I, 1, "GL_COLOR_ARRAY_BUFFER_BINDING"), # 0x8898 + ("glGet", I, 1, "GL_INDEX_ARRAY_BUFFER_BINDING"), # 0x8899 + ("glGet", I, 1, "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"), # 0x889A + ("glGet", I, 1, "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"), # 0x889B + ("glGet", I, 1, "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"), # 0x889C + ("glGet", I, 1, "GL_FOG_COORD_ARRAY_BUFFER_BINDING"), # 0x889D + ("glGet", I, 1, "GL_WEIGHT_ARRAY_BUFFER_BINDING"), # 0x889E + ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"), # 0x889F + ("glGetProgramARB", I, 1, "GL_PROGRAM_INSTRUCTIONS_ARB"), # 0x88A0 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_INSTRUCTIONS_ARB"), # 0x88A1 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"), # 0x88A2 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"), # 0x88A3 + ("glGetProgramARB", I, 1, "GL_PROGRAM_TEMPORARIES_ARB"), # 0x88A4 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_TEMPORARIES_ARB"), # 0x88A5 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_TEMPORARIES_ARB"), # 0x88A6 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"), # 0x88A7 + ("glGetProgramARB", I, 1, "GL_PROGRAM_PARAMETERS_ARB"), # 0x88A8 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_PARAMETERS_ARB"), # 0x88A9 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_PARAMETERS_ARB"), # 0x88AA + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"), # 0x88AB + ("glGetProgramARB", I, 1, "GL_PROGRAM_ATTRIBS_ARB"), # 0x88AC + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ATTRIBS_ARB"), # 0x88AD + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_ATTRIBS_ARB"), # 0x88AE + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"), # 0x88AF + ("glGetProgramARB", I, 1, "GL_PROGRAM_ADDRESS_REGISTERS_ARB"), # 0x88B0 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"), # 0x88B1 + ("glGetProgramARB", I, 1, "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"), # 0x88B2 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"), # 0x88B3 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"), # 0x88B4 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"), # 0x88B5 + ("glGetProgramARB", B, 1, "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"), # 0x88B6 + ("glGet", E, 1, "GL_TRANSPOSE_CURRENT_MATRIX_ARB"), # 0x88B7 + ("", X, 1, "GL_READ_ONLY"), # 0x88B8 + ("", X, 1, "GL_WRITE_ONLY"), # 0x88B9 + ("", X, 1, "GL_READ_WRITE"), # 0x88BA + ("glGetBufferParameter", E, 1, "GL_BUFFER_ACCESS"), # 0x88BB + ("glGetBufferParameter", B, 1, "GL_BUFFER_MAPPED"), # 0x88BC + ("glGetBufferParameter", P, 1, "GL_BUFFER_MAP_POINTER"), # 0x88BD + ("", X, 1, "GL_WRITE_DISCARD_NV"), # 0x88BE + ("", X, 1, "GL_TIME_ELAPSED"), # 0x88BF + ("", X, 1, "GL_MATRIX0_ARB"), # 0x88C0 + ("", X, 1, "GL_MATRIX1_ARB"), # 0x88C1 + ("", X, 1, "GL_MATRIX2_ARB"), # 0x88C2 + ("", X, 1, "GL_MATRIX3_ARB"), # 0x88C3 + ("", X, 1, "GL_MATRIX4_ARB"), # 0x88C4 + ("", X, 1, "GL_MATRIX5_ARB"), # 0x88C5 + ("", X, 1, "GL_MATRIX6_ARB"), # 0x88C6 + ("", X, 1, "GL_MATRIX7_ARB"), # 0x88C7 + ("", X, 1, "GL_MATRIX8_ARB"), # 0x88C8 + ("", X, 1, "GL_MATRIX9_ARB"), # 0x88C9 + ("", X, 1, "GL_MATRIX10_ARB"), # 0x88CA + ("", X, 1, "GL_MATRIX11_ARB"), # 0x88CB + ("", X, 1, "GL_MATRIX12_ARB"), # 0x88CC + ("", X, 1, "GL_MATRIX13_ARB"), # 0x88CD + ("", X, 1, "GL_MATRIX14_ARB"), # 0x88CE + ("", X, 1, "GL_MATRIX15_ARB"), # 0x88CF + ("", X, 1, "GL_MATRIX16_ARB"), # 0x88D0 + ("", X, 1, "GL_MATRIX17_ARB"), # 0x88D1 + ("", X, 1, "GL_MATRIX18_ARB"), # 0x88D2 + ("", X, 1, "GL_MATRIX19_ARB"), # 0x88D3 + ("", X, 1, "GL_MATRIX20_ARB"), # 0x88D4 + ("", X, 1, "GL_MATRIX21_ARB"), # 0x88D5 + ("", X, 1, "GL_MATRIX22_ARB"), # 0x88D6 + ("", X, 1, "GL_MATRIX23_ARB"), # 0x88D7 + ("", X, 1, "GL_MATRIX24_ARB"), # 0x88D8 + ("", X, 1, "GL_MATRIX25_ARB"), # 0x88D9 + ("", X, 1, "GL_MATRIX26_ARB"), # 0x88DA + ("", X, 1, "GL_MATRIX27_ARB"), # 0x88DB + ("", X, 1, "GL_MATRIX28_ARB"), # 0x88DC + ("", X, 1, "GL_MATRIX29_ARB"), # 0x88DD + ("", X, 1, "GL_MATRIX30_ARB"), # 0x88DE + ("", X, 1, "GL_MATRIX31_ARB"), # 0x88DF + ("", X, 1, "GL_STREAM_DRAW"), # 0x88E0 + ("", X, 1, "GL_STREAM_READ"), # 0x88E1 + ("", X, 1, "GL_STREAM_COPY"), # 0x88E2 + ("", X, 1, "GL_STATIC_DRAW"), # 0x88E4 + ("", X, 1, "GL_STATIC_READ"), # 0x88E5 + ("", X, 1, "GL_STATIC_COPY"), # 0x88E6 + ("", X, 1, "GL_DYNAMIC_DRAW"), # 0x88E8 + ("", X, 1, "GL_DYNAMIC_READ"), # 0x88E9 + ("", X, 1, "GL_DYNAMIC_COPY"), # 0x88EA + ("", X, 1, "GL_PIXEL_PACK_BUFFER"), # 0x88EB + ("", X, 1, "GL_PIXEL_UNPACK_BUFFER"), # 0x88EC + ("glGet", I, 1, "GL_PIXEL_PACK_BUFFER_BINDING"), # 0x88ED + ("glGet", I, 1, "GL_PIXEL_UNPACK_BUFFER_BINDING"), # 0x88EF + ("", X, 1, "GL_DEPTH24_STENCIL8"), # 0x88F0 + ("", X, 1, "GL_TEXTURE_STENCIL_SIZE"), # 0x88F1 + ("", X, 1, "GL_STENCIL_TAG_BITS_EXT"), # 0x88F2 + ("", X, 1, "GL_STENCIL_CLEAR_TAG_VALUE_EXT"), # 0x88F3 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"), # 0x88F4 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_CALL_DEPTH_NV"), # 0x88F5 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_IF_DEPTH_NV"), # 0x88F6 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_LOOP_DEPTH_NV"), # 0x88F7 + ("glGetProgramARB", I, 1, "GL_MAX_PROGRAM_LOOP_COUNT_NV"), # 0x88F8 + ("", X, 1, "GL_SRC1_COLOR"), # 0x88F9 + ("", X, 1, "GL_ONE_MINUS_SRC1_COLOR"), # 0x88FA + ("", X, 1, "GL_ONE_MINUS_SRC1_ALPHA"), # 0x88FB + ("", X, 1, "GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"), # 0x88FC + ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_INTEGER"), # 0x88FD + ("glGetVertexAttrib", I, 1, "GL_VERTEX_ATTRIB_ARRAY_DIVISOR"), # 0x88FE + ("glGet", I, 1, "GL_MAX_ARRAY_TEXTURE_LAYERS"), # 0x88FF + ("glGet", F, 1, "GL_MIN_PROGRAM_TEXEL_OFFSET"), # 0x8904 + ("glGet", F, 1, "GL_MAX_PROGRAM_TEXEL_OFFSET"), # 0x8905 + ("", X, 1, "GL_PROGRAM_ATTRIB_COMPONENTS_NV"), # 0x8906 + ("", X, 1, "GL_PROGRAM_RESULT_COMPONENTS_NV"), # 0x8907 + ("", X, 1, "GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"), # 0x8908 + ("", X, 1, "GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"), # 0x8909 + ("glGet", B, 1, "GL_STENCIL_TEST_TWO_SIDE_EXT"), # 0x8910 + ("glGet", E, 1, "GL_ACTIVE_STENCIL_FACE_EXT"), # 0x8911 + ("", X, 1, "GL_MIRROR_CLAMP_TO_BORDER_EXT"), # 0x8912 + ("", X, 1, "GL_SAMPLES_PASSED"), # 0x8914 + ("", X, 1, "GL_GEOMETRY_VERTICES_OUT"), # 0x8916 + ("", X, 1, "GL_GEOMETRY_INPUT_TYPE"), # 0x8917 + ("", X, 1, "GL_GEOMETRY_OUTPUT_TYPE"), # 0x8918 + ("glGet", I, 1, "GL_SAMPLER_BINDING"), # 0x8919 + ("", X, 1, "GL_CLAMP_VERTEX_COLOR"), # 0x891A + ("", X, 1, "GL_CLAMP_FRAGMENT_COLOR"), # 0x891B + ("", X, 1, "GL_CLAMP_READ_COLOR"), # 0x891C + ("", X, 1, "GL_FIXED_ONLY"), # 0x891D + ("", X, 1, "GL_TESS_CONTROL_PROGRAM_NV"), # 0x891E + ("", X, 1, "GL_TESS_EVALUATION_PROGRAM_NV"), # 0x891F + ("", X, 1, "GL_FRAGMENT_SHADER_ATI"), # 0x8920 + ("", X, 1, "GL_REG_0_ATI"), # 0x8921 + ("", X, 1, "GL_REG_1_ATI"), # 0x8922 + ("", X, 1, "GL_REG_2_ATI"), # 0x8923 + ("", X, 1, "GL_REG_3_ATI"), # 0x8924 + ("", X, 1, "GL_REG_4_ATI"), # 0x8925 + ("", X, 1, "GL_REG_5_ATI"), # 0x8926 + ("", X, 1, "GL_REG_6_ATI"), # 0x8927 + ("", X, 1, "GL_REG_7_ATI"), # 0x8928 + ("", X, 1, "GL_REG_8_ATI"), # 0x8929 + ("", X, 1, "GL_REG_9_ATI"), # 0x892A + ("", X, 1, "GL_REG_10_ATI"), # 0x892B + ("", X, 1, "GL_REG_11_ATI"), # 0x892C + ("", X, 1, "GL_REG_12_ATI"), # 0x892D + ("", X, 1, "GL_REG_13_ATI"), # 0x892E + ("", X, 1, "GL_REG_14_ATI"), # 0x892F + ("", X, 1, "GL_REG_15_ATI"), # 0x8930 + ("", X, 1, "GL_REG_16_ATI"), # 0x8931 + ("", X, 1, "GL_REG_17_ATI"), # 0x8932 + ("", X, 1, "GL_REG_18_ATI"), # 0x8933 + ("", X, 1, "GL_REG_19_ATI"), # 0x8934 + ("", X, 1, "GL_REG_20_ATI"), # 0x8935 + ("", X, 1, "GL_REG_21_ATI"), # 0x8936 + ("", X, 1, "GL_REG_22_ATI"), # 0x8937 + ("", X, 1, "GL_REG_23_ATI"), # 0x8938 + ("", X, 1, "GL_REG_24_ATI"), # 0x8939 + ("", X, 1, "GL_REG_25_ATI"), # 0x893A + ("", X, 1, "GL_REG_26_ATI"), # 0x893B + ("", X, 1, "GL_REG_27_ATI"), # 0x893C + ("", X, 1, "GL_REG_28_ATI"), # 0x893D + ("", X, 1, "GL_REG_29_ATI"), # 0x893E + ("", X, 1, "GL_REG_30_ATI"), # 0x893F + ("", X, 1, "GL_REG_31_ATI"), # 0x8940 + ("", X, 1, "GL_CON_0_ATI"), # 0x8941 + ("", X, 1, "GL_CON_1_ATI"), # 0x8942 + ("", X, 1, "GL_CON_2_ATI"), # 0x8943 + ("", X, 1, "GL_CON_3_ATI"), # 0x8944 + ("", X, 1, "GL_CON_4_ATI"), # 0x8945 + ("", X, 1, "GL_CON_5_ATI"), # 0x8946 + ("", X, 1, "GL_CON_6_ATI"), # 0x8947 + ("", X, 1, "GL_CON_7_ATI"), # 0x8948 + ("", X, 1, "GL_CON_8_ATI"), # 0x8949 + ("", X, 1, "GL_CON_9_ATI"), # 0x894A + ("", X, 1, "GL_CON_10_ATI"), # 0x894B + ("", X, 1, "GL_CON_11_ATI"), # 0x894C + ("", X, 1, "GL_CON_12_ATI"), # 0x894D + ("", X, 1, "GL_CON_13_ATI"), # 0x894E + ("", X, 1, "GL_CON_14_ATI"), # 0x894F + ("", X, 1, "GL_CON_15_ATI"), # 0x8950 + ("", X, 1, "GL_CON_16_ATI"), # 0x8951 + ("", X, 1, "GL_CON_17_ATI"), # 0x8952 + ("", X, 1, "GL_CON_18_ATI"), # 0x8953 + ("", X, 1, "GL_CON_19_ATI"), # 0x8954 + ("", X, 1, "GL_CON_20_ATI"), # 0x8955 + ("", X, 1, "GL_CON_21_ATI"), # 0x8956 + ("", X, 1, "GL_CON_22_ATI"), # 0x8957 + ("", X, 1, "GL_CON_23_ATI"), # 0x8958 + ("", X, 1, "GL_CON_24_ATI"), # 0x8959 + ("", X, 1, "GL_CON_25_ATI"), # 0x895A + ("", X, 1, "GL_CON_26_ATI"), # 0x895B + ("", X, 1, "GL_CON_27_ATI"), # 0x895C + ("", X, 1, "GL_CON_28_ATI"), # 0x895D + ("", X, 1, "GL_CON_29_ATI"), # 0x895E + ("", X, 1, "GL_CON_30_ATI"), # 0x895F + ("", X, 1, "GL_CON_31_ATI"), # 0x8960 + ("", X, 1, "GL_MOV_ATI"), # 0x8961 + ("", X, 1, "GL_ADD_ATI"), # 0x8963 + ("", X, 1, "GL_MUL_ATI"), # 0x8964 + ("", X, 1, "GL_SUB_ATI"), # 0x8965 + ("", X, 1, "GL_DOT3_ATI"), # 0x8966 + ("", X, 1, "GL_DOT4_ATI"), # 0x8967 + ("", X, 1, "GL_MAD_ATI"), # 0x8968 + ("", X, 1, "GL_LERP_ATI"), # 0x8969 + ("", X, 1, "GL_CND_ATI"), # 0x896A + ("", X, 1, "GL_CND0_ATI"), # 0x896B + ("", X, 1, "GL_DOT2_ADD_ATI"), # 0x896C + ("", X, 1, "GL_SECONDARY_INTERPOLATOR_ATI"), # 0x896D + ("", X, 1, "GL_NUM_FRAGMENT_REGISTERS_ATI"), # 0x896E + ("", X, 1, "GL_NUM_FRAGMENT_CONSTANTS_ATI"), # 0x896F + ("", X, 1, "GL_NUM_PASSES_ATI"), # 0x8970 + ("", X, 1, "GL_NUM_INSTRUCTIONS_PER_PASS_ATI"), # 0x8971 + ("", X, 1, "GL_NUM_INSTRUCTIONS_TOTAL_ATI"), # 0x8972 + ("", X, 1, "GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"), # 0x8973 + ("", X, 1, "GL_NUM_LOOPBACK_COMPONENTS_ATI"), # 0x8974 + ("", X, 1, "GL_COLOR_ALPHA_PAIRING_ATI"), # 0x8975 + ("", X, 1, "GL_SWIZZLE_STR_ATI"), # 0x8976 + ("", X, 1, "GL_SWIZZLE_STQ_ATI"), # 0x8977 + ("", X, 1, "GL_SWIZZLE_STR_DR_ATI"), # 0x8978 + ("", X, 1, "GL_SWIZZLE_STQ_DQ_ATI"), # 0x8979 + ("", X, 1, "GL_SWIZZLE_STRQ_ATI"), # 0x897A + ("", X, 1, "GL_SWIZZLE_STRQ_DQ_ATI"), # 0x897B + ("", X, 1, "GL_INTERLACE_OML"), # 0x8980 + ("", X, 1, "GL_INTERLACE_READ_OML"), # 0x8981 + ("", X, 1, "GL_FORMAT_SUBSAMPLE_24_24_OML"), # 0x8982 + ("", X, 1, "GL_FORMAT_SUBSAMPLE_244_244_OML"), # 0x8983 + ("", X, 1, "GL_PACK_RESAMPLE_OML"), # 0x8984 + ("", X, 1, "GL_UNPACK_RESAMPLE_OML"), # 0x8985 + ("", X, 1, "GL_RESAMPLE_REPLICATE_OML"), # 0x8986 + ("", X, 1, "GL_RESAMPLE_ZERO_FILL_OML"), # 0x8987 + ("", X, 1, "GL_RESAMPLE_AVERAGE_OML"), # 0x8988 + ("", X, 1, "GL_RESAMPLE_DECIMATE_OML"), # 0x8989 + #("", X, 1, "GL_POINT_SIZE_ARRAY_TYPE_OES"), # 0x898A + #("", X, 1, "GL_POINT_SIZE_ARRAY_STRIDE_OES"), # 0x898B + #("", X, 1, "GL_POINT_SIZE_ARRAY_POINTER_OES"), # 0x898C + #("", X, 1, "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"), # 0x898D + #("", X, 1, "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"), # 0x898E + #("", X, 1, "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"), # 0x898F + ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_APPLE"), # 0x8A00 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_APPLE"), # 0x8A01 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"), # 0x8A02 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"), # 0x8A03 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"), # 0x8A04 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"), # 0x8A05 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"), # 0x8A06 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"), # 0x8A07 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"), # 0x8A08 + ("", X, 1, "GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"), # 0x8A09 + ("", X, 1, "GL_DRAW_PIXELS_APPLE"), # 0x8A0A + ("", X, 1, "GL_FENCE_APPLE"), # 0x8A0B + ("", X, 1, "GL_ELEMENT_ARRAY_APPLE"), # 0x8A0C + ("glGet", E, 1, "GL_ELEMENT_ARRAY_TYPE_APPLE"), # 0x8A0D + ("", X, 1, "GL_ELEMENT_ARRAY_POINTER_APPLE"), # 0x8A0E + ("", X, 1, "GL_COLOR_FLOAT_APPLE"), # 0x8A0F + ("", X, 1, "GL_UNIFORM_BUFFER"), # 0x8A11 + ("", X, 1, "GL_BUFFER_SERIALIZED_MODIFY_APPLE"), # 0x8A12 + ("", X, 1, "GL_BUFFER_FLUSHING_UNMAP_APPLE"), # 0x8A13 + ("", X, 1, "GL_AUX_DEPTH_STENCIL_APPLE"), # 0x8A14 + ("", X, 1, "GL_PACK_ROW_BYTES_APPLE"), # 0x8A15 + ("", X, 1, "GL_UNPACK_ROW_BYTES_APPLE"), # 0x8A16 + ("", X, 1, "GL_RELEASED_APPLE"), # 0x8A19 + ("", X, 1, "GL_VOLATILE_APPLE"), # 0x8A1A + ("", X, 1, "GL_RETAINED_APPLE"), # 0x8A1B + ("", X, 1, "GL_UNDEFINED_APPLE"), # 0x8A1C + ("", X, 1, "GL_PURGEABLE_APPLE"), # 0x8A1D + ("", X, 1, "GL_RGB_422_APPLE"), # 0x8A1F + ("glGet", I, 1, "GL_UNIFORM_BUFFER_BINDING"), # 0x8A28 + ("glGet", I, 1, "GL_UNIFORM_BUFFER_START"), # 0x8A29 + ("glGet", I, 1, "GL_UNIFORM_BUFFER_SIZE"), # 0x8A2A + ("glGet", I, 1, "GL_MAX_VERTEX_UNIFORM_BLOCKS"), # 0x8A2B + ("glGet", I, 1, "GL_MAX_GEOMETRY_UNIFORM_BLOCKS"), # 0x8A2C + ("glGet", I, 1, "GL_MAX_FRAGMENT_UNIFORM_BLOCKS"), # 0x8A2D + ("glGet", I, 1, "GL_MAX_COMBINED_UNIFORM_BLOCKS"), # 0x8A2E + ("glGet", I, 1, "GL_MAX_UNIFORM_BUFFER_BINDINGS"), # 0x8A2F + ("glGet", I, 1, "GL_MAX_UNIFORM_BLOCK_SIZE"), # 0x8A30 + ("glGet", I, 1, "GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"), # 0x8A31 + ("glGet", I, 1, "GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"), # 0x8A32 + ("glGet", I, 1, "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"), # 0x8A33 + ("glGet", I, 1, "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"), # 0x8A34 + ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"), # 0x8A35 + ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORM_BLOCKS"), # 0x8A36 + ("glGetActiveUniforms", E, 1, "GL_UNIFORM_TYPE"), # 0x8A37 + ("glGetActiveUniforms", I, 1, "GL_UNIFORM_SIZE"), # 0x8A38 + ("glGetActiveUniforms", I, 1, "GL_UNIFORM_NAME_LENGTH"), # 0x8A39 + ("glGetActiveUniforms", I, 1, "GL_UNIFORM_BLOCK_INDEX"), # 0x8A3A + ("glGetActiveUniforms", I, 1, "GL_UNIFORM_OFFSET"), # 0x8A3B + ("glGetActiveUniforms", I, 1, "GL_UNIFORM_ARRAY_STRIDE"), # 0x8A3C + ("glGetActiveUniforms", I, 1, "GL_UNIFORM_MATRIX_STRIDE"), # 0x8A3D + ("glGetActiveUniforms", B, 1, "GL_UNIFORM_IS_ROW_MAJOR"), # 0x8A3E + ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_BINDING"), # 0x8A3F + ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_DATA_SIZE"), # 0x8A40 + ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_NAME_LENGTH"), # 0x8A41 + ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"), # 0x8A42 + ("glGetActiveUniformBlock", I, 1, "GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"), # 0x8A43 + ("glGetActiveUniformBlock", B, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"), # 0x8A44 + ("glGetActiveUniformBlock", B, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"), # 0x8A45 + ("glGetActiveUniformBlock", B, 1, "GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"), # 0x8A46 + ("glGetTexParameter", E, 1, "GL_TEXTURE_SRGB_DECODE_EXT"), # 0x8A48 + ("", X, 1, "GL_DECODE_EXT"), # 0x8A49 + ("", X, 1, "GL_SKIP_DECODE_EXT"), # 0x8A4A + ("", X, 1, "GL_FRAGMENT_SHADER"), # 0x8B30 + ("", X, 1, "GL_VERTEX_SHADER"), # 0x8B31 + ("", H, 1, "GL_PROGRAM_OBJECT_ARB"), # 0x8B40 + ("", X, 1, "GL_SHADER_OBJECT_ARB"), # 0x8B48 + ("glGet", I, 1, "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"), # 0x8B49 + ("glGet", I, 1, "GL_MAX_VERTEX_UNIFORM_COMPONENTS"), # 0x8B4A + ("glGet", I, 1, "GL_MAX_VARYING_COMPONENTS"), # 0x8B4B + ("glGet", I, 1, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"), # 0x8B4C + ("glGet", I, 1, "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"), # 0x8B4D + ("glGet", E, 1, "GL_OBJECT_TYPE_ARB"), # 0x8B4E + ("glGetShader", E, 1, "GL_SHADER_TYPE"), # 0x8B4F + ("", X, 1, "GL_FLOAT_VEC2"), # 0x8B50 + ("", X, 1, "GL_FLOAT_VEC3"), # 0x8B51 + ("", X, 1, "GL_FLOAT_VEC4"), # 0x8B52 + ("", X, 1, "GL_INT_VEC2"), # 0x8B53 + ("", X, 1, "GL_INT_VEC3"), # 0x8B54 + ("", X, 1, "GL_INT_VEC4"), # 0x8B55 + ("", X, 1, "GL_BOOL"), # 0x8B56 + ("", X, 1, "GL_BOOL_VEC2"), # 0x8B57 + ("", X, 1, "GL_BOOL_VEC3"), # 0x8B58 + ("", X, 1, "GL_BOOL_VEC4"), # 0x8B59 + ("", X, 1, "GL_FLOAT_MAT2"), # 0x8B5A + ("", X, 1, "GL_FLOAT_MAT3"), # 0x8B5B + ("", X, 1, "GL_FLOAT_MAT4"), # 0x8B5C + ("", X, 1, "GL_SAMPLER_1D"), # 0x8B5D + ("", X, 1, "GL_SAMPLER_2D"), # 0x8B5E + ("", X, 1, "GL_SAMPLER_3D"), # 0x8B5F + ("", X, 1, "GL_SAMPLER_CUBE"), # 0x8B60 + ("", X, 1, "GL_SAMPLER_1D_SHADOW"), # 0x8B61 + ("", X, 1, "GL_SAMPLER_2D_SHADOW"), # 0x8B62 + ("", X, 1, "GL_SAMPLER_2D_RECT"), # 0x8B63 + ("", X, 1, "GL_SAMPLER_2D_RECT_SHADOW"), # 0x8B64 + ("", X, 1, "GL_FLOAT_MAT2x3"), # 0x8B65 + ("", X, 1, "GL_FLOAT_MAT2x4"), # 0x8B66 + ("", X, 1, "GL_FLOAT_MAT3x2"), # 0x8B67 + ("", X, 1, "GL_FLOAT_MAT3x4"), # 0x8B68 + ("", X, 1, "GL_FLOAT_MAT4x2"), # 0x8B69 + ("", X, 1, "GL_FLOAT_MAT4x3"), # 0x8B6A + ("glGetShader,glGetProgram", B, 1, "GL_DELETE_STATUS"), # 0x8B80 + ("glGetShader,glGetProgram", B, 1, "GL_COMPILE_STATUS"), # 0x8B81 + ("glGetShader,glGetProgram", B, 1, "GL_LINK_STATUS"), # 0x8B82 + ("glGetShader,glGetProgram", B, 1, "GL_VALIDATE_STATUS"), # 0x8B83 + ("glGetShader,glGetProgram", I, 1, "GL_INFO_LOG_LENGTH"), # 0x8B84 + ("glGetProgram", I, 1, "GL_ATTACHED_SHADERS"), # 0x8B85 + ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORMS"), # 0x8B86 + ("glGetProgram", I, 1, "GL_ACTIVE_UNIFORM_MAX_LENGTH"), # 0x8B87 + ("glGetShader", I, 1, "GL_SHADER_SOURCE_LENGTH"), # 0x8B88 + ("glGetProgram", I, 1, "GL_ACTIVE_ATTRIBUTES"), # 0x8B89 + ("glGetProgram", I, 1, "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"), # 0x8B8A + ("", X, 1, "GL_FRAGMENT_SHADER_DERIVATIVE_HINT"), # 0x8B8B + ("", X, 1, "GL_SHADING_LANGUAGE_VERSION"), # 0x8B8C + ("glGet", I, 1, "GL_CURRENT_PROGRAM"), # 0x8B8D + #("", X, 1, "GL_PALETTE4_RGB8_OES"), # 0x8B90 + #("", X, 1, "GL_PALETTE4_RGBA8_OES"), # 0x8B91 + #("", X, 1, "GL_PALETTE4_R5_G6_B5_OES"), # 0x8B92 + #("", X, 1, "GL_PALETTE4_RGBA4_OES"), # 0x8B93 + #("", X, 1, "GL_PALETTE4_RGB5_A1_OES"), # 0x8B94 + #("", X, 1, "GL_PALETTE8_RGB8_OES"), # 0x8B95 + #("", X, 1, "GL_PALETTE8_RGBA8_OES"), # 0x8B96 + #("", X, 1, "GL_PALETTE8_R5_G6_B5_OES"), # 0x8B97 + #("", X, 1, "GL_PALETTE8_RGBA4_OES"), # 0x8B98 + #("", X, 1, "GL_PALETTE8_RGB5_A1_OES"), # 0x8B99 + ("", X, 1, "GL_IMPLEMENTATION_COLOR_READ_TYPE"), # 0x8B9A + ("", X, 1, "GL_IMPLEMENTATION_COLOR_READ_FORMAT"), # 0x8B9B + #("", X, 1, "GL_POINT_SIZE_ARRAY_OES"), # 0x8B9C + #("", X, 1, "GL_TEXTURE_CROP_RECT_OES"), # 0x8B9D + #("", X, 1, "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"), # 0x8B9E + #("", X, 1, "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"), # 0x8B9F + #("", X, 1, "GL_FRAGMENT_PROGRAM_POSITION_MESA"), # 0x8BB0 + #("", X, 1, "GL_FRAGMENT_PROGRAM_CALLBACK_MESA"), # 0x8BB1 + #("", X, 1, "GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA"), # 0x8BB2 + #("", X, 1, "GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA"), # 0x8BB3 + #("", X, 1, "GL_VERTEX_PROGRAM_CALLBACK_MESA"), # 0x8BB4 + #("", X, 1, "GL_VERTEX_PROGRAM_POSITION_MESA"), # 0x8BB4 + #("", X, 1, "GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA"), # 0x8BB6 + #("", X, 1, "GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA"), # 0x8BB7 + ("", X, 1, "GL_COUNTER_TYPE_AMD"), # 0x8BC0 + ("", X, 1, "GL_COUNTER_RANGE_AMD"), # 0x8BC1 + ("", X, 1, "GL_UNSIGNED_INT64_AMD"), # 0x8BC2 + ("", X, 1, "GL_PERCENTAGE_AMD"), # 0x8BC3 + ("", X, 1, "GL_PERFMON_RESULT_AVAILABLE_AMD"), # 0x8BC4 + ("", X, 1, "GL_PERFMON_RESULT_SIZE_AMD"), # 0x8BC5 + ("", X, 1, "GL_PERFMON_RESULT_AMD"), # 0x8BC6 + #("", X, 1, "GL_TEXTURE_WIDTH_QCOM"), # 0x8BD2 + #("", X, 1, "GL_TEXTURE_HEIGHT_QCOM"), # 0x8BD3 + #("", X, 1, "GL_TEXTURE_DEPTH_QCOM"), # 0x8BD4 + #("", X, 1, "GL_TEXTURE_INTERNAL_FORMAT_QCOM"), # 0x8BD5 + #("", X, 1, "GL_TEXTURE_FORMAT_QCOM"), # 0x8BD6 + #("", X, 1, "GL_TEXTURE_TYPE_QCOM"), # 0x8BD7 + #("", X, 1, "GL_TEXTURE_IMAGE_VALID_QCOM"), # 0x8BD8 + #("", X, 1, "GL_TEXTURE_NUM_LEVELS_QCOM"), # 0x8BD9 + #("", X, 1, "GL_TEXTURE_TARGET_QCOM"), # 0x8BDA + #("", X, 1, "GL_TEXTURE_OBJECT_VALID_QCOM"), # 0x8BDB + #("", X, 1, "GL_STATE_RESTORE"), # 0x8BDC + #("", X, 1, "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"), # 0x8C00 + #("", X, 1, "GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"), # 0x8C01 + #("", X, 1, "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"), # 0x8C02 + #("", X, 1, "GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"), # 0x8C03 + #("", X, 1, "GL_MODULATE_COLOR_IMG"), # 0x8C04 + #("", X, 1, "GL_RECIP_ADD_SIGNED_ALPHA_IMG"), # 0x8C05 + #("", X, 1, "GL_TEXTURE_ALPHA_MODULATE_IMG"), # 0x8C06 + #("", X, 1, "GL_FACTOR_ALPHA_MODULATE_IMG"), # 0x8C07 + #("", X, 1, "GL_FRAGMENT_ALPHA_MODULATE_IMG"), # 0x8C08 + #("", X, 1, "GL_ADD_BLEND_IMG"), # 0x8C09 + #("", X, 1, "GL_SGX_BINARY_IMG"), # 0x8C0A + ("", X, 1, "GL_TEXTURE_RED_TYPE"), # 0x8C10 + ("", X, 1, "GL_TEXTURE_GREEN_TYPE"), # 0x8C11 + ("", X, 1, "GL_TEXTURE_BLUE_TYPE"), # 0x8C12 + ("", X, 1, "GL_TEXTURE_ALPHA_TYPE"), # 0x8C13 + ("", X, 1, "GL_TEXTURE_LUMINANCE_TYPE"), # 0x8C14 + ("", X, 1, "GL_TEXTURE_INTENSITY_TYPE"), # 0x8C15 + ("", X, 1, "GL_TEXTURE_DEPTH_TYPE"), # 0x8C16 + ("", X, 1, "GL_UNSIGNED_NORMALIZED"), # 0x8C17 + ("", X, 1, "GL_TEXTURE_1D_ARRAY"), # 0x8C18 + ("", X, 1, "GL_PROXY_TEXTURE_1D_ARRAY"), # 0x8C19 + ("", X, 1, "GL_TEXTURE_2D_ARRAY"), # 0x8C1A + ("", X, 1, "GL_PROXY_TEXTURE_2D_ARRAY"), # 0x8C1B + ("_glGet", I, 1, "GL_TEXTURE_BINDING_1D_ARRAY"), # 0x8C1C + ("_glGet", I, 1, "GL_TEXTURE_BINDING_2D_ARRAY"), # 0x8C1D + ("", X, 1, "GL_GEOMETRY_PROGRAM_NV"), # 0x8C26 + ("", X, 1, "GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"), # 0x8C27 + ("", X, 1, "GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"), # 0x8C28 + ("glGet", I, 1, "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"), # 0x8C29 + ("", X, 1, "GL_TEXTURE_BUFFER"), # 0x8C2A + ("", X, 1, "GL_MAX_TEXTURE_BUFFER_SIZE"), # 0x8C2B + ("", X, 1, "GL_TEXTURE_BINDING_BUFFER"), # 0x8C2C + ("glGet", I, 1, "GL_TEXTURE_BUFFER_DATA_STORE_BINDING"), # 0x8C2D + ("", X, 1, "GL_TEXTURE_BUFFER_FORMAT"), # 0x8C2E + ("", X, 1, "GL_ANY_SAMPLES_PASSED"), # 0x8C2F + ("", X, 1, "GL_SAMPLE_SHADING"), # 0x8C36 + ("", X, 1, "GL_MIN_SAMPLE_SHADING_VALUE"), # 0x8C37 + ("", X, 1, "GL_R11F_G11F_B10F"), # 0x8C3A + ("", X, 1, "GL_UNSIGNED_INT_10F_11F_11F_REV"), # 0x8C3B + ("", X, 1, "GL_RGBA_SIGNED_COMPONENTS_EXT"), # 0x8C3C + ("", X, 1, "GL_RGB9_E5"), # 0x8C3D + ("", X, 1, "GL_UNSIGNED_INT_5_9_9_9_REV"), # 0x8C3E + ("", X, 1, "GL_TEXTURE_SHARED_SIZE"), # 0x8C3F + ("", X, 1, "GL_SRGB"), # 0x8C40 + ("", X, 1, "GL_SRGB8"), # 0x8C41 + ("", X, 1, "GL_SRGB_ALPHA"), # 0x8C42 + ("", X, 1, "GL_SRGB8_ALPHA8"), # 0x8C43 + ("", X, 1, "GL_SLUMINANCE_ALPHA"), # 0x8C44 + ("", X, 1, "GL_SLUMINANCE8_ALPHA8"), # 0x8C45 + ("", X, 1, "GL_SLUMINANCE"), # 0x8C46 + ("", X, 1, "GL_SLUMINANCE8"), # 0x8C47 + ("", X, 1, "GL_COMPRESSED_SRGB"), # 0x8C48 + ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA"), # 0x8C49 + ("", X, 1, "GL_COMPRESSED_SLUMINANCE"), # 0x8C4A + ("", X, 1, "GL_COMPRESSED_SLUMINANCE_ALPHA"), # 0x8C4B + ("", X, 1, "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"), # 0x8C4C + ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"), # 0x8C4D + ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"), # 0x8C4E + ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"), # 0x8C4F + ("", X, 1, "GL_COMPRESSED_LUMINANCE_LATC1_EXT"), # 0x8C70 + ("", X, 1, "GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"), # 0x8C71 + ("", X, 1, "GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"), # 0x8C72 + ("", X, 1, "GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"), # 0x8C73 + ("", X, 1, "GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8C74 + ("", X, 1, "GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8C75 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"), # 0x8C76 + ("", X, 1, "GL_BACK_PRIMARY_COLOR_NV"), # 0x8C77 + ("", X, 1, "GL_BACK_SECONDARY_COLOR_NV"), # 0x8C78 + ("", X, 1, "GL_TEXTURE_COORD_NV"), # 0x8C79 + ("", X, 1, "GL_CLIP_DISTANCE_NV"), # 0x8C7A + ("", X, 1, "GL_VERTEX_ID_NV"), # 0x8C7B + ("", X, 1, "GL_PRIMITIVE_ID_NV"), # 0x8C7C + ("", X, 1, "GL_GENERIC_ATTRIB_NV"), # 0x8C7D + ("", X, 1, "GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"), # 0x8C7F + ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_MODE"), # 0x8C7F + ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"), # 0x8C80 + ("", X, 1, "GL_ACTIVE_VARYINGS_NV"), # 0x8C81 + ("", X, 1, "GL_ACTIVE_VARYING_MAX_LENGTH_NV"), # 0x8C82 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_VARYINGS"), # 0x8C83 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_START"), # 0x8C84 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"), # 0x8C85 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_RECORD_NV"), # 0x8C86 + ("", X, 1, "GL_PRIMITIVES_GENERATED"), # 0x8C87 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"), # 0x8C88 + ("", X, 1, "GL_RASTERIZER_DISCARD"), # 0x8C89 + ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"), # 0x8C8A + ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"), # 0x8C8B + ("", X, 1, "GL_INTERLEAVED_ATTRIBS"), # 0x8C8C + ("", X, 1, "GL_SEPARATE_ATTRIBS"), # 0x8C8D + ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER"), # 0x8C8E + ("glGet", I, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"), # 0x8C8F + #("", X, 1, "GL_ATC_RGB_AMD"), # 0x8C92 + #("", X, 1, "GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"), # 0x8C93 + ("glGet", E, 1, "GL_POINT_SPRITE_COORD_ORIGIN"), # 0x8CA0 + ("", X, 1, "GL_LOWER_LEFT"), # 0x8CA1 + ("", X, 1, "GL_UPPER_LEFT"), # 0x8CA2 + ("", X, 1, "GL_STENCIL_BACK_REF"), # 0x8CA3 + ("", X, 1, "GL_STENCIL_BACK_VALUE_MASK"), # 0x8CA4 + ("", X, 1, "GL_STENCIL_BACK_WRITEMASK"), # 0x8CA5 + ("glGet", I, 1, "GL_DRAW_FRAMEBUFFER_BINDING"), # 0x8CA6 + ("glGet", I, 1, "GL_RENDERBUFFER_BINDING"), # 0x8CA7 + ("", I, 1, "GL_READ_FRAMEBUFFER"), # 0x8CA8 + ("", I, 1, "GL_DRAW_FRAMEBUFFER"), # 0x8CA9 + ("glGet", I, 1, "GL_READ_FRAMEBUFFER_BINDING"), # 0x8CAA + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_SAMPLES"), # 0x8CAB + ("", X, 1, "GL_DEPTH_COMPONENT32F"), # 0x8CAC + ("", X, 1, "GL_DEPTH32F_STENCIL8"), # 0x8CAD + ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"), # 0x8CD0 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"), # 0x8CD1 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"), # 0x8CD2 + ("glGetFramebufferAttachmentParameter", E, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"), # 0x8CD3 + ("glGetFramebufferAttachmentParameter", I, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"), # 0x8CD4 + ("", X, 1, "GL_FRAMEBUFFER_COMPLETE"), # 0x8CD5 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"), # 0x8CD6 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"), # 0x8CD7 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"), # 0x8CD9 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"), # 0x8CDA + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"), # 0x8CDB + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"), # 0x8CDC + ("", X, 1, "GL_FRAMEBUFFER_UNSUPPORTED"), # 0x8CDD + ("glGet", I, 1, "GL_MAX_COLOR_ATTACHMENTS"), # 0x8CDF + ("", X, 1, "GL_COLOR_ATTACHMENT0"), # 0x8CE0 + ("", X, 1, "GL_COLOR_ATTACHMENT1"), # 0x8CE1 + ("", X, 1, "GL_COLOR_ATTACHMENT2"), # 0x8CE2 + ("", X, 1, "GL_COLOR_ATTACHMENT3"), # 0x8CE3 + ("", X, 1, "GL_COLOR_ATTACHMENT4"), # 0x8CE4 + ("", X, 1, "GL_COLOR_ATTACHMENT5"), # 0x8CE5 + ("", X, 1, "GL_COLOR_ATTACHMENT6"), # 0x8CE6 + ("", X, 1, "GL_COLOR_ATTACHMENT7"), # 0x8CE7 + ("", X, 1, "GL_COLOR_ATTACHMENT8"), # 0x8CE8 + ("", X, 1, "GL_COLOR_ATTACHMENT9"), # 0x8CE9 + ("", X, 1, "GL_COLOR_ATTACHMENT10"), # 0x8CEA + ("", X, 1, "GL_COLOR_ATTACHMENT11"), # 0x8CEB + ("", X, 1, "GL_COLOR_ATTACHMENT12"), # 0x8CEC + ("", X, 1, "GL_COLOR_ATTACHMENT13"), # 0x8CED + ("", X, 1, "GL_COLOR_ATTACHMENT14"), # 0x8CEE + ("", X, 1, "GL_COLOR_ATTACHMENT15"), # 0x8CEF + ("", X, 1, "GL_DEPTH_ATTACHMENT"), # 0x8D00 + ("", X, 1, "GL_STENCIL_ATTACHMENT"), # 0x8D20 + ("", X, 1, "GL_FRAMEBUFFER"), # 0x8D40 + ("", X, 1, "GL_RENDERBUFFER"), # 0x8D41 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_WIDTH"), # 0x8D42 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_HEIGHT"), # 0x8D43 + ("glGetRenderbufferParameter", E, 1, "GL_RENDERBUFFER_INTERNAL_FORMAT"), # 0x8D44 + ("", X, 1, "GL_STENCIL_INDEX1"), # 0x8D46 + ("", X, 1, "GL_STENCIL_INDEX4"), # 0x8D47 + ("", X, 1, "GL_STENCIL_INDEX8"), # 0x8D48 + ("", X, 1, "GL_STENCIL_INDEX16"), # 0x8D49 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_RED_SIZE"), # 0x8D50 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_GREEN_SIZE"), # 0x8D51 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_BLUE_SIZE"), # 0x8D52 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_ALPHA_SIZE"), # 0x8D53 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_DEPTH_SIZE"), # 0x8D54 + ("glGetRenderbufferParameter", I, 1, "GL_RENDERBUFFER_STENCIL_SIZE"), # 0x8D55 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"), # 0x8D56 + ("glGet", I, 1, "GL_MAX_SAMPLES"), # 0x8D57 + #("", X, 1, "GL_TEXTURE_GEN_STR_OES"), # 0x8D60 + #("", X, 1, "GL_HALF_FLOAT_OES"), # 0x8D61 + #("", X, 1, "GL_RGB565_OES"), # 0x8D62 + #("", X, 1, "GL_ETC1_RGB8_OES"), # 0x8D64 + #("", X, 1, "GL_TEXTURE_EXTERNAL_OES"), # 0x8D65 + #("", X, 1, "GL_SAMPLER_EXTERNAL_OES"), # 0x8D66 + #("", X, 1, "GL_TEXTURE_BINDING_EXTERNAL_OES"), # 0x8D67 + #("", X, 1, "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"), # 0x8D68 + ("", X, 1, "GL_RGBA32UI"), # 0x8D70 + ("", X, 1, "GL_RGB32UI"), # 0x8D71 + ("", X, 1, "GL_ALPHA32UI_EXT"), # 0x8D72 + ("", X, 1, "GL_INTENSITY32UI_EXT"), # 0x8D73 + ("", X, 1, "GL_LUMINANCE32UI_EXT"), # 0x8D74 + ("", X, 1, "GL_LUMINANCE_ALPHA32UI_EXT"), # 0x8D75 + ("", X, 1, "GL_RGBA16UI"), # 0x8D76 + ("", X, 1, "GL_RGB16UI"), # 0x8D77 + ("", X, 1, "GL_ALPHA16UI_EXT"), # 0x8D78 + ("", X, 1, "GL_INTENSITY16UI_EXT"), # 0x8D79 + ("", X, 1, "GL_LUMINANCE16UI_EXT"), # 0x8D7A + ("", X, 1, "GL_LUMINANCE_ALPHA16UI_EXT"), # 0x8D7B + ("", X, 1, "GL_RGBA8UI"), # 0x8D7C + ("", X, 1, "GL_RGB8UI"), # 0x8D7D + ("", X, 1, "GL_ALPHA8UI_EXT"), # 0x8D7E + ("", X, 1, "GL_INTENSITY8UI_EXT"), # 0x8D7F + ("", X, 1, "GL_LUMINANCE8UI_EXT"), # 0x8D80 + ("", X, 1, "GL_LUMINANCE_ALPHA8UI_EXT"), # 0x8D81 + ("", X, 1, "GL_RGBA32I"), # 0x8D82 + ("", X, 1, "GL_RGB32I"), # 0x8D83 + ("", X, 1, "GL_ALPHA32I_EXT"), # 0x8D84 + ("", X, 1, "GL_INTENSITY32I_EXT"), # 0x8D85 + ("", X, 1, "GL_LUMINANCE32I_EXT"), # 0x8D86 + ("", X, 1, "GL_LUMINANCE_ALPHA32I_EXT"), # 0x8D87 + ("", X, 1, "GL_RGBA16I"), # 0x8D88 + ("", X, 1, "GL_RGB16I"), # 0x8D89 + ("", X, 1, "GL_ALPHA16I_EXT"), # 0x8D8A + ("", X, 1, "GL_INTENSITY16I_EXT"), # 0x8D8B + ("", X, 1, "GL_LUMINANCE16I_EXT"), # 0x8D8C + ("", X, 1, "GL_LUMINANCE_ALPHA16I_EXT"), # 0x8D8D + ("", X, 1, "GL_RGBA8I"), # 0x8D8E + ("", X, 1, "GL_RGB8I"), # 0x8D8F + ("", X, 1, "GL_ALPHA8I_EXT"), # 0x8D90 + ("", X, 1, "GL_INTENSITY8I_EXT"), # 0x8D91 + ("", X, 1, "GL_LUMINANCE8I_EXT"), # 0x8D92 + ("", X, 1, "GL_LUMINANCE_ALPHA8I_EXT"), # 0x8D93 + ("", X, 1, "GL_RED_INTEGER"), # 0x8D94 + ("", X, 1, "GL_GREEN_INTEGER"), # 0x8D95 + ("", X, 1, "GL_BLUE_INTEGER"), # 0x8D96 + ("", X, 1, "GL_ALPHA_INTEGER"), # 0x8D97 + ("", X, 1, "GL_RGB_INTEGER"), # 0x8D98 + ("", X, 1, "GL_RGBA_INTEGER"), # 0x8D99 + ("", X, 1, "GL_BGR_INTEGER"), # 0x8D9A + ("", X, 1, "GL_BGRA_INTEGER"), # 0x8D9B + ("", X, 1, "GL_LUMINANCE_INTEGER_EXT"), # 0x8D9C + ("", X, 1, "GL_LUMINANCE_ALPHA_INTEGER_EXT"), # 0x8D9D + ("glGet", B, 1, "GL_RGBA_INTEGER_MODE_EXT"), # 0x8D9E + ("", X, 1, "GL_INT_2_10_10_10_REV"), # 0x8D9F + ("", X, 1, "GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"), # 0x8DA0 + ("", X, 1, "GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"), # 0x8DA1 + ("", X, 1, "GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8DA2 + ("", X, 1, "GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8DA3 + ("", X, 1, "GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"), # 0x8DA4 + ("", X, 1, "GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"), # 0x8DA5 + ("", X, 1, "GL_MAX_PROGRAM_GENERIC_RESULTS_NV"), # 0x8DA6 + ("glGetFramebufferAttachmentParameter", B, 1, "GL_FRAMEBUFFER_ATTACHMENT_LAYERED"), # 0x8DA7 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"), # 0x8DA8 + ("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"), # 0x8DA9 + ("", X, 1, "GL_LAYER_NV"), # 0x8DAA + ("", X, 1, "GL_DEPTH_COMPONENT32F_NV"), # 0x8DAB + ("", X, 1, "GL_DEPTH32F_STENCIL8_NV"), # 0x8DAC + ("", X, 1, "GL_FLOAT_32_UNSIGNED_INT_24_8_REV"), # 0x8DAD + ("", X, 1, "GL_SHADER_INCLUDE_ARB"), # 0x8DAE + ("", X, 1, "GL_DEPTH_BUFFER_FLOAT_MODE_NV"), # 0x8DAF + ("glGet", B, 1, "GL_FRAMEBUFFER_SRGB"), # 0x8DB9 + ("glGet", B, 1, "GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"), # 0x8DBA + ("", X, 1, "GL_COMPRESSED_RED_RGTC1"), # 0x8DBB + ("", X, 1, "GL_COMPRESSED_SIGNED_RED_RGTC1"), # 0x8DBC + ("", X, 1, "GL_COMPRESSED_RG_RGTC2"), # 0x8DBD + ("", X, 1, "GL_COMPRESSED_SIGNED_RG_RGTC2"), # 0x8DBE + ("", X, 1, "GL_SAMPLER_1D_ARRAY"), # 0x8DC0 + ("", X, 1, "GL_SAMPLER_2D_ARRAY"), # 0x8DC1 + ("", X, 1, "GL_SAMPLER_BUFFER"), # 0x8DC2 + ("", X, 1, "GL_SAMPLER_1D_ARRAY_SHADOW"), # 0x8DC3 + ("", X, 1, "GL_SAMPLER_2D_ARRAY_SHADOW"), # 0x8DC4 + ("", X, 1, "GL_SAMPLER_CUBE_SHADOW"), # 0x8DC5 + ("", X, 1, "GL_UNSIGNED_INT_VEC2"), # 0x8DC6 + ("", X, 1, "GL_UNSIGNED_INT_VEC3"), # 0x8DC7 + ("", X, 1, "GL_UNSIGNED_INT_VEC4"), # 0x8DC8 + ("", X, 1, "GL_INT_SAMPLER_1D"), # 0x8DC9 + ("", X, 1, "GL_INT_SAMPLER_2D"), # 0x8DCA + ("", X, 1, "GL_INT_SAMPLER_3D"), # 0x8DCB + ("", X, 1, "GL_INT_SAMPLER_CUBE"), # 0x8DCC + ("", X, 1, "GL_INT_SAMPLER_2D_RECT"), # 0x8DCD + ("", X, 1, "GL_INT_SAMPLER_1D_ARRAY"), # 0x8DCE + ("", X, 1, "GL_INT_SAMPLER_2D_ARRAY"), # 0x8DCF + ("", X, 1, "GL_INT_SAMPLER_BUFFER"), # 0x8DD0 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_1D"), # 0x8DD1 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D"), # 0x8DD2 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_3D"), # 0x8DD3 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_CUBE"), # 0x8DD4 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_RECT"), # 0x8DD5 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"), # 0x8DD6 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"), # 0x8DD7 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_BUFFER"), # 0x8DD8 + ("", X, 1, "GL_GEOMETRY_SHADER"), # 0x8DD9 + ("", X, 1, "GL_GEOMETRY_VERTICES_OUT_ARB"), # 0x8DDA + ("", X, 1, "GL_GEOMETRY_INPUT_TYPE_ARB"), # 0x8DDB + ("", X, 1, "GL_GEOMETRY_OUTPUT_TYPE_ARB"), # 0x8DDC + ("glGet", I, 1, "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"), # 0x8DDD + ("glGet", I, 1, "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"), # 0x8DDE + ("glGet", I, 1, "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"), # 0x8DDF + ("glGet", I, 1, "GL_MAX_GEOMETRY_OUTPUT_VERTICES"), # 0x8DE0 + ("glGet", I, 1, "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"), # 0x8DE1 + ("", X, 1, "GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"), # 0x8DE2 + ("", X, 1, "GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"), # 0x8DE3 + ("", X, 1, "GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"), # 0x8DE4 + ("", X, 1, "GL_ACTIVE_SUBROUTINES"), # 0x8DE5 + ("", X, 1, "GL_ACTIVE_SUBROUTINE_UNIFORMS"), # 0x8DE6 + ("", X, 1, "GL_MAX_SUBROUTINES"), # 0x8DE7 + ("", X, 1, "GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"), # 0x8DE8 + ("", X, 1, "GL_NAMED_STRING_LENGTH_ARB"), # 0x8DE9 + ("", X, 1, "GL_NAMED_STRING_TYPE_ARB"), # 0x8DEA + ("", X, 1, "GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"), # 0x8DED + ("", X, 1, "GL_UNIFORM_BUFFER_EXT"), # 0x8DEE + ("glGet", I, 1, "GL_UNIFORM_BUFFER_BINDING_EXT"), # 0x8DEF + ("", X, 1, "GL_LOW_FLOAT"), # 0x8DF0 + ("", X, 1, "GL_MEDIUM_FLOAT"), # 0x8DF1 + ("", X, 1, "GL_HIGH_FLOAT"), # 0x8DF2 + ("", X, 1, "GL_LOW_INT"), # 0x8DF3 + ("", X, 1, "GL_MEDIUM_INT"), # 0x8DF4 + ("", X, 1, "GL_HIGH_INT"), # 0x8DF5 + ("", X, 1, "GL_NUM_SHADER_BINARY_FORMATS"), # 0x8DF9 + ("", X, 1, "GL_SHADER_COMPILER"), # 0x8DFA + ("", X, 1, "GL_MAX_VERTEX_UNIFORM_VECTORS"), # 0x8DFB + ("", X, 1, "GL_MAX_VARYING_VECTORS"), # 0x8DFC + ("", X, 1, "GL_MAX_FRAGMENT_UNIFORM_VECTORS"), # 0x8DFD + ("", X, 1, "GL_RENDERBUFFER_COLOR_SAMPLES_NV"), # 0x8E10 + ("", X, 1, "GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"), # 0x8E11 + ("", X, 1, "GL_MULTISAMPLE_COVERAGE_MODES_NV"), # 0x8E12 + ("", X, 1, "GL_QUERY_WAIT"), # 0x8E13 + ("", X, 1, "GL_QUERY_NO_WAIT"), # 0x8E14 + ("", X, 1, "GL_QUERY_BY_REGION_WAIT"), # 0x8E15 + ("", X, 1, "GL_QUERY_BY_REGION_NO_WAIT"), # 0x8E16 + ("", X, 1, "GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"), # 0x8E1E + ("", X, 1, "GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"), # 0x8E1F + ("", X, 1, "GL_COLOR_SAMPLES_NV"), # 0x8E20 + ("", X, 1, "GL_TRANSFORM_FEEDBACK"), # 0x8E22 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"), # 0x8E23 + ("", X, 1, "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"), # 0x8E24 + ("glGet", I, 1, "GL_TRANSFORM_FEEDBACK_BINDING"), # 0x8E25 + ("", X, 1, "GL_FRAME_NV"), # 0x8E26 + ("", X, 1, "GL_FIELDS_NV"), # 0x8E27 + ("", X, 1, "GL_TIMESTAMP"), # 0x8E28 + ("", X, 1, "GL_NUM_FILL_STREAMS_NV"), # 0x8E29 + ("", X, 1, "GL_PRESENT_TIME_NV"), # 0x8E2A + ("", X, 1, "GL_PRESENT_DURATION_NV"), # 0x8E2B + ("", X, 1, "GL_PROGRAM_MATRIX_EXT"), # 0x8E2D + ("", X, 1, "GL_TRANSPOSE_PROGRAM_MATRIX_EXT"), # 0x8E2E + ("", X, 1, "GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"), # 0x8E2F + ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_R"), # 0x8E42 + ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_G"), # 0x8E43 + ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_B"), # 0x8E44 + ("glGetTexParameter", E, 1, "GL_TEXTURE_SWIZZLE_A"), # 0x8E45 + ("glGetTexParameter", E, 4, "GL_TEXTURE_SWIZZLE_RGBA"), # 0x8E46 + ("", X, 1, "GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"), # 0x8E47 + ("", X, 1, "GL_ACTIVE_SUBROUTINE_MAX_LENGTH"), # 0x8E48 + ("", X, 1, "GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"), # 0x8E49 + ("", X, 1, "GL_NUM_COMPATIBLE_SUBROUTINES"), # 0x8E4A + ("", X, 1, "GL_COMPATIBLE_SUBROUTINES"), # 0x8E4B + ("glGet", B, 1, "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"), # 0x8E4C + ("", X, 1, "GL_FIRST_VERTEX_CONVENTION"), # 0x8E4D + ("", X, 1, "GL_LAST_VERTEX_CONVENTION"), # 0x8E4E + ("glGet", E, 1, "GL_PROVOKING_VERTEX"), # 0x8E4F + ("", X, 1, "GL_SAMPLE_POSITION"), # 0x8E50 + ("", X, 1, "GL_SAMPLE_MASK"), # 0x8E51 + ("", X, 1, "GL_SAMPLE_MASK_VALUE"), # 0x8E52 + ("", X, 1, "GL_TEXTURE_BINDING_RENDERBUFFER_NV"), # 0x8E53 + ("glGet", I, 1, "GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"), # 0x8E54 + ("", X, 1, "GL_TEXTURE_RENDERBUFFER_NV"), # 0x8E55 + ("", X, 1, "GL_SAMPLER_RENDERBUFFER_NV"), # 0x8E56 + ("", X, 1, "GL_INT_SAMPLER_RENDERBUFFER_NV"), # 0x8E57 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"), # 0x8E58 + ("", X, 1, "GL_MAX_SAMPLE_MASK_WORDS"), # 0x8E59 + ("", X, 1, "GL_MAX_GEOMETRY_SHADER_INVOCATIONS"), # 0x8E5A + ("", X, 1, "GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"), # 0x8E5B + ("", X, 1, "GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"), # 0x8E5C + ("", X, 1, "GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"), # 0x8E5D + ("", X, 1, "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"), # 0x8E5E + ("", X, 1, "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"), # 0x8E5F + ("", X, 1, "GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"), # 0x8E70 + ("", X, 1, "GL_MAX_VERTEX_STREAMS"), # 0x8E71 + ("", X, 1, "GL_PATCH_VERTICES"), # 0x8E72 + ("", F, 2, "GL_PATCH_DEFAULT_INNER_LEVEL"), # 0x8E73 + ("glGetPatchParameter", F, 4, "GL_PATCH_DEFAULT_OUTER_LEVEL"), # 0x8E74 + ("glGetPatchParameter", X, 1, "GL_TESS_CONTROL_OUTPUT_VERTICES"), # 0x8E75 + ("", X, 1, "GL_TESS_GEN_MODE"), # 0x8E76 + ("", X, 1, "GL_TESS_GEN_SPACING"), # 0x8E77 + ("", X, 1, "GL_TESS_GEN_VERTEX_ORDER"), # 0x8E78 + ("", X, 1, "GL_TESS_GEN_POINT_MODE"), # 0x8E79 + ("", X, 1, "GL_ISOLINES"), # 0x8E7A + ("", X, 1, "GL_FRACTIONAL_ODD"), # 0x8E7B + ("", X, 1, "GL_FRACTIONAL_EVEN"), # 0x8E7C + ("", X, 1, "GL_MAX_PATCH_VERTICES"), # 0x8E7D + ("", X, 1, "GL_MAX_TESS_GEN_LEVEL"), # 0x8E7E + ("", X, 1, "GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"), # 0x8E7F + ("", X, 1, "GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"), # 0x8E80 + ("", X, 1, "GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"), # 0x8E81 + ("", X, 1, "GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"), # 0x8E82 + ("", X, 1, "GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"), # 0x8E83 + ("", X, 1, "GL_MAX_TESS_PATCH_COMPONENTS"), # 0x8E84 + ("", X, 1, "GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"), # 0x8E85 + ("", X, 1, "GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"), # 0x8E86 + ("", X, 1, "GL_TESS_EVALUATION_SHADER"), # 0x8E87 + ("", X, 1, "GL_TESS_CONTROL_SHADER"), # 0x8E88 + ("", X, 1, "GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"), # 0x8E89 + ("", X, 1, "GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"), # 0x8E8A + ("", X, 1, "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"), # 0x8E8C + ("", X, 1, "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"), # 0x8E8D + ("", X, 1, "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"), # 0x8E8E + ("", X, 1, "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"), # 0x8E8F + #("", X, 1, "GL_COVERAGE_COMPONENT_NV"), # 0x8ED0 + #("", X, 1, "GL_COVERAGE_COMPONENT4_NV"), # 0x8ED1 + #("", X, 1, "GL_COVERAGE_ATTACHMENT_NV"), # 0x8ED2 + #("", X, 1, "GL_COVERAGE_BUFFERS_NV"), # 0x8ED3 + #("", X, 1, "GL_COVERAGE_SAMPLES_NV"), # 0x8ED4 + #("", X, 1, "GL_COVERAGE_ALL_FRAGMENTS_NV"), # 0x8ED5 + #("", X, 1, "GL_COVERAGE_EDGE_FRAGMENTS_NV"), # 0x8ED6 + #("", X, 1, "GL_COVERAGE_AUTOMATIC_NV"), # 0x8ED7 + ("", X, 1, "GL_BUFFER_GPU_ADDRESS_NV"), # 0x8F1D + ("", X, 1, "GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"), # 0x8F1E + ("", X, 1, "GL_ELEMENT_ARRAY_UNIFIED_NV"), # 0x8F1F + ("", X, 1, "GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"), # 0x8F20 + ("", X, 1, "GL_VERTEX_ARRAY_ADDRESS_NV"), # 0x8F21 + ("", X, 1, "GL_NORMAL_ARRAY_ADDRESS_NV"), # 0x8F22 + ("", X, 1, "GL_COLOR_ARRAY_ADDRESS_NV"), # 0x8F23 + ("", X, 1, "GL_INDEX_ARRAY_ADDRESS_NV"), # 0x8F24 + ("", X, 1, "GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"), # 0x8F25 + ("", X, 1, "GL_EDGE_FLAG_ARRAY_ADDRESS_NV"), # 0x8F26 + ("", X, 1, "GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"), # 0x8F27 + ("", X, 1, "GL_FOG_COORD_ARRAY_ADDRESS_NV"), # 0x8F28 + ("", X, 1, "GL_ELEMENT_ARRAY_ADDRESS_NV"), # 0x8F29 + ("", X, 1, "GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"), # 0x8F2A + ("", X, 1, "GL_VERTEX_ARRAY_LENGTH_NV"), # 0x8F2B + ("", X, 1, "GL_NORMAL_ARRAY_LENGTH_NV"), # 0x8F2C + ("", X, 1, "GL_COLOR_ARRAY_LENGTH_NV"), # 0x8F2D + ("", X, 1, "GL_INDEX_ARRAY_LENGTH_NV"), # 0x8F2E + ("", X, 1, "GL_TEXTURE_COORD_ARRAY_LENGTH_NV"), # 0x8F2F + ("", X, 1, "GL_EDGE_FLAG_ARRAY_LENGTH_NV"), # 0x8F30 + ("", X, 1, "GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"), # 0x8F31 + ("", X, 1, "GL_FOG_COORD_ARRAY_LENGTH_NV"), # 0x8F32 + ("", X, 1, "GL_ELEMENT_ARRAY_LENGTH_NV"), # 0x8F33 + ("", X, 1, "GL_GPU_ADDRESS_NV"), # 0x8F34 + ("", X, 1, "GL_MAX_SHADER_BUFFER_ADDRESS_NV"), # 0x8F35 + ("", X, 1, "GL_COPY_READ_BUFFER"), # 0x8F36 + ("", X, 1, "GL_COPY_WRITE_BUFFER"), # 0x8F37 + ("", X, 1, "GL_MAX_IMAGE_UNITS"), # 0x8F38 + ("", X, 1, "GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"), # 0x8F39 + ("", X, 1, "GL_IMAGE_BINDING_NAME"), # 0x8F3A + ("", X, 1, "GL_IMAGE_BINDING_LEVEL"), # 0x8F3B + ("", X, 1, "GL_IMAGE_BINDING_LAYERED"), # 0x8F3C + ("", X, 1, "GL_IMAGE_BINDING_LAYER"), # 0x8F3D + ("", X, 1, "GL_IMAGE_BINDING_ACCESS"), # 0x8F3E + ("", X, 1, "GL_DRAW_INDIRECT_BUFFER"), # 0x8F3F + ("", X, 1, "GL_DRAW_INDIRECT_UNIFIED_NV"), # 0x8F40 + ("", X, 1, "GL_DRAW_INDIRECT_ADDRESS_NV"), # 0x8F41 + ("", X, 1, "GL_DRAW_INDIRECT_LENGTH_NV"), # 0x8F42 + ("glGet", I, 1, "GL_DRAW_INDIRECT_BUFFER_BINDING"), # 0x8F43 + ("", X, 1, "GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"), # 0x8F44 + ("", X, 1, "GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"), # 0x8F45 + ("", X, 1, "GL_DOUBLE_MAT2"), # 0x8F46 + ("", X, 1, "GL_DOUBLE_MAT3"), # 0x8F47 + ("", X, 1, "GL_DOUBLE_MAT4"), # 0x8F48 + ("", X, 1, "GL_DOUBLE_MAT2x3"), # 0x8F49 + ("", X, 1, "GL_DOUBLE_MAT2x4"), # 0x8F4A + ("", X, 1, "GL_DOUBLE_MAT3x2"), # 0x8F4B + ("", X, 1, "GL_DOUBLE_MAT3x4"), # 0x8F4C + ("", X, 1, "GL_DOUBLE_MAT4x2"), # 0x8F4D + ("", X, 1, "GL_DOUBLE_MAT4x3"), # 0x8F4E + #("", X, 1, "GL_MALI_SHADER_BINARY_ARM"), # 0x8F60 + ("", X, 1, "GL_RED_SNORM"), # 0x8F90 + ("", X, 1, "GL_RG_SNORM"), # 0x8F91 + ("", X, 1, "GL_RGB_SNORM"), # 0x8F92 + ("", X, 1, "GL_RGBA_SNORM"), # 0x8F93 + ("", X, 1, "GL_R8_SNORM"), # 0x8F94 + ("", X, 1, "GL_RG8_SNORM"), # 0x8F95 + ("", X, 1, "GL_RGB8_SNORM"), # 0x8F96 + ("", X, 1, "GL_RGBA8_SNORM"), # 0x8F97 + ("", X, 1, "GL_R16_SNORM"), # 0x8F98 + ("", X, 1, "GL_RG16_SNORM"), # 0x8F99 + ("", X, 1, "GL_RGB16_SNORM"), # 0x8F9A + ("", X, 1, "GL_RGBA16_SNORM"), # 0x8F9B + ("", X, 1, "GL_SIGNED_NORMALIZED"), # 0x8F9C + ("glGet", B, 1, "GL_PRIMITIVE_RESTART"), # 0x8F9D + ("glGet", I, 1, "GL_PRIMITIVE_RESTART_INDEX"), # 0x8F9E + #("", X, 1, "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS"), # 0x8F9F + #("", X, 1, "GL_PERFMON_GLOBAL_MODE_QCOM"), # 0x8FA0 + #("", X, 1, "GL_SHADER_BINARY_VIV"), # 0x8FC4 + ("", X, 1, "GL_INT8_NV"), # 0x8FE0 + ("", X, 1, "GL_INT8_VEC2_NV"), # 0x8FE1 + ("", X, 1, "GL_INT8_VEC3_NV"), # 0x8FE2 + ("", X, 1, "GL_INT8_VEC4_NV"), # 0x8FE3 + ("", X, 1, "GL_INT16_NV"), # 0x8FE4 + ("", X, 1, "GL_INT16_VEC2_NV"), # 0x8FE5 + ("", X, 1, "GL_INT16_VEC3_NV"), # 0x8FE6 + ("", X, 1, "GL_INT16_VEC4_NV"), # 0x8FE7 + ("", X, 1, "GL_INT64_VEC2_NV"), # 0x8FE9 + ("", X, 1, "GL_INT64_VEC3_NV"), # 0x8FEA + ("", X, 1, "GL_INT64_VEC4_NV"), # 0x8FEB + ("", X, 1, "GL_UNSIGNED_INT8_NV"), # 0x8FEC + ("", X, 1, "GL_UNSIGNED_INT8_VEC2_NV"), # 0x8FED + ("", X, 1, "GL_UNSIGNED_INT8_VEC3_NV"), # 0x8FEE + ("", X, 1, "GL_UNSIGNED_INT8_VEC4_NV"), # 0x8FEF + ("", X, 1, "GL_UNSIGNED_INT16_NV"), # 0x8FF0 + ("", X, 1, "GL_UNSIGNED_INT16_VEC2_NV"), # 0x8FF1 + ("", X, 1, "GL_UNSIGNED_INT16_VEC3_NV"), # 0x8FF2 + ("", X, 1, "GL_UNSIGNED_INT16_VEC4_NV"), # 0x8FF3 + ("", X, 1, "GL_UNSIGNED_INT64_VEC2_NV"), # 0x8FF5 + ("", X, 1, "GL_UNSIGNED_INT64_VEC3_NV"), # 0x8FF6 + ("", X, 1, "GL_UNSIGNED_INT64_VEC4_NV"), # 0x8FF7 + ("", X, 1, "GL_FLOAT16_NV"), # 0x8FF8 + ("", X, 1, "GL_FLOAT16_VEC2_NV"), # 0x8FF9 + ("", X, 1, "GL_FLOAT16_VEC3_NV"), # 0x8FFA + ("", X, 1, "GL_FLOAT16_VEC4_NV"), # 0x8FFB + ("", X, 1, "GL_DOUBLE_VEC2"), # 0x8FFC + ("", X, 1, "GL_DOUBLE_VEC3"), # 0x8FFD + ("", X, 1, "GL_DOUBLE_VEC4"), # 0x8FFE + ("", X, 1, "GL_SAMPLER_BUFFER_AMD"), # 0x9001 + ("", X, 1, "GL_INT_SAMPLER_BUFFER_AMD"), # 0x9002 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"), # 0x9003 + ("", X, 1, "GL_TESSELLATION_MODE_AMD"), # 0x9004 + ("", X, 1, "GL_TESSELLATION_FACTOR_AMD"), # 0x9005 + ("", X, 1, "GL_DISCRETE_AMD"), # 0x9006 + ("", X, 1, "GL_CONTINUOUS_AMD"), # 0x9007 + ("", X, 1, "GL_TEXTURE_CUBE_MAP_ARRAY"), # 0x9009 + ("_glGet", I, 1, "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"), # 0x900A + ("", X, 1, "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"), # 0x900B + ("", X, 1, "GL_SAMPLER_CUBE_MAP_ARRAY"), # 0x900C + ("", X, 1, "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"), # 0x900D + ("", X, 1, "GL_INT_SAMPLER_CUBE_MAP_ARRAY"), # 0x900E + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"), # 0x900F + ("", X, 1, "GL_ALPHA_SNORM"), # 0x9010 + ("", X, 1, "GL_LUMINANCE_SNORM"), # 0x9011 + ("", X, 1, "GL_LUMINANCE_ALPHA_SNORM"), # 0x9012 + ("", X, 1, "GL_INTENSITY_SNORM"), # 0x9013 + ("", X, 1, "GL_ALPHA8_SNORM"), # 0x9014 + ("", X, 1, "GL_LUMINANCE8_SNORM"), # 0x9015 + ("", X, 1, "GL_LUMINANCE8_ALPHA8_SNORM"), # 0x9016 + ("", X, 1, "GL_INTENSITY8_SNORM"), # 0x9017 + ("", X, 1, "GL_ALPHA16_SNORM"), # 0x9018 + ("", X, 1, "GL_LUMINANCE16_SNORM"), # 0x9019 + ("", X, 1, "GL_LUMINANCE16_ALPHA16_SNORM"), # 0x901A + ("", X, 1, "GL_INTENSITY16_SNORM"), # 0x901B + ("", X, 1, "GL_FACTOR_MIN_AMD"), # 0x901C + ("", X, 1, "GL_FACTOR_MAX_AMD"), # 0x901D + ("", B, 1, "GL_DEPTH_CLAMP_NEAR_AMD"), # 0x901E + ("", B, 1, "GL_DEPTH_CLAMP_FAR_AMD"), # 0x901F + ("", X, 1, "GL_VIDEO_BUFFER_NV"), # 0x9020 + ("glGet", I, 1, "GL_VIDEO_BUFFER_BINDING_NV"), # 0x9021 + ("", X, 1, "GL_FIELD_UPPER_NV"), # 0x9022 + ("", X, 1, "GL_FIELD_LOWER_NV"), # 0x9023 + ("", X, 1, "GL_NUM_VIDEO_CAPTURE_STREAMS_NV"), # 0x9024 + ("", X, 1, "GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"), # 0x9025 + ("", X, 1, "GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"), # 0x9026 + ("", X, 1, "GL_LAST_VIDEO_CAPTURE_STATUS_NV"), # 0x9027 + ("", X, 1, "GL_VIDEO_BUFFER_PITCH_NV"), # 0x9028 + ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"), # 0x9029 + ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_MAX_NV"), # 0x902A + ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_MIN_NV"), # 0x902B + ("", X, 1, "GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"), # 0x902C + ("", X, 1, "GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"), # 0x902D + ("", X, 1, "GL_PARTIAL_SUCCESS_NV"), # 0x902E + ("", X, 1, "GL_SUCCESS_NV"), # 0x902F + ("", X, 1, "GL_FAILURE_NV"), # 0x9030 + ("", X, 1, "GL_YCBYCR8_422_NV"), # 0x9031 + ("", X, 1, "GL_YCBAYCR8A_4224_NV"), # 0x9032 + ("", X, 1, "GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"), # 0x9033 + ("", X, 1, "GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"), # 0x9034 + ("", X, 1, "GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"), # 0x9035 + ("", X, 1, "GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"), # 0x9036 + ("", X, 1, "GL_Z4Y12Z4CB12Z4CR12_444_NV"), # 0x9037 + ("", X, 1, "GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"), # 0x9038 + ("", X, 1, "GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"), # 0x9039 + ("", X, 1, "GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"), # 0x903A + ("", X, 1, "GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"), # 0x903B + ("", X, 1, "GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"), # 0x903C + ("", X, 1, "GL_TEXTURE_COVERAGE_SAMPLES_NV"), # 0x9045 + ("", X, 1, "GL_TEXTURE_COLOR_SAMPLES_NV"), # 0x9046 + ("", X, 1, "GL_IMAGE_1D"), # 0x904C + ("", X, 1, "GL_IMAGE_2D"), # 0x904D + ("", X, 1, "GL_IMAGE_3D"), # 0x904E + ("", X, 1, "GL_IMAGE_2D_RECT"), # 0x904F + ("", X, 1, "GL_IMAGE_CUBE"), # 0x9050 + ("", X, 1, "GL_IMAGE_BUFFER"), # 0x9051 + ("", X, 1, "GL_IMAGE_1D_ARRAY"), # 0x9052 + ("", X, 1, "GL_IMAGE_2D_ARRAY"), # 0x9053 + ("", X, 1, "GL_IMAGE_CUBE_MAP_ARRAY"), # 0x9054 + ("", X, 1, "GL_IMAGE_2D_MULTISAMPLE"), # 0x9055 + ("", X, 1, "GL_IMAGE_2D_MULTISAMPLE_ARRAY"), # 0x9056 + ("", X, 1, "GL_INT_IMAGE_1D"), # 0x9057 + ("", X, 1, "GL_INT_IMAGE_2D"), # 0x9058 + ("", X, 1, "GL_INT_IMAGE_3D"), # 0x9059 + ("", X, 1, "GL_INT_IMAGE_2D_RECT"), # 0x905A + ("", X, 1, "GL_INT_IMAGE_CUBE"), # 0x905B + ("", X, 1, "GL_INT_IMAGE_BUFFER"), # 0x905C + ("", X, 1, "GL_INT_IMAGE_1D_ARRAY"), # 0x905D + ("", X, 1, "GL_INT_IMAGE_2D_ARRAY"), # 0x905E + ("", X, 1, "GL_INT_IMAGE_CUBE_MAP_ARRAY"), # 0x905F + ("", X, 1, "GL_INT_IMAGE_2D_MULTISAMPLE"), # 0x9060 + ("", X, 1, "GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"), # 0x9061 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_1D"), # 0x9062 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D"), # 0x9063 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_3D"), # 0x9064 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_RECT"), # 0x9065 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_CUBE"), # 0x9066 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_BUFFER"), # 0x9067 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_1D_ARRAY"), # 0x9068 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_ARRAY"), # 0x9069 + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"), # 0x906A + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"), # 0x906B + ("", X, 1, "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"), # 0x906C + ("", X, 1, "GL_MAX_IMAGE_SAMPLES"), # 0x906D + ("", X, 1, "GL_IMAGE_BINDING_FORMAT"), # 0x906E + ("", X, 1, "GL_RGB10_A2UI"), # 0x906F + ("", X, 1, "GL_SCALED_RESOLVE_FASTEST_EXT"), # 0x90BA + ("", X, 1, "GL_SCALED_RESOLVE_NICEST_EXT"), # 0x90BB + ("", X, 1, "GL_MIN_MAP_BUFFER_ALIGNMENT"), # 0x90BC + ("", X, 1, "GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"), # 0x90C7 + ("", X, 1, "GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"), # 0x90C8 + ("", X, 1, "GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"), # 0x90C9 + ("", X, 1, "GL_MAX_VERTEX_IMAGE_UNIFORMS"), # 0x90CA + ("", X, 1, "GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"), # 0x90CB + ("", X, 1, "GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"), # 0x90CC + ("", X, 1, "GL_MAX_GEOMETRY_IMAGE_UNIFORMS"), # 0x90CD + ("", X, 1, "GL_MAX_FRAGMENT_IMAGE_UNIFORMS"), # 0x90CE + ("", X, 1, "GL_MAX_COMBINED_IMAGE_UNIFORMS"), # 0x90CF + ("", X, 1, "GL_SYNC_X11_FENCE_EXT"), # 0x90E1 + ("", X, 1, "GL_TEXTURE_2D_MULTISAMPLE"), # 0x9100 + ("", X, 1, "GL_PROXY_TEXTURE_2D_MULTISAMPLE"), # 0x9101 + ("", X, 1, "GL_TEXTURE_2D_MULTISAMPLE_ARRAY"), # 0x9102 + ("", X, 1, "GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"), # 0x9103 + ("", X, 1, "GL_TEXTURE_BINDING_2D_MULTISAMPLE"), # 0x9104 + ("", X, 1, "GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"), # 0x9105 + ("", X, 1, "GL_TEXTURE_SAMPLES"), # 0x9106 + ("", X, 1, "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"), # 0x9107 + ("", X, 1, "GL_SAMPLER_2D_MULTISAMPLE"), # 0x9108 + ("", X, 1, "GL_INT_SAMPLER_2D_MULTISAMPLE"), # 0x9109 + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"), # 0x910A + ("", X, 1, "GL_SAMPLER_2D_MULTISAMPLE_ARRAY"), # 0x910B + ("", X, 1, "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"), # 0x910C + ("", X, 1, "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"), # 0x910D + ("", X, 1, "GL_MAX_COLOR_TEXTURE_SAMPLES"), # 0x910E + ("", X, 1, "GL_MAX_DEPTH_TEXTURE_SAMPLES"), # 0x910F + ("", X, 1, "GL_MAX_INTEGER_SAMPLES"), # 0x9110 + ("_glGet", I64, 1, "GL_MAX_SERVER_WAIT_TIMEOUT"), # 0x9111 + ("", X, 1, "GL_OBJECT_TYPE"), # 0x9112 + ("", X, 1, "GL_SYNC_CONDITION"), # 0x9113 + ("", X, 1, "GL_SYNC_STATUS"), # 0x9114 + ("", X, 1, "GL_SYNC_FLAGS"), # 0x9115 + ("", X, 1, "GL_SYNC_FENCE"), # 0x9116 + ("", X, 1, "GL_SYNC_GPU_COMMANDS_COMPLETE"), # 0x9117 + ("", X, 1, "GL_UNSIGNALED"), # 0x9118 + ("", X, 1, "GL_SIGNALED"), # 0x9119 + ("", X, 1, "GL_ALREADY_SIGNALED"), # 0x911A + ("", X, 1, "GL_TIMEOUT_EXPIRED"), # 0x911B + ("", X, 1, "GL_CONDITION_SATISFIED"), # 0x911C + ("", X, 1, "GL_WAIT_FAILED"), # 0x911D + ("glGetBufferParameter", I, 1, "GL_BUFFER_ACCESS_FLAGS"), # 0x911F + ("glGetBufferParameter", I, 1, "GL_BUFFER_MAP_LENGTH"), # 0x9120 + ("glGetBufferParameter", I, 1, "GL_BUFFER_MAP_OFFSET"), # 0x9121 + ("", X, 1, "GL_MAX_VERTEX_OUTPUT_COMPONENTS"), # 0x9122 + ("", X, 1, "GL_MAX_GEOMETRY_INPUT_COMPONENTS"), # 0x9123 + ("", X, 1, "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"), # 0x9124 + ("", X, 1, "GL_MAX_FRAGMENT_INPUT_COMPONENTS"), # 0x9125 + ("glGet", I, 1, "GL_CONTEXT_PROFILE_MASK"), # 0x9126 + ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_WIDTH"), # 0x9127 + ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"), # 0x9128 + ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_DEPTH"), # 0x9129 + ("", X, 1, "GL_UNPACK_COMPRESSED_BLOCK_SIZE"), # 0x912A + ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_WIDTH"), # 0x912B + ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_HEIGHT"), # 0x912C + ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_DEPTH"), # 0x912D + ("", X, 1, "GL_PACK_COMPRESSED_BLOCK_SIZE"), # 0x912E + ("", X, 1, "GL_TEXTURE_IMMUTABLE_FORMAT"), # 0x912F + #("", X, 1, "GL_SGX_PROGRAM_BINARY_IMG"), # 0x9130 + #("", X, 1, "GL_RENDERBUFFER_SAMPLES_IMG"), # 0x9133 + #("", X, 1, "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"), # 0x9134 + #("", X, 1, "GL_MAX_SAMPLES_IMG"), # 0x9135 + #("", X, 1, "GL_TEXTURE_SAMPLES_IMG"), # 0x9136 + ("", X, 1, "GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"), # 0x9143 + ("", X, 1, "GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"), # 0x9144 + ("", X, 1, "GL_DEBUG_LOGGED_MESSAGES_ARB"), # 0x9145 + ("", X, 1, "GL_DEBUG_SEVERITY_HIGH_ARB"), # 0x9146 + ("", X, 1, "GL_DEBUG_SEVERITY_MEDIUM_ARB"), # 0x9147 + ("", X, 1, "GL_DEBUG_SEVERITY_LOW_ARB"), # 0x9148 + ("", X, 1, "GL_DEBUG_CATEGORY_API_ERROR_AMD"), # 0x9149 + ("", X, 1, "GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"), # 0x914A + ("", X, 1, "GL_DEBUG_CATEGORY_DEPRECATION_AMD"), # 0x914B + ("", X, 1, "GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"), # 0x914C + ("", X, 1, "GL_DEBUG_CATEGORY_PERFORMANCE_AMD"), # 0x914D + ("", X, 1, "GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"), # 0x914E + ("", X, 1, "GL_DEBUG_CATEGORY_APPLICATION_AMD"), # 0x914F + ("", X, 1, "GL_DEBUG_CATEGORY_OTHER_AMD"), # 0x9150 + ("", X, 1, "GL_DATA_BUFFER_AMD"), # 0x9151 + ("", X, 1, "GL_PERFORMANCE_MONITOR_AMD"), # 0x9152 + ("", X, 1, "GL_QUERY_OBJECT_AMD"), # 0x9153 + ("", X, 1, "GL_VERTEX_ARRAY_OBJECT_AMD"), # 0x9154 + ("", X, 1, "GL_SAMPLER_OBJECT_AMD"), # 0x9155 + #("", X, 1, "GL_SHADER_BINARY_DMP"), # 0x9250 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER"), # 0x92C0 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_BINDING"), # 0x92C1 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_START"), # 0x92C2 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_SIZE"), # 0x92C3 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"), # 0x92C4 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"), # 0x92C5 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"), # 0x92C6 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"), # 0x92C7 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"), # 0x92C8 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"), # 0x92C9 + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"), # 0x92CA + ("", X, 1, "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"), # 0x92CB + ("", X, 1, "GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"), # 0x92CC + ("", X, 1, "GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"), # 0x92CD + ("", X, 1, "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"), # 0x92CE + ("", X, 1, "GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"), # 0x92CF + ("", X, 1, "GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"), # 0x92D0 + ("", X, 1, "GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"), # 0x92D1 + ("", X, 1, "GL_MAX_VERTEX_ATOMIC_COUNTERS"), # 0x92D2 + ("", X, 1, "GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"), # 0x92D3 + ("", X, 1, "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"), # 0x92D4 + ("", X, 1, "GL_MAX_GEOMETRY_ATOMIC_COUNTERS"), # 0x92D5 + ("", X, 1, "GL_MAX_FRAGMENT_ATOMIC_COUNTERS"), # 0x92D6 + ("", X, 1, "GL_MAX_COMBINED_ATOMIC_COUNTERS"), # 0x92D7 + ("", X, 1, "GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"), # 0x92D8 + ("", X, 1, "GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"), # 0x92D9 + ("", X, 1, "GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"), # 0x92DA + ("", X, 1, "GL_UNSIGNED_INT_ATOMIC_COUNTER"), # 0x92DB + ("", X, 1, "GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"), # 0x92DC + ("", X, 1, "GL_NUM_SAMPLE_COUNTS"), # 0x9380 + ("", X, 1, "GL_INVALID_INDEX"), # 0xFFFFFFFFu +] + + +# Add all enums to GLenum type descriptor +for _function, _type, _count, _name in parameters: + GLenum.values.append(_name) + diff --git a/specs/gltypes.py b/specs/gltypes.py new file mode 100644 index 0000000..e25cd7e --- /dev/null +++ b/specs/gltypes.py @@ -0,0 +1,203 @@ +########################################################################## +# +# Copyright 2011 Jose Fonseca +# 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 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. +# +##########################################################################/ + + +'''Describe GL types.''' + + +import platform + +from stdapi import * + + +GLboolean = Alias("GLboolean", Bool) +GLvoid = Alias("GLvoid", Void) +GLbyte = Alias("GLbyte", SChar) +GLshort = Alias("GLshort", Short) +GLint = Alias("GLint", Int) +GLint64 = Alias("GLint64", Int64) +GLubyte = Alias("GLubyte", UChar) +GLushort = Alias("GLushort", UShort) +GLuint = Alias("GLuint", UInt) +GLuint64 = Alias("GLuint64", UInt64) +GLsizei = Alias("GLsizei", Int) +GLintptr = Alias("GLintptr", Int) +GLsizeiptr = Alias("GLsizeiptr", Int) +GLfloat = Alias("GLfloat", Float) +GLclampf = Alias("GLclampf", Float) +GLdouble = Alias("GLdouble", Double) +GLclampd = Alias("GLclampd", Double) +GLchar = Alias("GLchar", SChar) +GLstring = String("GLchar *") + +GLcharARB = Alias("GLcharARB", SChar) +GLstringARB = String("GLcharARB *") +GLintptrARB = Alias("GLintptrARB", Int) +GLsizeiptrARB = Alias("GLsizeiptrARB", Int) +GLhandleARB = Handle("handleARB", Alias("GLhandleARB", UInt)) +GLhalfARB = Alias("GLhalfARB", UShort) +GLhalfNV = Alias("GLhalfNV", UShort) +GLint64EXT = Alias("GLint64EXT", Int64) +GLuint64EXT = Alias("GLuint64EXT", UInt64) +GLDEBUGPROCARB = Opaque("GLDEBUGPROCARB") +GLDEBUGPROCAMD = Opaque("GLDEBUGPROCAMD") + +GLlist = Handle("list", GLuint) +GLtexture = Handle("texture", GLuint) +GLbuffer = Handle("buffer", GLuint) +GLquery = Handle("query", GLuint) +GLfenceNV = Handle("fenceNV", GLuint) +GLprogram = Handle("program", GLuint) +GLshader = Handle("shader", GLuint) +GLlocation = Handle("location", GLint, key=('program', GLuint)) +GLlocationARB = Handle("locationARB", GLint, key=('programObj', GLhandleARB)) +GLprogramARB = Handle("programARB", GLuint) +GLframebuffer = Handle("framebuffer", GLuint) +GLrenderbuffer = Handle("renderbuffer", GLuint) +GLfragmentShaderATI = Handle("fragmentShaderATI", GLuint) +GLarray = Handle("array", GLuint) +GLregion = Handle("region", GLuint) +GLmap = Handle("map", OpaquePointer(GLvoid)) +GLpipeline = Handle("pipeline", GLuint) +GLsampler = Handle("sampler", GLuint) +GLfeedback = Handle("feedback", GLuint) + +GLsync_ = Opaque("GLsync") +GLsync = Handle("sync", GLsync_) + +GLenum = Enum("GLenum", [ + # Parameters are added later from glparams.py's parameter table +]) + +# Some functions take GLenum disguised as GLint. Apple noticed and fixed it in +# the gl.h header. Regardless, C++ typechecking rules force the wrappers to +# match the prototype precisely. +if platform.system() == 'Darwin': + GLenum_int = GLenum +else: + GLenum_int = Alias("GLint", GLenum) + +GLenum_mode = FakeEnum(GLenum, [ + "GL_POINTS", # 0x0000 + "GL_LINES", # 0x0001 + "GL_LINE_LOOP", # 0x0002 + "GL_LINE_STRIP", # 0x0003 + "GL_TRIANGLES", # 0x0004 + "GL_TRIANGLE_STRIP", # 0x0005 + "GL_TRIANGLE_FAN", # 0x0006 + "GL_QUADS", # 0x0007 + "GL_QUAD_STRIP", # 0x0008 + "GL_POLYGON", # 0x0009 + "GL_LINES_ADJACENCY", # 0x000A + "GL_LINE_STRIP_ADJACENCY", # 0x000B + "GL_TRIANGLES_ADJACENCY", # 0x000C + "GL_TRIANGLE_STRIP_ADJACENCY", # 0x000D + "GL_PATCHES", # 0x000E +]) + +GLenum_error = FakeEnum(GLenum, [ + "GL_NO_ERROR", # 0x0 + "GL_INVALID_ENUM", # 0x0500 + "GL_INVALID_VALUE", # 0x0501 + "GL_INVALID_OPERATION", # 0x0502 + "GL_STACK_OVERFLOW", # 0x0503 + "GL_STACK_UNDERFLOW", # 0x0504 + "GL_OUT_OF_MEMORY", # 0x0505 + "GL_INVALID_FRAMEBUFFER_OPERATION", # 0x0506 + "GL_TABLE_TOO_LARGE", # 0x8031 +]) + +GLbitfield = Alias("GLbitfield", UInt) + +GLbitfield_attrib = Flags(GLbitfield, [ + "GL_ALL_ATTRIB_BITS", # 0x000FFFFF + "GL_CURRENT_BIT", # 0x00000001 + "GL_POINT_BIT", # 0x00000002 + "GL_LINE_BIT", # 0x00000004 + "GL_POLYGON_BIT", # 0x00000008 + "GL_POLYGON_STIPPLE_BIT", # 0x00000010 + "GL_PIXEL_MODE_BIT", # 0x00000020 + "GL_LIGHTING_BIT", # 0x00000040 + "GL_FOG_BIT", # 0x00000080 + "GL_DEPTH_BUFFER_BIT", # 0x00000100 + "GL_ACCUM_BUFFER_BIT", # 0x00000200 + "GL_STENCIL_BUFFER_BIT", # 0x00000400 + "GL_VIEWPORT_BIT", # 0x00000800 + "GL_TRANSFORM_BIT", # 0x00001000 + "GL_ENABLE_BIT", # 0x00002000 + "GL_COLOR_BUFFER_BIT", # 0x00004000 + "GL_HINT_BIT", # 0x00008000 + "GL_EVAL_BIT", # 0x00010000 + "GL_LIST_BIT", # 0x00020000 + "GL_TEXTURE_BIT", # 0x00040000 + "GL_SCISSOR_BIT", # 0x00080000 + "GL_MULTISAMPLE_BIT", # 0x20000000 +]) + +GLbitfield_client_attrib = Flags(GLbitfield, [ + "GL_CLIENT_ALL_ATTRIB_BITS", # 0xFFFFFFFF + "GL_CLIENT_PIXEL_STORE_BIT", # 0x00000001 + "GL_CLIENT_VERTEX_ARRAY_BIT", # 0x00000002 +]) + +GLbitfield_shader = Flags(GLbitfield, [ + "GL_ALL_SHADER_BITS", # 0xFFFFFFFF + "GL_VERTEX_SHADER_BIT", # 0x00000001 + "GL_FRAGMENT_SHADER_BIT", # 0x00000002 + "GL_GEOMETRY_SHADER_BIT", # 0x00000004 + "GL_TESS_CONTROL_SHADER_BIT", # 0x00000008 + "GL_TESS_EVALUATION_SHADER_BIT", # 0x00000010 +]) + +GLbitfield_access = Flags(GLbitfield, [ + "GL_MAP_READ_BIT", # 0x0001 + "GL_MAP_WRITE_BIT", # 0x0002 + "GL_MAP_INVALIDATE_RANGE_BIT", # 0x0004 + "GL_MAP_INVALIDATE_BUFFER_BIT", # 0x0008 + "GL_MAP_FLUSH_EXPLICIT_BIT", # 0x0010 + "GL_MAP_UNSYNCHRONIZED_BIT", # 0x0020 +]) + +GLbitfield_sync_flush = Flags(GLbitfield, [ + "GL_SYNC_FLUSH_COMMANDS_BIT", # 0x00000001 +]) + +GLbitfield_barrier = Flags(GLbitfield, [ + "GL_ALL_BARRIER_BITS", # 0xFFFFFFFF + "GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT", # 0x00000001 + "GL_ELEMENT_ARRAY_BARRIER_BIT", # 0x00000002 + "GL_UNIFORM_BARRIER_BIT", # 0x00000004 + "GL_TEXTURE_FETCH_BARRIER_BIT", # 0x00000008 + "GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV", # 0x00000010 + "GL_SHADER_IMAGE_ACCESS_BARRIER_BIT", # 0x00000020 + "GL_COMMAND_BARRIER_BIT", # 0x00000040 + "GL_PIXEL_BUFFER_BARRIER_BIT", # 0x00000080 + "GL_TEXTURE_UPDATE_BARRIER_BIT", # 0x00000100 + "GL_BUFFER_UPDATE_BARRIER_BIT", # 0x00000200 + "GL_FRAMEBUFFER_BARRIER_BIT", # 0x00000400 + "GL_TRANSFORM_FEEDBACK_BARRIER_BIT", # 0x00000800 + "GL_ATOMIC_COUNTER_BARRIER_BIT", # 0x00001000 +]) + diff --git a/specs/glxapi.py b/specs/glxapi.py new file mode 100644 index 0000000..361e89a --- /dev/null +++ b/specs/glxapi.py @@ -0,0 +1,445 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""GLX API description.""" + + +from stdapi import * +from glapi import * + +VisualID = Alias("VisualID", UInt32) +Display = Opaque("Display *") +Visual = Opaque("Visual *") +Font = Alias("Font", UInt32) +Pixmap = Alias("Pixmap", UInt32) +Window = Alias("Window", UInt32) + +GLXContext = Opaque("GLXContext") +GLXPixmap = Alias("GLXPixmap", UInt32) +GLXDrawable = Alias("GLXDrawable", UInt32) +GLXFBConfig = Opaque("GLXFBConfig") +GLXFBConfigSGIX = Opaque("GLXFBConfigSGIX") +GLXFBConfigID = Alias("GLXFBConfigID", UInt32) +GLXContextID = Alias("GLXContextID", UInt32) +GLXWindow = Alias("GLXWindow", UInt32) +GLXPbuffer = Alias("GLXPbuffer", UInt32) +GLXPbufferSGIX = Alias("GLXPbufferSGIX", UInt32) +GLXVideoSourceSGIX = Alias("GLXVideoSourceSGIX", UInt32) + +XVisualInfo = Struct("XVisualInfo", [ + (Visual, "visual"), + (VisualID, "visualid"), + (Int, "screen"), + (Int, "depth"), + (Int, "c_class"), + (ULong, "red_mask"), + (ULong, "green_mask"), + (ULong, "blue_mask"), + (Int, "colormap_size"), + (Int, "bits_per_rgb"), +]) + +Bool = FakeEnum(Int, [ + "False", + "True", +]) + +GLXAttrib = FakeEnum(Int, [ + "GLX_USE_GL", + "GLX_BUFFER_SIZE", + "GLX_LEVEL", + "GLX_RGBA", + "GLX_DOUBLEBUFFER", + "GLX_STEREO", + "GLX_AUX_BUFFERS", + "GLX_RED_SIZE", + "GLX_GREEN_SIZE", + "GLX_BLUE_SIZE", + "GLX_ALPHA_SIZE", + "GLX_DEPTH_SIZE", + "GLX_STENCIL_SIZE", + "GLX_ACCUM_RED_SIZE", + "GLX_ACCUM_GREEN_SIZE", + "GLX_ACCUM_BLUE_SIZE", + "GLX_ACCUM_ALPHA_SIZE", + + "GLX_CONFIG_CAVEAT", # 0x20 + "GLX_X_VISUAL_TYPE", # 0x22 + "GLX_TRANSPARENT_TYPE", # 0x23 + "GLX_TRANSPARENT_INDEX_VALUE", # 0x24 + "GLX_TRANSPARENT_RED_VALUE", # 0x25 + "GLX_TRANSPARENT_GREEN_VALUE", # 0x26 + "GLX_TRANSPARENT_BLUE_VALUE", # 0x27 + "GLX_TRANSPARENT_ALPHA_VALUE", # 0x28 + + "GLX_BIND_TO_TEXTURE_RGB_EXT", # 0x20D0 + "GLX_BIND_TO_TEXTURE_RGBA_EXT", # 0x20D1 + "GLX_BIND_TO_MIPMAP_TEXTURE_EXT", # 0x20D2 + "GLX_BIND_TO_TEXTURE_TARGETS_EXT", # 0x20D3 + "GLX_Y_INVERTED_EXT", # 0x20D4 + "GLX_TEXTURE_FORMAT_EXT", # 0x20D5 + "GLX_TEXTURE_TARGET_EXT", # 0x20D6 + "GLX_MIPMAP_TEXTURE_EXT", # 0x20D7 + "GLX_TEXTURE_FORMAT_NONE_EXT", # 0x20D8 + "GLX_TEXTURE_FORMAT_RGB_EXT", # 0x20D9 + "GLX_TEXTURE_FORMAT_RGBA_EXT", # 0x20DA + "GLX_TEXTURE_1D_EXT", # 0x20DB + "GLX_TEXTURE_2D_EXT", # 0x20DC + "GLX_TEXTURE_RECTANGLE_EXT", # 0x20DD + "GLX_FRONT_LEFT_EXT", # 0x20DE + "GLX_FRONT_RIGHT_EXT", # 0x20DF + "GLX_BACK_LEFT_EXT", # 0x20E0 + "GLX_BACK_RIGHT_EXT", # 0x20E1 + "GLX_AUX0_EXT", # 0x20E2 + "GLX_AUX1_EXT", # 0x20E3 + "GLX_AUX2_EXT", # 0x20E4 + "GLX_AUX3_EXT", # 0x20E5 + "GLX_AUX4_EXT", # 0x20E6 + "GLX_AUX5_EXT", # 0x20E7 + "GLX_AUX6_EXT", # 0x20E8 + "GLX_AUX7_EXT", # 0x20E9 + "GLX_AUX8_EXT", # 0x20EA + "GLX_AUX9_EXT", # 0x20EB + + "GLX_NONE", # 0x8000 + "GLX_SLOW_CONFIG", # 0x8001 + "GLX_TRUE_COLOR", # 0x8002 + "GLX_DIRECT_COLOR", # 0x8003 + "GLX_PSEUDO_COLOR", # 0x8004 + "GLX_STATIC_COLOR", # 0x8005 + "GLX_GRAY_SCALE", # 0x8006 + "GLX_STATIC_GRAY", # 0x8007 + "GLX_TRANSPARENT_RGB", # 0x8008 + "GLX_TRANSPARENT_INDEX", # 0x8009 + "GLX_VISUAL_ID", # 0x800B + "GLX_SCREEN", # 0x800C + "GLX_NON_CONFORMANT_CONFIG", # 0x800D + "GLX_DRAWABLE_TYPE", # 0x8010 + "GLX_RENDER_TYPE", # 0x8011 + "GLX_X_RENDERABLE", # 0x8012 + "GLX_FBCONFIG_ID", # 0x8013 + "GLX_RGBA_TYPE", # 0x8014 + "GLX_COLOR_INDEX_TYPE", # 0x8015 + "GLX_MAX_PBUFFER_WIDTH", # 0x8016 + "GLX_MAX_PBUFFER_HEIGHT", # 0x8017 + "GLX_MAX_PBUFFER_PIXELS", # 0x8018 + "GLX_PRESERVED_CONTENTS", # 0x801B + "GLX_LARGEST_PBUFFER", # 0x801C + "GLX_WIDTH", # 0x801D + "GLX_HEIGHT", # 0x801E + "GLX_EVENT_MASK", # 0x801F + "GLX_DAMAGED", # 0x8020 + "GLX_SAVED", # 0x8021 + "GLX_WINDOW", # 0x8022 + "GLX_PBUFFER", # 0x8023 + "GLX_PBUFFER_HEIGHT", # 0x8040 + "GLX_PBUFFER_WIDTH", # 0x8041 + + "GLX_SAMPLE_BUFFERS", # 100000 + "GLX_SAMPLES", # 100001 + + "GLX_DONT_CARE", # 0xFFFFFFFF +]) + +GLXError = FakeEnum(Int, [ + "GLX_BAD_SCREEN", + "GLX_BAD_ATTRIBUTE", + "GLX_NO_EXTENSION", + "GLX_BAD_VISUAL", + "GLX_BAD_CONTEXT", + "GLX_BAD_VALUE", + "GLX_BAD_ENUM", +]) + +GLXname = FakeEnum(Int, [ + "GLX_VENDOR", + "GLX_VERSION", + "GLX_EXTENSIONS", +]) + +GLXbuffer = Flags(Int, [ + "GLX_WINDOW_BIT", + "GLX_PIXMAP_BIT", + "GLX_PBUFFER_BIT", + "GLX_AUX_BUFFERS_BIT", + "GLX_FRONT_LEFT_BUFFER_BIT", + "GLX_FRONT_RIGHT_BUFFER_BIT", + "GLX_BACK_LEFT_BUFFER_BIT", + "GLX_BACK_RIGHT_BUFFER_BIT", + "GLX_DEPTH_BUFFER_BIT", + "GLX_STENCIL_BUFFER_BIT", + "GLX_ACCUM_BUFFER_BIT", +]) + +GLXEnum = FakeEnum(Int, [ + "GLX_NONE", + "GLX_SLOW_CONFIG", + "GLX_TRUE_COLOR", + "GLX_DIRECT_COLOR", + "GLX_PSEUDO_COLOR", + "GLX_STATIC_COLOR", + "GLX_GRAY_SCALE", + "GLX_STATIC_GRAY", + "GLX_TRANSPARENT_RGB", + "GLX_TRANSPARENT_INDEX", + "GLX_VISUAL_ID", + "GLX_SCREEN", + "GLX_NON_CONFORMANT_CONFIG", + "GLX_DRAWABLE_TYPE", + "GLX_RENDER_TYPE", + "GLX_X_RENDERABLE", + "GLX_FBCONFIG_ID", + "GLX_RGBA_TYPE", + "GLX_COLOR_INDEX_TYPE", + "GLX_MAX_PBUFFER_WIDTH", + "GLX_MAX_PBUFFER_HEIGHT", + "GLX_MAX_PBUFFER_PIXELS", + "GLX_PRESERVED_CONTENTS", + "GLX_LARGEST_PBUFFER", + "GLX_WIDTH", + "GLX_HEIGHT", + "GLX_EVENT_MASK", + "GLX_DAMAGED", + "GLX_SAVED", + "GLX_WINDOW", + "GLX_PBUFFER", + "GLX_PBUFFER_HEIGHT", + "GLX_PBUFFER_WIDTH", +]) + +GLXbuffer = Flags(Int, [ + "GLX_RGBA_BIT", + "GLX_COLOR_INDEX_BIT", + "GLX_PBUFFER_CLOBBER_MASK", +]) + +glxapi = API("GLX") + +PROC = Opaque("__GLXextFuncPtr") + +glxapi.add_functions([ + # GLX + Function(Pointer(XVisualInfo), "glXChooseVisual", [(Display, "dpy"), (Int, "screen"), (Array(GLXAttrib, "__AttribList_size(attribList)"), "attribList")]), + Function(GLXContext, "glXCreateContext", [(Display, "dpy"), (Pointer(XVisualInfo), "vis"), (GLXContext, "shareList"), (Bool, "direct")]), + Function(Void, "glXDestroyContext", [(Display, "dpy"), (GLXContext, "ctx")]), + Function(Bool, "glXMakeCurrent", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLXContext, "ctx")]), + Function(Void, "glXCopyContext", [(Display, "dpy"), (GLXContext, "src"), (GLXContext, "dst"), + (ULong, "mask")]), + Function(Void, "glXSwapBuffers", [(Display, "dpy"), (GLXDrawable, "drawable")]), + Function(GLXPixmap, "glXCreateGLXPixmap", [(Display, "dpy"), (Pointer(XVisualInfo), "visual"), + (Pixmap, "pixmap")]), + Function(Void, "glXDestroyGLXPixmap", [(Display, "dpy"), (GLXPixmap, "pixmap")]), + Function(Bool, "glXQueryExtension", [(Display, "dpy"), Out(Pointer(Int), "errorb"), Out(Pointer(Int), "event")]), + Function(Bool, "glXQueryVersion", [(Display, "dpy"), Out(Pointer(Int), "maj"), Out(Pointer(Int), "min")]), + Function(Bool, "glXIsDirect", [(Display, "dpy"), (GLXContext, "ctx")]), + Function(GLXError, "glXGetConfig", [(Display, "dpy"), (Pointer(XVisualInfo), "visual"), + (GLXAttrib, "attrib"), Out(Pointer(Int), "value")]), + Function(GLXContext, "glXGetCurrentContext", [], sideeffects=False), + Function(GLXDrawable, "glXGetCurrentDrawable", [], sideeffects=False), + Function(Void, "glXWaitGL", []), + Function(Void, "glXWaitX", []), + Function(Void, "glXUseXFont", [(Font, "font"), (Int, "first"), (Int, "count"), (Int, "list")]), + + # GLX 1.1 and later + Function((Const(String("char *"))), "glXQueryExtensionsString", [(Display, "dpy"), (Int, "screen")]), + Function((Const(String("char *"))), "glXQueryServerString", [(Display, "dpy"), (Int, "screen"), (GLXname, "name")]), + Function((Const(String("char *"))), "glXGetClientString", [(Display, "dpy"), (GLXname, "name")]), + + # GLX 1.2 and later + Function(Display, "glXGetCurrentDisplay", [], sideeffects=False), + + # GLX 1.3 and later + Function(Array(GLXFBConfig, "*nitems"), "glXChooseFBConfig", [(Display, "dpy"), (Int, "screen"), (Array(Const(GLXAttrib), "__AttribList_size(attribList)"), "attribList"), Out(Pointer(Int), "nitems")]), + Function(Int, "glXGetFBConfigAttrib", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXAttrib, "attribute"), Out(Pointer(Int), "value")]), + Function(Array(GLXFBConfig, "*nelements"), "glXGetFBConfigs", [(Display, "dpy"), (Int, "screen"), + Out(Pointer(Int), "nelements")]), + Function(Pointer(XVisualInfo), "glXGetVisualFromFBConfig", [(Display, "dpy"), + (GLXFBConfig, "config")]), + Function(GLXWindow, "glXCreateWindow", [(Display, "dpy"), (GLXFBConfig, "config"), + (Window, "win"), (Array(Const(Int), "__AttribList_size(attribList)"), "attribList")]), + Function(Void, "glXDestroyWindow", [(Display, "dpy"), (GLXWindow, "window")]), + Function(GLXPixmap, "glXCreatePixmap", [(Display, "dpy"), (GLXFBConfig, "config"), + (Pixmap, "pixmap"), (Array(Const(Int), "__AttribList_size(attribList)"), "attribList")]), + Function(Void, "glXDestroyPixmap", [(Display, "dpy"), (GLXPixmap, "pixmap")]), + Function(GLXPbuffer, "glXCreatePbuffer", [(Display, "dpy"), (GLXFBConfig, "config"), + (Array(Const(GLXEnum), "__AttribList_size(attribList)"), "attribList")]), + Function(Void, "glXDestroyPbuffer", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), + Function(Void, "glXQueryDrawable", [(Display, "dpy"), (GLXDrawable, "draw"), (GLXEnum, "attribute"), + Out(Pointer(UInt), "value")]), + Function(GLXContext, "glXCreateNewContext", [(Display, "dpy"), (GLXFBConfig, "config"), + (GLXEnum, "renderType"), (GLXContext, "shareList"), + (Bool, "direct")]), + Function(Bool, "glXMakeContextCurrent", [(Display, "dpy"), (GLXDrawable, "draw"), + (GLXDrawable, "read"), (GLXContext, "ctx")]), + Function(GLXDrawable, "glXGetCurrentReadDrawable", []), + Function(Int, "glXQueryContext", [(Display, "dpy"), (GLXContext, "ctx"), (GLXEnum, "attribute"), + Out(Pointer(Int), "value")]), + Function(Void, "glXSelectEvent", [(Display, "dpy"), (GLXDrawable, "drawable"), + (ULong, "mask")]), + Function(Void, "glXGetSelectedEvent", [(Display, "dpy"), (GLXDrawable, "drawable"), + Out(Pointer(ULong), "mask")]), + + # GLX_ARB_create_context + Function(GLXContext, "glXCreateContextAttribsARB", [(Display, "dpy"), (GLXFBConfig, "config"), (GLXContext, "share_context"), (Bool, "direct"), (OpaquePointer(Const(Int)), "attrib_list")]), + + # GLX_SGI_swap_control + Function(Int, "glXSwapIntervalSGI", [(Int, "interval")]), + + # GLX_SGI_video_sync + Function(Int, "glXGetVideoSyncSGI", [(OpaquePointer(UInt), "count")]), + Function(Int, "glXWaitVideoSyncSGI", [(Int, "divisor"), (Int, "remainder"), (OpaquePointer(UInt), "count")]), + + # GLX_SGI_make_current_read + Function(Bool, "glXMakeCurrentReadSGI", [(Display, "dpy"), (GLXDrawable, "draw"), (GLXDrawable, "read"), (GLXContext, "ctx")]), + Function(GLXDrawable, "glXGetCurrentReadDrawableSGI", []), + + # GLX_SGIX_video_source + #Function(GLXVideoSourceSGIX, "glXCreateGLXVideoSourceSGIX", [(Display, "display"), (Int, "screen"), (VLServer, "server"), (VLPath, "path"), (Int, "nodeClass"), (VLNode, "drainNode")]), + #Function(Void, "glXDestroyGLXVideoSourceSGIX", [(Display, "dpy"), (GLXVideoSourceSGIX, "glxvideosource")]), + + # GLX_EXT_import_context + Function(Display, "glXGetCurrentDisplayEXT", []), + Function(Int, "glXQueryContextInfoEXT", [(Display, "dpy"), (GLXContext, "context"), (Int, "attribute"), (OpaquePointer(Int), "value")]), + Function(GLXContextID, "glXGetContextIDEXT", [(Const(GLXContext), "context")]), + Function(GLXContext, "glXImportContextEXT", [(Display, "dpy"), (GLXContextID, "contextID")]), + Function(Void, "glXFreeContextEXT", [(Display, "dpy"), (GLXContext, "context")]), + + # GLX_SGIX_fbconfig + Function(Int, "glXGetFBConfigAttribSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Int, "attribute"), (OpaquePointer(Int), "value")]), + Function(OpaquePointer(GLXFBConfigSGIX), "glXChooseFBConfigSGIX", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "attrib_list"), (OpaquePointer(Int), "nelements")]), + Function(GLXPixmap, "glXCreateGLXPixmapWithConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Pixmap, "pixmap")]), + Function(GLXContext, "glXCreateContextWithConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (Int, "render_type"), (GLXContext, "share_list"), (Bool, "direct")]), + Function(OpaquePointer(XVisualInfo), "glXGetVisualFromFBConfigSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config")]), + Function(GLXFBConfigSGIX, "glXGetFBConfigFromVisualSGIX", [(Display, "dpy"), (OpaquePointer(XVisualInfo), "vis")]), + + # GLX_SGIX_pbuffer + Function(GLXPbufferSGIX, "glXCreateGLXPbufferSGIX", [(Display, "dpy"), (GLXFBConfigSGIX, "config"), (UInt, "width"), (UInt, "height"), (OpaquePointer(Int), "attrib_list")]), + Function(Void, "glXDestroyGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf")]), + Function(Int, "glXQueryGLXPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuf"), (Int, "attribute"), (OpaquePointer(UInt), "value")]), + Function(Void, "glXSelectEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (ULong, "mask")]), + Function(Void, "glXGetSelectedEventSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(ULong), "mask")]), + + # GLX_SGI_cushion + Function(Void, "glXCushionSGI", [(Display, "dpy"), (Window, "window"), (Float, "cushion")]), + + # GLX_SGIX_video_resize + Function(Int, "glXBindChannelToWindowSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (Window, "window")]), + Function(Int, "glXChannelRectSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (Int, "x"), (Int, "y"), (Int, "w"), (Int, "h")]), + Function(Int, "glXQueryChannelRectSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (OpaquePointer(Int), "dx"), (OpaquePointer(Int), "dy"), (OpaquePointer(Int), "dw"), (OpaquePointer(Int), "dh")]), + Function(Int, "glXQueryChannelDeltasSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (OpaquePointer(Int), "x"), (OpaquePointer(Int), "y"), (OpaquePointer(Int), "w"), (OpaquePointer(Int), "h")]), + Function(Int, "glXChannelRectSyncSGIX", [(Display, "display"), (Int, "screen"), (Int, "channel"), (GLenum, "synctype")]), + + # GLX_SGIX_dmbuffer + #Function(Bool, "glXAssociateDMPbufferSGIX", [(Display, "dpy"), (GLXPbufferSGIX, "pbuffer"), (OpaquePointer(DMparams), "params"), (DMbuffer, "dmbuffer")]), + + # GLX_SGIX_swap_group + Function(Void, "glXJoinSwapGroupSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLXDrawable, "member")]), + + # GLX_SGIX_swap_barrier + Function(Void, "glXBindSwapBarrierSGIX", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "barrier")]), + Function(Bool, "glXQueryMaxSwapBarriersSGIX", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "max")]), + + # GLX_SUN_get_transparent_index + #Function(Status, "glXGetTransparentIndexSUN", [(Display, "dpy"), (Window, "overlay"), (Window, "underlay"), (OpaquePointer(Long), "pTransparentIndex")]), + + # GLX_MESA_copy_sub_buffer + Function(Void, "glXCopySubBufferMESA", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height")]), + + # GLX_MESA_pixmap_colormap + #Function(GLXPixmap, "glXCreateGLXPixmapMESA", [(Display, "dpy"), (OpaquePointer(XVisualInfo), "visual"), (Pixmap, "pixmap"), (Colormap, "cmap")]), + + # GLX_MESA_release_buffers + Function(Bool, "glXReleaseBuffersMESA", [(Display, "dpy"), (GLXDrawable, "drawable")]), + + # GLX_MESA_set_3dfx_mode + Function(Bool, "glXSet3DfxModeMESA", [(Int, "mode")]), + + # GLX_OML_sync_control + Function(Bool, "glXGetSyncValuesOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), + Function(Bool, "glXGetMscRateOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(Int32), "numerator"), (OpaquePointer(Int32), "denominator")]), + Function(Int64, "glXSwapBuffersMscOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int64, "target_msc"), (Int64, "divisor"), (Int64, "remainder")]), + Function(Bool, "glXWaitForMscOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int64, "target_msc"), (Int64, "divisor"), (Int64, "remainder"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), + Function(Bool, "glXWaitForSbcOML", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int64, "target_sbc"), (OpaquePointer(Int64), "ust"), (OpaquePointer(Int64), "msc"), (OpaquePointer(Int64), "sbc")]), + + # GLX_SGIX_hyperpipe + #Function(OpaquePointer(GLXHyperpipeNetworkSGIX), "glXQueryHyperpipeNetworkSGIX", [(Display, "dpy"), (OpaquePointer(Int), "npipes")]), + #Function(Int, "glXHyperpipeConfigSGIX", [(Display, "dpy"), (Int, "networkId"), (Int, "npipes"), (OpaquePointer(GLXHyperpipeConfigSGIX), "cfg"), (OpaquePointer(Int), "hpId")]), + #Function(OpaquePointer(GLXHyperpipeConfigSGIX), "glXQueryHyperpipeConfigSGIX", [(Display, "dpy"), (Int, "hpId"), (OpaquePointer(Int), "npipes")]), + #Function(Int, "glXDestroyHyperpipeConfigSGIX", [(Display, "dpy"), (Int, "hpId")]), + #Function(Int, "glXBindHyperpipeSGIX", [(Display, "dpy"), (Int, "hpId")]), + #Function(Int, "glXQueryHyperpipeBestAttribSGIX", [(Display, "dpy"), (Int, "timeSlice"), (Int, "attrib"), (Int, "size"), (OpaquePointer(Void), "attribList"), (OpaquePointer(Void), "returnAttribList")]), + #Function(Int, "glXHyperpipeAttribSGIX", [(Display, "dpy"), (Int, "timeSlice"), (Int, "attrib"), (Int, "size"), (OpaquePointer(Void), "attribList")]), + #Function(Int, "glXQueryHyperpipeAttribSGIX", [(Display, "dpy"), (Int, "timeSlice"), (Int, "attrib"), (Int, "size"), (OpaquePointer(Void), "returnAttribList")]), + + # GLX_MESA_agp_offset + Function(UInt, "glXGetAGPOffsetMESA", [(OpaquePointer(Const(Void)), "pointer")]), + + # EXT_texture_from_pixmap + Function(Void, "glXBindTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (Int, "buffer"), (Array(Const(Int), "__AttribList_size(attrib_list)"), "attrib_list")]), + Function(Void, "glXReleaseTexImageEXT", [(Display, "display"), (GLXDrawable, "drawable"), (Int, "buffer")]), + + # GLX_NV_present_video + #Function(OpaquePointer(UInt), "glXEnumerateVideoDevicesNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "nelements")]), + #Function(Int, "glXBindVideoDeviceNV", [(Display, "dpy"), (UInt, "video_slot"), (UInt, "video_device"), (OpaquePointer(Const(Int)), "attrib_list")]), + + # GLX_NV_video_output + #Function(Int, "glXGetVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (Int, "numVideoDevices"), (OpaquePointer(GLXVideoDeviceNV), "pVideoDevice")]), + #Function(Int, "glXReleaseVideoDeviceNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice")]), + #Function(Int, "glXBindVideoImageNV", [(Display, "dpy"), (GLXVideoDeviceNV, "VideoDevice"), (GLXPbuffer, "pbuf"), (Int, "iVideoBuffer")]), + #Function(Int, "glXReleaseVideoImageNV", [(Display, "dpy"), (GLXPbuffer, "pbuf")]), + #Function(Int, "glXSendPbufferToVideoNV", [(Display, "dpy"), (GLXPbuffer, "pbuf"), (Int, "iBufferType"), (OpaquePointer(ULong), "pulCounterPbuffer"), (GLboolean, "bBlock")]), + #Function(Int, "glXGetVideoInfoNV", [(Display, "dpy"), (Int, "screen"), (GLXVideoDeviceNV, "VideoDevice"), (OpaquePointer(ULong), "pulCounterOutputPbuffer"), (OpaquePointer(ULong), "pulCounterOutputVideo")]), + + # GLX_NV_swap_group + Function(Bool, "glXJoinSwapGroupNV", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLuint, "group")]), + Function(Bool, "glXBindSwapBarrierNV", [(Display, "dpy"), (GLuint, "group"), (GLuint, "barrier")]), + Function(Bool, "glXQuerySwapGroupNV", [(Display, "dpy"), (GLXDrawable, "drawable"), (OpaquePointer(GLuint), "group"), (OpaquePointer(GLuint), "barrier")]), + Function(Bool, "glXQueryMaxSwapGroupsNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(GLuint), "maxGroups"), (OpaquePointer(GLuint), "maxBarriers")]), + Function(Bool, "glXQueryFrameCountNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(GLuint), "count")]), + Function(Bool, "glXResetFrameCountNV", [(Display, "dpy"), (Int, "screen")]), + + # GLX_NV_video_capture + #Function(Int, "glXBindVideoCaptureDeviceNV", [(Display, "dpy"), (UInt, "video_capture_slot"), (GLXVideoCaptureDeviceNV, "device")]), + #Function(OpaquePointer(GLXVideoCaptureDeviceNV), "glXEnumerateVideoCaptureDevicesNV", [(Display, "dpy"), (Int, "screen"), (OpaquePointer(Int), "nelements")]), + #Function(Void, "glXLockVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), + #Function(Int, "glXQueryVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device"), (Int, "attribute"), (OpaquePointer(Int), "value")]), + #Function(Void, "glXReleaseVideoCaptureDeviceNV", [(Display, "dpy"), (GLXVideoCaptureDeviceNV, "device")]), + + # GLX_EXT_swap_control + Function(Int, "glXSwapIntervalEXT", [(Display, "dpy"), (GLXDrawable, "drawable"), (Int, "interval")]), + + # GLX_NV_copy_image + Function(Void, "glXCopyImageSubDataNV", [(Display, "dpy"), (GLXContext, "srcCtx"), (GLuint, "srcName"), (GLenum, "srcTarget"), (GLint, "srcLevel"), (GLint, "srcX"), (GLint, "srcY"), (GLint, "srcZ"), (GLXContext, "dstCtx"), (GLuint, "dstName"), (GLenum, "dstTarget"), (GLint, "dstLevel"), (GLint, "dstX"), (GLint, "dstY"), (GLint, "dstZ"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]), + + # GLX_NV_vertex_array_range + Function(OpaquePointer(Void), "glXAllocateMemoryNV", [(GLsizei, "size"), (GLfloat, "readfreq"), (GLfloat, "writefreq"), (GLfloat, "priority")]), + Function(Void, "glXFreeMemoryNV", [(OpaquePointer(Void), "pointer")]), + + # Must be last + Function(PROC, "glXGetProcAddressARB", [(Alias("const GLubyte *", CString), "procName")]), + Function(PROC, "glXGetProcAddress", [(Alias("const GLubyte *", CString), "procName")]), +]) + + diff --git a/specs/scripts/.gitignore b/specs/scripts/.gitignore new file mode 100644 index 0000000..1dbc0cf --- /dev/null +++ b/specs/scripts/.gitignore @@ -0,0 +1,7 @@ +*.spec +*.tm +*.txt +*api.py +glparams.py +wglenum.py +!Makefile diff --git a/specs/scripts/Makefile b/specs/scripts/Makefile new file mode 100644 index 0000000..2ea2066 --- /dev/null +++ b/specs/scripts/Makefile @@ -0,0 +1,51 @@ + +all: \ + download \ + glapi.py glxapi.py wglapi.py \ + glparams.py wglenum.py + +download: \ + enum.spec \ + enumext.spec \ + gl.spec \ + gl.tm \ + glxenum.spec \ + glxenumext.spec \ + glx.spec \ + glxext.spec \ + glx.tm \ + wglenum.spec \ + wglenumext.spec \ + wgl.spec \ + wglext.spec \ + wgl.tm + +%.spec: + wget -N http://www.opengl.org/registry/api/$@ + +%.tm: + wget -N http://www.opengl.org/registry/api/$@ + +glapi.py: glspec.py gl.tm gl.spec + python glspec.py gl gl.tm gl.spec > $@ + +glxapi.py: glspec.py glx.tm glx.spec glxext.spec + python glspec.py glX glx.tm glx.spec glxext.spec > $@ + +wglapi.py: glspec.py wgl.tm wgl.spec wglext.spec + python glspec.py wgl wgl.tm wgl.spec wglext.spec > $@ + +glparams.py: glparams.sed enum.spec sort.sh + sed -n -f glparams.sed enum.spec | ./sort.sh > $@ + +wglenum.py: wglenum.sh wglenumext.spec + ./wglenum.sh wglenumext.spec > $@ + +clean: + rm -f \ + glapi.py glxapi.py wglapi.py \ + glparams.py wglenum.py + +.PRECIOUS: %.spec %.tm + +.PHONY: download clean diff --git a/specs/scripts/README b/specs/scripts/README new file mode 100644 index 0000000..6df2a3d --- /dev/null +++ b/specs/scripts/README @@ -0,0 +1,12 @@ +This directory contains several helper scripts that facilitate the generation +of the API descriptions from specs and/or header files. + +The specs/headers are not expressive enough, which is why we can't just code +generate everything from them. + +For GL the typical procedure is to run + + make -B + +and then manually crossport new functions / enums to the files in the top dir +via a side-by-side diff tool, such as gvimdiff. diff --git a/specs/scripts/cdecl.py b/specs/scripts/cdecl.py new file mode 100755 index 0000000..4f36b3c --- /dev/null +++ b/specs/scripts/cdecl.py @@ -0,0 +1,358 @@ +#!/usr/bin/env python +########################################################################## +# +# Copyright 2011 Jose Fonseca +# 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 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. +# +##########################################################################/ + + +'''Script to parse C declarations and spew API definitions. +''' + + +import sys +import re +import optparse + + +class Parser: + + token_re = re.compile(r'(\w+|\s+|.)') + + multi_comment_re = re.compile(r'/\*.*?\*/', flags = re.DOTALL) + single_comment_re = re.compile(r'//.*',) + + def __init__(self): + self.tokens = [] + + def has_side_effects(self, name): + return True + + + def tokenize(self, s): + s = self.multi_comment_re.sub('', s) + s = self.single_comment_re.sub('', s) + self.tokens = self.token_re.split(s) + self.tokens = [token for token in self.tokens if self.filter_token(token)] + + def filter_token(self, token): + if not token or token.isspace(): + return False + if token.startswith('AVAILABLE_') or token.startswith('DEPRECATED_'): + return False + if token in ['FAR']: + return False + return True + + def lookahead(self, index = 0): + try: + return self.tokens[index] + except KeyError: + return None + + def match(self, *ref_tokens): + return self.lookahead() in ref_tokens + + def consume(self, *ref_tokens): + if not self.tokens: + raise Exception('unexpected EOF') + token = self.tokens.pop(0) + if ref_tokens and token not in ref_tokens: + raise Exception('token mismatch', token, ref_tokens) + return token + + def eof(self): + return not self.tokens + + + def parse(self, s): + self.tokenize(s) + + while not self.eof(): + #print self.tokens[0:10] + self.parse_declaration() + + def parse_declaration(self): + self.parse_tags() + if self.match('enum'): + self.parse_enum() + elif self.match('interface'): + self.parse_interface() + elif self.match('mask'): + self.parse_value('mask', 'Flags') + elif self.match('struct'): + self.parse_struct() + elif self.match('value'): + self.parse_value('value', 'FakeEnum') + elif self.match('typedef'): + self.parse_typedef() + else: + self.parse_prototype() + if not self.eof() and self.match(';'): + self.consume(';') + + def parse_typedef(self): + self.consume('typedef') + if self.lookahead(2) in (';', ','): + base_type = self.consume() + while True: + type = base_type + if self.match('*'): + self.consume() + type = 'Pointer(%s)' % type + name = self.consume() + print '%s = Alias("%s", %s)' % (name, name, type) + if self.match(','): + self.consume() + else: + break + else: + self.parse_declaration() + self.consume() + + def parse_enum(self): + self.consume('enum') + name = self.consume() + self.consume('{') + + print '%s = Enum("%s", [' % (name, name) + + #value = 0 + while self.lookahead() != '}': + name = self.consume() + if self.match('='): + self.consume('=') + value = self.consume() + if self.match(','): + self.consume(',') + tags = self.parse_tags() + #print ' "%s",\t# %s' % (name, value) + print ' "%s",' % (name,) + #value += 1 + self.consume('}') + + print '])' + print + + def parse_value(self, ref_token, constructor): + self.consume(ref_token) + type = self.consume() + name = self.consume() + self.consume('{') + + print '%s = %s(%s, [' % (name, constructor, type) + + while self.lookahead() != '}': + self.consume('#') + self.consume('define') + name = self.consume() + value = self.consume() + #print ' "%s",\t# %s' % (name, value) + print ' "%s",' % (name,) + self.consume('}') + + print '])' + print + + def parse_struct(self): + self.consume('struct') + name = self.consume() + self.consume('{') + + print '%s = Struct("%s", [' % (name, name) + + value = 0 + while self.lookahead() != '}': + type, name = self.parse_named_type() + if self.match(','): + self.consume(',') + self.consume(';') + print ' (%s, "%s"),' % (type, name) + value += 1 + self.consume('}') + + print '])' + print + + def parse_interface(self): + self.consume('interface') + name = self.consume() + if self.match(';'): + return + self.consume(':') + base = self.consume() + self.consume('{') + + print '%s = Interface("%s", %s)' % (name, name, base) + print '%s.methods += [' % (name,) + + while self.lookahead() != '}': + self.parse_prototype('Method') + self.consume(';') + self.consume('}') + + print ']' + print + + def parse_prototype(self, creator = 'Function'): + if self.match('extern'): + self.consume() + + ret = self.parse_type() + + if self.match('__stdcall'): + self.consume() + creator = 'StdFunction' + + name = self.consume() + extra = '' + if not self.has_side_effects(name): + extra += ', sideeffects=False' + name = name + + self.consume('(') + args = [] + if self.match('void') and self.tokens[1] == ')': + self.consume() + while self.lookahead() != ')': + arg = self.parse_arg() + args.append(arg) + if self.match(','): + self.consume() + self.consume() == ')' + + print ' %s(%s, "%s", [%s]%s),' % (creator, ret, name, ', '.join(args), extra) + + def parse_arg(self): + tags = self.parse_tags() + + type, name = self.parse_named_type() + + arg = '(%s, "%s")' % (type, name) + if 'out' in tags: + arg = 'Out' + arg + return arg + + def parse_tags(self): + tags = [] + if self.match('['): + self.consume() + while not self.match(']'): + tag = self.consume() + tags.append(tag) + self.consume(']') + return tags + + def parse_named_type(self): + type = self.parse_type() + name = self.consume() + if self.match('['): + self.consume() + length = self.consume() + self.consume(']') + type = 'Array(%s, "%s")' % (type, length) + return type, name + + int_tokens = ('unsigned', 'signed', 'int', 'long', 'short', 'char') + + type_table = { + 'float': 'Float', + 'double': 'Double', + 'int8_t': 'Int8', + 'uint8_t': 'UInt8', + 'int16_t': 'Int16', + 'uint16_t': 'UInt16', + 'int32_t': 'Int32', + 'uint32_t': 'UInt32', + 'int64_t' : 'Int64', + 'uint64_t': 'UInt64', + } + + def parse_type(self): + const = False + token = self.consume() + if token == 'const': + token = self.consume() + const = True + if token == 'void': + type = 'Void' + elif token in self.int_tokens: + unsigned = False + signed = False + long = 0 + short = 0 + char = False + while token in self.int_tokens: + if token == 'unsigned': + unsigned = True + if token == 'signed': + signed = True + if token == 'long': + long += 1 + if token == 'short': + short += 1 + if token == 'char': + char = False + if self.lookahead() in self.int_tokens: + token = self.consume() + else: + token = None + if char: + type = 'Char' + if signed: + type = 'S' + type + elif short: + type = 'Short' + elif long: + type = 'Long' * long + else: + type = 'Int' + if unsigned: + type = 'U' + type + else: + type = self.type_table.get(token, token) + if const: + type = 'Const(%s)' % type + while True: + if self.match('*'): + self.consume('*') + type = 'OpaquePointer(%s)' % type + elif self.match('const'): + self.consume('const') + type = 'Const(%s)' % type + else: + break + return type + + + + + + +def main(): + parser = Parser() + for arg in sys.argv[1:]: + parser.parse(open(arg, 'rt').read()) + + +if __name__ == '__main__': + main() diff --git a/specs/scripts/glparams.sed b/specs/scripts/glparams.sed new file mode 100644 index 0000000..8afde64 --- /dev/null +++ b/specs/scripts/glparams.sed @@ -0,0 +1,2 @@ +s/^\s\+\(\w\+\)\s*=\s*\(0x\w\+\)\s\+#\s\+\([0-9]\+\)\s\+\([IF]\)\s*\(#.*\)\?$/ ("glGet",\t\4,\t\3,\t"GL_\1"),\t# \2/p +s/^\s\+\(\w\+\)\s*=\s*\(0x\w\+\)\s*\(#.*\)\?$/ ("",\tX,\t1,\t"GL_\1"),\t# \2/p diff --git a/specs/scripts/glspec.py b/specs/scripts/glspec.py new file mode 100755 index 0000000..dbd20ce --- /dev/null +++ b/specs/scripts/glspec.py @@ -0,0 +1,283 @@ +#!/usr/bin/env python +########################################################################## +# +# Copyright 2010 VMware, Inc. +# 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 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. +# +##########################################################################/ + + +import sys +import re +import optparse + + +def stderr(x): + sys.stderr.write(str(x) + '\n') + + +class Parser: + + def __init__(self, stream): + pass + + +class LineParser: + """Base class for parsers that read line-based formats.""" + + def __init__(self, stream): + self._stream = stream + self._line = None + self._eof = False + # read lookahead + self.readline() + + def parse(self): + raise NotImplementedError + + def readline(self): + line = self._stream.readline() + if not line: + self._line = '' + self._eof = True + self._line = line.rstrip('\r\n') + + def lookahead(self): + assert self._line is not None + return self._line + + def consume(self): + assert self._line is not None + line = self._line + self.readline() + return line + + def eof(self): + assert self._line is not None + return self._eof + + def skip_whitespace(self): + while not self.eof() and self.match_whitespace() or self.match_comment(): + self.consume() + + def match_whitespace(self): + line = self.lookahead() + return not line.strip() + + def match_comment(self): + return False + + +class TypemapParser(LineParser): + + def parse(self): + typemap = {} + self.skip_whitespace() + while not self.eof(): + line = self.consume() + fields = [field.strip() for field in line.split(',')] + src = fields[0] + dst = fields[3] + if dst != '*': + typemap[src] = dst + self.skip_whitespace() + return typemap + + def match_comment(self): + line = self.lookahead() + return line.startswith('#') + + +class SpecParser(LineParser): + + property_re = re.compile(r'^\w+:') + prototype_re = re.compile(r'^(\w+)\((.*)\)$') + + def __init__(self, stream, prefix='', typemap = None): + LineParser.__init__(self, stream) + if typemap is None: + self.typemap = {} + else: + self.typemap = typemap + self.prefix = prefix + self.category = None + + def parse(self): + self.skip_whitespace() + while not self.eof(): + line = self.lookahead() + if self.property_re.match(line): + self.parse_property() + elif self.prototype_re.match(line): + self.parse_prototype() + else: + self.consume() + self.skip_whitespace() + + def parse_property(self): + line = self.consume() + name, value = line.split(':', 1) + if name == 'category': + values = value.split() + #self.prefix = values[0] + + get_function_re = re.compile(r'^(Get|Is|Are)[A-Z]\w+') + + def parse_prototype(self): + line = self.consume() + mo = self.prototype_re.match(line) + function_name, arg_names = mo.groups() + arg_names = [arg_name.strip() for arg_name in arg_names.split(',') if arg_name.strip()] + + extra = '' + if self.get_function_re.match(function_name): + extra += ', sideeffects=False' + function_name = self.prefix + function_name + + ret_type = 'Void' + arg_types = {} + category = None + line = self.lookahead() + while line.startswith('\t'): + fields = line.split(None, 2) + if fields[0] == 'return': + ret_type = self.parse_type(fields[1]) + elif fields[0] == 'param': + arg_name, arg_type = fields[1:3] + arg_types[fields[1]] = self.parse_arg(function_name, arg_name, arg_type) + elif fields[0] == 'category': + category = fields[1] + else: + pass + self.consume() + line = self.lookahead() + self.consume() + args = [arg_types[arg_name] for arg_name in arg_names] + + if category is not None: + if category == self.prefix: + category = self.prefix.upper() + else: + category = self.prefix.upper() + '_' + category + if category != self.category: + if self.category is not None: + print + print ' # %s' % category + self.category = category + + if self.prefix == 'wgl': + constructor = 'StdFunction' + else: + constructor = 'GlFunction' + + print ' %s(%s, "%s", [%s]%s),' % (constructor, ret_type, function_name, ', '.join(args), extra) + + array_re = re.compile(r'^array\s+\[(.*)\]$') + + string_typemap = { + 'GLchar': 'GLstring', + 'GLcharARB': 'GLstringARB', + } + + def parse_arg(self, function_name, arg_name, arg_type): + orig_type, inout, kind = arg_type.split(' ', 2) + + base_type = self.parse_type(orig_type) + + if kind == 'value': + arg_type = base_type + elif kind == 'reference': + if inout == 'in': + base_type = 'Const(%s)' % base_type + arg_type = 'Pointer(%s)' % base_type + elif kind.startswith("array"): + if inout == 'in': + base_type = 'Const(%s)' % base_type + + arg_type = 'OpaquePointer(%s)' % base_type + + if base_type in ('Void', 'void', 'GLvoid'): + constructor = 'Blob' + else: + constructor = 'Array' + + mo = self.array_re.match(kind) + if mo: + length = mo.group(1).strip() + if length == '': + try: + arg_type = self.string_typemap[base_type] + except KeyError: + pass + elif length == '1': + arg_type = 'Pointer(%s)' % base_type + elif length.find("COMPSIZE") == -1: + arg_type = '%s(%s, "%s")' % (constructor, base_type, length) + else: + length = length.replace("COMPSIZE", "__%s_size" % function_name) + length = length.replace("/", ", ") + arg_type = 'Opaque%s(%s, "%s")' % (constructor, base_type, length) + else: + assert False + + arg = '(%s, "%s")' % (arg_type, arg_name) + if inout == 'out': + arg = 'Out' + arg + return arg + + semantic_typemap = { + 'String': 'CString', + 'Texture': 'GLtexture', + } + + post_typemap = { + 'void': 'Void', + 'int': 'Int', + 'float': 'Float', + } + + def parse_type(self, type): + try: + return self.semantic_typemap[type] + except KeyError: + pass + type = self.typemap.get(type, type) + type = self.post_typemap.get(type, type) + return type + + def match_comment(self): + line = self.lookahead() + return line.startswith('#') + + +def main(): + prefix = sys.argv[1] + + parser = TypemapParser(open(sys.argv[2], 'rt')) + typemap = parser.parse() + + for arg in sys.argv[3:]: + parser = SpecParser(open(arg, 'rt'), prefix=prefix, typemap=typemap) + parser.parse() + + +if __name__ == '__main__': + main() diff --git a/specs/scripts/gltxt.py b/specs/scripts/gltxt.py new file mode 100755 index 0000000..c6be7c1 --- /dev/null +++ b/specs/scripts/gltxt.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python +########################################################################## +# +# Copyright 2010 VMware, Inc. +# 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 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. +# +##########################################################################/ + + +import sys +import re +import optparse + + +def stderr(x): + sys.stderr.write(str(x) + '\n') + + +class Parser: + + def __init__(self, stream): + pass + + +class LineParser: + """Base class for parsers that read line-based formats.""" + + def __init__(self, stream): + self._stream = stream + self._line = None + self._eof = False + # read lookahead + self.readline() + + def parse(self): + raise NotImplementedError + + def readline(self): + line = self._stream.readline() + if not line: + self._line = '' + self._eof = True + self._line = line.rstrip('\r\n') + + def lookahead(self): + assert self._line is not None + return self._line + + def consume(self): + assert self._line is not None + line = self._line + self.readline() + return line + + def eof(self): + assert self._line is not None + return self._eof + + def skip_whitespace(self): + while not self.eof() and self.match_whitespace() or self.match_comment(): + self.consume() + + def match_whitespace(self): + line = self.lookahead() + return not line.strip() + + def match_comment(self): + return False + + +class TxtParser(LineParser): + + property_re = re.compile(r'^\w+:') + prototype_re = re.compile(r'^(\w+)\((.*)\)$') + + def __init__(self, stream, prefix=''): + LineParser.__init__(self, stream) + self.prefix = prefix + + def parse(self): + line = self.consume() + while not line.startswith("New Procedures and Functions"): + line = self.consume() + self.parse_procs() + + def parse_procs(self): + lines = [] + while True: + line = self.consume() + if not line.strip(): + continue + if not line.startswith(' '): + break + lines.append(line.strip()) + if line.endswith(';'): + self.parse_proc(' '.join(lines)) + lines = [] + + token_re = re.compile(r'(\w+|\s+|.)') + get_function_re = re.compile(r'^Get[A-Z]\w+') + + def parse_proc(self, prototype): + #print prototype + tokens = self.token_re.split(prototype) + self.tokens = [token for token in tokens if token.strip()] + #print self.tokens + + ret = self.parse_type() + + name = self.tokens.pop(0) + extra = '' + if self.get_function_re.match(name): + extra += ', sideeffects=False' + name = self.prefix + name + + assert self.tokens.pop(0) == '(' + args = [] + while self.tokens[0] != ')': + arg = self.parse_arg() + args.append(arg) + if self.tokens[0] == ',': + self.tokens.pop(0) + print ' GlFunction(%s, "%s", [%s]%s),' % (ret, name, ', '.join(args), extra) + + def parse_arg(self): + type = self.parse_type() + name = self.tokens.pop(0) + return '(%s, "%s")' % (type, name) + + def parse_type(self): + token = self.tokens.pop(0) + if token == 'const': + return 'Const(%s)' % self.parse_type() + if token == 'void': + type = 'Void' + else: + type = 'GL' + token + while self.tokens[0] == '*': + type = 'OpaquePointer(%s)' % type + self.tokens.pop(0) + return type + + +def main(): + for arg in sys.argv[1:]: + parser = TxtParser(open(arg, 'rt'), prefix='gl') + parser.parse() + + +if __name__ == '__main__': + main() diff --git a/specs/scripts/reference-opengl-arb.sh b/specs/scripts/reference-opengl-arb.sh new file mode 100755 index 0000000..670ba17 --- /dev/null +++ b/specs/scripts/reference-opengl-arb.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# Script to extract reference URLs for functions documented in OpenGL ARB specs + +extract_urls () { + for URL + do + lynx -dump "$URL" | sed -n -e '/^References$/,$s/^ *[0-9]\+\. \+//p' | sed -e 's/ /%20/g' + done +} + +extract_functions () { + sed -n -e '/^New Procedures and Functions$/,/^\w/ s/.* \(\w\+\)(.*$/\1/p' "$@" \ + | sed -e '/^[A-Z]/s/^/gl/' +} + +extract_urls http://www.opengl.org/registry/ \ +| grep '^http://www\.opengl\.org/registry/specs/ARB/.*\.txt$' \ +| sort -u \ +| while read URL +do + wget --quiet -O - $URL \ + | extract_functions \ + | while read FUNCTION + do + echo "$FUNCTION $URL" + done +done + + + diff --git a/specs/scripts/reference-opengl-man.sh b/specs/scripts/reference-opengl-man.sh new file mode 100755 index 0000000..20bdaa6 --- /dev/null +++ b/specs/scripts/reference-opengl-man.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Script to extract reference URLS for functions documented in OpenGL man pages + +wget -N -r -np http://www.opengl.org/sdk/docs/{man,man2,man3,man4}/ + +find www.opengl.org -type f -name '*.xml' \ +| xargs grep -o '[^<]*' \ +| sed -e 's/<[^>]*>//g' -e 's@^\(.*\):\(.*\)$@\2\thttp://\1@' diff --git a/specs/scripts/sort.sh b/specs/scripts/sort.sh new file mode 100755 index 0000000..5cdc6a4 --- /dev/null +++ b/specs/scripts/sort.sh @@ -0,0 +1,2 @@ +#!/bin/sh +sed -e 's/\(^.*#\) \(0x\w\+\)$/\2 \1/' "$@" | sort | sed -e 's/\(0x\w\+\) \(.*#\)$/\2 \1/' diff --git a/specs/scripts/wglenum.sh b/specs/scripts/wglenum.sh new file mode 100755 index 0000000..97f969d --- /dev/null +++ b/specs/scripts/wglenum.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +sed -n -e 's/^\s\+\(WGL_\S\+\)\s*=\s*\(0x2\w\w\w\)\s*$/\2 \1/p' "$@" \ +| sort -u \ +| sed -e 's/\(\S\+\)\s\+\(\S\+\)/ "\2",\t\t# \1/' diff --git a/specs/stdapi.py b/specs/stdapi.py new file mode 100644 index 0000000..d6973c1 --- /dev/null +++ b/specs/stdapi.py @@ -0,0 +1,587 @@ +########################################################################## +# +# Copyright 2008-2010 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""C basic types""" + + +import debug + + +class Type: + + __all = {} + __seq = 0 + + def __init__(self, expr, id = ''): + self.expr = expr + + for char in id: + assert char.isalnum() or char in '_ ' + + id = id.replace(' ', '_') + + if id in Type.__all: + Type.__seq += 1 + id += str(Type.__seq) + + assert id not in Type.__all + Type.__all[id] = self + + self.id = id + + def __str__(self): + return self.expr + + def visit(self, visitor, *args, **kwargs): + raise NotImplementedError + + + +class _Void(Type): + + def __init__(self): + Type.__init__(self, "void") + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_void(self, *args, **kwargs) + +Void = _Void() + + +class Literal(Type): + + def __init__(self, expr, format, base=10): + Type.__init__(self, expr) + self.format = format + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_literal(self, *args, **kwargs) + + +class Const(Type): + + def __init__(self, type): + # While "const foo" and "foo const" are synonymous, "const foo *" and + # "foo * const" are not quite the same, and some compilers do enforce + # strict const correctness. + if isinstance(type, String) or type is WString: + # For strings we never intend to say a const pointer to chars, but + # rather a point to const chars. + expr = "const " + type.expr + elif type.expr.startswith("const ") or '*' in type.expr: + expr = type.expr + " const" + else: + # The most legible + expr = "const " + type.expr + + Type.__init__(self, expr, 'C' + type.id) + + self.type = type + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_const(self, *args, **kwargs) + + +class Pointer(Type): + + def __init__(self, type): + Type.__init__(self, type.expr + " *", 'P' + type.id) + self.type = type + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_pointer(self, *args, **kwargs) + + +class Handle(Type): + + def __init__(self, name, type, range=None, key=None): + Type.__init__(self, type.expr, 'P' + type.id) + self.name = name + self.type = type + self.range = range + self.key = key + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_handle(self, *args, **kwargs) + + +def ConstPointer(type): + return Pointer(Const(type)) + + +class Enum(Type): + + def __init__(self, name, values): + Type.__init__(self, name) + self.values = list(values) + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_enum(self, *args, **kwargs) + + +def FakeEnum(type, values): + return Enum(type.expr, values) + + +class Bitmask(Type): + + def __init__(self, type, values): + Type.__init__(self, type.expr) + self.type = type + self.values = values + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_bitmask(self, *args, **kwargs) + +Flags = Bitmask + + +class Array(Type): + + def __init__(self, type, length): + Type.__init__(self, type.expr + " *") + self.type = type + self.length = length + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_array(self, *args, **kwargs) + + +class Blob(Type): + + def __init__(self, type, size): + Type.__init__(self, type.expr + ' *') + self.type = type + self.size = size + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_blob(self, *args, **kwargs) + + +class Struct(Type): + + def __init__(self, name, members): + Type.__init__(self, name) + self.name = name + self.members = members + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_struct(self, *args, **kwargs) + + +class Alias(Type): + + def __init__(self, expr, type): + Type.__init__(self, expr) + self.type = type + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_alias(self, *args, **kwargs) + + +def Out(type, name): + arg = Arg(type, name, output=True) + return arg + + +class Arg: + + def __init__(self, type, name, output=False): + self.type = type + self.name = name + self.output = output + self.index = None + + def __str__(self): + return '%s %s' % (self.type, self.name) + + +class Function: + + __id = 0 + + def __init__(self, type, name, args, call = '', fail = None, sideeffects=True): + self.id = Function.__id + Function.__id += 1 + + self.type = type + self.name = name + + self.args = [] + index = 0 + for arg in args: + if not isinstance(arg, Arg): + if isinstance(arg, tuple): + arg_type, arg_name = arg + else: + arg_type = arg + arg_name = "arg%u" % index + arg = Arg(arg_type, arg_name) + arg.index = index + index += 1 + self.args.append(arg) + + self.call = call + self.fail = fail + self.sideeffects = sideeffects + + def prototype(self, name=None): + if name is not None: + name = name.strip() + else: + name = self.name + s = name + if self.call: + s = self.call + ' ' + s + if name.startswith('*'): + s = '(' + s + ')' + s = self.type.expr + ' ' + s + s += "(" + if self.args: + s += ", ".join(["%s %s" % (arg.type, arg.name) for arg in self.args]) + else: + s += "void" + s += ")" + return s + + +def StdFunction(*args, **kwargs): + kwargs.setdefault('call', '__stdcall') + return Function(*args, **kwargs) + + +def FunctionPointer(type, name, args, **kwargs): + # XXX: We should probably treat function pointers (callbacks or not) in a generic fashion + return Opaque(name) + + +class Interface(Type): + + def __init__(self, name, base=None): + Type.__init__(self, name) + self.name = name + self.base = base + self.methods = [] + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_interface(self, *args, **kwargs) + + def itermethods(self): + if self.base is not None: + for method in self.base.itermethods(): + yield method + for method in self.methods: + yield method + raise StopIteration + + +class Method(Function): + + def __init__(self, type, name, args): + Function.__init__(self, type, name, args, call = '__stdcall') + for index in range(len(self.args)): + self.args[index].index = index + 1 + + +def WrapPointer(type): + return Pointer(type) + + +class String(Type): + + def __init__(self, expr = "char *", length = None): + Type.__init__(self, expr) + self.length = length + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_string(self, *args, **kwargs) + +# C string (i.e., zero terminated) +CString = String() + + +class Opaque(Type): + '''Opaque pointer.''' + + def __init__(self, expr): + Type.__init__(self, expr) + + def visit(self, visitor, *args, **kwargs): + return visitor.visit_opaque(self, *args, **kwargs) + + +def OpaquePointer(type, *args): + return Opaque(type.expr + ' *') + +def OpaqueArray(type, size): + return Opaque(type.expr + ' *') + +def OpaqueBlob(type, size): + return Opaque(type.expr + ' *') + + +class Visitor: + + def visit(self, type, *args, **kwargs): + return type.visit(self, *args, **kwargs) + + def visit_void(self, void, *args, **kwargs): + raise NotImplementedError + + def visit_literal(self, literal, *args, **kwargs): + raise NotImplementedError + + def visit_string(self, string, *args, **kwargs): + raise NotImplementedError + + def visit_const(self, const, *args, **kwargs): + raise NotImplementedError + + def visit_struct(self, struct, *args, **kwargs): + raise NotImplementedError + + def visit_array(self, array, *args, **kwargs): + raise NotImplementedError + + def visit_blob(self, blob, *args, **kwargs): + raise NotImplementedError + + def visit_enum(self, enum, *args, **kwargs): + raise NotImplementedError + + def visit_bitmask(self, bitmask, *args, **kwargs): + raise NotImplementedError + + def visit_pointer(self, pointer, *args, **kwargs): + raise NotImplementedError + + def visit_handle(self, handle, *args, **kwargs): + raise NotImplementedError + + def visit_alias(self, alias, *args, **kwargs): + raise NotImplementedError + + def visit_opaque(self, opaque, *args, **kwargs): + raise NotImplementedError + + def visit_interface(self, interface, *args, **kwargs): + raise NotImplementedError + + +class OnceVisitor(Visitor): + + def __init__(self): + self.__visited = set() + + def visit(self, type, *args, **kwargs): + if type not in self.__visited: + self.__visited.add(type) + return type.visit(self, *args, **kwargs) + return None + + +class Rebuilder(Visitor): + + def visit_void(self, void): + return void + + def visit_literal(self, literal): + return literal + + def visit_string(self, string): + return string + + def visit_const(self, const): + return Const(const.type) + + def visit_struct(self, struct): + members = [(self.visit(type), name) for type, name in struct.members] + return Struct(struct.name, members) + + def visit_array(self, array): + type = self.visit(array.type) + return Array(type, array.length) + + def visit_blob(self, blob): + type = self.visit(blob.type) + return Blob(type, blob.size) + + def visit_enum(self, enum): + return enum + + def visit_bitmask(self, bitmask): + type = self.visit(bitmask.type) + return Bitmask(type, bitmask.values) + + def visit_pointer(self, pointer): + type = self.visit(pointer.type) + return Pointer(type) + + def visit_handle(self, handle): + type = self.visit(handle.type) + return Handle(handle.name, type, range=handle.range, key=handle.key) + + def visit_alias(self, alias): + type = self.visit(alias.type) + return Alias(alias.expr, type) + + def visit_opaque(self, opaque): + return opaque + + +class Collector(Visitor): + '''Collect.''' + + def __init__(self): + self.__visited = set() + self.types = [] + + def visit(self, type): + if type in self.__visited: + return + self.__visited.add(type) + Visitor.visit(self, type) + self.types.append(type) + + def visit_void(self, literal): + pass + + def visit_literal(self, literal): + pass + + def visit_string(self, string): + pass + + def visit_const(self, const): + self.visit(const.type) + + def visit_struct(self, struct): + for type, name in struct.members: + self.visit(type) + + def visit_array(self, array): + self.visit(array.type) + + def visit_blob(self, array): + pass + + def visit_enum(self, enum): + pass + + def visit_bitmask(self, bitmask): + self.visit(bitmask.type) + + def visit_pointer(self, pointer): + self.visit(pointer.type) + + def visit_handle(self, handle): + self.visit(handle.type) + + def visit_alias(self, alias): + self.visit(alias.type) + + def visit_opaque(self, opaque): + pass + + def visit_interface(self, interface): + if interface.base is not None: + self.visit(interface.base) + for method in interface.itermethods(): + for arg in method.args: + self.visit(arg.type) + self.visit(method.type) + + +class API: + + def __init__(self, name = None): + self.name = name + self.headers = [] + self.functions = [] + self.interfaces = [] + + def all_types(self): + collector = Collector() + for function in self.functions: + for arg in function.args: + collector.visit(arg.type) + collector.visit(function.type) + for interface in self.interfaces: + collector.visit(interface) + for method in interface.itermethods(): + for arg in method.args: + collector.visit(arg.type) + collector.visit(method.type) + return collector.types + + def add_function(self, function): + self.functions.append(function) + + def add_functions(self, functions): + for function in functions: + self.add_function(function) + + def add_interface(self, interface): + self.interfaces.append(interface) + + def add_interfaces(self, interfaces): + self.interfaces.extend(interfaces) + + def add_api(self, api): + self.headers.extend(api.headers) + self.add_functions(api.functions) + self.add_interfaces(api.interfaces) + + def get_function_by_name(self, name): + for function in self.functions: + if function.name == name: + return function + return None + + +Bool = Literal("bool", "Bool") +SChar = Literal("signed char", "SInt") +UChar = Literal("unsigned char", "UInt") +Short = Literal("short", "SInt") +Int = Literal("int", "SInt") +Long = Literal("long", "SInt") +LongLong = Literal("long long", "SInt") +UShort = Literal("unsigned short", "UInt") +UInt = Literal("unsigned int", "UInt") +ULong = Literal("unsigned long", "UInt") +ULongLong = Literal("unsigned long long", "UInt") +Float = Literal("float", "Float") +Double = Literal("double", "Double") +SizeT = Literal("size_t", "UInt") +WString = Literal("wchar_t *", "WString") + +Int8 = Literal("int8_t", "SInt") +UInt8 = Literal("uint8_t", "UInt") +Int16 = Literal("int16_t", "SInt") +UInt16 = Literal("uint16_t", "UInt") +Int32 = Literal("int32_t", "SInt") +UInt32 = Literal("uint32_t", "UInt") +Int64 = Literal("int64_t", "SInt") +UInt64 = Literal("uint64_t", "UInt") diff --git a/specs/wglapi.py b/specs/wglapi.py new file mode 100644 index 0000000..7296aeb --- /dev/null +++ b/specs/wglapi.py @@ -0,0 +1,226 @@ +########################################################################## +# +# Copyright 2008-2010 VMware, Inc. +# 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 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. +# +##########################################################################/ + + +"""WGL API description""" + + +from glapi import * +from winapi import * +from wglenum import * + + +wglapi = API("WGL") + + +HGLRC = Alias("HGLRC", HANDLE) +PROC = Opaque("PROC") + +PFD = Flags(DWORD, [ + "PFD_DOUBLEBUFFER", + "PFD_STEREO", + "PFD_DRAW_TO_WINDOW", + "PFD_DRAW_TO_BITMAP", + "PFD_SUPPORT_GDI", + "PFD_SUPPORT_OPENGL", + "PFD_GENERIC_FORMAT", + "PFD_NEED_PALETTE", + "PFD_NEED_SYSTEM_PALETTE", + "PFD_SWAP_EXCHANGE", + "PFD_SWAP_COPY", + "PFD_SWAP_LAYER_BUFFERS", + "PFD_GENERIC_ACCELERATED", + "PFD_SUPPORT_DIRECTDRAW", + "PFD_SUPPORT_COMPOSITION", + "PFD_DEPTH_DONTCARE", + "PFD_DOUBLEBUFFER_DONTCARE", + "PFD_STEREO_DONTCARE", +]) + +PIXELFORMATDESCRIPTOR = Struct("PIXELFORMATDESCRIPTOR", [ + (WORD, "nSize"), + (WORD, "nVersion"), + (PFD, "dwFlags"), + (BYTE, "iPixelType"), + (BYTE, "cColorBits"), + (BYTE, "cRedBits"), + (BYTE, "cRedShift"), + (BYTE, "cGreenBits"), + (BYTE, "cGreenShift"), + (BYTE, "cBlueBits"), + (BYTE, "cBlueShift"), + (BYTE, "cAlphaBits"), + (BYTE, "cAlphaShift"), + (BYTE, "cAccumBits"), + (BYTE, "cAccumRedBits"), + (BYTE, "cAccumGreenBits"), + (BYTE, "cAccumBlueBits"), + (BYTE, "cAccumAlphaBits"), + (BYTE, "cDepthBits"), + (BYTE, "cStencilBits"), + (BYTE, "cAuxBuffers"), + (BYTE, "iLayerType"), + (BYTE, "bReserved"), + (DWORD, "dwLayerMask"), + (DWORD, "dwVisibleMask"), + (DWORD, "dwDamageMask"), +]) + +POINTFLOAT = Struct("POINTFLOAT", [ + (FLOAT, "x"), + (FLOAT, "y"), +]) + +GLYPHMETRICSFLOAT = Struct("GLYPHMETRICSFLOAT", [ + (FLOAT, "gmfBlackBoxX"), + (FLOAT, "gmfBlackBoxY"), + (POINTFLOAT, "gmfptGlyphOrigin"), + (FLOAT, "gmfCellIncX"), + (FLOAT, "gmfCellIncY"), +]) +LPGLYPHMETRICSFLOAT = Pointer(GLYPHMETRICSFLOAT) + +COLORREF = Alias("COLORREF", DWORD) + + +LAYERPLANEDESCRIPTOR = Struct("LAYERPLANEDESCRIPTOR", [ + (WORD, "nSize"), + (WORD, "nVersion"), + (DWORD, "dwFlags"), + (BYTE, "iPixelType"), + (BYTE, "cColorBits"), + (BYTE, "cRedBits"), + (BYTE, "cRedShift"), + (BYTE, "cGreenBits"), + (BYTE, "cGreenShift"), + (BYTE, "cBlueBits"), + (BYTE, "cBlueShift"), + (BYTE, "cAlphaBits"), + (BYTE, "cAlphaShift"), + (BYTE, "cAccumBits"), + (BYTE, "cAccumRedBits"), + (BYTE, "cAccumGreenBits"), + (BYTE, "cAccumBlueBits"), + (BYTE, "cAccumAlphaBits"), + (BYTE, "cDepthBits"), + (BYTE, "cStencilBits"), + (BYTE, "cAuxBuffers"), + (BYTE, "iLayerPlane"), + (BYTE, "bReserved"), + (COLORREF, "crTransparent"), +]) +LPLAYERPLANEDESCRIPTOR = Pointer(LAYERPLANEDESCRIPTOR) + +WGLSWAP = Struct("WGLSWAP", [ + (HDC, "hdc"), + (UINT, "uiFlags"), +]) + +HPBUFFERARB = Alias("HPBUFFERARB", HANDLE) + + +wglapi.add_functions([ + # WGL + StdFunction(HGLRC, "wglCreateContext", [(HDC, "hdc")]), + StdFunction(BOOL, "wglDeleteContext", [(HGLRC, "hglrc")]), + StdFunction(HGLRC, "wglGetCurrentContext", [], sideeffects=False), + StdFunction(BOOL, "wglMakeCurrent", [(HDC, "hdc"), (HGLRC, "hglrc")]), + StdFunction(BOOL, "wglCopyContext", [(HGLRC, "hglrcSrc"), (HGLRC, "hglrcDst"), (UINT, "mask")]), + StdFunction(Int, "wglChoosePixelFormat", [(HDC, "hdc"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]), + StdFunction(Int, "wglDescribePixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (UINT, "nBytes"), Out(Pointer(PIXELFORMATDESCRIPTOR), "ppfd")]), + StdFunction(HDC, "wglGetCurrentDC", [], sideeffects=False), + StdFunction(PROC, "wglGetDefaultProcAddress", [(LPCSTR, "lpszProc")], sideeffects=False), + StdFunction(Int, "wglGetPixelFormat", [(HDC, "hdc")], sideeffects=False), + StdFunction(BOOL, "wglSetPixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]), + StdFunction(BOOL, "wglSwapBuffers", [(HDC, "hdc")]), + StdFunction(BOOL, "wglShareLists", [(HGLRC, "hglrc1"), (HGLRC, "hglrc2")]), + StdFunction(HGLRC, "wglCreateLayerContext", [(HDC, "hdc"), (Int, "iLayerPlane")]), + StdFunction(BOOL, "wglDescribeLayerPlane", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nBytes"), Out(Pointer(LAYERPLANEDESCRIPTOR), "plpd")]), + StdFunction(Int, "wglSetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (Array(Const(COLORREF), "cEntries"), "pcr")]), + StdFunction(Int, "wglGetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), Out(Array(COLORREF, "cEntries"), "pcr")], sideeffects=False), + StdFunction(BOOL, "wglRealizeLayerPalette", [(HDC, "hdc"), (Int, "iLayerPlane"), (BOOL, "bRealize")]), + StdFunction(BOOL, "wglSwapLayerBuffers", [(HDC, "hdc"), (UINT, "fuPlanes")]), + StdFunction(BOOL, "wglUseFontBitmapsA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]), + StdFunction(BOOL, "wglUseFontBitmapsW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]), + StdFunction(DWORD, "wglSwapMultipleBuffers", [(UINT, "n"), (Array(Const(WGLSWAP), "n"), "ps")]), + StdFunction(BOOL, "wglUseFontOutlinesA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]), + StdFunction(BOOL, "wglUseFontOutlinesW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]), + + # WGL_ARB_buffer_region + StdFunction(HANDLE, "wglCreateBufferRegionARB", [(HDC, "hDC"), (Int, "iLayerPlane"), (UINT, "uType")]), + StdFunction(VOID, "wglDeleteBufferRegionARB", [(HANDLE, "hRegion")]), + StdFunction(BOOL, "wglSaveBufferRegionARB", [(HANDLE, "hRegion"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height")]), + StdFunction(BOOL, "wglRestoreBufferRegionARB", [(HANDLE, "hRegion"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height"), (Int, "xSrc"), (Int, "ySrc")]), + + # WGL_ARB_extensions_string + StdFunction(Const(CString), "wglGetExtensionsStringARB", [(HDC, "hdc")], sideeffects=False), + + # WGL_ARB_pixel_format + StdFunction(BOOL, "wglGetPixelFormatAttribivARB", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(Int, "nAttributes"), "piValues")], sideeffects=False), + StdFunction(BOOL, "wglGetPixelFormatAttribfvARB", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(FLOAT, "nAttributes"), "pfValues")], sideeffects=False), + StdFunction(BOOL, "wglChoosePixelFormatARB", [(HDC, "hdc"), (Array(Const(WGLenum), "__AttribList_size(piAttribIList)"), "piAttribIList"), (Array(Const(FLOAT), "__AttribList_size(pfAttribFList)"), "pfAttribFList"), (UINT, "nMaxFormats"), Out(Array(Int, "(*nNumFormats)"), "piFormats"), Out(Pointer(UINT), "nNumFormats")]), + + # WGL_ARB_make_current_read + StdFunction(BOOL, "wglMakeContextCurrentARB", [(HDC, "hDrawDC"), (HDC, "hReadDC"), (HGLRC, "hglrc")]), + StdFunction(HDC, "wglGetCurrentReadDCARB", [], sideeffects=False), + + # WGL_ARB_pbuffer + StdFunction(HPBUFFERARB, "wglCreatePbufferARB", [(HDC, "hDC"), (Int, "iPixelFormat"), (Int, "iWidth"), (Int, "iHeight"), (Array(Const(WGLenum), "__AttribList_size(piAttribList)"), "piAttribList")]), + StdFunction(HDC, "wglGetPbufferDCARB", [(HPBUFFERARB, "hPbuffer")]), + StdFunction(Int, "wglReleasePbufferDCARB", [(HPBUFFERARB, "hPbuffer"), (HDC, "hDC")]), + StdFunction(BOOL, "wglDestroyPbufferARB", [(HPBUFFERARB, "hPbuffer")]), + StdFunction(BOOL, "wglQueryPbufferARB", [(HPBUFFERARB, "hPbuffer"), (WGLenum, "iAttribute"), Out(Pointer(Int), "piValue")], sideeffects=False), + + # WGL_ARB_render_texture + StdFunction(BOOL, "wglBindTexImageARB", [(HPBUFFERARB, "hPbuffer"), (Int, "iBuffer")]), + StdFunction(BOOL, "wglReleaseTexImageARB", [(HPBUFFERARB, "hPbuffer"), (Int, "iBuffer")]), + StdFunction(BOOL, "wglSetPbufferAttribARB", [(HPBUFFERARB, "hPbuffer"), (Array(Const(WGLenum), "__AttribList_size(piAttribList)"), "piAttribList")]), + + # WGL_ARB_create_context + StdFunction(HGLRC, "wglCreateContextAttribsARB", [(HDC, "hDC"), (HGLRC, "hShareContext"), (Array(Const(WGLenum), "__AttribList_size(attribList)"), "attribList")]), + + # WGL_EXT_extensions_string + StdFunction(Const(CString), "wglGetExtensionsStringEXT", [], sideeffects=False), + + # WGL_EXT_make_current_read + StdFunction(BOOL, "wglMakeContextCurrentEXT", [(HDC, "hDrawDC"), (HDC, "hReadDC"), (HGLRC, "hglrc")]), + StdFunction(HDC, "wglGetCurrentReadDCEXT", [], sideeffects=False), + + # WGL_EXT_pixel_format + StdFunction(BOOL, "wglGetPixelFormatAttribivEXT", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(Int, "nAttributes"), "piValues")], sideeffects=False), + StdFunction(BOOL, "wglGetPixelFormatAttribfvEXT", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(FLOAT, "nAttributes"), "pfValues")], sideeffects=False), + StdFunction(BOOL, "wglChoosePixelFormatEXT", [(HDC, "hdc"), (Pointer(Const(WGLenum)), "piAttribIList"), (Pointer(Const(FLOAT)), "pfAttribFList"), (UINT, "nMaxFormats"), Out(Array(Int, "nMaxFormats"), "piFormats"), Out(Pointer(UINT), "nNumFormats")]), + + # WGL_EXT_swap_control + StdFunction(BOOL, "wglSwapIntervalEXT", [(Int, "interval")]), + StdFunction(Int, "wglGetSwapIntervalEXT", [], sideeffects=False), + + # WGL_NV_vertex_array_range + StdFunction(OpaquePointer(Void), "wglAllocateMemoryNV", [(GLsizei, "size"), (GLfloat, "readfreq"), (GLfloat, "writefreq"), (GLfloat, "priority")]), + StdFunction(Void, "wglFreeMemoryNV", [(OpaquePointer(Void), "pointer")]), + + # must be last + StdFunction(PROC, "wglGetProcAddress", [(LPCSTR, "lpszProc")]), +]) diff --git a/specs/wglenum.py b/specs/wglenum.py new file mode 100644 index 0000000..1056092 --- /dev/null +++ b/specs/wglenum.py @@ -0,0 +1,200 @@ +########################################################################## +# +# Copyright 2008-2011 VMware, Inc. +# 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 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. +# +##########################################################################/ + + +"""WGL enum description""" + + +from stdapi import * + +WGLenum = FakeEnum(Int, [ + "WGL_NUMBER_PIXEL_FORMATS_ARB", # 0x2000 + "WGL_DRAW_TO_WINDOW_ARB", # 0x2001 + "WGL_DRAW_TO_BITMAP_ARB", # 0x2002 + "WGL_ACCELERATION_ARB", # 0x2003 + "WGL_NEED_PALETTE_ARB", # 0x2004 + "WGL_NEED_SYSTEM_PALETTE_ARB", # 0x2005 + "WGL_SWAP_LAYER_BUFFERS_ARB", # 0x2006 + "WGL_SWAP_METHOD_ARB", # 0x2007 + "WGL_NUMBER_OVERLAYS_ARB", # 0x2008 + "WGL_NUMBER_UNDERLAYS_ARB", # 0x2009 + "WGL_TRANSPARENT_ARB", # 0x200A + "WGL_TRANSPARENT_VALUE_EXT", # 0x200B + "WGL_SHARE_DEPTH_ARB", # 0x200C + "WGL_SHARE_STENCIL_ARB", # 0x200D + "WGL_SHARE_ACCUM_ARB", # 0x200E + "WGL_SUPPORT_GDI_ARB", # 0x200F + "WGL_SUPPORT_OPENGL_ARB", # 0x2010 + "WGL_DOUBLE_BUFFER_ARB", # 0x2011 + "WGL_STEREO_ARB", # 0x2012 + "WGL_PIXEL_TYPE_ARB", # 0x2013 + "WGL_COLOR_BITS_ARB", # 0x2014 + "WGL_RED_BITS_ARB", # 0x2015 + "WGL_RED_SHIFT_ARB", # 0x2016 + "WGL_GREEN_BITS_ARB", # 0x2017 + "WGL_GREEN_SHIFT_ARB", # 0x2018 + "WGL_BLUE_BITS_ARB", # 0x2019 + "WGL_BLUE_SHIFT_ARB", # 0x201A + "WGL_ALPHA_BITS_ARB", # 0x201B + "WGL_ALPHA_SHIFT_ARB", # 0x201C + "WGL_ACCUM_BITS_ARB", # 0x201D + "WGL_ACCUM_RED_BITS_ARB", # 0x201E + "WGL_ACCUM_GREEN_BITS_ARB", # 0x201F + "WGL_ACCUM_BLUE_BITS_ARB", # 0x2020 + "WGL_ACCUM_ALPHA_BITS_ARB", # 0x2021 + "WGL_DEPTH_BITS_ARB", # 0x2022 + "WGL_STENCIL_BITS_ARB", # 0x2023 + "WGL_AUX_BUFFERS_ARB", # 0x2024 + "WGL_NO_ACCELERATION_ARB", # 0x2025 + "WGL_GENERIC_ACCELERATION_ARB", # 0x2026 + "WGL_FULL_ACCELERATION_ARB", # 0x2027 + "WGL_SWAP_EXCHANGE_ARB", # 0x2028 + "WGL_SWAP_COPY_ARB", # 0x2029 + "WGL_SWAP_UNDEFINED_ARB", # 0x202A + "WGL_TYPE_RGBA_ARB", # 0x202B + "WGL_TYPE_COLORINDEX_ARB", # 0x202C + "WGL_DRAW_TO_PBUFFER_ARB", # 0x202D + "WGL_MAX_PBUFFER_PIXELS_ARB", # 0x202E + "WGL_MAX_PBUFFER_WIDTH_ARB", # 0x202F + "WGL_MAX_PBUFFER_HEIGHT_ARB", # 0x2030 + "WGL_OPTIMAL_PBUFFER_WIDTH_EXT", # 0x2031 + "WGL_OPTIMAL_PBUFFER_HEIGHT_EXT", # 0x2032 + "WGL_PBUFFER_LARGEST_ARB", # 0x2033 + "WGL_PBUFFER_WIDTH_ARB", # 0x2034 + "WGL_PBUFFER_HEIGHT_ARB", # 0x2035 + "WGL_PBUFFER_LOST_ARB", # 0x2036 + "WGL_TRANSPARENT_RED_VALUE_ARB", # 0x2037 + "WGL_TRANSPARENT_GREEN_VALUE_ARB", # 0x2038 + "WGL_TRANSPARENT_BLUE_VALUE_ARB", # 0x2039 + "WGL_TRANSPARENT_ALPHA_VALUE_ARB", # 0x203A + "WGL_TRANSPARENT_INDEX_VALUE_ARB", # 0x203B + "WGL_DEPTH_FLOAT_EXT", # 0x2040 + "WGL_SAMPLE_BUFFERS_ARB", # 0x2041 + "WGL_SAMPLES_ARB", # 0x2042 + "WGL_GENLOCK_SOURCE_MULTIVIEW_I3D", # 0x2044 + "WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D", # 0x2045 + "WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D", # 0x2046 + "WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D", # 0x2047 + "WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D", # 0x2048 + "WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D", # 0x2049 + "WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D", # 0x204A + "WGL_GENLOCK_SOURCE_EDGE_RISING_I3D", # 0x204B + "WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D", # 0x204C + "WGL_GAMMA_TABLE_SIZE_I3D", # 0x204E + "WGL_GAMMA_EXCLUDE_DESKTOP_I3D", # 0x204F + "WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D", # 0x2050 + "WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D", # 0x2051 + "WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D", # 0x2052 + "WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D", # 0x2053 + "WGL_STEREO_EMITTER_ENABLE_3DL", # 0x2055 + "WGL_STEREO_EMITTER_DISABLE_3DL", # 0x2056 + "WGL_STEREO_POLARITY_NORMAL_3DL", # 0x2057 + "WGL_STEREO_POLARITY_INVERT_3DL", # 0x2058 + "WGL_SAMPLE_BUFFERS_3DFX", # 0x2060 + "WGL_SAMPLES_3DFX", # 0x2061 + "WGL_BIND_TO_TEXTURE_RGB_ARB", # 0x2070 + "WGL_BIND_TO_TEXTURE_RGBA_ARB", # 0x2071 + "WGL_TEXTURE_FORMAT_ARB", # 0x2072 + "WGL_TEXTURE_TARGET_ARB", # 0x2073 + "WGL_MIPMAP_TEXTURE_ARB", # 0x2074 + "WGL_TEXTURE_RGB_ARB", # 0x2075 + "WGL_TEXTURE_RGBA_ARB", # 0x2076 + "WGL_NO_TEXTURE_ARB", # 0x2077 + "WGL_TEXTURE_CUBE_MAP_ARB", # 0x2078 + "WGL_TEXTURE_1D_ARB", # 0x2079 + "WGL_TEXTURE_2D_ARB", # 0x207A + "WGL_MIPMAP_LEVEL_ARB", # 0x207B + "WGL_CUBE_MAP_FACE_ARB", # 0x207C + "WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB", # 0x207D + "WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB", # 0x207E + "WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB", # 0x207F + "WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB", # 0x2080 + "WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB", # 0x2081 + "WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB", # 0x2082 + "WGL_FRONT_LEFT_ARB", # 0x2083 + "WGL_FRONT_RIGHT_ARB", # 0x2084 + "WGL_BACK_LEFT_ARB", # 0x2085 + "WGL_BACK_RIGHT_ARB", # 0x2086 + "WGL_AUX0_ARB", # 0x2087 + "WGL_AUX1_ARB", # 0x2088 + "WGL_AUX2_ARB", # 0x2089 + "WGL_AUX3_ARB", # 0x208A + "WGL_AUX4_ARB", # 0x208B + "WGL_AUX5_ARB", # 0x208C + "WGL_AUX6_ARB", # 0x208D + "WGL_AUX7_ARB", # 0x208E + "WGL_AUX8_ARB", # 0x208F + "WGL_AUX9_ARB", # 0x2090 + "WGL_CONTEXT_MAJOR_VERSION_ARB", # 0x2091 + "WGL_CONTEXT_MINOR_VERSION_ARB", # 0x2092 + "WGL_CONTEXT_LAYER_PLANE_ARB", # 0x2093 + "WGL_CONTEXT_FLAGS_ARB", # 0x2094 + "WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV", # 0x20A0 + "WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV", # 0x20A1 + "WGL_TEXTURE_RECTANGLE_NV", # 0x20A2 + "WGL_BIND_TO_TEXTURE_DEPTH_NV", # 0x20A3 + "WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV", # 0x20A4 + "WGL_DEPTH_TEXTURE_FORMAT_NV", # 0x20A5 + "WGL_TEXTURE_DEPTH_COMPONENT_NV", # 0x20A6 + "WGL_DEPTH_COMPONENT_NV", # 0x20A7 + "WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT", # 0x20A8 + "WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB", # 0x20A9 + "WGL_FLOAT_COMPONENTS_NV", # 0x20B0 + "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV", # 0x20B1 + "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV", # 0x20B2 + "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV", # 0x20B3 + "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV", # 0x20B4 + "WGL_TEXTURE_FLOAT_R_NV", # 0x20B5 + "WGL_TEXTURE_FLOAT_RG_NV", # 0x20B6 + "WGL_TEXTURE_FLOAT_RGB_NV", # 0x20B7 + "WGL_TEXTURE_FLOAT_RGBA_NV", # 0x20B8 + "WGL_COLOR_SAMPLES_NV", # 0x20B9 + "WGL_BIND_TO_VIDEO_RGB_NV", # 0x20C0 + "WGL_BIND_TO_VIDEO_RGBA_NV", # 0x20C1 + "WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV", # 0x20C2 + "WGL_VIDEO_OUT_COLOR_NV", # 0x20C3 + "WGL_VIDEO_OUT_ALPHA_NV", # 0x20C4 + "WGL_VIDEO_OUT_DEPTH_NV", # 0x20C5 + "WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV", # 0x20C6 + "WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV", # 0x20C7 + "WGL_VIDEO_OUT_FRAME", # 0x20C8 + "WGL_VIDEO_OUT_FIELD_1", # 0x20C9 + "WGL_VIDEO_OUT_FIELD_2", # 0x20CA + "WGL_VIDEO_OUT_STACKED_FIELDS_1_2", # 0x20CB + "WGL_VIDEO_OUT_STACKED_FIELDS_2_1", # 0x20CC + "WGL_UNIQUE_ID_NV", # 0x20CE + "WGL_NUM_VIDEO_CAPTURE_SLOTS_NV", # 0x20CF + "WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV", # 0x20D0 + "WGL_ERROR_MISSING_AFFINITY_MASK_NV", # 0x20D1 + "WGL_NUM_VIDEO_SLOTS_NV", # 0x20F0 + "WGL_TYPE_RGBA_FLOAT_ARB", # 0x21A0 + "WGL_GPU_FASTEST_TARGET_GPUS_AMD", # 0x21A2 + "WGL_GPU_RAM_AMD", # 0x21A3 + "WGL_GPU_CLOCK_AMD", # 0x21A4 + "WGL_GPU_NUM_PIPES_AMD", # 0x21A5 + "WGL_GPU_NUM_SIMD_AMD", # 0x21A6 + "WGL_GPU_NUM_RB_AMD", # 0x21A7 + "WGL_GPU_NUM_SPI_AMD", # 0x21A8 +]) diff --git a/specs/winapi.py b/specs/winapi.py new file mode 100644 index 0000000..17256aa --- /dev/null +++ b/specs/winapi.py @@ -0,0 +1,165 @@ +########################################################################## +# +# Copyright 2008-2009 VMware, Inc. +# 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 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. +# +##########################################################################/ + +"""Win32 API type description.""" + +from stdapi import * + +SHORT = Alias("SHORT", Short) +USHORT = Alias("USHORT", UShort) +INT = Alias("INT", Int) +UINT = Alias("UINT", UInt) +LONG = Alias("LONG", Long) +ULONG = Alias("ULONG", ULong) +LONGLONG = Alias("LONGLONG", LongLong) +FLOAT = Alias("FLOAT", Float) + +INT8 = Alias("INT8", Int8) +UINT8 = Alias("UINT8", UInt8) +INT16 = Alias("INT16", Int16) +UINT16 = Alias("UINT16", UInt16) +INT32 = Alias("INT32", Int32) +UINT32 = Alias("UINT32", UInt32) +INT64 = Alias("INT64", Int64) +UINT64 = Alias("UINT64", UInt64) + +BYTE = Literal("BYTE", "UInt", base=16) +WORD = Literal("WORD", "UInt", base=16) +DWORD = Literal("DWORD", "UInt", base=16) + +WCHAR = Literal("WCHAR", "SInt") + +BOOL = Alias("BOOL", Bool) + +LPLONG = Pointer(LONG) +LPWORD = Pointer(WORD) +LPDWORD = Pointer(DWORD) +LPBOOL = Pointer(BOOL) + +LPSTR = CString +LPCSTR = Const(CString) +LPWSTR = WString +LPCWSTR = Const(WString) + +LARGE_INTEGER = Struct("LARGE_INTEGER", [ + (LONGLONG, 'QuadPart'), +]) + +SIZE_T = Alias("SIZE_T", SizeT) + +HRESULT = Alias("HRESULT", Int) + +VOID = Void +PVOID = Opaque("PVOID") +LPVOID = PVOID +HANDLE = Opaque("HANDLE") +HWND = Opaque("HWND") +HDC = Opaque("HDC") +HMONITOR = Opaque("HMONITOR") + +GUID = Struct("GUID", [ + (DWORD, "Data1"), + (WORD, "Data2"), + (WORD, "Data3"), + (Array(BYTE, "8"), "Data4"), +]) +LPGUID = Pointer(GUID) + +#REFGUID = Alias("REFGUID", Pointer(GUID)) +REFGUID = Alias("REFGUID", GUID) + +IID = Alias("IID", GUID) +#REFIID = Alias("REFIID", Pointer(IID)) +REFIID = Alias("REFIID", IID) + +CLSID = Alias("CLSID", GUID) +#REFCLSID = Alias("REFCLSID", Pointer(CLSID)) +REFCLSID = Alias("REFCLSID", CLSID) + +LUID = Struct("LUID", [ + (DWORD, "LowPart"), + (LONG, "HighPart"), +]) + +POINT = Struct("POINT", ( + (LONG, "x"), + (LONG, "y"), +)) +LPPOINT = Pointer(POINT) + +SIZE = Struct("SIZE", ( + (LONG, "cx"), + (LONG, "cy"), +)) +LPSIZE = Pointer(SIZE) + +RECT = Struct("RECT", ( + (LONG, "left"), + (LONG, "top"), + (LONG, "right"), + (LONG, "bottom"), +)) +LPRECT = Pointer(RECT) + +PALETTEENTRY = Struct("PALETTEENTRY", ( + (BYTE, "peRed"), + (BYTE, "peGreen"), + (BYTE, "peBlue"), + (BYTE, "peFlags"), +)) +LPPALETTEENTRY = Pointer(PALETTEENTRY) + + +RGNDATAHEADER = Struct("RGNDATAHEADER", [ + (DWORD, "dwSize"), + (DWORD, "iType"), + (DWORD, "nCount"), + (DWORD, "nRgnSize"), + (RECT, "rcBound"), +]) + +RGNDATA = Struct("RGNDATA", [ + (RGNDATAHEADER, "rdh"), + #(Char, "Buffer[1]"), +]) +LPRGNDATA = Pointer(RGNDATA) + +HMODULE = Opaque("HMODULE") + +IUnknown = Interface("IUnknown") + +HRESULT_com = FakeEnum(HRESULT, [ + "S_OK", + "E_NOINTERFACE", + "E_POINTER", +]) + +IUnknown.methods = ( + Method(HRESULT_com, "QueryInterface", ((REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppvObj"))), + Method(ULONG, "AddRef", ()), + Method(ULONG, "Release", ()), +) + + diff --git a/stdapi.py b/stdapi.py deleted file mode 100644 index d6973c1..0000000 --- a/stdapi.py +++ /dev/null @@ -1,587 +0,0 @@ -########################################################################## -# -# Copyright 2008-2010 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""C basic types""" - - -import debug - - -class Type: - - __all = {} - __seq = 0 - - def __init__(self, expr, id = ''): - self.expr = expr - - for char in id: - assert char.isalnum() or char in '_ ' - - id = id.replace(' ', '_') - - if id in Type.__all: - Type.__seq += 1 - id += str(Type.__seq) - - assert id not in Type.__all - Type.__all[id] = self - - self.id = id - - def __str__(self): - return self.expr - - def visit(self, visitor, *args, **kwargs): - raise NotImplementedError - - - -class _Void(Type): - - def __init__(self): - Type.__init__(self, "void") - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_void(self, *args, **kwargs) - -Void = _Void() - - -class Literal(Type): - - def __init__(self, expr, format, base=10): - Type.__init__(self, expr) - self.format = format - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_literal(self, *args, **kwargs) - - -class Const(Type): - - def __init__(self, type): - # While "const foo" and "foo const" are synonymous, "const foo *" and - # "foo * const" are not quite the same, and some compilers do enforce - # strict const correctness. - if isinstance(type, String) or type is WString: - # For strings we never intend to say a const pointer to chars, but - # rather a point to const chars. - expr = "const " + type.expr - elif type.expr.startswith("const ") or '*' in type.expr: - expr = type.expr + " const" - else: - # The most legible - expr = "const " + type.expr - - Type.__init__(self, expr, 'C' + type.id) - - self.type = type - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_const(self, *args, **kwargs) - - -class Pointer(Type): - - def __init__(self, type): - Type.__init__(self, type.expr + " *", 'P' + type.id) - self.type = type - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_pointer(self, *args, **kwargs) - - -class Handle(Type): - - def __init__(self, name, type, range=None, key=None): - Type.__init__(self, type.expr, 'P' + type.id) - self.name = name - self.type = type - self.range = range - self.key = key - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_handle(self, *args, **kwargs) - - -def ConstPointer(type): - return Pointer(Const(type)) - - -class Enum(Type): - - def __init__(self, name, values): - Type.__init__(self, name) - self.values = list(values) - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_enum(self, *args, **kwargs) - - -def FakeEnum(type, values): - return Enum(type.expr, values) - - -class Bitmask(Type): - - def __init__(self, type, values): - Type.__init__(self, type.expr) - self.type = type - self.values = values - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_bitmask(self, *args, **kwargs) - -Flags = Bitmask - - -class Array(Type): - - def __init__(self, type, length): - Type.__init__(self, type.expr + " *") - self.type = type - self.length = length - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_array(self, *args, **kwargs) - - -class Blob(Type): - - def __init__(self, type, size): - Type.__init__(self, type.expr + ' *') - self.type = type - self.size = size - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_blob(self, *args, **kwargs) - - -class Struct(Type): - - def __init__(self, name, members): - Type.__init__(self, name) - self.name = name - self.members = members - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_struct(self, *args, **kwargs) - - -class Alias(Type): - - def __init__(self, expr, type): - Type.__init__(self, expr) - self.type = type - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_alias(self, *args, **kwargs) - - -def Out(type, name): - arg = Arg(type, name, output=True) - return arg - - -class Arg: - - def __init__(self, type, name, output=False): - self.type = type - self.name = name - self.output = output - self.index = None - - def __str__(self): - return '%s %s' % (self.type, self.name) - - -class Function: - - __id = 0 - - def __init__(self, type, name, args, call = '', fail = None, sideeffects=True): - self.id = Function.__id - Function.__id += 1 - - self.type = type - self.name = name - - self.args = [] - index = 0 - for arg in args: - if not isinstance(arg, Arg): - if isinstance(arg, tuple): - arg_type, arg_name = arg - else: - arg_type = arg - arg_name = "arg%u" % index - arg = Arg(arg_type, arg_name) - arg.index = index - index += 1 - self.args.append(arg) - - self.call = call - self.fail = fail - self.sideeffects = sideeffects - - def prototype(self, name=None): - if name is not None: - name = name.strip() - else: - name = self.name - s = name - if self.call: - s = self.call + ' ' + s - if name.startswith('*'): - s = '(' + s + ')' - s = self.type.expr + ' ' + s - s += "(" - if self.args: - s += ", ".join(["%s %s" % (arg.type, arg.name) for arg in self.args]) - else: - s += "void" - s += ")" - return s - - -def StdFunction(*args, **kwargs): - kwargs.setdefault('call', '__stdcall') - return Function(*args, **kwargs) - - -def FunctionPointer(type, name, args, **kwargs): - # XXX: We should probably treat function pointers (callbacks or not) in a generic fashion - return Opaque(name) - - -class Interface(Type): - - def __init__(self, name, base=None): - Type.__init__(self, name) - self.name = name - self.base = base - self.methods = [] - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_interface(self, *args, **kwargs) - - def itermethods(self): - if self.base is not None: - for method in self.base.itermethods(): - yield method - for method in self.methods: - yield method - raise StopIteration - - -class Method(Function): - - def __init__(self, type, name, args): - Function.__init__(self, type, name, args, call = '__stdcall') - for index in range(len(self.args)): - self.args[index].index = index + 1 - - -def WrapPointer(type): - return Pointer(type) - - -class String(Type): - - def __init__(self, expr = "char *", length = None): - Type.__init__(self, expr) - self.length = length - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_string(self, *args, **kwargs) - -# C string (i.e., zero terminated) -CString = String() - - -class Opaque(Type): - '''Opaque pointer.''' - - def __init__(self, expr): - Type.__init__(self, expr) - - def visit(self, visitor, *args, **kwargs): - return visitor.visit_opaque(self, *args, **kwargs) - - -def OpaquePointer(type, *args): - return Opaque(type.expr + ' *') - -def OpaqueArray(type, size): - return Opaque(type.expr + ' *') - -def OpaqueBlob(type, size): - return Opaque(type.expr + ' *') - - -class Visitor: - - def visit(self, type, *args, **kwargs): - return type.visit(self, *args, **kwargs) - - def visit_void(self, void, *args, **kwargs): - raise NotImplementedError - - def visit_literal(self, literal, *args, **kwargs): - raise NotImplementedError - - def visit_string(self, string, *args, **kwargs): - raise NotImplementedError - - def visit_const(self, const, *args, **kwargs): - raise NotImplementedError - - def visit_struct(self, struct, *args, **kwargs): - raise NotImplementedError - - def visit_array(self, array, *args, **kwargs): - raise NotImplementedError - - def visit_blob(self, blob, *args, **kwargs): - raise NotImplementedError - - def visit_enum(self, enum, *args, **kwargs): - raise NotImplementedError - - def visit_bitmask(self, bitmask, *args, **kwargs): - raise NotImplementedError - - def visit_pointer(self, pointer, *args, **kwargs): - raise NotImplementedError - - def visit_handle(self, handle, *args, **kwargs): - raise NotImplementedError - - def visit_alias(self, alias, *args, **kwargs): - raise NotImplementedError - - def visit_opaque(self, opaque, *args, **kwargs): - raise NotImplementedError - - def visit_interface(self, interface, *args, **kwargs): - raise NotImplementedError - - -class OnceVisitor(Visitor): - - def __init__(self): - self.__visited = set() - - def visit(self, type, *args, **kwargs): - if type not in self.__visited: - self.__visited.add(type) - return type.visit(self, *args, **kwargs) - return None - - -class Rebuilder(Visitor): - - def visit_void(self, void): - return void - - def visit_literal(self, literal): - return literal - - def visit_string(self, string): - return string - - def visit_const(self, const): - return Const(const.type) - - def visit_struct(self, struct): - members = [(self.visit(type), name) for type, name in struct.members] - return Struct(struct.name, members) - - def visit_array(self, array): - type = self.visit(array.type) - return Array(type, array.length) - - def visit_blob(self, blob): - type = self.visit(blob.type) - return Blob(type, blob.size) - - def visit_enum(self, enum): - return enum - - def visit_bitmask(self, bitmask): - type = self.visit(bitmask.type) - return Bitmask(type, bitmask.values) - - def visit_pointer(self, pointer): - type = self.visit(pointer.type) - return Pointer(type) - - def visit_handle(self, handle): - type = self.visit(handle.type) - return Handle(handle.name, type, range=handle.range, key=handle.key) - - def visit_alias(self, alias): - type = self.visit(alias.type) - return Alias(alias.expr, type) - - def visit_opaque(self, opaque): - return opaque - - -class Collector(Visitor): - '''Collect.''' - - def __init__(self): - self.__visited = set() - self.types = [] - - def visit(self, type): - if type in self.__visited: - return - self.__visited.add(type) - Visitor.visit(self, type) - self.types.append(type) - - def visit_void(self, literal): - pass - - def visit_literal(self, literal): - pass - - def visit_string(self, string): - pass - - def visit_const(self, const): - self.visit(const.type) - - def visit_struct(self, struct): - for type, name in struct.members: - self.visit(type) - - def visit_array(self, array): - self.visit(array.type) - - def visit_blob(self, array): - pass - - def visit_enum(self, enum): - pass - - def visit_bitmask(self, bitmask): - self.visit(bitmask.type) - - def visit_pointer(self, pointer): - self.visit(pointer.type) - - def visit_handle(self, handle): - self.visit(handle.type) - - def visit_alias(self, alias): - self.visit(alias.type) - - def visit_opaque(self, opaque): - pass - - def visit_interface(self, interface): - if interface.base is not None: - self.visit(interface.base) - for method in interface.itermethods(): - for arg in method.args: - self.visit(arg.type) - self.visit(method.type) - - -class API: - - def __init__(self, name = None): - self.name = name - self.headers = [] - self.functions = [] - self.interfaces = [] - - def all_types(self): - collector = Collector() - for function in self.functions: - for arg in function.args: - collector.visit(arg.type) - collector.visit(function.type) - for interface in self.interfaces: - collector.visit(interface) - for method in interface.itermethods(): - for arg in method.args: - collector.visit(arg.type) - collector.visit(method.type) - return collector.types - - def add_function(self, function): - self.functions.append(function) - - def add_functions(self, functions): - for function in functions: - self.add_function(function) - - def add_interface(self, interface): - self.interfaces.append(interface) - - def add_interfaces(self, interfaces): - self.interfaces.extend(interfaces) - - def add_api(self, api): - self.headers.extend(api.headers) - self.add_functions(api.functions) - self.add_interfaces(api.interfaces) - - def get_function_by_name(self, name): - for function in self.functions: - if function.name == name: - return function - return None - - -Bool = Literal("bool", "Bool") -SChar = Literal("signed char", "SInt") -UChar = Literal("unsigned char", "UInt") -Short = Literal("short", "SInt") -Int = Literal("int", "SInt") -Long = Literal("long", "SInt") -LongLong = Literal("long long", "SInt") -UShort = Literal("unsigned short", "UInt") -UInt = Literal("unsigned int", "UInt") -ULong = Literal("unsigned long", "UInt") -ULongLong = Literal("unsigned long long", "UInt") -Float = Literal("float", "Float") -Double = Literal("double", "Double") -SizeT = Literal("size_t", "UInt") -WString = Literal("wchar_t *", "WString") - -Int8 = Literal("int8_t", "SInt") -UInt8 = Literal("uint8_t", "UInt") -Int16 = Literal("int16_t", "SInt") -UInt16 = Literal("uint16_t", "UInt") -Int32 = Literal("int32_t", "SInt") -UInt32 = Literal("uint32_t", "UInt") -Int64 = Literal("int64_t", "SInt") -UInt64 = Literal("uint64_t", "UInt") diff --git a/trace.py b/trace.py index 626f2dd..59e1a83 100644 --- a/trace.py +++ b/trace.py @@ -26,7 +26,7 @@ """Common trace code generation.""" -import stdapi +import specs.stdapi as stdapi from dispatch import Dispatcher diff --git a/wglapi.py b/wglapi.py deleted file mode 100644 index 7296aeb..0000000 --- a/wglapi.py +++ /dev/null @@ -1,226 +0,0 @@ -########################################################################## -# -# Copyright 2008-2010 VMware, Inc. -# 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 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. -# -##########################################################################/ - - -"""WGL API description""" - - -from glapi import * -from winapi import * -from wglenum import * - - -wglapi = API("WGL") - - -HGLRC = Alias("HGLRC", HANDLE) -PROC = Opaque("PROC") - -PFD = Flags(DWORD, [ - "PFD_DOUBLEBUFFER", - "PFD_STEREO", - "PFD_DRAW_TO_WINDOW", - "PFD_DRAW_TO_BITMAP", - "PFD_SUPPORT_GDI", - "PFD_SUPPORT_OPENGL", - "PFD_GENERIC_FORMAT", - "PFD_NEED_PALETTE", - "PFD_NEED_SYSTEM_PALETTE", - "PFD_SWAP_EXCHANGE", - "PFD_SWAP_COPY", - "PFD_SWAP_LAYER_BUFFERS", - "PFD_GENERIC_ACCELERATED", - "PFD_SUPPORT_DIRECTDRAW", - "PFD_SUPPORT_COMPOSITION", - "PFD_DEPTH_DONTCARE", - "PFD_DOUBLEBUFFER_DONTCARE", - "PFD_STEREO_DONTCARE", -]) - -PIXELFORMATDESCRIPTOR = Struct("PIXELFORMATDESCRIPTOR", [ - (WORD, "nSize"), - (WORD, "nVersion"), - (PFD, "dwFlags"), - (BYTE, "iPixelType"), - (BYTE, "cColorBits"), - (BYTE, "cRedBits"), - (BYTE, "cRedShift"), - (BYTE, "cGreenBits"), - (BYTE, "cGreenShift"), - (BYTE, "cBlueBits"), - (BYTE, "cBlueShift"), - (BYTE, "cAlphaBits"), - (BYTE, "cAlphaShift"), - (BYTE, "cAccumBits"), - (BYTE, "cAccumRedBits"), - (BYTE, "cAccumGreenBits"), - (BYTE, "cAccumBlueBits"), - (BYTE, "cAccumAlphaBits"), - (BYTE, "cDepthBits"), - (BYTE, "cStencilBits"), - (BYTE, "cAuxBuffers"), - (BYTE, "iLayerType"), - (BYTE, "bReserved"), - (DWORD, "dwLayerMask"), - (DWORD, "dwVisibleMask"), - (DWORD, "dwDamageMask"), -]) - -POINTFLOAT = Struct("POINTFLOAT", [ - (FLOAT, "x"), - (FLOAT, "y"), -]) - -GLYPHMETRICSFLOAT = Struct("GLYPHMETRICSFLOAT", [ - (FLOAT, "gmfBlackBoxX"), - (FLOAT, "gmfBlackBoxY"), - (POINTFLOAT, "gmfptGlyphOrigin"), - (FLOAT, "gmfCellIncX"), - (FLOAT, "gmfCellIncY"), -]) -LPGLYPHMETRICSFLOAT = Pointer(GLYPHMETRICSFLOAT) - -COLORREF = Alias("COLORREF", DWORD) - - -LAYERPLANEDESCRIPTOR = Struct("LAYERPLANEDESCRIPTOR", [ - (WORD, "nSize"), - (WORD, "nVersion"), - (DWORD, "dwFlags"), - (BYTE, "iPixelType"), - (BYTE, "cColorBits"), - (BYTE, "cRedBits"), - (BYTE, "cRedShift"), - (BYTE, "cGreenBits"), - (BYTE, "cGreenShift"), - (BYTE, "cBlueBits"), - (BYTE, "cBlueShift"), - (BYTE, "cAlphaBits"), - (BYTE, "cAlphaShift"), - (BYTE, "cAccumBits"), - (BYTE, "cAccumRedBits"), - (BYTE, "cAccumGreenBits"), - (BYTE, "cAccumBlueBits"), - (BYTE, "cAccumAlphaBits"), - (BYTE, "cDepthBits"), - (BYTE, "cStencilBits"), - (BYTE, "cAuxBuffers"), - (BYTE, "iLayerPlane"), - (BYTE, "bReserved"), - (COLORREF, "crTransparent"), -]) -LPLAYERPLANEDESCRIPTOR = Pointer(LAYERPLANEDESCRIPTOR) - -WGLSWAP = Struct("WGLSWAP", [ - (HDC, "hdc"), - (UINT, "uiFlags"), -]) - -HPBUFFERARB = Alias("HPBUFFERARB", HANDLE) - - -wglapi.add_functions([ - # WGL - StdFunction(HGLRC, "wglCreateContext", [(HDC, "hdc")]), - StdFunction(BOOL, "wglDeleteContext", [(HGLRC, "hglrc")]), - StdFunction(HGLRC, "wglGetCurrentContext", [], sideeffects=False), - StdFunction(BOOL, "wglMakeCurrent", [(HDC, "hdc"), (HGLRC, "hglrc")]), - StdFunction(BOOL, "wglCopyContext", [(HGLRC, "hglrcSrc"), (HGLRC, "hglrcDst"), (UINT, "mask")]), - StdFunction(Int, "wglChoosePixelFormat", [(HDC, "hdc"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]), - StdFunction(Int, "wglDescribePixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (UINT, "nBytes"), Out(Pointer(PIXELFORMATDESCRIPTOR), "ppfd")]), - StdFunction(HDC, "wglGetCurrentDC", [], sideeffects=False), - StdFunction(PROC, "wglGetDefaultProcAddress", [(LPCSTR, "lpszProc")], sideeffects=False), - StdFunction(Int, "wglGetPixelFormat", [(HDC, "hdc")], sideeffects=False), - StdFunction(BOOL, "wglSetPixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]), - StdFunction(BOOL, "wglSwapBuffers", [(HDC, "hdc")]), - StdFunction(BOOL, "wglShareLists", [(HGLRC, "hglrc1"), (HGLRC, "hglrc2")]), - StdFunction(HGLRC, "wglCreateLayerContext", [(HDC, "hdc"), (Int, "iLayerPlane")]), - StdFunction(BOOL, "wglDescribeLayerPlane", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nBytes"), Out(Pointer(LAYERPLANEDESCRIPTOR), "plpd")]), - StdFunction(Int, "wglSetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (Array(Const(COLORREF), "cEntries"), "pcr")]), - StdFunction(Int, "wglGetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), Out(Array(COLORREF, "cEntries"), "pcr")], sideeffects=False), - StdFunction(BOOL, "wglRealizeLayerPalette", [(HDC, "hdc"), (Int, "iLayerPlane"), (BOOL, "bRealize")]), - StdFunction(BOOL, "wglSwapLayerBuffers", [(HDC, "hdc"), (UINT, "fuPlanes")]), - StdFunction(BOOL, "wglUseFontBitmapsA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]), - StdFunction(BOOL, "wglUseFontBitmapsW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]), - StdFunction(DWORD, "wglSwapMultipleBuffers", [(UINT, "n"), (Array(Const(WGLSWAP), "n"), "ps")]), - StdFunction(BOOL, "wglUseFontOutlinesA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]), - StdFunction(BOOL, "wglUseFontOutlinesW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]), - - # WGL_ARB_buffer_region - StdFunction(HANDLE, "wglCreateBufferRegionARB", [(HDC, "hDC"), (Int, "iLayerPlane"), (UINT, "uType")]), - StdFunction(VOID, "wglDeleteBufferRegionARB", [(HANDLE, "hRegion")]), - StdFunction(BOOL, "wglSaveBufferRegionARB", [(HANDLE, "hRegion"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height")]), - StdFunction(BOOL, "wglRestoreBufferRegionARB", [(HANDLE, "hRegion"), (Int, "x"), (Int, "y"), (Int, "width"), (Int, "height"), (Int, "xSrc"), (Int, "ySrc")]), - - # WGL_ARB_extensions_string - StdFunction(Const(CString), "wglGetExtensionsStringARB", [(HDC, "hdc")], sideeffects=False), - - # WGL_ARB_pixel_format - StdFunction(BOOL, "wglGetPixelFormatAttribivARB", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(Int, "nAttributes"), "piValues")], sideeffects=False), - StdFunction(BOOL, "wglGetPixelFormatAttribfvARB", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(FLOAT, "nAttributes"), "pfValues")], sideeffects=False), - StdFunction(BOOL, "wglChoosePixelFormatARB", [(HDC, "hdc"), (Array(Const(WGLenum), "__AttribList_size(piAttribIList)"), "piAttribIList"), (Array(Const(FLOAT), "__AttribList_size(pfAttribFList)"), "pfAttribFList"), (UINT, "nMaxFormats"), Out(Array(Int, "(*nNumFormats)"), "piFormats"), Out(Pointer(UINT), "nNumFormats")]), - - # WGL_ARB_make_current_read - StdFunction(BOOL, "wglMakeContextCurrentARB", [(HDC, "hDrawDC"), (HDC, "hReadDC"), (HGLRC, "hglrc")]), - StdFunction(HDC, "wglGetCurrentReadDCARB", [], sideeffects=False), - - # WGL_ARB_pbuffer - StdFunction(HPBUFFERARB, "wglCreatePbufferARB", [(HDC, "hDC"), (Int, "iPixelFormat"), (Int, "iWidth"), (Int, "iHeight"), (Array(Const(WGLenum), "__AttribList_size(piAttribList)"), "piAttribList")]), - StdFunction(HDC, "wglGetPbufferDCARB", [(HPBUFFERARB, "hPbuffer")]), - StdFunction(Int, "wglReleasePbufferDCARB", [(HPBUFFERARB, "hPbuffer"), (HDC, "hDC")]), - StdFunction(BOOL, "wglDestroyPbufferARB", [(HPBUFFERARB, "hPbuffer")]), - StdFunction(BOOL, "wglQueryPbufferARB", [(HPBUFFERARB, "hPbuffer"), (WGLenum, "iAttribute"), Out(Pointer(Int), "piValue")], sideeffects=False), - - # WGL_ARB_render_texture - StdFunction(BOOL, "wglBindTexImageARB", [(HPBUFFERARB, "hPbuffer"), (Int, "iBuffer")]), - StdFunction(BOOL, "wglReleaseTexImageARB", [(HPBUFFERARB, "hPbuffer"), (Int, "iBuffer")]), - StdFunction(BOOL, "wglSetPbufferAttribARB", [(HPBUFFERARB, "hPbuffer"), (Array(Const(WGLenum), "__AttribList_size(piAttribList)"), "piAttribList")]), - - # WGL_ARB_create_context - StdFunction(HGLRC, "wglCreateContextAttribsARB", [(HDC, "hDC"), (HGLRC, "hShareContext"), (Array(Const(WGLenum), "__AttribList_size(attribList)"), "attribList")]), - - # WGL_EXT_extensions_string - StdFunction(Const(CString), "wglGetExtensionsStringEXT", [], sideeffects=False), - - # WGL_EXT_make_current_read - StdFunction(BOOL, "wglMakeContextCurrentEXT", [(HDC, "hDrawDC"), (HDC, "hReadDC"), (HGLRC, "hglrc")]), - StdFunction(HDC, "wglGetCurrentReadDCEXT", [], sideeffects=False), - - # WGL_EXT_pixel_format - StdFunction(BOOL, "wglGetPixelFormatAttribivEXT", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(Int, "nAttributes"), "piValues")], sideeffects=False), - StdFunction(BOOL, "wglGetPixelFormatAttribfvEXT", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Array(WGLenum, "nAttributes"), "piAttributes"), Out(Array(FLOAT, "nAttributes"), "pfValues")], sideeffects=False), - StdFunction(BOOL, "wglChoosePixelFormatEXT", [(HDC, "hdc"), (Pointer(Const(WGLenum)), "piAttribIList"), (Pointer(Const(FLOAT)), "pfAttribFList"), (UINT, "nMaxFormats"), Out(Array(Int, "nMaxFormats"), "piFormats"), Out(Pointer(UINT), "nNumFormats")]), - - # WGL_EXT_swap_control - StdFunction(BOOL, "wglSwapIntervalEXT", [(Int, "interval")]), - StdFunction(Int, "wglGetSwapIntervalEXT", [], sideeffects=False), - - # WGL_NV_vertex_array_range - StdFunction(OpaquePointer(Void), "wglAllocateMemoryNV", [(GLsizei, "size"), (GLfloat, "readfreq"), (GLfloat, "writefreq"), (GLfloat, "priority")]), - StdFunction(Void, "wglFreeMemoryNV", [(OpaquePointer(Void), "pointer")]), - - # must be last - StdFunction(PROC, "wglGetProcAddress", [(LPCSTR, "lpszProc")]), -]) diff --git a/wglenum.py b/wglenum.py deleted file mode 100644 index 1056092..0000000 --- a/wglenum.py +++ /dev/null @@ -1,200 +0,0 @@ -########################################################################## -# -# Copyright 2008-2011 VMware, Inc. -# 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 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. -# -##########################################################################/ - - -"""WGL enum description""" - - -from stdapi import * - -WGLenum = FakeEnum(Int, [ - "WGL_NUMBER_PIXEL_FORMATS_ARB", # 0x2000 - "WGL_DRAW_TO_WINDOW_ARB", # 0x2001 - "WGL_DRAW_TO_BITMAP_ARB", # 0x2002 - "WGL_ACCELERATION_ARB", # 0x2003 - "WGL_NEED_PALETTE_ARB", # 0x2004 - "WGL_NEED_SYSTEM_PALETTE_ARB", # 0x2005 - "WGL_SWAP_LAYER_BUFFERS_ARB", # 0x2006 - "WGL_SWAP_METHOD_ARB", # 0x2007 - "WGL_NUMBER_OVERLAYS_ARB", # 0x2008 - "WGL_NUMBER_UNDERLAYS_ARB", # 0x2009 - "WGL_TRANSPARENT_ARB", # 0x200A - "WGL_TRANSPARENT_VALUE_EXT", # 0x200B - "WGL_SHARE_DEPTH_ARB", # 0x200C - "WGL_SHARE_STENCIL_ARB", # 0x200D - "WGL_SHARE_ACCUM_ARB", # 0x200E - "WGL_SUPPORT_GDI_ARB", # 0x200F - "WGL_SUPPORT_OPENGL_ARB", # 0x2010 - "WGL_DOUBLE_BUFFER_ARB", # 0x2011 - "WGL_STEREO_ARB", # 0x2012 - "WGL_PIXEL_TYPE_ARB", # 0x2013 - "WGL_COLOR_BITS_ARB", # 0x2014 - "WGL_RED_BITS_ARB", # 0x2015 - "WGL_RED_SHIFT_ARB", # 0x2016 - "WGL_GREEN_BITS_ARB", # 0x2017 - "WGL_GREEN_SHIFT_ARB", # 0x2018 - "WGL_BLUE_BITS_ARB", # 0x2019 - "WGL_BLUE_SHIFT_ARB", # 0x201A - "WGL_ALPHA_BITS_ARB", # 0x201B - "WGL_ALPHA_SHIFT_ARB", # 0x201C - "WGL_ACCUM_BITS_ARB", # 0x201D - "WGL_ACCUM_RED_BITS_ARB", # 0x201E - "WGL_ACCUM_GREEN_BITS_ARB", # 0x201F - "WGL_ACCUM_BLUE_BITS_ARB", # 0x2020 - "WGL_ACCUM_ALPHA_BITS_ARB", # 0x2021 - "WGL_DEPTH_BITS_ARB", # 0x2022 - "WGL_STENCIL_BITS_ARB", # 0x2023 - "WGL_AUX_BUFFERS_ARB", # 0x2024 - "WGL_NO_ACCELERATION_ARB", # 0x2025 - "WGL_GENERIC_ACCELERATION_ARB", # 0x2026 - "WGL_FULL_ACCELERATION_ARB", # 0x2027 - "WGL_SWAP_EXCHANGE_ARB", # 0x2028 - "WGL_SWAP_COPY_ARB", # 0x2029 - "WGL_SWAP_UNDEFINED_ARB", # 0x202A - "WGL_TYPE_RGBA_ARB", # 0x202B - "WGL_TYPE_COLORINDEX_ARB", # 0x202C - "WGL_DRAW_TO_PBUFFER_ARB", # 0x202D - "WGL_MAX_PBUFFER_PIXELS_ARB", # 0x202E - "WGL_MAX_PBUFFER_WIDTH_ARB", # 0x202F - "WGL_MAX_PBUFFER_HEIGHT_ARB", # 0x2030 - "WGL_OPTIMAL_PBUFFER_WIDTH_EXT", # 0x2031 - "WGL_OPTIMAL_PBUFFER_HEIGHT_EXT", # 0x2032 - "WGL_PBUFFER_LARGEST_ARB", # 0x2033 - "WGL_PBUFFER_WIDTH_ARB", # 0x2034 - "WGL_PBUFFER_HEIGHT_ARB", # 0x2035 - "WGL_PBUFFER_LOST_ARB", # 0x2036 - "WGL_TRANSPARENT_RED_VALUE_ARB", # 0x2037 - "WGL_TRANSPARENT_GREEN_VALUE_ARB", # 0x2038 - "WGL_TRANSPARENT_BLUE_VALUE_ARB", # 0x2039 - "WGL_TRANSPARENT_ALPHA_VALUE_ARB", # 0x203A - "WGL_TRANSPARENT_INDEX_VALUE_ARB", # 0x203B - "WGL_DEPTH_FLOAT_EXT", # 0x2040 - "WGL_SAMPLE_BUFFERS_ARB", # 0x2041 - "WGL_SAMPLES_ARB", # 0x2042 - "WGL_GENLOCK_SOURCE_MULTIVIEW_I3D", # 0x2044 - "WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D", # 0x2045 - "WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D", # 0x2046 - "WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D", # 0x2047 - "WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D", # 0x2048 - "WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D", # 0x2049 - "WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D", # 0x204A - "WGL_GENLOCK_SOURCE_EDGE_RISING_I3D", # 0x204B - "WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D", # 0x204C - "WGL_GAMMA_TABLE_SIZE_I3D", # 0x204E - "WGL_GAMMA_EXCLUDE_DESKTOP_I3D", # 0x204F - "WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D", # 0x2050 - "WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D", # 0x2051 - "WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D", # 0x2052 - "WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D", # 0x2053 - "WGL_STEREO_EMITTER_ENABLE_3DL", # 0x2055 - "WGL_STEREO_EMITTER_DISABLE_3DL", # 0x2056 - "WGL_STEREO_POLARITY_NORMAL_3DL", # 0x2057 - "WGL_STEREO_POLARITY_INVERT_3DL", # 0x2058 - "WGL_SAMPLE_BUFFERS_3DFX", # 0x2060 - "WGL_SAMPLES_3DFX", # 0x2061 - "WGL_BIND_TO_TEXTURE_RGB_ARB", # 0x2070 - "WGL_BIND_TO_TEXTURE_RGBA_ARB", # 0x2071 - "WGL_TEXTURE_FORMAT_ARB", # 0x2072 - "WGL_TEXTURE_TARGET_ARB", # 0x2073 - "WGL_MIPMAP_TEXTURE_ARB", # 0x2074 - "WGL_TEXTURE_RGB_ARB", # 0x2075 - "WGL_TEXTURE_RGBA_ARB", # 0x2076 - "WGL_NO_TEXTURE_ARB", # 0x2077 - "WGL_TEXTURE_CUBE_MAP_ARB", # 0x2078 - "WGL_TEXTURE_1D_ARB", # 0x2079 - "WGL_TEXTURE_2D_ARB", # 0x207A - "WGL_MIPMAP_LEVEL_ARB", # 0x207B - "WGL_CUBE_MAP_FACE_ARB", # 0x207C - "WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB", # 0x207D - "WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB", # 0x207E - "WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB", # 0x207F - "WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB", # 0x2080 - "WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB", # 0x2081 - "WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB", # 0x2082 - "WGL_FRONT_LEFT_ARB", # 0x2083 - "WGL_FRONT_RIGHT_ARB", # 0x2084 - "WGL_BACK_LEFT_ARB", # 0x2085 - "WGL_BACK_RIGHT_ARB", # 0x2086 - "WGL_AUX0_ARB", # 0x2087 - "WGL_AUX1_ARB", # 0x2088 - "WGL_AUX2_ARB", # 0x2089 - "WGL_AUX3_ARB", # 0x208A - "WGL_AUX4_ARB", # 0x208B - "WGL_AUX5_ARB", # 0x208C - "WGL_AUX6_ARB", # 0x208D - "WGL_AUX7_ARB", # 0x208E - "WGL_AUX8_ARB", # 0x208F - "WGL_AUX9_ARB", # 0x2090 - "WGL_CONTEXT_MAJOR_VERSION_ARB", # 0x2091 - "WGL_CONTEXT_MINOR_VERSION_ARB", # 0x2092 - "WGL_CONTEXT_LAYER_PLANE_ARB", # 0x2093 - "WGL_CONTEXT_FLAGS_ARB", # 0x2094 - "WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV", # 0x20A0 - "WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV", # 0x20A1 - "WGL_TEXTURE_RECTANGLE_NV", # 0x20A2 - "WGL_BIND_TO_TEXTURE_DEPTH_NV", # 0x20A3 - "WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV", # 0x20A4 - "WGL_DEPTH_TEXTURE_FORMAT_NV", # 0x20A5 - "WGL_TEXTURE_DEPTH_COMPONENT_NV", # 0x20A6 - "WGL_DEPTH_COMPONENT_NV", # 0x20A7 - "WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT", # 0x20A8 - "WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB", # 0x20A9 - "WGL_FLOAT_COMPONENTS_NV", # 0x20B0 - "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV", # 0x20B1 - "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV", # 0x20B2 - "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV", # 0x20B3 - "WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV", # 0x20B4 - "WGL_TEXTURE_FLOAT_R_NV", # 0x20B5 - "WGL_TEXTURE_FLOAT_RG_NV", # 0x20B6 - "WGL_TEXTURE_FLOAT_RGB_NV", # 0x20B7 - "WGL_TEXTURE_FLOAT_RGBA_NV", # 0x20B8 - "WGL_COLOR_SAMPLES_NV", # 0x20B9 - "WGL_BIND_TO_VIDEO_RGB_NV", # 0x20C0 - "WGL_BIND_TO_VIDEO_RGBA_NV", # 0x20C1 - "WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV", # 0x20C2 - "WGL_VIDEO_OUT_COLOR_NV", # 0x20C3 - "WGL_VIDEO_OUT_ALPHA_NV", # 0x20C4 - "WGL_VIDEO_OUT_DEPTH_NV", # 0x20C5 - "WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV", # 0x20C6 - "WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV", # 0x20C7 - "WGL_VIDEO_OUT_FRAME", # 0x20C8 - "WGL_VIDEO_OUT_FIELD_1", # 0x20C9 - "WGL_VIDEO_OUT_FIELD_2", # 0x20CA - "WGL_VIDEO_OUT_STACKED_FIELDS_1_2", # 0x20CB - "WGL_VIDEO_OUT_STACKED_FIELDS_2_1", # 0x20CC - "WGL_UNIQUE_ID_NV", # 0x20CE - "WGL_NUM_VIDEO_CAPTURE_SLOTS_NV", # 0x20CF - "WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV", # 0x20D0 - "WGL_ERROR_MISSING_AFFINITY_MASK_NV", # 0x20D1 - "WGL_NUM_VIDEO_SLOTS_NV", # 0x20F0 - "WGL_TYPE_RGBA_FLOAT_ARB", # 0x21A0 - "WGL_GPU_FASTEST_TARGET_GPUS_AMD", # 0x21A2 - "WGL_GPU_RAM_AMD", # 0x21A3 - "WGL_GPU_CLOCK_AMD", # 0x21A4 - "WGL_GPU_NUM_PIPES_AMD", # 0x21A5 - "WGL_GPU_NUM_SIMD_AMD", # 0x21A6 - "WGL_GPU_NUM_RB_AMD", # 0x21A7 - "WGL_GPU_NUM_SPI_AMD", # 0x21A8 -]) diff --git a/wgltrace.py b/wgltrace.py index 17d1acc..3a49c87 100644 --- a/wgltrace.py +++ b/wgltrace.py @@ -27,9 +27,9 @@ """WGL tracing code generator.""" -from stdapi import API -from glapi import glapi -from wglapi import wglapi +from specs.stdapi import API +from specs.glapi import glapi +from specs.wglapi import wglapi from dispatch import function_pointer_type, function_pointer_value from gltrace import GlTracer from codegen import * diff --git a/winapi.py b/winapi.py deleted file mode 100644 index 17256aa..0000000 --- a/winapi.py +++ /dev/null @@ -1,165 +0,0 @@ -########################################################################## -# -# Copyright 2008-2009 VMware, Inc. -# 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 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. -# -##########################################################################/ - -"""Win32 API type description.""" - -from stdapi import * - -SHORT = Alias("SHORT", Short) -USHORT = Alias("USHORT", UShort) -INT = Alias("INT", Int) -UINT = Alias("UINT", UInt) -LONG = Alias("LONG", Long) -ULONG = Alias("ULONG", ULong) -LONGLONG = Alias("LONGLONG", LongLong) -FLOAT = Alias("FLOAT", Float) - -INT8 = Alias("INT8", Int8) -UINT8 = Alias("UINT8", UInt8) -INT16 = Alias("INT16", Int16) -UINT16 = Alias("UINT16", UInt16) -INT32 = Alias("INT32", Int32) -UINT32 = Alias("UINT32", UInt32) -INT64 = Alias("INT64", Int64) -UINT64 = Alias("UINT64", UInt64) - -BYTE = Literal("BYTE", "UInt", base=16) -WORD = Literal("WORD", "UInt", base=16) -DWORD = Literal("DWORD", "UInt", base=16) - -WCHAR = Literal("WCHAR", "SInt") - -BOOL = Alias("BOOL", Bool) - -LPLONG = Pointer(LONG) -LPWORD = Pointer(WORD) -LPDWORD = Pointer(DWORD) -LPBOOL = Pointer(BOOL) - -LPSTR = CString -LPCSTR = Const(CString) -LPWSTR = WString -LPCWSTR = Const(WString) - -LARGE_INTEGER = Struct("LARGE_INTEGER", [ - (LONGLONG, 'QuadPart'), -]) - -SIZE_T = Alias("SIZE_T", SizeT) - -HRESULT = Alias("HRESULT", Int) - -VOID = Void -PVOID = Opaque("PVOID") -LPVOID = PVOID -HANDLE = Opaque("HANDLE") -HWND = Opaque("HWND") -HDC = Opaque("HDC") -HMONITOR = Opaque("HMONITOR") - -GUID = Struct("GUID", [ - (DWORD, "Data1"), - (WORD, "Data2"), - (WORD, "Data3"), - (Array(BYTE, "8"), "Data4"), -]) -LPGUID = Pointer(GUID) - -#REFGUID = Alias("REFGUID", Pointer(GUID)) -REFGUID = Alias("REFGUID", GUID) - -IID = Alias("IID", GUID) -#REFIID = Alias("REFIID", Pointer(IID)) -REFIID = Alias("REFIID", IID) - -CLSID = Alias("CLSID", GUID) -#REFCLSID = Alias("REFCLSID", Pointer(CLSID)) -REFCLSID = Alias("REFCLSID", CLSID) - -LUID = Struct("LUID", [ - (DWORD, "LowPart"), - (LONG, "HighPart"), -]) - -POINT = Struct("POINT", ( - (LONG, "x"), - (LONG, "y"), -)) -LPPOINT = Pointer(POINT) - -SIZE = Struct("SIZE", ( - (LONG, "cx"), - (LONG, "cy"), -)) -LPSIZE = Pointer(SIZE) - -RECT = Struct("RECT", ( - (LONG, "left"), - (LONG, "top"), - (LONG, "right"), - (LONG, "bottom"), -)) -LPRECT = Pointer(RECT) - -PALETTEENTRY = Struct("PALETTEENTRY", ( - (BYTE, "peRed"), - (BYTE, "peGreen"), - (BYTE, "peBlue"), - (BYTE, "peFlags"), -)) -LPPALETTEENTRY = Pointer(PALETTEENTRY) - - -RGNDATAHEADER = Struct("RGNDATAHEADER", [ - (DWORD, "dwSize"), - (DWORD, "iType"), - (DWORD, "nCount"), - (DWORD, "nRgnSize"), - (RECT, "rcBound"), -]) - -RGNDATA = Struct("RGNDATA", [ - (RGNDATAHEADER, "rdh"), - #(Char, "Buffer[1]"), -]) -LPRGNDATA = Pointer(RGNDATA) - -HMODULE = Opaque("HMODULE") - -IUnknown = Interface("IUnknown") - -HRESULT_com = FakeEnum(HRESULT, [ - "S_OK", - "E_NOINTERFACE", - "E_POINTER", -]) - -IUnknown.methods = ( - Method(HRESULT_com, "QueryInterface", ((REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppvObj"))), - Method(ULONG, "AddRef", ()), - Method(ULONG, "Release", ()), -) - -