glx: Reject creations of indirect contexts with unsupportable versions.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
41d5120eaf
commit
4ffbc984ea
|
@ -259,6 +259,23 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
|
||||||
return __glXError(GLXBadProfileARB);
|
return __glXError(GLXBadProfileARB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* There is no GLX protocol for desktop OpenGL versions after 1.4. There
|
||||||
|
* is no GLX protocol for any version of OpenGL ES. If the application is
|
||||||
|
* requested an indirect rendering context for a version that cannot be
|
||||||
|
* satisfied, reject it.
|
||||||
|
*
|
||||||
|
* The GLX_ARB_create_context spec says:
|
||||||
|
*
|
||||||
|
* "* If <config> does not support compatible OpenGL contexts
|
||||||
|
* providing the requested API major and minor version,
|
||||||
|
* forward-compatible flag, and debug context flag, GLXBadFBConfig
|
||||||
|
* is generated."
|
||||||
|
*/
|
||||||
|
if (!req->isDirect && (major_version > 1 || minor_version > 4
|
||||||
|
|| profile == GLX_CONTEXT_ES2_PROFILE_BIT_EXT)) {
|
||||||
|
return __glXError(GLXBadFBConfig);
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocate memory for the new context
|
/* Allocate memory for the new context
|
||||||
*/
|
*/
|
||||||
if (req->isDirect) {
|
if (req->isDirect) {
|
||||||
|
|
Loading…
Reference in New Issue