Mark the ARGB FBConfig as nonconforming to prevent drivers and apps from

falling over.
Add @GLX_DEFINES@ so GLcore gets compiled with TLS support if configured.
Only destroy the mesa buffer if it got initialized.
This commit is contained in:
Kristian Høgsberg 2006-03-30 20:08:44 +00:00
parent 08e319091f
commit 8ec42a10ff
14 changed files with 83 additions and 14 deletions

View File

@ -1,3 +1,14 @@
2006-03-30 Kristian Høgsberg <krh@redhat.com>
* GL/glx/glxcmds.c (__glXCreateARGBConfig): Mark the ARGB FBConfig
as nonconforming to prevent drivers and apps from falling over.
* GL/mesa/*/Makefile.am (AM_CFLAGS): Add @GLX_DEFINES@ so GLcore
gets compiled with TLS support if configured.
* GL/mesa/X/xf86glx.c (__glXMesaDrawableDestroy): Only destroy the
mesa buffer if it got initialized.
2006-03-30 Egbert Eich <eich_at_freedesktop_dot_org> 2006-03-30 Egbert Eich <eich_at_freedesktop_dot_org>
* include/colormapst.h: * include/colormapst.h:

View File

@ -1034,10 +1034,10 @@ __glXCreateARGBConfig(__GLXscreen *screen)
if (visual == NULL || visual->class != TrueColor) if (visual == NULL || visual->class != TrueColor)
return; return;
/* Stop now if we already added the mode. */
if (_gl_context_modes_find_visual (screen->modes, visual->vid)) if (_gl_context_modes_find_visual (screen->modes, visual->vid))
return; return;
/* Stop now if we already added the mode. */
modes = _gl_context_modes_create(1, sizeof(__GLcontextModes)); modes = _gl_context_modes_create(1, sizeof(__GLcontextModes));
if (modes == NULL) if (modes == NULL)
return; return;
@ -1073,6 +1073,8 @@ __glXCreateARGBConfig(__GLXscreen *screen)
modes->depthBits = 0; modes->depthBits = 0;
modes->haveStencilBuffer = FALSE; modes->haveStencilBuffer = FALSE;
modes->stencilBits = 0; modes->stencilBits = 0;
modes->visualRating = GLX_NON_CONFORMANT_CONFIG;
} }

View File

@ -18,8 +18,13 @@ INCLUDES = -I@MESA_SOURCE@/include \
# -DXFree86Server is required because the X11 driver in Mesa thinks that # -DXFree86Server is required because the X11 driver in Mesa thinks that
# symbol means "being built in the server" # symbol means "being built in the server"
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ \ AM_CFLAGS = \
-DXFree86Server $(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@ \
-DXFree86Server
libX_la_SOURCES = xf86glx.c \ libX_la_SOURCES = xf86glx.c \
xf86glx_util.c \ xf86glx_util.c \

View File

@ -101,7 +101,8 @@ __glXMesaDrawableDestroy(__GLXdrawable *base)
{ {
__GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base; __GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base;
XMesaDestroyBuffer(glxPriv->xm_buf); if (glxPriv->xm_buf != NULL)
XMesaDestroyBuffer(glxPriv->xm_buf);
xfree(glxPriv); xfree(glxPriv);
} }

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libac.la noinst_LTLIBRARIES = libac.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libglapi.la noinst_LTLIBRARIES = libglapi.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libmain.la noinst_LTLIBRARIES = libmain.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libmath.la noinst_LTLIBRARIES = libmath.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -2,7 +2,12 @@ SUBDIRS = grammar slang
noinst_LTLIBRARIES = libshader.la noinst_LTLIBRARIES = libshader.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libgrammar.la noinst_LTLIBRARIES = libgrammar.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../../X \ -I../../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libslang.la noinst_LTLIBRARIES = libslang.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../grammar \ -I../grammar \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libswrast.la noinst_LTLIBRARIES = libswrast.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libss.la noinst_LTLIBRARIES = libss.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \

View File

@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libtnl.la noinst_LTLIBRARIES = libtnl.la
AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @MODULE_DEFINES@ @LOADER_DEFINES@ AM_CFLAGS = \
$(DIX_CFLAGS) \
@SERVER_DEFINES@ \
@MODULE_DEFINES@ \
@LOADER_DEFINES@ \
@GLX_DEFINES@
INCLUDES = -I@MESA_SOURCE@/include \ INCLUDES = -I@MESA_SOURCE@/include \
-I../X \ -I../X \