[Mesa-dev] [PATCH] egl: Ensure ResetNotificationStrategy matches for shared contexts.

Eric Engestrom eric.engestrom at imgtec.com
Wed Mar 1 11:28:22 UTC 2017


On Tuesday, 2017-02-28 17:55:41 -0800, Kenneth Graunke wrote:
> Fixes:
> dEQP-EGL.functional.robustness.negative_context.invalid_robust_shared_context_creation
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

> ---
>  src/egl/drivers/dri2/egl_dri2.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
> index 94b7c201707..4bab6f1c5e2 100644
> --- a/src/egl/drivers/dri2/egl_dri2.c
> +++ b/src/egl/drivers/dri2/egl_dri2.c
> @@ -1102,6 +1102,20 @@ dri2_create_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
>     if (!_eglInitContext(&dri2_ctx->base, disp, conf, attrib_list))
>        goto cleanup;
>  
> +   /* The EGL_EXT_create_context_robustness spec says:
> +    *
> +    *    "Add to the eglCreateContext context creation errors: [...]
> +    *
> +    *     * If the reset notification behavior of <share_context> and the
> +    *       newly created context are different then an EGL_BAD_MATCH error is
> +    *       generated."
> +    */
> +   if (share_list && share_list->ResetNotificationStrategy !=
> +                     dri2_ctx->base.ResetNotificationStrategy) {
> +      _eglError(EGL_BAD_MATCH, "eglCreateContext");
> +      goto cleanup;
> +   }
> +
>     switch (dri2_ctx->base.ClientAPI) {
>     case EGL_OPENGL_ES_API:
>        switch (dri2_ctx->base.ClientMajorVersion) {
> -- 
> 2.11.1
> 


More information about the mesa-dev mailing list