summaryrefslogtreecommitdiffstats
path: root/src/glx
diff options
context:
space:
mode:
authorAdam Jackson <[email protected]>2017-11-07 11:36:51 -0500
committerAdam Jackson <[email protected]>2017-11-09 09:35:07 -0500
commit74b701d84cd33b83c96525e70487091a05bb6ad6 (patch)
treedb913c6f0ea9e8a1bc23d4a9f9dcff034144ba8c /src/glx
parentffc20606165fc0287214356089830d72a50d5d73 (diff)
glx: Relax validate_renderType_against_config for EXT_no_config_context
Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
Diffstat (limited to 'src/glx')
-rw-r--r--src/glx/glxcmds.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index 10c7c2c3ebf..c707d0cedf3 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -235,19 +235,23 @@ Bool
validate_renderType_against_config(const struct glx_config *config,
int renderType)
{
- switch (renderType) {
- case GLX_RGBA_TYPE:
- return (config->renderType & GLX_RGBA_BIT) != 0;
- case GLX_COLOR_INDEX_TYPE:
- return (config->renderType & GLX_COLOR_INDEX_BIT) != 0;
- case GLX_RGBA_FLOAT_TYPE_ARB:
- return (config->renderType & GLX_RGBA_FLOAT_BIT_ARB) != 0;
- case GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT:
- return (config->renderType & GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT) != 0;
- default:
- break;
- }
- return 0;
+ /* GLX_EXT_no_config_context supports any render type */
+ if (!config)
+ return True;
+
+ switch (renderType) {
+ case GLX_RGBA_TYPE:
+ return (config->renderType & GLX_RGBA_BIT) != 0;
+ case GLX_COLOR_INDEX_TYPE:
+ return (config->renderType & GLX_COLOR_INDEX_BIT) != 0;
+ case GLX_RGBA_FLOAT_TYPE_ARB:
+ return (config->renderType & GLX_RGBA_FLOAT_BIT_ARB) != 0;
+ case GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT:
+ return (config->renderType & GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT) != 0;
+ default:
+ break;
+ }
+ return 0;
}
_X_HIDDEN Bool