From 85ef9930f56bf15181f9a0b238f03d55303cf411 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 22 Nov 2010 19:42:40 +0000 Subject: Updated to mesalib 7.9 --- mesalib/src/mesa/main/APIspec.dtd | 52 + mesalib/src/mesa/main/APIspec.py | 617 ++ mesalib/src/mesa/main/APIspec.xml | 4332 +++++++++++++ mesalib/src/mesa/main/APIspecutil.py | 272 + mesalib/src/mesa/main/accum.h | 7 +- mesalib/src/mesa/main/api_exec.c | 184 +- mesalib/src/mesa/main/api_exec.h | 12 +- mesalib/src/mesa/main/api_loopback.c | 174 + mesalib/src/mesa/main/api_validate.c | 147 +- mesalib/src/mesa/main/api_validate.h | 10 + mesalib/src/mesa/main/arbprogram.c | 940 +++ mesalib/src/mesa/main/arbprogram.h | 131 + mesalib/src/mesa/main/arrayobj.h | 2 +- mesalib/src/mesa/main/atifragshader.c | 794 +++ mesalib/src/mesa/main/atifragshader.h | 149 + mesalib/src/mesa/main/attrib.c | 2 +- mesalib/src/mesa/main/attrib.h | 2 + mesalib/src/mesa/main/bufferobj.c | 108 +- mesalib/src/mesa/main/bufferobj.h | 2 +- mesalib/src/mesa/main/clear.c | 1 + mesalib/src/mesa/main/clear.h | 2 +- mesalib/src/mesa/main/clip.h | 2 +- mesalib/src/mesa/main/colormac.h | 2 +- mesalib/src/mesa/main/colortab.h | 9 +- mesalib/src/mesa/main/compiler.h | 28 +- mesalib/src/mesa/main/config.h | 18 +- mesalib/src/mesa/main/context.c | 272 +- mesalib/src/mesa/main/context.h | 18 +- mesalib/src/mesa/main/convolve.c | 1 + mesalib/src/mesa/main/convolve.h | 8 +- mesalib/src/mesa/main/core.h | 66 + mesalib/src/mesa/main/dd.h | 165 +- mesalib/src/mesa/main/debug.c | 7 +- mesalib/src/mesa/main/debug.h | 3 + mesalib/src/mesa/main/depthstencil.c | 26 +- mesalib/src/mesa/main/depthstencil.h | 1 + mesalib/src/mesa/main/dlist.c | 293 +- mesalib/src/mesa/main/dlist.h | 15 +- mesalib/src/mesa/main/dlopen.c | 15 +- mesalib/src/mesa/main/drawpix.h | 9 - mesalib/src/mesa/main/drawtex.c | 131 + mesalib/src/mesa/main/drawtex.h | 60 + mesalib/src/mesa/main/enable.c | 115 +- mesalib/src/mesa/main/enums.c | 6651 ++++++++++--------- mesalib/src/mesa/main/es_generator.py | 743 +++ mesalib/src/mesa/main/extensions.c | 253 +- mesalib/src/mesa/main/fbobject.c | 196 +- mesalib/src/mesa/main/fbobject.h | 16 + mesalib/src/mesa/main/feedback.h | 7 +- mesalib/src/mesa/main/ffvertex_prog.c | 20 +- mesalib/src/mesa/main/fog.c | 1 + mesalib/src/mesa/main/formats.c | 186 +- mesalib/src/mesa/main/formats.h | 38 +- mesalib/src/mesa/main/framebuffer.c | 58 +- mesalib/src/mesa/main/framebuffer.h | 4 + mesalib/src/mesa/main/get.c | 9932 +++++++---------------------- mesalib/src/mesa/main/get.h | 5 +- mesalib/src/mesa/main/getstring.c | 59 +- mesalib/src/mesa/main/glheader.h | 58 +- mesalib/src/mesa/main/histogram.c | 1 + mesalib/src/mesa/main/image.c | 512 +- mesalib/src/mesa/main/image.h | 8 + mesalib/src/mesa/main/imports.c | 46 +- mesalib/src/mesa/main/imports.h | 106 +- mesalib/src/mesa/main/light.c | 12 +- mesalib/src/mesa/main/light.h | 2 +- mesalib/src/mesa/main/macros.h | 38 + mesalib/src/mesa/main/mfeatures.h | 128 +- mesalib/src/mesa/main/mipmap.c | 48 +- mesalib/src/mesa/main/mm.c | 5 + mesalib/src/mesa/main/mm.h | 3 - mesalib/src/mesa/main/mtypes.h | 365 +- mesalib/src/mesa/main/multisample.h | 1 + mesalib/src/mesa/main/nvprogram.c | 919 +++ mesalib/src/mesa/main/nvprogram.h | 115 + mesalib/src/mesa/main/pixelstore.h | 1 + mesalib/src/mesa/main/querymatrix.c | 216 + mesalib/src/mesa/main/queryobj.c | 130 +- mesalib/src/mesa/main/queryobj.h | 17 +- mesalib/src/mesa/main/rastpos.h | 7 - mesalib/src/mesa/main/rbadaptors.c | 565 -- mesalib/src/mesa/main/rbadaptors.h | 40 - mesalib/src/mesa/main/readpix.c | 6 + mesalib/src/mesa/main/remap.c | 64 +- mesalib/src/mesa/main/remap.h | 77 +- mesalib/src/mesa/main/remap_helper.h | 3288 +++++----- mesalib/src/mesa/main/renderbuffer.c | 46 +- mesalib/src/mesa/main/renderbuffer.h | 5 + mesalib/src/mesa/main/restart.c | 68 + mesalib/src/mesa/main/restart.h | 41 + mesalib/src/mesa/main/shaderapi.c | 1642 +++++ mesalib/src/mesa/main/shaderapi.h | 169 + mesalib/src/mesa/main/shaderobj.c | 408 ++ mesalib/src/mesa/main/shaderobj.h | 134 + mesalib/src/mesa/main/shaders.c | 741 --- mesalib/src/mesa/main/shaders.h | 236 - mesalib/src/mesa/main/shared.c | 25 +- mesalib/src/mesa/main/shared.h | 1 + mesalib/src/mesa/main/state.c | 36 +- mesalib/src/mesa/main/syncobj.c | 15 + mesalib/src/mesa/main/syncobj.h | 47 +- mesalib/src/mesa/main/texcompress.c | 19 +- mesalib/src/mesa/main/texcompress_fxt1.c | 2 +- mesalib/src/mesa/main/texcompress_fxt1.h | 4 +- mesalib/src/mesa/main/texcompress_s3tc.c | 19 +- mesalib/src/mesa/main/texenv.c | 119 +- mesalib/src/mesa/main/texenvprogram.c | 33 +- mesalib/src/mesa/main/texfetch.c | 607 +- mesalib/src/mesa/main/texfetch_tmp.h | 374 ++ mesalib/src/mesa/main/texformat.c | 95 +- mesalib/src/mesa/main/texgen.c | 32 + mesalib/src/mesa/main/texgen.h | 23 +- mesalib/src/mesa/main/texgetimage.c | 2 +- mesalib/src/mesa/main/texgetimage.h | 1 + mesalib/src/mesa/main/teximage.c | 349 +- mesalib/src/mesa/main/teximage.h | 8 + mesalib/src/mesa/main/texobj.c | 6 +- mesalib/src/mesa/main/texpal.c | 204 + mesalib/src/mesa/main/texpal.h | 38 + mesalib/src/mesa/main/texparam.c | 22 +- mesalib/src/mesa/main/texrender.c | 1 + mesalib/src/mesa/main/texrender.h | 1 + mesalib/src/mesa/main/texstate.c | 2 +- mesalib/src/mesa/main/texstate.h | 1 + mesalib/src/mesa/main/texstore.c | 727 ++- mesalib/src/mesa/main/transformfeedback.c | 944 +++ mesalib/src/mesa/main/transformfeedback.h | 132 + mesalib/src/mesa/main/uniforms.c | 1382 ++++ mesalib/src/mesa/main/uniforms.h | 175 + mesalib/src/mesa/main/varray.c | 290 +- mesalib/src/mesa/main/varray.h | 44 +- mesalib/src/mesa/main/version.c | 200 +- mesalib/src/mesa/main/version.h | 8 +- mesalib/src/mesa/main/viewport.h | 2 + mesalib/src/mesa/main/vtxfmt.c | 2 + mesalib/src/mesa/main/vtxfmt.h | 3 + mesalib/src/mesa/main/vtxfmt_tmp.h | 21 + 137 files changed, 28186 insertions(+), 15471 deletions(-) create mode 100644 mesalib/src/mesa/main/APIspec.dtd create mode 100644 mesalib/src/mesa/main/APIspec.py create mode 100644 mesalib/src/mesa/main/APIspec.xml create mode 100644 mesalib/src/mesa/main/APIspecutil.py create mode 100644 mesalib/src/mesa/main/arbprogram.c create mode 100644 mesalib/src/mesa/main/arbprogram.h create mode 100644 mesalib/src/mesa/main/atifragshader.c create mode 100644 mesalib/src/mesa/main/atifragshader.h create mode 100644 mesalib/src/mesa/main/core.h create mode 100644 mesalib/src/mesa/main/drawtex.c create mode 100644 mesalib/src/mesa/main/drawtex.h create mode 100644 mesalib/src/mesa/main/es_generator.py create mode 100644 mesalib/src/mesa/main/nvprogram.c create mode 100644 mesalib/src/mesa/main/nvprogram.h create mode 100644 mesalib/src/mesa/main/querymatrix.c delete mode 100644 mesalib/src/mesa/main/rbadaptors.c delete mode 100644 mesalib/src/mesa/main/rbadaptors.h create mode 100644 mesalib/src/mesa/main/restart.c create mode 100644 mesalib/src/mesa/main/restart.h create mode 100644 mesalib/src/mesa/main/shaderapi.c create mode 100644 mesalib/src/mesa/main/shaderapi.h create mode 100644 mesalib/src/mesa/main/shaderobj.c create mode 100644 mesalib/src/mesa/main/shaderobj.h delete mode 100644 mesalib/src/mesa/main/shaders.c delete mode 100644 mesalib/src/mesa/main/shaders.h create mode 100644 mesalib/src/mesa/main/texpal.c create mode 100644 mesalib/src/mesa/main/texpal.h create mode 100644 mesalib/src/mesa/main/transformfeedback.c create mode 100644 mesalib/src/mesa/main/transformfeedback.h create mode 100644 mesalib/src/mesa/main/uniforms.c create mode 100644 mesalib/src/mesa/main/uniforms.h (limited to 'mesalib/src/mesa/main') diff --git a/mesalib/src/mesa/main/APIspec.dtd b/mesalib/src/mesa/main/APIspec.dtd new file mode 100644 index 000000000..efcfa31f1 --- /dev/null +++ b/mesalib/src/mesa/main/APIspec.dtd @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mesalib/src/mesa/main/APIspec.py b/mesalib/src/mesa/main/APIspec.py new file mode 100644 index 000000000..6947f7301 --- /dev/null +++ b/mesalib/src/mesa/main/APIspec.py @@ -0,0 +1,617 @@ +#!/usr/bin/python +# +# Copyright (C) 2009 Chia-I Wu +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# on the rights to use, copy, modify, merge, publish, distribute, sub +# license, and/or sell copies of the Software, and to permit persons to whom +# the Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +# IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +""" +A parser for APIspec. +""" + +class SpecError(Exception): + """Error in the spec file.""" + + +class Spec(object): + """A Spec is an abstraction of the API spec.""" + + def __init__(self, doc): + self.doc = doc + + self.spec_node = doc.getRootElement() + self.tmpl_nodes = {} + self.api_nodes = {} + self.impl_node = None + + # parse + node = self.spec_node.children + while node: + if node.type == "element": + if node.name == "template": + self.tmpl_nodes[node.prop("name")] = node + elif node.name == "api": + self.api_nodes[node.prop("name")] = node + else: + raise SpecError("unexpected node %s in apispec" % + node.name) + node = node.next + + # find an implementation + for name, node in self.api_nodes.iteritems(): + if node.prop("implementation") == "true": + self.impl_node = node + break + if not self.impl_node: + raise SpecError("unable to find an implementation") + + def get_impl(self): + """Return the implementation.""" + return API(self, self.impl_node) + + def get_api(self, name): + """Return an API.""" + return API(self, self.api_nodes[name]) + + +class API(object): + """An API consists of categories and functions.""" + + def __init__(self, spec, api_node): + self.name = api_node.prop("name") + self.is_impl = (api_node.prop("implementation") == "true") + + self.categories = [] + self.functions = [] + + # parse + func_nodes = [] + node = api_node.children + while node: + if node.type == "element": + if node.name == "category": + cat = node.prop("name") + self.categories.append(cat) + elif node.name == "function": + func_nodes.append(node) + else: + raise SpecError("unexpected node %s in api" % node.name) + node = node.next + + # realize functions + for func_node in func_nodes: + tmpl_node = spec.tmpl_nodes[func_node.prop("template")] + try: + func = Function(tmpl_node, func_node, self.is_impl, + self.categories) + except SpecError, e: + func_name = func_node.prop("name") + raise SpecError("failed to parse %s: %s" % (func_name, e)) + self.functions.append(func) + + def match(self, func, conversions={}): + """Find a matching function in the API.""" + match = None + need_conv = False + for f in self.functions: + matched, conv = f.match(func, conversions) + if matched: + match = f + need_conv = conv + # exact match + if not need_conv: + break + return (match, need_conv) + + +class Function(object): + """Parse and realize a