diff options
author | Marek Olšák <marek.olsak@amd.com> | 2015-07-23 21:51:48 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2015-07-23 21:53:06 +0200 |
commit | a6f39ec1c568c38e7ef42d60eaf6c9ab8397af2a (patch) | |
tree | 5d791c8447315895c0ad282932f61577897f91cc /src | |
parent | d6b50ba980b733a82fefe2a0f115635a359c445f (diff) |
Revert "Match swrast modes more loosely."
This reverts commit f3728a16c9c6a02fc1f44b8069b0060e2358f22e.
It broke glxgears on radeonsi. The window was just black.
Diffstat (limited to 'src')
-rw-r--r-- | src/glx/dri_common.c | 59 |
1 files changed, 1 insertions, 58 deletions
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 @@ -266,36 +266,6 @@ scalarEqual(struct glx_config *mode, unsigned int attrib, unsigned int 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; |