[haiku-commits] haiku: hrev43650 - in src/libs/mesa/mesa: main . glapi shader swrast

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 11 Jan 2012 03:57:00 +0100 (CET)

hrev43650 adds 8 changesets to branch 'master'
old head: af8b1b77fada0f3108a3d1b22c0767c840d903f3
new head: 683e7cc8455332d1b70d5b6e6313cfd6c9220e19

----------------------------------------------------------------------------

da46520: Break glut out from mesa lib
  
  As glut is no longer in upstream Mesa and no longer developed
  we will need to keep a fork.

016d049: Add optional build feature to pull Mesa optional package

f6a611e: Use Mesa optional package to build opengl kit

41020a0: Make mesa_software_renderer work with latest mesa
  
  * Some of these changes may be pulled back with the NEW_MESA
    define so this works across older and newer Mesa versions
  * NEW_MESA defines and checks should be removed when gcc2 is
    no longer a supported platform

77d663c: Remove the Haiku Mesa fork

27fdeae: Use optional package gl headers

3e0c69a: Add hacks for older gcc2 Mesa 7.8.2 support
  * Call different functions depending on Mesa version
  * The --no-warnings is for the GL headers which produce
    large numbers of attribute directive ignored warnings
    that cannot be disabled on gcc2

683e7cc: Merge branch 'mesabetter'

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

735 files changed, 353 insertions(+), 351604 deletions(-)
build/jam/OptionalBuildFeatures                    |   45 +
headers/os/opengl/GL/gl.h                          | 2285 --
headers/os/opengl/GL/glext.h                       | 8565 -----
headers/os/opengl/GL/glu.h                         |  353 -
src/add-ons/opengl/mesa_software_renderer/Jamfile  |   36 +-
.../MesaSoftwareRenderer.cpp                       |  303 +-
.../mesa_software_renderer/MesaSoftwareRenderer.h  |   46 +-
src/add-ons/screen_savers/flurry/Jamfile           |    7 +
src/add-ons/screen_savers/flurry/Shared.h          |    1 +
src/apps/glteapot/Jamfile                          |    7 +
src/apps/glteapot/util.h                           |    1 +
src/kits/opengl/GLDispatcher.cpp                   |    9 +-
src/kits/opengl/GLDispatcher.h                     |    3 +
src/kits/opengl/GLView.cpp                         |    1 +
src/kits/opengl/Jamfile                            |   75 +-
src/libs/Jamfile                                   |    2 +-
src/libs/{mesa => }/glut/Jamfile                   |    2 +-
src/libs/{mesa => }/glut/beos_x11.cpp              |    0
src/libs/{mesa => }/glut/beos_x11.h                |    0
src/libs/{mesa => }/glut/glutBlocker.cpp           |    0
src/libs/{mesa => }/glut/glutBlocker.h             |    0
src/libs/{mesa => }/glut/glutCallback.cpp          |    0
src/libs/{mesa => }/glut/glutColor.cpp             |    0
src/libs/{mesa => }/glut/glutCursor.cpp            |    0
src/libs/{mesa => }/glut/glutCursors.h             |    0
src/libs/{mesa => }/glut/glutDstr.cpp              |    0
src/libs/{mesa => }/glut/glutEvent.cpp             |    0
src/libs/{mesa => }/glut/glutGameMode.cpp          |    0
src/libs/{mesa => }/glut/glutGameMode.h            |    0
src/libs/{mesa => }/glut/glutGet.cpp               |    0
src/libs/{mesa => }/glut/glutInit.cpp              |    0
src/libs/{mesa => }/glut/glutMenu.cpp              |    0
src/libs/{mesa => }/glut/glutMenu.h                |    0
src/libs/{mesa => }/glut/glutOverlay.cpp           |    0
src/libs/{mesa => }/glut/glutState.h               |    0
src/libs/{mesa => }/glut/glutWindow.cpp            |    0
src/libs/{mesa => }/glut/glutWindow.h              |    0
src/libs/{mesa => }/glut/glut_8x13.c               |    0
src/libs/{mesa => }/glut/glut_9x15.c               |    0
src/libs/{mesa => }/glut/glut_bitmap.c             |    0
src/libs/{mesa => }/glut/glut_bwidth.c             |    0
src/libs/{mesa => }/glut/glut_ext.c                |    0
src/libs/{mesa => }/glut/glut_hel10.c              |    0
src/libs/{mesa => }/glut/glut_hel12.c              |    0
src/libs/{mesa => }/glut/glut_hel18.c              |    0
src/libs/{mesa => }/glut/glut_mroman.c             |    0
src/libs/{mesa => }/glut/glut_roman.c              |    0
src/libs/{mesa => }/glut/glut_shapes.c             |    0
src/libs/{mesa => }/glut/glut_stroke.c             |    0
src/libs/{mesa => }/glut/glut_swidth.c             |    0
src/libs/{mesa => }/glut/glut_teapot.c             |    0
src/libs/{mesa => }/glut/glut_tr10.c               |    0
src/libs/{mesa => }/glut/glut_tr24.c               |    0
src/libs/{mesa => }/glut/glut_util.c               |    0
src/libs/{mesa => }/glut/glut_vidresize.c          |    0
src/libs/{mesa => }/glut/glutbitmap.h              |    0
src/libs/{mesa => }/glut/glutint.h                 |    0
src/libs/{mesa => }/glut/glutstroke.h              |    0
src/libs/mesa/Jamfile                              |    5 -
src/libs/mesa/glu/Jamfile                          |  124 -
src/libs/mesa/glu/include/gluos.h                  |   72 -
src/libs/mesa/glu/libnurbs/interface/bezierEval.cc |  260 -
src/libs/mesa/glu/libnurbs/interface/bezierEval.h  |   48 -
.../mesa/glu/libnurbs/interface/bezierPatch.cc     |  206 -
src/libs/mesa/glu/libnurbs/interface/bezierPatch.h |  104 -
.../mesa/glu/libnurbs/interface/bezierPatchMesh.cc |  610 -
.../mesa/glu/libnurbs/interface/bezierPatchMesh.h  |  120 -
src/libs/mesa/glu/libnurbs/interface/glcurveval.cc |  402 -
src/libs/mesa/glu/libnurbs/interface/glcurveval.h  |  157 -
src/libs/mesa/glu/libnurbs/interface/glimports.h   |   42 -
.../mesa/glu/libnurbs/interface/glinterface.cc     |  469 -
src/libs/mesa/glu/libnurbs/interface/glrenderer.cc |  301 -
src/libs/mesa/glu/libnurbs/interface/glrenderer.h  |  146 -
src/libs/mesa/glu/libnurbs/interface/glsurfeval.cc | 1293 -
src/libs/mesa/glu/libnurbs/interface/glsurfeval.h  |  404 -
.../mesa/glu/libnurbs/interface/incurveeval.cc     |  206 -
src/libs/mesa/glu/libnurbs/interface/insurfeval.cc | 2064 --
src/libs/mesa/glu/libnurbs/interface/mystdio.h     |   60 -
src/libs/mesa/glu/libnurbs/interface/mystdlib.h    |   57 -
src/libs/mesa/glu/libnurbs/internals/arc.cc        |  347 -
src/libs/mesa/glu/libnurbs/internals/arc.h         |  133 -
src/libs/mesa/glu/libnurbs/internals/arcsorter.cc  |  172 -
src/libs/mesa/glu/libnurbs/internals/arcsorter.h   |   73 -
src/libs/mesa/glu/libnurbs/internals/arctess.cc    |  611 -
src/libs/mesa/glu/libnurbs/internals/arctess.h     |   66 -
src/libs/mesa/glu/libnurbs/internals/backend.cc    |  589 -
src/libs/mesa/glu/libnurbs/internals/backend.h     |  113 -
.../mesa/glu/libnurbs/internals/basiccrveval.cc    |  138 -
.../mesa/glu/libnurbs/internals/basiccrveval.h     |   62 -
.../mesa/glu/libnurbs/internals/basicsurfeval.cc   |  232 -
.../mesa/glu/libnurbs/internals/basicsurfeval.h    |   90 -
src/libs/mesa/glu/libnurbs/internals/bezierarc.h   |   51 -
src/libs/mesa/glu/libnurbs/internals/bin.cc        |  166 -
src/libs/mesa/glu/libnurbs/internals/bin.h         |  121 -
src/libs/mesa/glu/libnurbs/internals/bufpool.cc    |  110 -
src/libs/mesa/glu/libnurbs/internals/bufpool.h     |  141 -
.../mesa/glu/libnurbs/internals/cachingeval.cc     |   78 -
src/libs/mesa/glu/libnurbs/internals/cachingeval.h |   51 -
src/libs/mesa/glu/libnurbs/internals/ccw.cc        |  565 -
[ *** stats truncated: 636 lines dropped *** ]

############################################################################

Commit:      da4652077792eabf9e552f34cda4375671f6ab9e
URL:         http://cgit.haiku-os.org/haiku/commit/?id=da46520
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Jan  8 06:15:58 2012 UTC

Break glut out from mesa lib

As glut is no longer in upstream Mesa and no longer developed
we will need to keep a fork.

----------------------------------------------------------------------------

diff --git a/src/libs/Jamfile b/src/libs/Jamfile
index 592c6b3..49c29ea 100644
--- a/src/libs/Jamfile
+++ b/src/libs/Jamfile
@@ -9,6 +9,7 @@ SubInclude HAIKU_TOP src libs edit ;
 SubInclude HAIKU_TOP src libs expat ;
 SubInclude HAIKU_TOP src libs fluidsynth ;
 SubInclude HAIKU_TOP src libs freetype2 ;
+SubInclude HAIKU_TOP src libs glut ;
 SubInclude HAIKU_TOP src libs gnu ;
 SubInclude HAIKU_TOP src libs icon ;
 SubInclude HAIKU_TOP src libs iconv ;
diff --git a/src/libs/mesa/glut/Jamfile b/src/libs/glut/Jamfile
similarity index 95%
rename from src/libs/mesa/glut/Jamfile
rename to src/libs/glut/Jamfile
index 7f80af4..8558018 100644
--- a/src/libs/mesa/glut/Jamfile
+++ b/src/libs/glut/Jamfile
@@ -1,4 +1,4 @@
-SubDir HAIKU_TOP src libs mesa glut ;
+SubDir HAIKU_TOP src libs glut ;
 
 SetSubDirSupportedPlatformsBeOSCompatible ;
 
diff --git a/src/libs/mesa/glut/beos_x11.cpp b/src/libs/glut/beos_x11.cpp
similarity index 100%
rename from src/libs/mesa/glut/beos_x11.cpp
rename to src/libs/glut/beos_x11.cpp
diff --git a/src/libs/mesa/glut/beos_x11.h b/src/libs/glut/beos_x11.h
similarity index 100%
rename from src/libs/mesa/glut/beos_x11.h
rename to src/libs/glut/beos_x11.h
diff --git a/src/libs/mesa/glut/glutBlocker.cpp b/src/libs/glut/glutBlocker.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutBlocker.cpp
rename to src/libs/glut/glutBlocker.cpp
diff --git a/src/libs/mesa/glut/glutBlocker.h b/src/libs/glut/glutBlocker.h
similarity index 100%
rename from src/libs/mesa/glut/glutBlocker.h
rename to src/libs/glut/glutBlocker.h
diff --git a/src/libs/mesa/glut/glutCallback.cpp 
b/src/libs/glut/glutCallback.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutCallback.cpp
rename to src/libs/glut/glutCallback.cpp
diff --git a/src/libs/mesa/glut/glutColor.cpp b/src/libs/glut/glutColor.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutColor.cpp
rename to src/libs/glut/glutColor.cpp
diff --git a/src/libs/mesa/glut/glutCursor.cpp b/src/libs/glut/glutCursor.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutCursor.cpp
rename to src/libs/glut/glutCursor.cpp
diff --git a/src/libs/mesa/glut/glutCursors.h b/src/libs/glut/glutCursors.h
similarity index 100%
rename from src/libs/mesa/glut/glutCursors.h
rename to src/libs/glut/glutCursors.h
diff --git a/src/libs/mesa/glut/glutDstr.cpp b/src/libs/glut/glutDstr.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutDstr.cpp
rename to src/libs/glut/glutDstr.cpp
diff --git a/src/libs/mesa/glut/glutEvent.cpp b/src/libs/glut/glutEvent.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutEvent.cpp
rename to src/libs/glut/glutEvent.cpp
diff --git a/src/libs/mesa/glut/glutGameMode.cpp 
b/src/libs/glut/glutGameMode.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutGameMode.cpp
rename to src/libs/glut/glutGameMode.cpp
diff --git a/src/libs/mesa/glut/glutGameMode.h b/src/libs/glut/glutGameMode.h
similarity index 100%
rename from src/libs/mesa/glut/glutGameMode.h
rename to src/libs/glut/glutGameMode.h
diff --git a/src/libs/mesa/glut/glutGet.cpp b/src/libs/glut/glutGet.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutGet.cpp
rename to src/libs/glut/glutGet.cpp
diff --git a/src/libs/mesa/glut/glutInit.cpp b/src/libs/glut/glutInit.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutInit.cpp
rename to src/libs/glut/glutInit.cpp
diff --git a/src/libs/mesa/glut/glutMenu.cpp b/src/libs/glut/glutMenu.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutMenu.cpp
rename to src/libs/glut/glutMenu.cpp
diff --git a/src/libs/mesa/glut/glutMenu.h b/src/libs/glut/glutMenu.h
similarity index 100%
rename from src/libs/mesa/glut/glutMenu.h
rename to src/libs/glut/glutMenu.h
diff --git a/src/libs/mesa/glut/glutOverlay.cpp b/src/libs/glut/glutOverlay.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutOverlay.cpp
rename to src/libs/glut/glutOverlay.cpp
diff --git a/src/libs/mesa/glut/glutState.h b/src/libs/glut/glutState.h
similarity index 100%
rename from src/libs/mesa/glut/glutState.h
rename to src/libs/glut/glutState.h
diff --git a/src/libs/mesa/glut/glutWindow.cpp b/src/libs/glut/glutWindow.cpp
similarity index 100%
rename from src/libs/mesa/glut/glutWindow.cpp
rename to src/libs/glut/glutWindow.cpp
diff --git a/src/libs/mesa/glut/glutWindow.h b/src/libs/glut/glutWindow.h
similarity index 100%
rename from src/libs/mesa/glut/glutWindow.h
rename to src/libs/glut/glutWindow.h
diff --git a/src/libs/mesa/glut/glut_8x13.c b/src/libs/glut/glut_8x13.c
similarity index 100%
rename from src/libs/mesa/glut/glut_8x13.c
rename to src/libs/glut/glut_8x13.c
diff --git a/src/libs/mesa/glut/glut_9x15.c b/src/libs/glut/glut_9x15.c
similarity index 100%
rename from src/libs/mesa/glut/glut_9x15.c
rename to src/libs/glut/glut_9x15.c
diff --git a/src/libs/mesa/glut/glut_bitmap.c b/src/libs/glut/glut_bitmap.c
similarity index 100%
rename from src/libs/mesa/glut/glut_bitmap.c
rename to src/libs/glut/glut_bitmap.c
diff --git a/src/libs/mesa/glut/glut_bwidth.c b/src/libs/glut/glut_bwidth.c
similarity index 100%
rename from src/libs/mesa/glut/glut_bwidth.c
rename to src/libs/glut/glut_bwidth.c
diff --git a/src/libs/mesa/glut/glut_ext.c b/src/libs/glut/glut_ext.c
similarity index 100%
rename from src/libs/mesa/glut/glut_ext.c
rename to src/libs/glut/glut_ext.c
diff --git a/src/libs/mesa/glut/glut_hel10.c b/src/libs/glut/glut_hel10.c
similarity index 100%
rename from src/libs/mesa/glut/glut_hel10.c
rename to src/libs/glut/glut_hel10.c
diff --git a/src/libs/mesa/glut/glut_hel12.c b/src/libs/glut/glut_hel12.c
similarity index 100%
rename from src/libs/mesa/glut/glut_hel12.c
rename to src/libs/glut/glut_hel12.c
diff --git a/src/libs/mesa/glut/glut_hel18.c b/src/libs/glut/glut_hel18.c
similarity index 100%
rename from src/libs/mesa/glut/glut_hel18.c
rename to src/libs/glut/glut_hel18.c
diff --git a/src/libs/mesa/glut/glut_mroman.c b/src/libs/glut/glut_mroman.c
similarity index 100%
rename from src/libs/mesa/glut/glut_mroman.c
rename to src/libs/glut/glut_mroman.c
diff --git a/src/libs/mesa/glut/glut_roman.c b/src/libs/glut/glut_roman.c
similarity index 100%
rename from src/libs/mesa/glut/glut_roman.c
rename to src/libs/glut/glut_roman.c
diff --git a/src/libs/mesa/glut/glut_shapes.c b/src/libs/glut/glut_shapes.c
similarity index 100%
rename from src/libs/mesa/glut/glut_shapes.c
rename to src/libs/glut/glut_shapes.c
diff --git a/src/libs/mesa/glut/glut_stroke.c b/src/libs/glut/glut_stroke.c
similarity index 100%
rename from src/libs/mesa/glut/glut_stroke.c
rename to src/libs/glut/glut_stroke.c
diff --git a/src/libs/mesa/glut/glut_swidth.c b/src/libs/glut/glut_swidth.c
similarity index 100%
rename from src/libs/mesa/glut/glut_swidth.c
rename to src/libs/glut/glut_swidth.c
diff --git a/src/libs/mesa/glut/glut_teapot.c b/src/libs/glut/glut_teapot.c
similarity index 100%
rename from src/libs/mesa/glut/glut_teapot.c
rename to src/libs/glut/glut_teapot.c
diff --git a/src/libs/mesa/glut/glut_tr10.c b/src/libs/glut/glut_tr10.c
similarity index 100%
rename from src/libs/mesa/glut/glut_tr10.c
rename to src/libs/glut/glut_tr10.c
diff --git a/src/libs/mesa/glut/glut_tr24.c b/src/libs/glut/glut_tr24.c
similarity index 100%
rename from src/libs/mesa/glut/glut_tr24.c
rename to src/libs/glut/glut_tr24.c
diff --git a/src/libs/mesa/glut/glut_util.c b/src/libs/glut/glut_util.c
similarity index 100%
rename from src/libs/mesa/glut/glut_util.c
rename to src/libs/glut/glut_util.c
diff --git a/src/libs/mesa/glut/glut_vidresize.c 
b/src/libs/glut/glut_vidresize.c
similarity index 100%
rename from src/libs/mesa/glut/glut_vidresize.c
rename to src/libs/glut/glut_vidresize.c
diff --git a/src/libs/mesa/glut/glutbitmap.h b/src/libs/glut/glutbitmap.h
similarity index 100%
rename from src/libs/mesa/glut/glutbitmap.h
rename to src/libs/glut/glutbitmap.h
diff --git a/src/libs/mesa/glut/glutint.h b/src/libs/glut/glutint.h
similarity index 100%
rename from src/libs/mesa/glut/glutint.h
rename to src/libs/glut/glutint.h
diff --git a/src/libs/mesa/glut/glutstroke.h b/src/libs/glut/glutstroke.h
similarity index 100%
rename from src/libs/mesa/glut/glutstroke.h
rename to src/libs/glut/glutstroke.h
diff --git a/src/libs/mesa/Jamfile b/src/libs/mesa/Jamfile
index 11c0a70..f4de389 100644
--- a/src/libs/mesa/Jamfile
+++ b/src/libs/mesa/Jamfile
@@ -1,5 +1,4 @@
 SubDir HAIKU_TOP src libs mesa ;
 
 SubInclude HAIKU_TOP src libs mesa glu ;
-SubInclude HAIKU_TOP src libs mesa glut ;
 SubInclude HAIKU_TOP src libs mesa mesa ;

############################################################################

Commit:      016d04966a5764f4819b4b1e5e23b7e94b970624
URL:         http://cgit.haiku-os.org/haiku/commit/?id=016d049
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Jan  8 06:22:07 2012 UTC

Add optional build feature to pull Mesa optional package

----------------------------------------------------------------------------

diff --git a/build/jam/OptionalBuildFeatures b/build/jam/OptionalBuildFeatures
index d2b5090..a6fd9cc 100644
--- a/build/jam/OptionalBuildFeatures
+++ b/build/jam/OptionalBuildFeatures
@@ -170,6 +170,51 @@ if $(HAIKU_BUILD_FEATURE_CLUCENE) {
 }
 
 
+# Mesa
+local mesaBaseURL = http://pub.haikufire.com/mesa ;
+if $(TARGET_ARCH) = x86 {
+       local zipFile ;
+       if $(HAIKU_GCC_VERSION[1]) >= 4 {
+               HAIKU_MESA_FILE = mesa-71cc639-gcc4-x86.zip ;
+       } else {
+               HAIKU_MESA_FILE = mesa-7.8.2-gcc2-x86.zip ;
+       }
+
+       zipFile = [ DownloadFile $(HAIKU_MESA_FILE)
+               : $(mesaBaseURL)/$(HAIKU_MESA_FILE) ] ;
+
+       HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
+               $(HAIKU_MESA_FILE:B) ] ;
+
+       HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR)
+               : include/ : $(zipFile) : extracted-mesa ] ;
+
+       if $(HAIKU_GCC_VERSION[1]) >= 4 {
+               HAIKU_MESA_LIBS = [ ExtractArchive $(HAIKU_MESA_DIR)
+               :
+               src/mesa/libmesa.a
+               src/mapi/glapi/libglapi.a
+               lib/libGLU.a
+               : $(zipFile)
+               : extracted-mesa ] ;
+       } else {
+               # Older Mesa 7.8
+               HAIKU_MESA_LIBS = [ ExtractArchive $(HAIKU_MESA_DIR)
+               :
+               src/mesa/libmesa.a
+               src/mesa/libglapi.a
+               lib/libGLU.a
+               : $(zipFile)
+               : extracted-mesa ] ;
+       }
+
+       HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ;
+
+} else {
+       Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;
+}
+
+
 # TagLib
 
 # Automatically install the TagLib feature, when the optional TagLib optional

############################################################################

Commit:      f6a611ebf067b2b5a005e5f5fff75d000f0aa1db
URL:         http://cgit.haiku-os.org/haiku/commit/?id=f6a611e
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Jan  8 06:29:38 2012 UTC

Use Mesa optional package to build opengl kit

----------------------------------------------------------------------------

diff --git a/src/kits/opengl/GLDispatcher.cpp b/src/kits/opengl/GLDispatcher.cpp
index d9d8199..2dfbfe0 100644
--- a/src/kits/opengl/GLDispatcher.cpp
+++ b/src/kits/opengl/GLDispatcher.cpp
@@ -32,12 +32,10 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  *
  */
 
-#include <GL/gl.h>
-#include "glheader.h"
-
 extern "C" {
 
 #include "glapi.h"
+#include "glapi_priv.h"
 #include "glapitable.h"
 
 /*
diff --git a/src/kits/opengl/GLDispatcher.h b/src/kits/opengl/GLDispatcher.h
index 440c321..146921a 100644
--- a/src/kits/opengl/GLDispatcher.h
+++ b/src/kits/opengl/GLDispatcher.h
@@ -3,8 +3,11 @@
 
 
 #include <BeBuild.h>
+#include <GL/gl.h>
 #include <SupportDefs.h>
 
+#include "glheader.h"
+
 extern "C" {
 #include "glapi.h"
 }
diff --git a/src/kits/opengl/GLView.cpp b/src/kits/opengl/GLView.cpp
index 78dc4a6..55881ac 100644
--- a/src/kits/opengl/GLView.cpp
+++ b/src/kits/opengl/GLView.cpp
@@ -13,6 +13,7 @@
 
 #include <assert.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 
 #include <DirectWindow.h>
diff --git a/src/kits/opengl/Jamfile b/src/kits/opengl/Jamfile
index 2f32f03..1db3e8d 100644
--- a/src/kits/opengl/Jamfile
+++ b/src/kits/opengl/Jamfile
@@ -3,61 +3,42 @@ SubDir HAIKU_TOP src kits opengl ;
 SetSubDirSupportedPlatformsBeOSCompatible ;
 
 UsePrivateHeaders interface ;
-UseLibraryHeaders mesa ;
 UsePrivateSystemHeaders ;
 
+local sources =
+       GLView.cpp
+       GLDispatcher.cpp
+       GLRenderer.cpp
+       GLRendererRoster.cpp
+       ;
+
+
 if $(TARGET_PLATFORM) != haiku {
        UseHeaders [ FDirName $(HAIKU_TOP) headers os opengl ] : true ;
                # We need our public GL headers also when not compiling for 
Haiku.
 }
 
 
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa main ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa glapi ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa math ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa tnl ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa shader ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa swrast ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa swrast_setup ] ;
-
-{
-       local defines ;
-       defines = BEOS_THREADS GNU_ASSEMBLER ;
-
-       if $(TARGET_ARCH) = x86 {
-               defines += USE_X86_ASM USE_MMX_ASM USE_3DNOW_ASM USE_SSE_ASM ;
-       } else if $(TARGET_ARCH) = ppc {
-               # Not yet supported, as current Mesa3D PPC assembly is 
Linux-dependent!
-               # defines += USE_PPC_ASM ;
-       } else if $(TARGET_ARCH) = sparc {
-               defines += USE_SPARC_ASM ;
-       }
-
-       defines = [ FDefines $(defines) ] ;
-       SubDirCcFlags $(defines) ;
-       SubDirC++Flags $(defines) ;
-       SubDirAsFlags $(defines) ;
-}
+SubDirSysHdrs $(HAIKU_MESA_HEADERS) ;
+Includes [ FGristFiles $(sources) ] : $(HAIKU_MESA_HEADERS_DEPENDENCY) ;
+
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) include ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mesa ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mesa main ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mapi ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mapi glapi ] ;
 
-SharedLibrary libGL.so :
-       GLView.cpp
-       GLDispatcher.cpp
-       GLRenderer.cpp
-       GLRendererRoster.cpp
-       :
 
-       # Mesa GL API dispatching code
-       <mesa>glapi-dispatching.o
+LINKFLAGS on libGL.so = [ on libGL.so return $(LINKFLAGS) ]
+       -Xlinker --strip-debug -Xlinker --whole-archive -Xlinker -zmuldefs ;
 
-       # GLU API is included in libGL.so under BeOS R5, not a separate 
libglu.so library
-       <opengl>sgi-glu.o
+SharedLibrary libGL.so : $(sources) :
 
-       # GLUT API is included in libGL.so under Haiku, not a separate 
libglut.so library
-       <opengl>glut.o 
+       # Mesa libraries (from Mesa optional package):
+       $(HAIKU_MESA_LIBS)
 
-       # External libs:
-       be 
-       game                    # BWindowScreen needed by BGLScreen stub class 
+       # External libraries:
+       be
+       game                    # BWindowScreen needed by BGLScreen stub class
        $(TARGET_LIBSTDC++)
 ;

############################################################################

Commit:      41020a0f1abdc5f6013fa915e4429045128a922e
URL:         http://cgit.haiku-os.org/haiku/commit/?id=41020a0
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Jan  8 07:07:57 2012 UTC

Make mesa_software_renderer work with latest mesa

* Some of these changes may be pulled back with the NEW_MESA
  define so this works across older and newer Mesa versions
* NEW_MESA defines and checks should be removed when gcc2 is
  no longer a supported platform

----------------------------------------------------------------------------

diff --git a/src/add-ons/opengl/mesa_software_renderer/Jamfile 
b/src/add-ons/opengl/mesa_software_renderer/Jamfile
index e9f555b..0aab44e 100644
--- a/src/add-ons/opengl/mesa_software_renderer/Jamfile
+++ b/src/add-ons/opengl/mesa_software_renderer/Jamfile
@@ -7,12 +7,13 @@ if $(TARGET_PLATFORM) != haiku {
                # We need our public GL headers also when not compiling for 
Haiku.
 }
 
+
 {
        local defines ;
        defines = BEOS_THREADS GNU_ASSEMBLER ;
 
        if $(TARGET_ARCH) = x86 {
-               defines += USE_X86_ASM USE_MMX_ASM USE_3DNOW_ASM USE_SSE_ASM ; 
+               defines += USE_X86_ASM USE_MMX_ASM USE_3DNOW_ASM USE_SSE_ASM ;
        } else if $(TARGET_ARCH) = ppc {
                # Not yet supported, as current Mesa3D PPC assembly is 
Linux-dependent!
                # defines += USE_PPC_ASM ;
@@ -24,19 +25,19 @@ if $(TARGET_PLATFORM) != haiku {
 }
 
 
+local sources = MesaSoftwareRenderer.cpp ;
+
 UsePrivateHeaders interface ;
-UseLibraryHeaders mesa ;
+SubDirSysHdrs $(HAIKU_MESA_HEADERS) ;
+Includes [ FGristFiles $(sources) ] : $(HAIKU_MESA_HEADERS_DEPENDENCY) ;
 
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa main ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa glapi ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa tnl ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa x86 ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa ppc ] ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs mesa mesa sparc ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) include ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mesa ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mesa main ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mapi ] ;
+UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mapi glapi ] ;
 
 Addon Mesa\ Software\ Renderer :
        MesaSoftwareRenderer.cpp
-       : libGL.so libmesa.a be $(TARGET_LIBSUPC++)
+       : libGL.so be $(TARGET_LIBSUPC++)
 ;
-
diff --git a/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp 
b/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp
index 5874fb2..8752c56 100644
--- a/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp
+++ b/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.cpp
@@ -1,11 +1,12 @@
 /*
- * Copyright 2006-2008, Haiku. All rights reserved.
+ * Copyright 2006-2011, Haiku, Inc. All rights reserved.
  * Distributed under the terms of the MIT License.
  *
  * Authors:
  *             Jérôme Duval, korli@xxxxxxxxxxxxxxxx
  *             Philippe Houdoin, philippe.houdoin@xxxxxxx
  *             Artur Wyszynski, harakash@xxxxxxxxx
+ *             Alexander von Gluck, kallisti5@xxxxxxxxxxx
  */
 /*
  * Mesa 3-D graphics library
@@ -23,10 +24,10 @@
 #include <GraphicsDefs.h>
 #include <Screen.h>
 
-
 extern "C" {
 #include "extensions.h"
 #include "drivers/common/driverfuncs.h"
+#include "drivers/common/meta.h"
 #include "main/colormac.h"
 #include "main/buffers.h"
 #include "main/framebuffer.h"
@@ -34,14 +35,16 @@ extern "C" {
 #include "main/state.h"
 #include "main/version.h"
 #include "swrast/swrast.h"
+#ifdef NEW_MESA
+#include "swrast/s_renderbuffer.h"
+#endif
 #include "swrast_setup/swrast_setup.h"
 #include "tnl/tnl.h"
 #include "tnl/t_context.h"
 #include "tnl/t_pipeline.h"
 #include "vbo/vbo.h"
 
-
-#define CALLED() //printf("CALLED %s\n",__PRETTY_FUNCTION__)
+#define CALLED() printf("CALLED %s\n",__PRETTY_FUNCTION__)
 
 #if defined(USE_X86_ASM)
 #include "x86/common_x86_asm.h"
@@ -199,6 +202,7 @@ extern "C" {
 
 }
 
+
 extern "C" _EXPORT BGLRenderer*
 instantiate_gl_renderer(BGLView* view, ulong options,
        BGLDispatcher* dispatcher)
@@ -208,7 +212,7 @@ instantiate_gl_renderer(BGLView* view, ulong options,
 
 
 MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, ulong options,
-               BGLDispatcher* dispatcher)
+       BGLDispatcher* dispatcher)
        : BGLRenderer(view, options, dispatcher),
        fBitmap(NULL),
        fDirectModeEnabled(false),
@@ -233,7 +237,7 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        fColorSpace = BScreen(GLView()->Window()).ColorSpace();
 
        // We force single buffering for the time being
-       //options &= !BGL_DOUBLE;
+       options &= !BGL_DOUBLE;
 
        const GLboolean rgbFlag = ((options & BGL_INDEX) == 0);
        const GLboolean alphaFlag = ((options & BGL_ALPHA) == BGL_ALPHA);
@@ -242,7 +246,6 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        const GLint depth = (options & BGL_DEPTH) ? 16 : 0;
        const GLint stencil = (options & BGL_STENCIL) ? 8 : 0;
        const GLint accum = (options & BGL_ACCUM) ? 16 : 0;
-       const GLint index = (options & BGL_INDEX) ? 32 : 0;
        const GLint red = rgbFlag ? 8 : 0;
        const GLint green = rgbFlag ? 8 : 0;
        const GLint blue = rgbFlag ? 8 : 0;
@@ -251,8 +254,8 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        fOptions = options; // | BGL_INDIRECT;
        struct dd_function_table functions;
 
-       fVisual = _mesa_create_visual(rgbFlag, dblFlag, stereoFlag, red, green,
-               blue, alpha, index, depth, stencil, accum, accum, accum,
+       fVisual = _mesa_create_visual(dblFlag, stereoFlag, red, green,
+               blue, alpha, depth, stencil, accum, accum, accum,
                alpha ? accum : 0, 1);
 
        // Initialize device driver function table
@@ -266,7 +269,9 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        functions.Flush                 = _Flush;
 
        // create core context
-       fContext = _mesa_create_context(fVisual, NULL, &functions, this);
+       fContext = _mesa_create_context(API_OPENGL, fVisual, NULL,
+               &functions, this);
+
        if (!fContext) {
                _mesa_destroy_visual(fVisual);
                return;
@@ -282,6 +287,7 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        // Use default TCL pipeline
        TNL_CONTEXT(fContext)->Driver.RunPipeline = _tnl_run_pipeline;
 
+       _mesa_meta_init(fContext);
        _mesa_enable_sw_extensions(fContext);
        _mesa_enable_1_3_extensions(fContext);
        _mesa_enable_1_4_extensions(fContext);
@@ -290,48 +296,73 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        _mesa_enable_2_1_extensions(fContext);
 
        // create core framebuffer
-       fFrameBuffer = (struct msr_framebuffer*)_mesa_calloc(
+       fFrameBuffer = (struct msr_framebuffer*)calloc(1,
                sizeof(*fFrameBuffer));
-       _mesa_initialize_framebuffer(&fFrameBuffer->Base, fVisual);
+       _mesa_initialize_window_framebuffer(&fFrameBuffer->base, fVisual);
 
-       fFrontRenderBuffer = (struct msr_renderbuffer*)_mesa_calloc(
+       fFrontRenderBuffer = (struct msr_renderbuffer*)calloc(1,
                sizeof(*fFrontRenderBuffer));
-       _mesa_init_renderbuffer(&fFrontRenderBuffer->Base, 0);
-
-       fFrontRenderBuffer->Base.AllocStorage = _FrontRenderbufferStorage;
-       fFrontRenderBuffer->Base.Data = NULL;
-       fFrontRenderBuffer->Base.InternalFormat = GL_RGBA;
-       fFrontRenderBuffer->Base._BaseFormat = GL_RGBA;
-       fFrontRenderBuffer->Base.DataType = GL_UNSIGNED_BYTE;
-       fFrontRenderBuffer->Base.RedBits   = 8 * sizeof(GLubyte);
-       fFrontRenderBuffer->Base.GreenBits = 8 * sizeof(GLubyte);
-       fFrontRenderBuffer->Base.BlueBits  = 8 * sizeof(GLubyte);
-       fFrontRenderBuffer->Base.AlphaBits = 8 * sizeof(GLubyte);
+       _mesa_init_renderbuffer(&fFrontRenderBuffer->base, 0);
+
+       fFrontRenderBuffer->active = true;
+       fFrontRenderBuffer->base.InternalFormat = GL_RGBA;
+       fFrontRenderBuffer->base._BaseFormat = GL_RGBA;
+       fFrontRenderBuffer->base.DataType = GL_UNSIGNED_BYTE;
+
+       switch(fColorSpace) {
+               case B_RGB32:
+                       fFrontRenderBuffer->base.Format = MESA_FORMAT_XRGB8888;
+                       break;
+               case B_RGBA32:
+                       fFrontRenderBuffer->base.Format = MESA_FORMAT_ARGB8888;
+                       break;
+               case B_RGB24:
+                       fFrontRenderBuffer->base.Format = MESA_FORMAT_ARGB8888;
+                       break;
+               case B_RGB16:
+                       fFrontRenderBuffer->base.Format = MESA_FORMAT_RGB565;
+                       break;
+               case B_RGB15:
+               case B_RGBA15:
+                       fFrontRenderBuffer->base.Format = MESA_FORMAT_ARGB1555;
+                       break;
+               case B_CMAP8:
+               default:
+                       fprintf(stderr, "Unsupported screen color space %d\n", 
fColorSpace);
+                       debugger("Unsupported OpenGL color space");
+                       break;
+       }
+
+       fFrontRenderBuffer->base.AllocStorage = _FrontRenderbufferStorage;
+       fFrontRenderBuffer->base.Data = NULL;
+
        _SetSpanFuncs(fFrontRenderBuffer, fColorSpace);
-       _mesa_add_renderbuffer(&fFrameBuffer->Base, BUFFER_FRONT_LEFT,
-               &fFrontRenderBuffer->Base);
+       _mesa_add_renderbuffer(&fFrameBuffer->base, BUFFER_FRONT_LEFT,
+               &fFrontRenderBuffer->base);
 
+       fBackRenderBuffer = (struct msr_renderbuffer*)calloc(1,
+               sizeof(*fBackRenderBuffer));
        if (dblFlag) {
-               fBackRenderBuffer = (struct msr_renderbuffer*)_mesa_calloc(
-                       sizeof(*fBackRenderBuffer));
-               _mesa_init_renderbuffer(&fBackRenderBuffer->Base, 0);
-
-               fBackRenderBuffer->Base.AllocStorage = _BackRenderbufferStorage;
-               fBackRenderBuffer->Base.Data = NULL;
-               fBackRenderBuffer->Base.Delete = _DeleteBackBuffer;
-               fBackRenderBuffer->Base.InternalFormat = GL_RGBA;
-               fBackRenderBuffer->Base._BaseFormat = GL_RGBA;
-               fBackRenderBuffer->Base.DataType = GL_UNSIGNED_BYTE;
-               fBackRenderBuffer->Base.RedBits   = 8 * sizeof(GLubyte);
-               fBackRenderBuffer->Base.GreenBits = 8 * sizeof(GLubyte);
-               fBackRenderBuffer->Base.BlueBits  = 8 * sizeof(GLubyte);
-               fBackRenderBuffer->Base.AlphaBits = 8 * sizeof(GLubyte);
+               _mesa_init_renderbuffer(&fBackRenderBuffer->base, 0);
+
+               fBackRenderBuffer->active = true;
+               fBackRenderBuffer->base.AllocStorage = _BackRenderbufferStorage;
+               fBackRenderBuffer->base.Data = NULL;
+               fBackRenderBuffer->base.Delete = _DeleteBackBuffer;
+               fBackRenderBuffer->base.InternalFormat
+                       = fFrontRenderBuffer->base.InternalFormat;
+               fBackRenderBuffer->base._BaseFormat
+                       = fFrontRenderBuffer->base._BaseFormat;
+               fBackRenderBuffer->base.Format = 
fFrontRenderBuffer->base.Format;
+
                _SetSpanFuncs(fBackRenderBuffer, fColorSpace);
-               _mesa_add_renderbuffer(&fFrameBuffer->Base, BUFFER_BACK_LEFT,
-                       &fBackRenderBuffer->Base);
+               _mesa_add_renderbuffer(&fFrameBuffer->base, BUFFER_BACK_LEFT,
+                       &fBackRenderBuffer->base);
+       } else {
+               fBackRenderBuffer->active = false;
        }
 
-       _mesa_add_soft_renderbuffers(&fFrameBuffer->Base, GL_FALSE,
+       _swrast_add_soft_renderbuffers(&fFrameBuffer->base, GL_FALSE,
                fVisual->haveDepthBuffer, fVisual->haveStencilBuffer,
                fVisual->haveAccumBuffer, alphaFlag, GL_FALSE);
 
@@ -349,6 +380,7 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        }
 }
 
+
 MesaSoftwareRenderer::~MesaSoftwareRenderer()
 {
        CALLED();
@@ -357,7 +389,7 @@ MesaSoftwareRenderer::~MesaSoftwareRenderer()
        _tnl_DestroyContext(fContext);
        _vbo_DestroyContext(fContext);
        _mesa_destroy_visual(fVisual);
-       _mesa_destroy_framebuffer(&fFrameBuffer->Base);
+       _mesa_destroy_framebuffer(&fFrameBuffer->base);
        _mesa_destroy_context(fContext);
 
        free(fInfo);
@@ -372,7 +404,7 @@ MesaSoftwareRenderer::LockGL()
        CALLED();
        BGLRenderer::LockGL();
 
-       _mesa_make_current(fContext, &fFrameBuffer->Base, &fFrameBuffer->Base);
+       _mesa_make_current(fContext, &fFrameBuffer->base, &fFrameBuffer->base);
 
        color_space cs = B_RGBA32;
 
@@ -385,16 +417,17 @@ MesaSoftwareRenderer::LockGL()
                        - fInfo->window_bounds.top + 1;
        }
 
-       if (fBitmap && cs == fColorSpace && fNewWidth == fWidth
-               && fNewHeight == fHeight)
-               return;
-
        if (cs != fColorSpace) {
                fColorSpace = cs;
                _SetSpanFuncs(fFrontRenderBuffer, fColorSpace);
-               _SetSpanFuncs(fBackRenderBuffer, fColorSpace);
+               if (fBackRenderBuffer->active)
+                       _SetSpanFuncs(fBackRenderBuffer, fColorSpace);
        }
 
+       if (fBitmap && fNewWidth == fWidth
+               && fNewHeight == fHeight)
+               return;
+
        fWidth = fNewWidth;
        fHeight = fNewHeight;
 
@@ -418,7 +451,7 @@ void
 MesaSoftwareRenderer::SwapBuffers(bool VSync)
 {
        CALLED();
-       
+
        if (!fBitmap)
                return;
 
@@ -582,12 +615,13 @@ MesaSoftwareRenderer::_AllocateBitmap()
                        + i * fBitmap->BytesPerRow());
        }
 
-       _mesa_resize_framebuffer(fContext, &fFrameBuffer->Base, fWidth, 
fHeight);
-       fFrontRenderBuffer->Base.Data = fBitmap->Bits();
-       fFrontRenderBuffer->Size = fBitmap->BitsLength();
-       fBackRenderBuffer->Size = fBitmap->BitsLength();
-       fFrameBuffer->Width = fWidth;
-       fFrameBuffer->Height = fHeight;
+       _mesa_resize_framebuffer(fContext, &fFrameBuffer->base, fWidth, 
fHeight);
+       fFrontRenderBuffer->base.Data = fBitmap->Bits();
+       fFrontRenderBuffer->size = fBitmap->BitsLength();
+       if (fBackRenderBuffer->active)
+               fBackRenderBuffer->size = fBitmap->BitsLength();
+       fFrameBuffer->width = fWidth;
+       fFrameBuffer->height = fHeight;
 }
 
 
@@ -595,7 +629,7 @@ MesaSoftwareRenderer::_AllocateBitmap()
 
 
 void
-MesaSoftwareRenderer::_Error(GLcontext* ctx)
+MesaSoftwareRenderer::_Error(gl_context* ctx)
 {
        MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;
        if (mr && mr->GLView())
@@ -604,17 +638,17 @@ MesaSoftwareRenderer::_Error(GLcontext* ctx)
 
 
 const GLubyte*
-MesaSoftwareRenderer::_GetString(GLcontext* ctx, GLenum name)
+MesaSoftwareRenderer::_GetString(gl_context* ctx, GLenum name)
 {
        switch (name) {
+               case GL_VENDOR:
+                       return (const GLubyte*) "Mesa Project";
                case GL_RENDERER: {
                        static char buffer[256] = { '\0' };
 
                        if (!buffer[0]) {
                                // Let's build an renderer string
-                               // TODO: add SVN revision
-                               strncat(buffer, "Haiku's Mesa " 
MESA_VERSION_STRING
-                                       " Software Renderer", sizeof(buffer));
+                               strncat(buffer, "Software Rasterizer", 
sizeof(buffer));
 
                                // Append any CPU-specific information.
 #ifdef USE_X86_ASM
@@ -661,7 +695,7 @@ MesaSoftwareRenderer::_GetString(GLcontext* ctx, GLenum 
name)
 #endif
 
                        }
-                       return (const GLubyte *) buffer;
+                       return (const GLubyte*) buffer;
                }
                default:
                        // Let core library handle all other cases
@@ -671,22 +705,22 @@ MesaSoftwareRenderer::_GetString(GLcontext* ctx, GLenum 
name)
 
 
 void
-MesaSoftwareRenderer::_Viewport(GLcontext* ctx, GLint x, GLint y, GLsizei w,
+MesaSoftwareRenderer::_Viewport(gl_context* ctx, GLint x, GLint y, GLsizei w,
        GLsizei h)
 {
        CALLED();
 
-       GLframebuffer* draw = ctx->WinSysDrawBuffer;
-       GLframebuffer* read = ctx->WinSysReadBuffer;
+       gl_framebuffer* draw = ctx->WinSysDrawBuffer;
+       gl_framebuffer* read = ctx->WinSysReadBuffer;
        struct msr_framebuffer* msr = msr_framebuffer(draw);
 
-       _mesa_resize_framebuffer(ctx, draw, msr->Width, msr->Height);
-       _mesa_resize_framebuffer(ctx, read, msr->Width, msr->Height);
+       _mesa_resize_framebuffer(ctx, draw, msr->width, msr->height);
+       _mesa_resize_framebuffer(ctx, read, msr->width, msr->height);
 }
 
 
 void
-MesaSoftwareRenderer::_UpdateState(GLcontext* ctx, GLuint new_state)
+MesaSoftwareRenderer::_UpdateState(gl_context* ctx, GLuint new_state)
 {
        if (!ctx)
                return;
@@ -700,7 +734,7 @@ MesaSoftwareRenderer::_UpdateState(GLcontext* ctx, GLuint 
new_state)
 
 
 void
-MesaSoftwareRenderer::_ClearFront(GLcontext* ctx)
+MesaSoftwareRenderer::_ClearFront(gl_context* ctx)
 {
        CALLED();
 
@@ -745,32 +779,34 @@ MesaSoftwareRenderer::_ClearFront(GLcontext* ctx)
 
 
 GLboolean
-MesaSoftwareRenderer::_FrontRenderbufferStorage(GLcontext* ctx,
+MesaSoftwareRenderer::_FrontRenderbufferStorage(gl_context* ctx,
        struct gl_renderbuffer* render, GLenum internalFormat,
        GLuint width, GLuint height)
 {
+       render->Data = NULL;
        render->Width = width;
        render->Height = height;
+       render->RowStride = width;
 
        return GL_TRUE;
 }
 
 
 GLboolean
-MesaSoftwareRenderer::_BackRenderbufferStorage(GLcontext* ctx,
+MesaSoftwareRenderer::_BackRenderbufferStorage(gl_context* ctx,
        struct gl_renderbuffer* render, GLenum internalFormat,
        GLuint width, GLuint height)
 {
        struct msr_renderbuffer* mrb = msr_renderbuffer(render);
-       _mesa_free(render->Data);
+       free(render->Data);
        _FrontRenderbufferStorage(ctx, render, internalFormat, width, height);
-       render->Data = _mesa_malloc(mrb->Size);
+       render->Data = malloc(mrb->size);
        return GL_TRUE;
 }
 
 
 void
-MesaSoftwareRenderer::_Flush(GLcontext* ctx)
+MesaSoftwareRenderer::_Flush(gl_context* ctx)
 {
        CALLED();
        MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;
@@ -787,60 +823,45 @@ void
 MesaSoftwareRenderer::_SetSpanFuncs(
        struct msr_renderbuffer* buffer, color_space colorSpace)
 {
+       if (!buffer->active)
+               return;
+
        switch (colorSpace) {
                case B_RGBA32:
-                       buffer->Base.GetRow = get_row_RGBA32;
-                       buffer->Base.GetValues = get_values_RGBA32;
-                       buffer->Base.PutRow = put_row_RGBA32;
-                       buffer->Base.PutRowRGB = put_row_rgb_RGBA32;
-                       buffer->Base.PutMonoRow = put_mono_row_RGBA32;
-                       buffer->Base.PutValues = put_values_RGBA32;
-                       buffer->Base.PutMonoValues = put_mono_values_RGBA32;
+                       buffer->base.GetRow = get_row_RGBA32;
+                       buffer->base.GetValues = get_values_RGBA32;
+                       buffer->base.PutRow = put_row_RGBA32;
+                       buffer->base.PutValues = put_values_RGBA32;
                        break;
                case B_RGB32:
-                       buffer->Base.GetRow = get_row_RGB32;
-                       buffer->Base.GetValues = get_values_RGB32;
-                       buffer->Base.PutRow = put_row_RGB32;
-                       buffer->Base.PutRowRGB = put_row_rgb_RGB32;
-                       buffer->Base.PutMonoRow = put_mono_row_RGB32;
-                       buffer->Base.PutValues = put_values_RGB32;
-                       buffer->Base.PutMonoValues = put_mono_values_RGB32;
+                       buffer->base.GetRow = get_row_RGB32;
+                       buffer->base.GetValues = get_values_RGB32;
+                       buffer->base.PutRow = put_row_RGB32;
+                       buffer->base.PutValues = put_values_RGB32;
                        break;
                case B_RGB24:
-                       buffer->Base.GetRow = get_row_RGB24;
-                       buffer->Base.GetValues = get_values_RGB24;
-                       buffer->Base.PutRow = put_row_RGB24;
-                       buffer->Base.PutRowRGB = put_row_rgb_RGB24;
-                       buffer->Base.PutMonoRow = put_mono_row_RGB24;
-                       buffer->Base.PutValues = put_values_RGB24;
-                       buffer->Base.PutMonoValues = put_mono_values_RGB24;
+                       buffer->base.GetRow = get_row_RGB24;
+                       buffer->base.GetValues = get_values_RGB24;
+                       buffer->base.PutRow = put_row_RGB24;
+                       buffer->base.PutValues = put_values_RGB24;
                        break;
                case B_RGB16:
-                       buffer->Base.GetRow = get_row_RGB16;
-                       buffer->Base.GetValues = get_values_RGB16;
-                       buffer->Base.PutRow = put_row_RGB16;
-                       buffer->Base.PutRowRGB = put_row_rgb_RGB16;
-                       buffer->Base.PutMonoRow = put_mono_row_RGB16;
-                       buffer->Base.PutValues = put_values_RGB16;
-                       buffer->Base.PutMonoValues = put_mono_values_RGB16;
+                       buffer->base.GetRow = get_row_RGB16;
+                       buffer->base.GetValues = get_values_RGB16;
+                       buffer->base.PutRow = put_row_RGB16;
+                       buffer->base.PutValues = put_values_RGB16;
                        break;
                case B_RGB15:
-                       buffer->Base.GetRow = get_row_RGB15;
-                       buffer->Base.GetValues = get_values_RGB15;
-                       buffer->Base.PutRow = put_row_RGB15;
-                       buffer->Base.PutRowRGB = put_row_rgb_RGB15;
-                       buffer->Base.PutMonoRow = put_mono_row_RGB15;
-                       buffer->Base.PutValues = put_values_RGB15;
-                       buffer->Base.PutMonoValues = put_mono_values_RGB15;
+                       buffer->base.GetRow = get_row_RGB15;
+                       buffer->base.GetValues = get_values_RGB15;
+                       buffer->base.PutRow = put_row_RGB15;
+                       buffer->base.PutValues = put_values_RGB15;
                        break;
                case B_CMAP8:
-                       buffer->Base.GetRow = get_row_CMAP8;
-                       buffer->Base.GetValues = get_values_CMAP8;
-                       buffer->Base.PutRow = put_row_CMAP8;
-                       buffer->Base.PutRowRGB = put_row_rgb_CMAP8;
-                       buffer->Base.PutMonoRow = put_mono_row_CMAP8;
-                       buffer->Base.PutValues = put_values_CMAP8;
-                       buffer->Base.PutMonoValues = put_mono_values_CMAP8;
+                       buffer->base.GetRow = get_row_CMAP8;
+                       buffer->base.GetValues = get_values_CMAP8;
+                       buffer->base.PutRow = put_row_CMAP8;
+                       buffer->base.PutValues = put_values_CMAP8;
                        break;
                default:
                        fprintf(stderr, "Unsupported screen color space %d\n", 
fColorSpace);
@@ -853,8 +874,8 @@ MesaSoftwareRenderer::_SetSpanFuncs(
 void
 MesaSoftwareRenderer::_DeleteBackBuffer(struct gl_renderbuffer* rb)
 {
-       _mesa_free(rb->Data);
-       _mesa_free(rb);
+       free(rb->Data);
+       free(rb);
 }
 
 
diff --git a/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h 
b/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h
index f61ceea..3c883e4 100644
--- a/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h
+++ b/src/add-ons/opengl/mesa_software_renderer/MesaSoftwareRenderer.h
@@ -21,10 +21,18 @@
 extern "C" {
 
 #include "context.h"
+#include "swrast/s_chan.h"
+
+
+#if defined(__GNUC__) && (__GNUC__ > 2)
+#define NEW_MESA
+#endif
+
 
 struct msr_renderbuffer {
-       struct gl_renderbuffer Base;
-       uint32 Size;
+       struct gl_renderbuffer base;
+       uint32 size;
+       bool active;
 };
 
 
@@ -36,9 +44,9 @@ msr_renderbuffer(struct gl_renderbuffer* rb)
 
 
 struct msr_framebuffer {
-       struct gl_framebuffer Base;
-       uint32 Width;
-       uint32 Height;
+       struct gl_framebuffer base;
+       uint32 width;
+       uint32 height;
 };
 
 
@@ -48,8 +56,10 @@ msr_framebuffer(struct gl_framebuffer* rb)
        return (struct msr_framebuffer*)rb;
 }
 
+
 }
 
+
 class MesaSoftwareRenderer : public BGLRenderer {
 public:
                                                                
MesaSoftwareRenderer(BGLView* view,
@@ -72,21 +82,21 @@ public:
                virtual void                    
DirectConnected(direct_buffer_info* info);
 
 private:
-               static  void                    _Error(GLcontext* ctx);
-               static  const GLubyte*  _GetString(GLcontext* ctx, GLenum name);
-               static  void                    _Viewport(GLcontext* ctx, GLint 
x, GLint y,
+               static  void                    _Error(gl_context* ctx);
+               static  const GLubyte*  _GetString(gl_context* ctx, GLenum 
name);
+               static  void                    _Viewport(gl_context* ctx, 
GLint x, GLint y,
                                                                        GLsizei 
w, GLsizei h);
-               static  void                    _UpdateState(GLcontext* ctx, 
GLuint newState);
-               static  void                    _ClearFront(GLcontext* ctx);
-               static  GLboolean               
_FrontRenderbufferStorage(GLcontext* ctx,
+               static  void                    _UpdateState(gl_context* ctx, 
GLuint newState);
+               static  void                    _ClearFront(gl_context* ctx);
+               static  GLboolean               
_FrontRenderbufferStorage(gl_context* ctx,
                                                                        struct 
gl_renderbuffer* render,
                                                                        GLenum 
internalFormat,
                                                                        GLuint 
width, GLuint height);
-               static  GLboolean               
_BackRenderbufferStorage(GLcontext* ctx,
+               static  GLboolean               
_BackRenderbufferStorage(gl_context* ctx,
                                                                        struct 
gl_renderbuffer* render,
                                                                        GLenum 
internalFormat,
                                                                        GLuint 
width, GLuint height);
-               static void                             _Flush(GLcontext *ctx);
+               static void                             _Flush(gl_context *ctx);
                void                                    _SetSpanFuncs(struct 
msr_renderbuffer* buffer,
                                                                        
color_space colorSpace);
                static void                             
_DeleteBackBuffer(struct gl_renderbuffer* rb);
@@ -100,8 +110,8 @@ private:
                BLocker                                 fInfoLocker;
                ulong                                   fOptions;
 
-               GLcontext*                              fContext;
-               GLvisual*                               fVisual;
+               gl_context*                             fContext;
+               gl_config*                              fVisual;
                struct msr_framebuffer* fFrameBuffer;
                struct msr_renderbuffer*        fFrontRenderBuffer;
                struct msr_renderbuffer*        fBackRenderBuffer;

############################################################################

Commit:      77d663c3ea0e56ab639cce2d326eb12ad4a49843
URL:         http://cgit.haiku-os.org/haiku/commit/?id=77d663c
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Jan  8 07:12:54 2012 UTC

Remove the Haiku Mesa fork

----------------------------------------------------------------------------

diff --git a/headers/os/opengl/GL/gl.h b/headers/os/opengl/GL/gl.h
deleted file mode 100644
index 7b34a39..0000000
--- a/headers/os/opengl/GL/gl.h
+++ /dev/null
@@ -1,2285 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.4
- *
- * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef __gl_h_
-#define __gl_h_
-
-#if defined(USE_MGL_NAMESPACE)
-#include "gl_mangle.h"
-#endif
-
-
-/**********************************************************************
- * Begin system-specific stuff. Do not do any of this when building
- * for SciTech SNAP, as this is all done before this header file is
- * included. 
- */
-#if !defined(__SCITECH_SNAP__)
-
-#if (defined(__BEOS__) || defined(__HAIKU__))
-#include <stdlib.h>     /* to get some BeOS-isms */
-#endif
-
-#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
-#define OPENSTEP
-#endif
-
-#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
-#define __WIN32__
-#endif
-
-#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
-#  if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* 
tag specify we're building mesa as a DLL */
-#    define GLAPI __declspec(dllexport)
-#  elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag 
specifying we're building for DLL runtime support */
-#    define GLAPI __declspec(dllimport)
-#  else /* for use with static link lib build of Win32 edition only */
-#    define GLAPI extern
-#  endif /* _STATIC_MESA support */
-#  define GLAPIENTRY __stdcall
-#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows 
opengl32 */
-#  define GLAPI extern
-#  define GLAPIENTRY __stdcall
-#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
-#  define GLAPI __attribute__((visibility("default")))
-#  define GLAPIENTRY
-#endif /* WIN32 && !CYGWIN */
-
-#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
-#  define PRAGMA_EXPORT_SUPPORTED              1
-#endif
-
-/*
- * WINDOWS: Include windows.h here to define APIENTRY.
- * It is also useful when applications include this file by
- * including only glut.h, since glut.h depends on windows.h.
- * Applications needing to include windows.h with parms other
- * than "WIN32_LEAN_AND_MEAN" may include windows.h before
- * glut.h or gl.h.
- */
-#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
-#endif
-
-#if defined(_WIN32) && !defined(_WINGDI_) && 
!defined(_GNU_H_WINDOWS32_DEFINES) \
-     && !defined(OPENSTEP) && !defined(__CYGWIN__) || defined(__MINGW32__)
-#include <GL/mesa_wgl.h>
-#endif
-
-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
-#pragma import on
-#endif
-
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-
-#ifndef GLAPIENTRY
-#define GLAPIENTRY
-#endif
-
-#ifndef APIENTRY
-#define APIENTRY GLAPIENTRY
-#endif
-
-/* "P" suffix to be used for a pointer to a function */
-#ifndef APIENTRYP
-#define APIENTRYP APIENTRY *
-#endif
-
-#ifndef GLAPIENTRYP
-#define GLAPIENTRYP GLAPIENTRY *
-#endif
-
-#ifdef CENTERLINE_CLPP
-#define signed
-#endif
-
-#if defined(PRAGMA_EXPORT_SUPPORTED)
-#pragma export on
-#endif
-
-#endif /* !__SCITECH_SNAP__ */
-/*
- * End system-specific stuff.
- **********************************************************************/
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#define GL_VERSION_1_1   1
-#define GL_VERSION_1_2   1
-#define GL_VERSION_1_3   1
-#define GL_ARB_imaging   1
-
-
-/*
- * Datatypes
- */
-typedef unsigned int   GLenum;
-typedef unsigned char  GLboolean;
-typedef unsigned int   GLbitfield;
-typedef void           GLvoid;
-typedef signed char    GLbyte;         /* 1-byte signed */
-typedef short          GLshort;        /* 2-byte signed */
-typedef int            GLint;          /* 4-byte signed */
-typedef unsigned char  GLubyte;        /* 1-byte unsigned */
-typedef unsigned short GLushort;       /* 2-byte unsigned */
-typedef unsigned int   GLuint;         /* 4-byte unsigned */
-typedef int            GLsizei;        /* 4-byte signed */
-typedef float          GLfloat;        /* single precision float */
-typedef float          GLclampf;       /* single precision float in [0,1] */
-typedef double         GLdouble;       /* double precision float */
-typedef double         GLclampd;       /* double precision float in [0,1] */
-
-
-
-/*
- * Constants
- */
-
-/* Boolean values */
-#define GL_FALSE                               0x0
-#define GL_TRUE                                        0x1
-
-/* Data types */
-#define GL_BYTE                                        0x1400
-#define GL_UNSIGNED_BYTE                       0x1401
-#define GL_SHORT                               0x1402
-#define GL_UNSIGNED_SHORT                      0x1403
-#define GL_INT                                 0x1404
-#define GL_UNSIGNED_INT                                0x1405
-#define GL_FLOAT                               0x1406
-#define GL_2_BYTES                             0x1407
-#define GL_3_BYTES                             0x1408
-#define GL_4_BYTES                             0x1409
-#define GL_DOUBLE                              0x140A
-
-/* Primitives */
-#define GL_POINTS                              0x0000
-#define GL_LINES                               0x0001
-#define GL_LINE_LOOP                           0x0002
-#define GL_LINE_STRIP                          0x0003
-#define GL_TRIANGLES                           0x0004
-#define GL_TRIANGLE_STRIP                      0x0005
-#define GL_TRIANGLE_FAN                                0x0006
-#define GL_QUADS                               0x0007
-#define GL_QUAD_STRIP                          0x0008
-#define GL_POLYGON                             0x0009
-
-/* Vertex Arrays */
-#define GL_VERTEX_ARRAY                                0x8074
-#define GL_NORMAL_ARRAY                                0x8075
-#define GL_COLOR_ARRAY                         0x8076
-#define GL_INDEX_ARRAY                         0x8077
-#define GL_TEXTURE_COORD_ARRAY                 0x8078
-#define GL_EDGE_FLAG_ARRAY                     0x8079
-#define GL_VERTEX_ARRAY_SIZE                   0x807A
-#define GL_VERTEX_ARRAY_TYPE                   0x807B
-#define GL_VERTEX_ARRAY_STRIDE                 0x807C
-#define GL_NORMAL_ARRAY_TYPE                   0x807E
-#define GL_NORMAL_ARRAY_STRIDE                 0x807F
-#define GL_COLOR_ARRAY_SIZE                    0x8081
-#define GL_COLOR_ARRAY_TYPE                    0x8082
-#define GL_COLOR_ARRAY_STRIDE                  0x8083
-#define GL_INDEX_ARRAY_TYPE                    0x8085
-#define GL_INDEX_ARRAY_STRIDE                  0x8086
-#define GL_TEXTURE_COORD_ARRAY_SIZE            0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE            0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE          0x808A
-#define GL_EDGE_FLAG_ARRAY_STRIDE              0x808C
-#define GL_VERTEX_ARRAY_POINTER                        0x808E
-#define GL_NORMAL_ARRAY_POINTER                        0x808F
-#define GL_COLOR_ARRAY_POINTER                 0x8090
-#define GL_INDEX_ARRAY_POINTER                 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER         0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER             0x8093
-#define GL_V2F                                 0x2A20
-#define GL_V3F                                 0x2A21
-#define GL_C4UB_V2F                            0x2A22
-#define GL_C4UB_V3F                            0x2A23
-#define GL_C3F_V3F                             0x2A24
-#define GL_N3F_V3F                             0x2A25
-#define GL_C4F_N3F_V3F                         0x2A26
-#define GL_T2F_V3F                             0x2A27
-#define GL_T4F_V4F                             0x2A28
-#define GL_T2F_C4UB_V3F                                0x2A29
-#define GL_T2F_C3F_V3F                         0x2A2A
-#define GL_T2F_N3F_V3F                         0x2A2B
-#define GL_T2F_C4F_N3F_V3F                     0x2A2C
-#define GL_T4F_C4F_N3F_V4F                     0x2A2D
-
-/* Matrix Mode */
-#define GL_MATRIX_MODE                         0x0BA0
-#define GL_MODELVIEW                           0x1700
-#define GL_PROJECTION                          0x1701
-#define GL_TEXTURE                             0x1702
-
-/* Points */
-#define GL_POINT_SMOOTH                                0x0B10
-#define GL_POINT_SIZE                          0x0B11
-#define GL_POINT_SIZE_GRANULARITY              0x0B13
-#define GL_POINT_SIZE_RANGE                    0x0B12
-
-/* Lines */
-#define GL_LINE_SMOOTH                         0x0B20
-#define GL_LINE_STIPPLE                                0x0B24
-#define GL_LINE_STIPPLE_PATTERN                        0x0B25
-#define GL_LINE_STIPPLE_REPEAT                 0x0B26
-#define GL_LINE_WIDTH                          0x0B21
-#define GL_LINE_WIDTH_GRANULARITY              0x0B23
-#define GL_LINE_WIDTH_RANGE                    0x0B22
-
-/* Polygons */
-#define GL_POINT                               0x1B00
-#define GL_LINE                                        0x1B01
-#define GL_FILL                                        0x1B02
-#define GL_CW                                  0x0900
-#define GL_CCW                                 0x0901
-#define GL_FRONT                               0x0404
-#define GL_BACK                                        0x0405
-#define GL_POLYGON_MODE                                0x0B40
-#define GL_POLYGON_SMOOTH                      0x0B41
-#define GL_POLYGON_STIPPLE                     0x0B42
-#define GL_EDGE_FLAG                           0x0B43
-#define GL_CULL_FACE                           0x0B44
-#define GL_CULL_FACE_MODE                      0x0B45
-#define GL_FRONT_FACE                          0x0B46
-#define GL_POLYGON_OFFSET_FACTOR               0x8038
-#define GL_POLYGON_OFFSET_UNITS                        0x2A00
-#define GL_POLYGON_OFFSET_POINT                        0x2A01
-#define GL_POLYGON_OFFSET_LINE                 0x2A02
-#define GL_POLYGON_OFFSET_FILL                 0x8037
-
-/* Display Lists */
-#define GL_COMPILE                             0x1300
-#define GL_COMPILE_AND_EXECUTE                 0x1301
-#define GL_LIST_BASE                           0x0B32
-#define GL_LIST_INDEX                          0x0B33
-#define GL_LIST_MODE                           0x0B30
-
-/* Depth buffer */
-#define GL_NEVER                               0x0200
-#define GL_LESS                                        0x0201
-#define GL_EQUAL                               0x0202
-#define GL_LEQUAL                              0x0203
-#define GL_GREATER                             0x0204
-#define GL_NOTEQUAL                            0x0205
-#define GL_GEQUAL                              0x0206
-#define GL_ALWAYS                              0x0207
-#define GL_DEPTH_TEST                          0x0B71
-#define GL_DEPTH_BITS                          0x0D56
-#define GL_DEPTH_CLEAR_VALUE                   0x0B73
-#define GL_DEPTH_FUNC                          0x0B74
-#define GL_DEPTH_RANGE                         0x0B70
-#define GL_DEPTH_WRITEMASK                     0x0B72
-#define GL_DEPTH_COMPONENT                     0x1902
-
-/* Lighting */
-#define GL_LIGHTING                            0x0B50
-#define GL_LIGHT0                              0x4000
-#define GL_LIGHT1                              0x4001
-#define GL_LIGHT2                              0x4002
-#define GL_LIGHT3                              0x4003
-#define GL_LIGHT4                              0x4004
-#define GL_LIGHT5                              0x4005
-#define GL_LIGHT6                              0x4006
-#define GL_LIGHT7                              0x4007
-#define GL_SPOT_EXPONENT                       0x1205
-#define GL_SPOT_CUTOFF                         0x1206
-#define GL_CONSTANT_ATTENUATION                        0x1207
-#define GL_LINEAR_ATTENUATION                  0x1208
-#define GL_QUADRATIC_ATTENUATION               0x1209
-#define GL_AMBIENT                             0x1200
-#define GL_DIFFUSE                             0x1201
-#define GL_SPECULAR                            0x1202
-#define GL_SHININESS                           0x1601
-#define GL_EMISSION                            0x1600
-#define GL_POSITION                            0x1203
-#define GL_SPOT_DIRECTION                      0x1204
-#define GL_AMBIENT_AND_DIFFUSE                 0x1602
-#define GL_COLOR_INDEXES                       0x1603
-#define GL_LIGHT_MODEL_TWO_SIDE                        0x0B52
-#define GL_LIGHT_MODEL_LOCAL_VIEWER            0x0B51
-#define GL_LIGHT_MODEL_AMBIENT                 0x0B53
-#define GL_FRONT_AND_BACK                      0x0408
-#define GL_SHADE_MODEL                         0x0B54
-#define GL_FLAT                                        0x1D00
-#define GL_SMOOTH                              0x1D01
-#define GL_COLOR_MATERIAL                      0x0B57
-#define GL_COLOR_MATERIAL_FACE                 0x0B55
-#define GL_COLOR_MATERIAL_PARAMETER            0x0B56
-#define GL_NORMALIZE                           0x0BA1
-
-/* User clipping planes */
-#define GL_CLIP_PLANE0                         0x3000
-#define GL_CLIP_PLANE1                         0x3001
-#define GL_CLIP_PLANE2                         0x3002
-#define GL_CLIP_PLANE3                         0x3003
-#define GL_CLIP_PLANE4                         0x3004
-#define GL_CLIP_PLANE5                         0x3005
-
-/* Accumulation buffer */
-#define GL_ACCUM_RED_BITS                      0x0D58
-#define GL_ACCUM_GREEN_BITS                    0x0D59
-#define GL_ACCUM_BLUE_BITS                     0x0D5A
-#define GL_ACCUM_ALPHA_BITS                    0x0D5B
-#define GL_ACCUM_CLEAR_VALUE                   0x0B80
-#define GL_ACCUM                               0x0100
-#define GL_ADD                                 0x0104
-#define GL_LOAD                                        0x0101
-#define GL_MULT                                        0x0103
-#define GL_RETURN                              0x0102
-
-/* Alpha testing */
-#define GL_ALPHA_TEST                          0x0BC0
-#define GL_ALPHA_TEST_REF                      0x0BC2
-#define GL_ALPHA_TEST_FUNC                     0x0BC1
-
-/* Blending */
-#define GL_BLEND                               0x0BE2
-#define GL_BLEND_SRC                           0x0BE1
-#define GL_BLEND_DST                           0x0BE0
-#define GL_ZERO                                        0x0
-#define GL_ONE                                 0x1
-#define GL_SRC_COLOR                           0x0300
-#define GL_ONE_MINUS_SRC_COLOR                 0x0301
-#define GL_SRC_ALPHA                           0x0302
-#define GL_ONE_MINUS_SRC_ALPHA                 0x0303
-#define GL_DST_ALPHA                           0x0304
-#define GL_ONE_MINUS_DST_ALPHA                 0x0305
-#define GL_DST_COLOR                           0x0306
-#define GL_ONE_MINUS_DST_COLOR                 0x0307
-#define GL_SRC_ALPHA_SATURATE                  0x0308
-
-/* Render Mode */
-#define GL_FEEDBACK                            0x1C01
-#define GL_RENDER                              0x1C00
-#define GL_SELECT                              0x1C02
-
-/* Feedback */
-#define GL_2D                                  0x0600
-#define GL_3D                                  0x0601
-#define GL_3D_COLOR                            0x0602
-#define GL_3D_COLOR_TEXTURE                    0x0603
-#define GL_4D_COLOR_TEXTURE                    0x0604
-#define GL_POINT_TOKEN                         0x0701
-#define GL_LINE_TOKEN                          0x0702
-#define GL_LINE_RESET_TOKEN                    0x0707
-#define GL_POLYGON_TOKEN                       0x0703
-#define GL_BITMAP_TOKEN                                0x0704
-#define GL_DRAW_PIXEL_TOKEN                    0x0705
-#define GL_COPY_PIXEL_TOKEN                    0x0706
-#define GL_PASS_THROUGH_TOKEN                  0x0700
-#define GL_FEEDBACK_BUFFER_POINTER             0x0DF0
-#define GL_FEEDBACK_BUFFER_SIZE                        0x0DF1
-#define GL_FEEDBACK_BUFFER_TYPE                        0x0DF2
-
-/* Selection */
-#define GL_SELECTION_BUFFER_POINTER            0x0DF3
-#define GL_SELECTION_BUFFER_SIZE               0x0DF4
-
-/* Fog */
-#define GL_FOG                                 0x0B60
-#define GL_FOG_MODE                            0x0B65
-#define GL_FOG_DENSITY                         0x0B62
-#define GL_FOG_COLOR                           0x0B66
-#define GL_FOG_INDEX                           0x0B61
-#define GL_FOG_START                           0x0B63
-#define GL_FOG_END                             0x0B64
-#define GL_LINEAR                              0x2601
-#define GL_EXP                                 0x0800
-#define GL_EXP2                                        0x0801
-
-/* Logic Ops */
-#define GL_LOGIC_OP                            0x0BF1
-#define GL_INDEX_LOGIC_OP                      0x0BF1
-#define GL_COLOR_LOGIC_OP                      0x0BF2
-#define GL_LOGIC_OP_MODE                       0x0BF0
-#define GL_CLEAR                               0x1500
-#define GL_SET                                 0x150F
-#define GL_COPY                                        0x1503
-#define GL_COPY_INVERTED                       0x150C
-#define GL_NOOP                                        0x1505
-#define GL_INVERT                              0x150A
-#define GL_AND                                 0x1501
-#define GL_NAND                                        0x150E
-#define GL_OR                                  0x1507
-#define GL_NOR                                 0x1508
-#define GL_XOR                                 0x1506
-#define GL_EQUIV                               0x1509
-#define GL_AND_REVERSE                         0x1502
-#define GL_AND_INVERTED                                0x1504
-#define GL_OR_REVERSE                          0x150B
-#define GL_OR_INVERTED                         0x150D
-
-/* Stencil */
-#define GL_STENCIL_BITS                                0x0D57
-#define GL_STENCIL_TEST                                0x0B90
-#define GL_STENCIL_CLEAR_VALUE                 0x0B91
-#define GL_STENCIL_FUNC                                0x0B92
-#define GL_STENCIL_VALUE_MASK                  0x0B93
-#define GL_STENCIL_FAIL                                0x0B94
-#define GL_STENCIL_PASS_DEPTH_FAIL             0x0B95
-#define GL_STENCIL_PASS_DEPTH_PASS             0x0B96
-#define GL_STENCIL_REF                         0x0B97
-#define GL_STENCIL_WRITEMASK                   0x0B98
-#define GL_STENCIL_INDEX                       0x1901
-#define GL_KEEP                                        0x1E00
-#define GL_REPLACE                             0x1E01
-#define GL_INCR                                        0x1E02
-#define GL_DECR                                        0x1E03
-
-/* Buffers, Pixel Drawing/Reading */
-#define GL_NONE                                        0x0
-#define GL_LEFT                                        0x0406
-#define GL_RIGHT                               0x0407
-/*GL_FRONT                                     0x0404 */
-/*GL_BACK                                      0x0405 */
-/*GL_FRONT_AND_BACK                            0x0408 */
-#define GL_FRONT_LEFT                          0x0400
-#define GL_FRONT_RIGHT                         0x0401
-#define GL_BACK_LEFT                           0x0402
-#define GL_BACK_RIGHT                          0x0403
-#define GL_AUX0                                        0x0409
-#define GL_AUX1                                        0x040A
-#define GL_AUX2                                        0x040B
-#define GL_AUX3                                        0x040C
-#define GL_COLOR_INDEX                         0x1900
-#define GL_RED                                 0x1903
-#define GL_GREEN                               0x1904
-#define GL_BLUE                                        0x1905
-#define GL_ALPHA                               0x1906
-#define GL_LUMINANCE                           0x1909
-#define GL_LUMINANCE_ALPHA                     0x190A
-#define GL_ALPHA_BITS                          0x0D55
-#define GL_RED_BITS                            0x0D52
-#define GL_GREEN_BITS                          0x0D53
-#define GL_BLUE_BITS                           0x0D54
-#define GL_INDEX_BITS                          0x0D51
-#define GL_SUBPIXEL_BITS                       0x0D50
-#define GL_AUX_BUFFERS                         0x0C00
-#define GL_READ_BUFFER                         0x0C02
-#define GL_DRAW_BUFFER                         0x0C01
-#define GL_DOUBLEBUFFER                                0x0C32
-#define GL_STEREO                              0x0C33
-#define GL_BITMAP                              0x1A00
-#define GL_COLOR                               0x1800
-#define GL_DEPTH                               0x1801
-#define GL_STENCIL                             0x1802
-#define GL_DITHER                              0x0BD0
-#define GL_RGB                                 0x1907
-#define GL_RGBA                                        0x1908
-
-/* Implementation limits */
-#define GL_MAX_LIST_NESTING                    0x0B31
-#define GL_MAX_EVAL_ORDER                      0x0D30
-#define GL_MAX_LIGHTS                          0x0D31
-#define GL_MAX_CLIP_PLANES                     0x0D32
-#define GL_MAX_TEXTURE_SIZE                    0x0D33
-#define GL_MAX_PIXEL_MAP_TABLE                 0x0D34
-#define GL_MAX_ATTRIB_STACK_DEPTH              0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH           0x0D36
-#define GL_MAX_NAME_STACK_DEPTH                        0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH          0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH             0x0D39
-#define GL_MAX_VIEWPORT_DIMS                   0x0D3A
-#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH       0x0D3B
-
-/* Gets */
-#define GL_ATTRIB_STACK_DEPTH                  0x0BB0
-#define GL_CLIENT_ATTRIB_STACK_DEPTH           0x0BB1
-#define GL_COLOR_CLEAR_VALUE                   0x0C22
-#define GL_COLOR_WRITEMASK                     0x0C23
-#define GL_CURRENT_INDEX                       0x0B01
-#define GL_CURRENT_COLOR                       0x0B00
-#define GL_CURRENT_NORMAL                      0x0B02
-#define GL_CURRENT_RASTER_COLOR                        0x0B04
-#define GL_CURRENT_RASTER_DISTANCE             0x0B09
-#define GL_CURRENT_RASTER_INDEX                        0x0B05
-#define GL_CURRENT_RASTER_POSITION             0x0B07
-#define GL_CURRENT_RASTER_TEXTURE_COORDS       0x0B06
-#define GL_CURRENT_RASTER_POSITION_VALID       0x0B08
-#define GL_CURRENT_TEXTURE_COORDS              0x0B03
-#define GL_INDEX_CLEAR_VALUE                   0x0C20
-#define GL_INDEX_MODE                          0x0C30
-#define GL_INDEX_WRITEMASK                     0x0C21
-#define GL_MODELVIEW_MATRIX                    0x0BA6
-#define GL_MODELVIEW_STACK_DEPTH               0x0BA3
-#define GL_NAME_STACK_DEPTH                    0x0D70
-#define GL_PROJECTION_MATRIX                   0x0BA7
-#define GL_PROJECTION_STACK_DEPTH              0x0BA4
-#define GL_RENDER_MODE                         0x0C40
-#define GL_RGBA_MODE                           0x0C31
-#define GL_TEXTURE_MATRIX                      0x0BA8
-#define GL_TEXTURE_STACK_DEPTH                 0x0BA5
-#define GL_VIEWPORT                            0x0BA2
-
-/* Evaluators */
-#define GL_AUTO_NORMAL                         0x0D80
-#define GL_MAP1_COLOR_4                                0x0D90
-#define GL_MAP1_INDEX                          0x0D91
-#define GL_MAP1_NORMAL                         0x0D92
-#define GL_MAP1_TEXTURE_COORD_1                        0x0D93
-#define GL_MAP1_TEXTURE_COORD_2                        0x0D94
-#define GL_MAP1_TEXTURE_COORD_3                        0x0D95
-#define GL_MAP1_TEXTURE_COORD_4                        0x0D96
-#define GL_MAP1_VERTEX_3                       0x0D97
-#define GL_MAP1_VERTEX_4                       0x0D98
-#define GL_MAP2_COLOR_4                                0x0DB0
-#define GL_MAP2_INDEX                          0x0DB1
-#define GL_MAP2_NORMAL                         0x0DB2
-#define GL_MAP2_TEXTURE_COORD_1                        0x0DB3
-#define GL_MAP2_TEXTURE_COORD_2                        0x0DB4
-#define GL_MAP2_TEXTURE_COORD_3                        0x0DB5
-#define GL_MAP2_TEXTURE_COORD_4                        0x0DB6
-#define GL_MAP2_VERTEX_3                       0x0DB7
-#define GL_MAP2_VERTEX_4                       0x0DB8
-#define GL_MAP1_GRID_DOMAIN                    0x0DD0
-#define GL_MAP1_GRID_SEGMENTS                  0x0DD1
-#define GL_MAP2_GRID_DOMAIN                    0x0DD2
-#define GL_MAP2_GRID_SEGMENTS                  0x0DD3
-#define GL_COEFF                               0x0A00
-#define GL_ORDER                               0x0A01
-#define GL_DOMAIN                              0x0A02
-
-/* Hints */
-#define GL_PERSPECTIVE_CORRECTION_HINT         0x0C50
-#define GL_POINT_SMOOTH_HINT                   0x0C51
-#define GL_LINE_SMOOTH_HINT                    0x0C52
-#define GL_POLYGON_SMOOTH_HINT                 0x0C53
-#define GL_FOG_HINT                            0x0C54
-#define GL_DONT_CARE                           0x1100
-#define GL_FASTEST                             0x1101
-#define GL_NICEST                              0x1102
-
-/* Scissor box */
-#define GL_SCISSOR_BOX                         0x0C10
-#define GL_SCISSOR_TEST                                0x0C11
-
-/* Pixel Mode / Transfer */
-#define GL_MAP_COLOR                           0x0D10
-#define GL_MAP_STENCIL                         0x0D11
-#define GL_INDEX_SHIFT                         0x0D12
-#define GL_INDEX_OFFSET                                0x0D13
-#define GL_RED_SCALE                           0x0D14
-#define GL_RED_BIAS                            0x0D15
-#define GL_GREEN_SCALE                         0x0D18
-#define GL_GREEN_BIAS                          0x0D19
-#define GL_BLUE_SCALE                          0x0D1A
-#define GL_BLUE_BIAS                           0x0D1B
-#define GL_ALPHA_SCALE                         0x0D1C
-#define GL_ALPHA_BIAS                          0x0D1D
-#define GL_DEPTH_SCALE                         0x0D1E
-#define GL_DEPTH_BIAS                          0x0D1F
-#define GL_PIXEL_MAP_S_TO_S_SIZE               0x0CB1
-#define GL_PIXEL_MAP_I_TO_I_SIZE               0x0CB0
-#define GL_PIXEL_MAP_I_TO_R_SIZE               0x0CB2
-#define GL_PIXEL_MAP_I_TO_G_SIZE               0x0CB3
-#define GL_PIXEL_MAP_I_TO_B_SIZE               0x0CB4
-#define GL_PIXEL_MAP_I_TO_A_SIZE               0x0CB5
-#define GL_PIXEL_MAP_R_TO_R_SIZE               0x0CB6
-#define GL_PIXEL_MAP_G_TO_G_SIZE               0x0CB7
-#define GL_PIXEL_MAP_B_TO_B_SIZE               0x0CB8
-#define GL_PIXEL_MAP_A_TO_A_SIZE               0x0CB9
-#define GL_PIXEL_MAP_S_TO_S                    0x0C71
-#define GL_PIXEL_MAP_I_TO_I                    0x0C70
-#define GL_PIXEL_MAP_I_TO_R                    0x0C72
-#define GL_PIXEL_MAP_I_TO_G                    0x0C73
-#define GL_PIXEL_MAP_I_TO_B                    0x0C74
-#define GL_PIXEL_MAP_I_TO_A                    0x0C75
-#define GL_PIXEL_MAP_R_TO_R                    0x0C76
-#define GL_PIXEL_MAP_G_TO_G                    0x0C77
-#define GL_PIXEL_MAP_B_TO_B                    0x0C78
-#define GL_PIXEL_MAP_A_TO_A                    0x0C79
-#define GL_PACK_ALIGNMENT                      0x0D05
-#define GL_PACK_LSB_FIRST                      0x0D01
-#define GL_PACK_ROW_LENGTH                     0x0D02
-#define GL_PACK_SKIP_PIXELS                    0x0D04
-#define GL_PACK_SKIP_ROWS                      0x0D03
-#define GL_PACK_SWAP_BYTES                     0x0D00
-#define GL_UNPACK_ALIGNMENT                    0x0CF5
-#define GL_UNPACK_LSB_FIRST                    0x0CF1
-#define GL_UNPACK_ROW_LENGTH                   0x0CF2
-#define GL_UNPACK_SKIP_PIXELS                  0x0CF4
-#define GL_UNPACK_SKIP_ROWS                    0x0CF3
-#define GL_UNPACK_SWAP_BYTES                   0x0CF0
-#define GL_ZOOM_X                              0x0D16
-#define GL_ZOOM_Y                              0x0D17
-
-/* Texture mapping */
-#define GL_TEXTURE_ENV                         0x2300
-#define GL_TEXTURE_ENV_MODE                    0x2200
-#define GL_TEXTURE_1D                          0x0DE0
-#define GL_TEXTURE_2D                          0x0DE1
-#define GL_TEXTURE_WRAP_S                      0x2802
-#define GL_TEXTURE_WRAP_T                      0x2803
-#define GL_TEXTURE_MAG_FILTER                  0x2800
-#define GL_TEXTURE_MIN_FILTER                  0x2801
-#define GL_TEXTURE_ENV_COLOR                   0x2201
-#define GL_TEXTURE_GEN_S                       0x0C60
-#define GL_TEXTURE_GEN_T                       0x0C61
-#define GL_TEXTURE_GEN_MODE                    0x2500
-#define GL_TEXTURE_BORDER_COLOR                        0x1004
-#define GL_TEXTURE_WIDTH                       0x1000
-#define GL_TEXTURE_HEIGHT                      0x1001
-#define GL_TEXTURE_BORDER                      0x1005
-#define GL_TEXTURE_COMPONENTS                  0x1003
-#define GL_TEXTURE_RED_SIZE                    0x805C
-#define GL_TEXTURE_GREEN_SIZE                  0x805D
-#define GL_TEXTURE_BLUE_SIZE                   0x805E
-#define GL_TEXTURE_ALPHA_SIZE                  0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE              0x8060
-#define GL_TEXTURE_INTENSITY_SIZE              0x8061
-#define GL_NEAREST_MIPMAP_NEAREST              0x2700
-#define GL_NEAREST_MIPMAP_LINEAR               0x2702
-#define GL_LINEAR_MIPMAP_NEAREST               0x2701
-#define GL_LINEAR_MIPMAP_LINEAR                        0x2703
-#define GL_OBJECT_LINEAR                       0x2401
-#define GL_OBJECT_PLANE                                0x2501
-#define GL_EYE_LINEAR                          0x2400
-#define GL_EYE_PLANE                           0x2502
-#define GL_SPHERE_MAP                          0x2402
-#define GL_DECAL                               0x2101
-#define GL_MODULATE                            0x2100
-#define GL_NEAREST                             0x2600
-#define GL_REPEAT                              0x2901
-#define GL_CLAMP                               0x2900
-#define GL_S                                   0x2000
-#define GL_T                                   0x2001
-#define GL_R                                   0x2002
-#define GL_Q                                   0x2003
-#define GL_TEXTURE_GEN_R                       0x0C62
-#define GL_TEXTURE_GEN_Q                       0x0C63
-
-/* Utility */
-#define GL_VENDOR                              0x1F00
-#define GL_RENDERER                            0x1F01
-#define GL_VERSION                             0x1F02
-#define GL_EXTENSIONS                          0x1F03
-
-/* Errors */
-#define GL_NO_ERROR                            0x0
-#define GL_INVALID_ENUM                                0x0500
-#define GL_INVALID_VALUE                       0x0501
-#define GL_INVALID_OPERATION                   0x0502
-#define GL_STACK_OVERFLOW                      0x0503
-#define GL_STACK_UNDERFLOW                     0x0504
-#define GL_OUT_OF_MEMORY                       0x0505
-
-/* glPush/PopAttrib bits */
-#define GL_CURRENT_BIT                         0x00000001
-#define GL_POINT_BIT                           0x00000002
-#define GL_LINE_BIT                            0x00000004
-#define GL_POLYGON_BIT                         0x00000008
-#define GL_POLYGON_STIPPLE_BIT                 0x00000010
-#define GL_PIXEL_MODE_BIT                      0x00000020
-#define GL_LIGHTING_BIT                                0x00000040
-#define GL_FOG_BIT                             0x00000080
-#define GL_DEPTH_BUFFER_BIT                    0x00000100
-#define GL_ACCUM_BUFFER_BIT                    0x00000200
-#define GL_STENCIL_BUFFER_BIT                  0x00000400
-#define GL_VIEWPORT_BIT                                0x00000800
-#define GL_TRANSFORM_BIT                       0x00001000
-#define GL_ENABLE_BIT                          0x00002000
-#define GL_COLOR_BUFFER_BIT                    0x00004000
-#define GL_HINT_BIT                            0x00008000
-#define GL_EVAL_BIT                            0x00010000
-#define GL_LIST_BIT                            0x00020000
-#define GL_TEXTURE_BIT                         0x00040000
-#define GL_SCISSOR_BIT                         0x00080000
-#define GL_ALL_ATTRIB_BITS                     0x000FFFFF
-
-
-/* OpenGL 1.1 */
-#define GL_PROXY_TEXTURE_1D                    0x8063
-#define GL_PROXY_TEXTURE_2D                    0x8064
-#define GL_TEXTURE_PRIORITY                    0x8066
-#define GL_TEXTURE_RESIDENT                    0x8067
-#define GL_TEXTURE_BINDING_1D                  0x8068
-#define GL_TEXTURE_BINDING_2D                  0x8069
-#define GL_TEXTURE_INTERNAL_FORMAT             0x1003
-#define GL_ALPHA4                              0x803B
-#define GL_ALPHA8                              0x803C
-#define GL_ALPHA12                             0x803D
-#define GL_ALPHA16                             0x803E
-#define GL_LUMINANCE4                          0x803F
-#define GL_LUMINANCE8                          0x8040
-#define GL_LUMINANCE12                         0x8041
-#define GL_LUMINANCE16                         0x8042
-#define GL_LUMINANCE4_ALPHA4                   0x8043
-#define GL_LUMINANCE6_ALPHA2                   0x8044
-#define GL_LUMINANCE8_ALPHA8                   0x8045
-#define GL_LUMINANCE12_ALPHA4                  0x8046
-#define GL_LUMINANCE12_ALPHA12                 0x8047
-#define GL_LUMINANCE16_ALPHA16                 0x8048
-#define GL_INTENSITY                           0x8049
-#define GL_INTENSITY4                          0x804A
-#define GL_INTENSITY8                          0x804B
-#define GL_INTENSITY12                         0x804C
-#define GL_INTENSITY16                         0x804D
-#define GL_R3_G3_B2                            0x2A10
-#define GL_RGB4                                        0x804F
-#define GL_RGB5                                        0x8050
-#define GL_RGB8                                        0x8051
-#define GL_RGB10                               0x8052
-#define GL_RGB12                               0x8053
-#define GL_RGB16                               0x8054
-#define GL_RGBA2                               0x8055
-#define GL_RGBA4                               0x8056
-#define GL_RGB5_A1                             0x8057
-#define GL_RGBA8                               0x8058
-#define GL_RGB10_A2                            0x8059
-#define GL_RGBA12                              0x805A
-#define GL_RGBA16                              0x805B
-#define GL_CLIENT_PIXEL_STORE_BIT              0x00000001
-#define GL_CLIENT_VERTEX_ARRAY_BIT             0x00000002
-#define GL_ALL_CLIENT_ATTRIB_BITS              0xFFFFFFFF
-#define GL_CLIENT_ALL_ATTRIB_BITS              0xFFFFFFFF
-
-
-
-/*
- * Miscellaneous
- */
-
-GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
-
-GLAPI void GLAPIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf 
blue, GLclampf alpha );
-
-GLAPI void GLAPIENTRY glClear( GLbitfield mask );
-
-GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
-
-GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean 
blue, GLboolean alpha );
-
-GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
-
-GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
-
-GLAPI void GLAPIENTRY glLogicOp( GLenum opcode );
-
-GLAPI void GLAPIENTRY glCullFace( GLenum mode );
-
-GLAPI void GLAPIENTRY glFrontFace( GLenum mode );
-
-GLAPI void GLAPIENTRY glPointSize( GLfloat size );
-
-GLAPI void GLAPIENTRY glLineWidth( GLfloat width );
-
-GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );
-
-GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
-
-GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
-
-GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
-
-GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
-
-GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
-
-GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
-
-GLAPI void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei 
height);
-
-GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
-
-GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
-
-GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );
-
-GLAPI void GLAPIENTRY glReadBuffer( GLenum mode );
-
-GLAPI void GLAPIENTRY glEnable( GLenum cap );
-
-GLAPI void GLAPIENTRY glDisable( GLenum cap );
-
-GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
-
-
-GLAPI void GLAPIENTRY glEnableClientState( GLenum cap );  /* 1.1 */
-
-GLAPI void GLAPIENTRY glDisableClientState( GLenum cap );  /* 1.1 */
-
-
-GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
-
-GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );
-
-GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );
-
-GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );
-
-
-GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );
-
-GLAPI void GLAPIENTRY glPopAttrib( void );
-
-
-GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask );  /* 1.1 */
-
-GLAPI void GLAPIENTRY glPopClientAttrib( void );  /* 1.1 */
-
-
-GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
-
-GLAPI GLenum GLAPIENTRY glGetError( void );
-
-GLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name );
-
-GLAPI void GLAPIENTRY glFinish( void );
-
-GLAPI void GLAPIENTRY glFlush( void );
-
-GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
-
-
-/*
- * Depth Buffer
- */
-
-GLAPI void GLAPIENTRY glClearDepth( GLclampd depth );
-
-GLAPI void GLAPIENTRY glDepthFunc( GLenum func );
-
-GLAPI void GLAPIENTRY glDepthMask( GLboolean flag );
-
-GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
-
-
-/*
- * Accumulation Buffer
- */
-
-GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, 
GLfloat alpha );
-
-GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
-
-
-/*
- * Transformation
- */
-
-GLAPI void GLAPIENTRY glMatrixMode( GLenum mode );
-
-GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,
-                                 GLdouble bottom, GLdouble top,
-                                 GLdouble near_val, GLdouble far_val );
-
-GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,
-                                   GLdouble bottom, GLdouble top,
-                                   GLdouble near_val, GLdouble far_val );
-
-GLAPI void GLAPIENTRY glViewport( GLint x, GLint y,
-                                    GLsizei width, GLsizei height );
-
-GLAPI void GLAPIENTRY glPushMatrix( void );
-
-GLAPI void GLAPIENTRY glPopMatrix( void );
-
-GLAPI void GLAPIENTRY glLoadIdentity( void );
-
-GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
-GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
-
-GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );
-GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );
-
-GLAPI void GLAPIENTRY glRotated( GLdouble angle,
-                                   GLdouble x, GLdouble y, GLdouble z );
-GLAPI void GLAPIENTRY glRotatef( GLfloat angle,
-                                   GLfloat x, GLfloat y, GLfloat z );
-
-GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
-
-GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
-
-
-/*
- * Display Lists
- */
-
-GLAPI GLboolean GLAPIENTRY glIsList( GLuint list );
-
-GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
-
-GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );
-
-GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );
-
-GLAPI void GLAPIENTRY glEndList( void );
-
-GLAPI void GLAPIENTRY glCallList( GLuint list );
-
-GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
-                                     const GLvoid *lists );
-
-GLAPI void GLAPIENTRY glListBase( GLuint base );
-
-
-/*
- * Drawing Functions
- */
-
-GLAPI void GLAPIENTRY glBegin( GLenum mode );
-
-GLAPI void GLAPIENTRY glEnd( void );
-
-
-GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
-GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
-GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );
-GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
-
-GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
-GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
-
-GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble 
w );
-GLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-GLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
-GLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
-
-GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glVertex2iv( const GLint *v );
-GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glVertex3iv( const GLint *v );
-GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glVertex4iv( const GLint *v );
-GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );
-
-
-GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
-GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
-GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
-GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
-GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
-
-GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );
-GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glNormal3iv( const GLint *v );
-GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );
-
-
-GLAPI void GLAPIENTRY glIndexd( GLdouble c );
-GLAPI void GLAPIENTRY glIndexf( GLfloat c );
-GLAPI void GLAPIENTRY glIndexi( GLint c );
-GLAPI void GLAPIENTRY glIndexs( GLshort c );
-GLAPI void GLAPIENTRY glIndexub( GLubyte c );  /* 1.1 */
-
-GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );
-GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );
-GLAPI void GLAPIENTRY glIndexiv( const GLint *c );
-GLAPI void GLAPIENTRY glIndexsv( const GLshort *c );
-GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c );  /* 1.1 */
-
-GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
-GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
-GLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
-GLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );
-GLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
-GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
-GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
-GLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue 
);
-
-GLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green,
-                                   GLbyte blue, GLbyte alpha );
-GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,
-                                   GLdouble blue, GLdouble alpha );
-GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,
-                                   GLfloat blue, GLfloat alpha );
-GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,
-                                   GLint blue, GLint alpha );
-GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,
-                                   GLshort blue, GLshort alpha );
-GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,
-                                    GLubyte blue, GLubyte alpha );
-GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,
-                                    GLuint blue, GLuint alpha );
-GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,
-                                    GLushort blue, GLushort alpha );
-
-
-GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );
-GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glColor3iv( const GLint *v );
-GLAPI void GLAPIENTRY glColor3sv( const GLshort *v );
-GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );
-GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );
-GLAPI void GLAPIENTRY glColor3usv( const GLushort *v );
-
-GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );
-GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glColor4iv( const GLint *v );
-GLAPI void GLAPIENTRY glColor4sv( const GLshort *v );
-GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );
-GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );
-GLAPI void GLAPIENTRY glColor4usv( const GLushort *v );
-
-
-GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );
-GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );
-GLAPI void GLAPIENTRY glTexCoord1i( GLint s );
-GLAPI void GLAPIENTRY glTexCoord1s( GLshort s );
-
-GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
-GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
-GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
-GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
-
-GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
-GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
-GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
-GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
-
-GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, 
GLdouble q );
-GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q 
);
-GLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
-GLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q 
);
-
-GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );
-GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );
-GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );
-GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );
-GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );
-
-
-GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
-GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
-GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
-GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
-
-GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
-GLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
-
-GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, 
GLdouble w );
-GLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat 
w );
-GLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
-GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort 
w );
-
-GLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );
-GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );
-GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );
-
-GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
-GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
-GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );
-GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );
-
-
-GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble 
y2 );
-GLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 
);
-GLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
-GLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 
);
-
-
-GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
-GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
-GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
-GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
-
-
-/*
- * Vertex Arrays  (1.1)
- */
-
-GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,
-                                       GLsizei stride, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,
-                                       const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,
-                                      GLsizei stride, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,
-                                      const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
-                                         GLsizei stride, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
-
-GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, GLvoid **params );
-
-GLAPI void GLAPIENTRY glArrayElement( GLint i );
-
-GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
-
-GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
-                                      GLenum type, const GLvoid *indices );
-
-GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
-                                           const GLvoid *pointer );
-
-/*
- * Lighting
- */
-
-GLAPI void GLAPIENTRY glShadeModel( GLenum mode );
-
-GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );
-GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname,
-                                 const GLfloat *params );
-GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,
-                                 const GLint *params );
-
-GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,
-                                    GLfloat *params );
-GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,
-                                    GLint *params );
-
-GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
-GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
-GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );
-
-GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
-GLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat 
*params );
-GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint 
*params );
-
-GLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat 
*params );
-GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint 
*params );
-
-GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
-
-
-/*
- * Raster functions
- */
-
-GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
-
-GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
-
-GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
-
-GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize,
-                                    const GLfloat *values );
-GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize,
-                                     const GLuint *values );
-GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize,
-                                     const GLushort *values );
-
-GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
-GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
-GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
-
-GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,
-                                GLfloat xorig, GLfloat yorig,
-                                GLfloat xmove, GLfloat ymove,
-                                const GLubyte *bitmap );
-
-GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,
-                                    GLsizei width, GLsizei height,
-                                    GLenum format, GLenum type,
-                                    GLvoid *pixels );
-
-GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,
-                                    GLenum format, GLenum type,
-                                    const GLvoid *pixels );
-
-GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
-                                    GLsizei width, GLsizei height,
-                                    GLenum type );
-
-/*
- * Stenciling
- */
-
-GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
-
-GLAPI void GLAPIENTRY glStencilMask( GLuint mask );
-
-GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
-
-GLAPI void GLAPIENTRY glClearStencil( GLint s );
-
-
-
-/*
- * Texture mapping
- */
-
-GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
-GLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
-
-GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble 
*params );
-GLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat 
*params );
-GLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint 
*params );
-
-GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble 
*params );
-GLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat 
*params );
-GLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params 
);
-
-
-GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
-GLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
-
-GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat 
*params );
-GLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint 
*params );
-
-GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat 
*params );
-GLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint 
*params );
-
-
-GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat 
param );
-GLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint 
param );
-
-GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,
-                                          const GLfloat *params );
-GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,
-                                          const GLint *params );
-
-GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,
-                                           GLenum pname, GLfloat *params);
-GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,
-                                           GLenum pname, GLint *params );
-
-GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
-                                                GLenum pname, GLfloat *params 
);
-GLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
-                                                GLenum pname, GLint *params );
-
-
-GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,
-                                    GLint internalFormat,
-                                    GLsizei width, GLint border,
-                                    GLenum format, GLenum type,
-                                    const GLvoid *pixels );
-
-GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,
-                                    GLint internalFormat,
-                                    GLsizei width, GLsizei height,
-                                    GLint border, GLenum format, GLenum type,
-                                    const GLvoid *pixels );
-
-GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
-                                     GLenum format, GLenum type,
-                                     GLvoid *pixels );
-
-
-/* 1.1 functions */
-
-GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
-
-GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
-
-GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
-
-GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,
-                                            const GLuint *textures,
-                                            const GLclampf *priorities );
-
-GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,
-                                                  const GLuint *textures,
-                                                  GLboolean *residences );
-
-GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );
-
-
-GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,
-                                       GLint xoffset,
-                                       GLsizei width, GLenum format,
-                                       GLenum type, const GLvoid *pixels );
-
-
-GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,
-                                       GLint xoffset, GLint yoffset,
-                                       GLsizei width, GLsizei height,
-                                       GLenum format, GLenum type,
-                                       const GLvoid *pixels );
-
-
-GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,
-                                        GLenum internalformat,
-                                        GLint x, GLint y,
-                                        GLsizei width, GLint border );
-
-
-GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,
-                                        GLenum internalformat,
-                                        GLint x, GLint y,
-                                        GLsizei width, GLsizei height,
-                                        GLint border );
-
-
-GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level,
-                                           GLint xoffset, GLint x, GLint y,
-                                           GLsizei width );
-
-
-GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
-                                           GLint xoffset, GLint yoffset,
-                                           GLint x, GLint y,
-                                           GLsizei width, GLsizei height );
-
-
-/*
- * Evaluators
- */
-
-GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
-                               GLint stride,
-                               GLint order, const GLdouble *points );
-GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
-                               GLint stride,
-                               GLint order, const GLfloat *points );
-
-GLAPI void GLAPIENTRY glMap2d( GLenum target,
-                    GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
-                    GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
-                    const GLdouble *points );
-GLAPI void GLAPIENTRY glMap2f( GLenum target,
-                    GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
-                    GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
-                    const GLfloat *points );
-
-GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
-GLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
-GLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
-
-GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );
-GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );
-
-GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
-GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
-
-GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
-GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
-
-GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
-GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
-
-GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
-GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
-
-GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
-                                   GLint vn, GLdouble v1, GLdouble v2 );
-GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
-                                   GLint vn, GLfloat v1, GLfloat v2 );
-
-GLAPI void GLAPIENTRY glEvalPoint1( GLint i );
-
-GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
-
-GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
-
-GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, 
GLint j2 );
-
-
-/*
- * Fog
- */
-
-GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
-
-GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );
-
-GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
-

[ *** diff truncated: 354043 lines dropped *** ]


############################################################################

Commit:      27fdeae9e1774fbf979704d753d042b135ef7202
URL:         http://cgit.haiku-os.org/haiku/commit/?id=27fdeae
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Jan  8 07:42:10 2012 UTC

Use optional package gl headers

----------------------------------------------------------------------------

############################################################################

Commit:      3e0c69a0e671f51c95284aabcc033def35369586
URL:         http://cgit.haiku-os.org/haiku/commit/?id=3e0c69a
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Tue Jan 10 05:13:19 2012 UTC

Add hacks for older gcc2 Mesa 7.8.2 support
* Call different functions depending on Mesa version
* The --no-warnings is for the GL headers which produce
  large numbers of attribute directive ignored warnings
  that cannot be disabled on gcc2

----------------------------------------------------------------------------

############################################################################

Revision:    hrev43650
Commit:      683e7cc8455332d1b70d5b6e6313cfd6c9220e19
URL:         http://cgit.haiku-os.org/haiku/commit/?id=683e7cc
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Wed Jan 11 02:54:26 2012 UTC

Merge branch 'mesabetter'

----------------------------------------------------------------------------


Other related posts: