summaryrefslogtreecommitdiff
path: root/src/glx
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2015-07-23 21:51:48 +0200
committerMarek Olšák <marek.olsak@amd.com>2015-07-23 21:53:06 +0200
commita6f39ec1c568c38e7ef42d60eaf6c9ab8397af2a (patch)
tree5d791c8447315895c0ad282932f61577897f91cc /src/glx
parentd6b50ba980b733a82fefe2a0f115635a359c445f (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/glx')
-rw-r--r--src/glx/dri_common.c59
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;