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
This commit is contained in:
parent
3764bc554c
commit
5d8d472d1a
|
@ -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 ;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -14,7 +14,6 @@ extern "C" {
|
|||
#if __GNUC__ > 2
|
||||
// New Mesa
|
||||
#include "glapi_priv.h"
|
||||
#include "glapitable.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue