diff options
author | Adam Jackson <[email protected]> | 2017-11-07 11:36:51 -0500 |
---|---|---|
committer | Adam Jackson <[email protected]> | 2017-11-09 09:35:07 -0500 |
commit | 74b701d84cd33b83c96525e70487091a05bb6ad6 (patch) | |
tree | db913c6f0ea9e8a1bc23d4a9f9dcff034144ba8c /src/glx/glxcmds.c | |
parent | ffc20606165fc0287214356089830d72a50d5d73 (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/glxcmds.c')
-rw-r--r-- | src/glx/glxcmds.c | 30 |
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 |