[PATCH 4/4] glx: Reject creations of indirect contexts with unsupportable versions.

Dave Airlie airlied at gmail.com
Sun Jun 10 11:13:30 PDT 2012


On Fri, Jun 8, 2012 at 9:10 PM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

Looks like a piglit test for this would be good, if there isn't one,
if there is it would be good to mention it.

but it looks fine,

Reviewed-by: Dave Airlie <airlied at redhat.com>
> ---
>  glx/createcontext.c |   17 +++++++++++++++++
>  1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/glx/createcontext.c b/glx/createcontext.c
> index 8f7dc05..4a6e1b5 100644
> --- a/glx/createcontext.c
> +++ b/glx/createcontext.c
> @@ -270,6 +270,23 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
>         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
>      */
>     if (req->isDirect) {
> --
> 1.7.6.5
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list