- mesa-7.1-visual-crash.patch: Fix a segfault if DRI unavailable.
- mesa-7.1-fbconfig-fix.patch: Fix fbconfig comparisons.
This commit is contained in:
parent
730bf4911d
commit
b978becd89
12
mesa-7.1-dri2.patch
Normal file
12
mesa-7.1-dri2.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up mesa-20080331/src/glx/x11/dri2.c.jx mesa-20080331/src/glx/x11/dri2.c
|
||||
--- mesa-20080331/src/glx/x11/dri2.c.jx 2008-03-31 16:58:48.000000000 -0400
|
||||
+++ mesa-20080331/src/glx/x11/dri2.c 2008-04-09 10:15:59.000000000 -0400
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <X11/extensions/extutil.h>
|
||||
#include "glheader.h"
|
||||
#include "xf86drm.h"
|
||||
-#include "dri2proto.h"
|
||||
+#include <X11/extensions/dri2proto.h>
|
||||
#include "dri2.h"
|
||||
|
||||
static char dri2ExtensionName[] = DRI2_NAME;
|
52
mesa-7.1-fbconfig-fix.patch
Normal file
52
mesa-7.1-fbconfig-fix.patch
Normal file
@ -0,0 +1,52 @@
|
||||
From 2771862adcbc163c0a3f3eaaf4b58c658e72f680 Mon Sep 17 00:00:00 2001
|
||||
From: Jie Luo <clotho67@gmail.com>
|
||||
Date: Tue, 08 Apr 2008 23:17:06 +0000
|
||||
Subject: Handle fbconfig comparison correctly for attributes the X server didn't send.
|
||||
|
||||
---
|
||||
diff --git a/src/glx/x11/dri_glx.c b/src/glx/x11/dri_glx.c
|
||||
index fd10047..70873c2 100644
|
||||
--- a/src/glx/x11/dri_glx.c
|
||||
+++ b/src/glx/x11/dri_glx.c
|
||||
@@ -520,13 +520,13 @@ static const struct { unsigned int attrib, offset; } attribMap[] = {
|
||||
static int
|
||||
scalarEqual(__GLcontextModes *mode, unsigned int attrib, unsigned int value)
|
||||
{
|
||||
- unsigned int driValue;
|
||||
+ unsigned int glxValue;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(attribMap); i++)
|
||||
if (attribMap[i].attrib == attrib) {
|
||||
- driValue = *(unsigned int *) ((char *) mode + attribMap[i].offset);
|
||||
- return driValue == value;
|
||||
+ glxValue = *(unsigned int *) ((char *) mode + attribMap[i].offset);
|
||||
+ return glxValue == GLX_DONT_CARE || glxValue == value;
|
||||
}
|
||||
|
||||
return GL_TRUE; /* Is a non-existing attribute equal to value? */
|
||||
@@ -572,7 +572,8 @@ driConfigEqual(const __DRIcoreExtension *core,
|
||||
glxValue |= GLX_TEXTURE_2D_BIT_EXT;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT)
|
||||
glxValue |= GLX_TEXTURE_RECTANGLE_BIT_EXT;
|
||||
- if (glxValue != modes->bindToTextureTargets)
|
||||
+ if (modes->bindToTextureTargets != GLX_DONT_CARE &&
|
||||
+ glxValue != modes->bindToTextureTargets)
|
||||
return GL_FALSE;
|
||||
break;
|
||||
|
||||
diff --git a/src/glx/x11/glcontextmodes.c b/src/glx/x11/glcontextmodes.c
|
||||
index 58c548a..2a8e48d 100644
|
||||
--- a/src/glx/x11/glcontextmodes.c
|
||||
+++ b/src/glx/x11/glcontextmodes.c
|
||||
@@ -415,7 +415,7 @@ _gl_context_modes_create( unsigned count, size_t minimum_size )
|
||||
(*next)->bindToTextureRgb = GLX_DONT_CARE;
|
||||
(*next)->bindToTextureRgba = GLX_DONT_CARE;
|
||||
(*next)->bindToMipmapTexture = GLX_DONT_CARE;
|
||||
- (*next)->bindToTextureTargets = 0;
|
||||
+ (*next)->bindToTextureTargets = GLX_DONT_CARE;
|
||||
(*next)->yInverted = GLX_DONT_CARE;
|
||||
|
||||
next = & ((*next)->next);
|
||||
--
|
||||
cgit v0.7.2-37-g538c
|
51
mesa-7.1-visual-crash.patch
Normal file
51
mesa-7.1-visual-crash.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From c016f329abb3d638442bf0b0f27d8f34ebf54f86 Mon Sep 17 00:00:00 2001
|
||||
From: Kristian Høgsberg <krh@redhat.com>
|
||||
Date: Tue, 08 Apr 2008 22:26:24 +0000
|
||||
Subject: Only convert configs if screen creation was successful.
|
||||
|
||||
Thanks to Adam Jackson for pointing it out.
|
||||
---
|
||||
diff --git a/progs/demos/Makefile b/progs/demos/Makefile
|
||||
index 456bd4a..01b76ad 100644
|
||||
--- a/progs/demos/Makefile
|
||||
+++ b/progs/demos/Makefile
|
||||
@@ -13,7 +13,7 @@ OSMESA32_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa32 -lGLU -lGL $(APP_LIB_DEPS)
|
||||
|
||||
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
|
||||
|
||||
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
|
||||
+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) -lX11 -lXi -lXmu
|
||||
|
||||
PROGS = \
|
||||
arbfplight \
|
||||
diff --git a/src/glx/x11/dri_glx.c b/src/glx/x11/dri_glx.c
|
||||
index 004af0b..fd10047 100644
|
||||
--- a/src/glx/x11/dri_glx.c
|
||||
+++ b/src/glx/x11/dri_glx.c
|
||||
@@ -786,14 +786,16 @@ CallCreateNewScreen(Display *dpy, int scrn, __GLXscreenConfigs *psc,
|
||||
& driver_configs,
|
||||
psc);
|
||||
|
||||
- psc->configs =
|
||||
- driConvertConfigs(psc->core,
|
||||
- psc->configs,
|
||||
- driver_configs);
|
||||
- psc->visuals =
|
||||
- driConvertConfigs(psc->core,
|
||||
- psc->visuals,
|
||||
- driver_configs);
|
||||
+ if (psp) {
|
||||
+ psc->configs =
|
||||
+ driConvertConfigs(psc->core,
|
||||
+ psc->configs,
|
||||
+ driver_configs);
|
||||
+ psc->visuals =
|
||||
+ driConvertConfigs(psc->core,
|
||||
+ psc->visuals,
|
||||
+ driver_configs);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
cgit v0.7.2-37-g538c
|
Loading…
Reference in New Issue
Block a user