- 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