From: Marek Olšák Date: Thu, 23 Jul 2015 19:51:48 +0000 (+0200) Subject: Revert "Match swrast modes more loosely." X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a6f39ec1c568c38e7ef42d60eaf6c9ab8397af2a;p=mesa.git Revert "Match swrast modes more loosely." This reverts commit f3728a16c9c6a02fc1f44b8069b0060e2358f22e. It broke glxgears on radeonsi. The window was just black. --- diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c index 1a62ee29e7b..63c8de38c7c 100644 --- a/src/glx/dri_common.c +++ b/src/glx/dri_common.c @@ -265,36 +265,6 @@ scalarEqual(struct glx_config *mode, unsigned int attrib, unsigned int value) return GL_TRUE; /* Is a non-existing attribute equal to value? */ } -static int -scalarGreaterEqual(struct glx_config *mode, unsigned int attrib, unsigned int value) -{ - unsigned int glxValue; - int i; - - for (i = 0; i < ARRAY_SIZE(attribMap); i++) - if (attribMap[i].attrib == attrib) { - glxValue = *(unsigned int *) ((char *) mode + attribMap[i].offset); - return glxValue == GLX_DONT_CARE || glxValue >= value; - } - - return GL_TRUE; /* Is a non-existing attribute greater than or equal to value? */ -} - -static int -booleanSupported(struct glx_config *mode, unsigned int attrib, unsigned int value) -{ - unsigned int glxValue; - int i; - - for (i = 0; i < ARRAY_SIZE(attribMap); i++) - if (attribMap[i].attrib == attrib) { - glxValue = *(unsigned int *) ((char *) mode + attribMap[i].offset); - return glxValue == GLX_DONT_CARE || glxValue; - } - - return GL_TRUE; /* Is a non-existing attribute supported? */ -} - static int driConfigEqual(const __DRIcoreExtension *core, struct glx_config *config, const __DRIconfig *driConfig) @@ -343,37 +313,10 @@ driConfigEqual(const __DRIcoreExtension *core, if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT) glxValue |= GLX_TEXTURE_RECTANGLE_BIT_EXT; if (config->bindToTextureTargets != GLX_DONT_CARE && - glxValue != (config->bindToTextureTargets & glxValue)) - return GL_FALSE; - break; - - case __DRI_ATTRIB_STENCIL_SIZE: - case __DRI_ATTRIB_ACCUM_RED_SIZE: - case __DRI_ATTRIB_ACCUM_GREEN_SIZE: - case __DRI_ATTRIB_ACCUM_BLUE_SIZE: - case __DRI_ATTRIB_ACCUM_ALPHA_SIZE: - if (value != 0 && !scalarEqual(config, attrib, value)) + glxValue != config->bindToTextureTargets) return GL_FALSE; break; - case __DRI_ATTRIB_DOUBLE_BUFFER: - case __DRI_ATTRIB_BIND_TO_TEXTURE_RGB: - case __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA: - case __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE: - case __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE: - if (value && !booleanSupported(config, attrib, value)) - return GL_FALSE; - break; - - case __DRI_ATTRIB_SAMPLE_BUFFERS: - case __DRI_ATTRIB_SAMPLES: - case __DRI_ATTRIB_AUX_BUFFERS: - case __DRI_ATTRIB_MAX_PBUFFER_WIDTH: - case __DRI_ATTRIB_MAX_PBUFFER_HEIGHT: - case __DRI_ATTRIB_MAX_PBUFFER_PIXELS: - if (!scalarGreaterEqual(config, attrib, value)) - return GL_FALSE; - default: if (!scalarEqual(config, attrib, value)) return GL_FALSE;