[haiku-commits] haiku: hrev45387 - src/add-ons/opengl/swrast build/jam

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 20 Mar 2013 07:39:53 +0100 (CET)

hrev45387 adds 1 changeset to branch 'master'
old head: 3764bc554c11dda565ca2b3ac3f4c129d3db9247
new head: 5d8d472d1a6509a11b2597ce94b030bce86dd9ab
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=5d8d472+%5E3764bc5

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

5d8d472: GL: Upgrade to Mesa 9.1.1
  
  * Somefix-ups and repairs for
    changes to how Mesa works internally
  * _Flush and _Error need additional
    work as DriverCtx was removed
  * Tested working

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

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

Revision:    hrev45387
Commit:      5d8d472d1a6509a11b2597ce94b030bce86dd9ab
URL:         http://cgit.haiku-os.org/haiku/commit/?id=5d8d472
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Wed Mar 20 06:38:43 2013 UTC

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

4 files changed, 24 insertions(+), 9 deletions(-)
build/jam/BuildFeatures                          |  2 +-
.../opengl/swrast/MesaSoftwareRenderer.cpp       | 27 +++++++++++++++-----
src/add-ons/opengl/swrast/MesaSoftwareRenderer.h |  3 ++-
src/kits/opengl/GLDispatcher.cpp                 |  1 -

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

diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures
index 1148177..6f1cca6 100644
--- a/build/jam/BuildFeatures
+++ b/build/jam/BuildFeatures
@@ -344,7 +344,7 @@ if $(TARGET_ARCH) = x86 {
 if $(TARGET_ARCH) = x86 {
        local zipFile ;
        if $(HAIKU_GCC_VERSION[1]) >= 4 {
-               HAIKU_MESA_FILE = mesa-9.0.2-x86-gcc4-2013-02-17.zip ;
+               HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-03-20.zip ;
        } else {
                HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-02-17.zip ;
        }
diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp 
b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
index 0b21ff4..bfa526a 100644
--- a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
+++ b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
@@ -23,12 +23,15 @@ extern "C" {
 #include "extensions.h"
 #include "drivers/common/driverfuncs.h"
 #include "drivers/common/meta.h"
+#include "main/api_exec.h"
 #include "main/colormac.h"
 #include "main/cpuinfo.h"
 #include "main/buffers.h"
 #include "main/formats.h"
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
+#include "main/version.h"
+#include "main/vtxfmt.h"
 #include "swrast/swrast.h"
 #include "swrast/s_renderbuffer.h"
 #include "swrast_setup/swrast_setup.h"
@@ -113,8 +116,8 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        functions.Flush = _Flush;
 
        // create core context
-       fContext = _mesa_create_context(API_OPENGL, fVisual, NULL,
-               &functions, this);
+       fContext = _mesa_create_context(API_OPENGL_COMPAT, fVisual, NULL,
+               &functions);
 
        if (!fContext) {
                ERROR("%s: Failed to create Mesa context!\n", __func__);
@@ -140,6 +143,11 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        _mesa_enable_2_0_extensions(fContext);
        _mesa_enable_2_1_extensions(fContext);
 
+       _mesa_compute_version(fContext);
+
+       _mesa_initialize_dispatch_tables(fContext);
+       _mesa_initialize_vbo_vtxfmt(fContext);
+
        // create core framebuffer
        fFrameBuffer = _mesa_create_framebuffer(fVisual);
        if (fFrameBuffer == NULL) {
@@ -460,9 +468,13 @@ MesaSoftwareRenderer::_AllocateBitmap()
 void
 MesaSoftwareRenderer::_Error(gl_context* ctx)
 {
+       CALLED();
+       #if 0
+       // TODO: err. Mesa dropped DriverCtx
        MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;
        if (mr && mr->GLView())
                mr->GLView()->ErrorCallback((unsigned long)ctx->ErrorValue);
+       #endif
 }
 
 
@@ -552,13 +564,15 @@ void
 MesaSoftwareRenderer::_Flush(gl_context* ctx)
 {
        CALLED();
-       MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;
-       if ((mr->fOptions & BGL_DOUBLE) == 0) {
+       #if 0
+       // TODO: err. Mesa dropped DriverCtx
+       if ((fOptions & BGL_DOUBLE) == 0) {
                // TODO: SwapBuffers() can call _CopyToDirect(), which should
                // be always called with with the BGLView drawlocked.
                // This is not always the case if called from here.
-               mr->SwapBuffers();
+               SwapBuffers();
        }
+       #endif
 }
 
 
@@ -660,7 +674,8 @@ MesaSoftwareRenderer::_RenderBufferMap(gl_context *ctx,
 
 
 void
-MesaSoftwareRenderer::_RenderBufferDelete(struct gl_renderbuffer* rb)
+MesaSoftwareRenderer::_RenderBufferDelete(struct gl_context *ctx,
+       struct gl_renderbuffer* rb)
 {
        CALLED();
        if (rb != NULL) {
diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h 
b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
index efefad0..ba64751 100644
--- a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
+++ b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
@@ -55,7 +55,8 @@ private:
                                                                color_space 
colorSpace);
 
 /* Mesa callbacks */
-       static  void                    _RenderBufferDelete(struct 
gl_renderbuffer* rb);
+       static  void                    _RenderBufferDelete(struct gl_context 
*ctx,
+                                                               struct 
gl_renderbuffer* rb);
        static  GLboolean               _RenderBufferStorage(gl_context* ctx,
                                                                struct 
gl_renderbuffer* render,
                                                                GLenum 
internalFormat,
diff --git a/src/kits/opengl/GLDispatcher.cpp b/src/kits/opengl/GLDispatcher.cpp
index 87b3b19..b1c69d0 100644
--- a/src/kits/opengl/GLDispatcher.cpp
+++ b/src/kits/opengl/GLDispatcher.cpp
@@ -14,7 +14,6 @@ extern "C" {
 #if __GNUC__ > 2
 // New Mesa
 #include "glapi_priv.h"
-#include "glapitable.h"
 #endif
 
 


Other related posts:

  • » [haiku-commits] haiku: hrev45387 - src/add-ons/opengl/swrast build/jam - kallisti5