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' ----------------------------------------------------------------------------