[Mesa-dev] [PATCH 2/2] egl: add check that eglCreateContext gets a valid config
Tapani Pälli
tapani.palli at intel.com
Thu Oct 20 15:16:19 UTC 2016
Hi;
On 10/20/2016 05:41 PM, Eric Engestrom wrote:
> On Thursday, 2016-10-20 15:34:52 +0100, Eric Engestrom wrote:
>> On Thursday, 2016-10-20 14:55:25 +0300, Tapani Pälli wrote:
>>> Fixes following dEQP test:
>>>
>>> dEQP-EGL.functional.negative_api.create_context
>>>
>>> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
>>> ---
>>> src/egl/main/eglapi.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
>>> index d8bd76d..e96999c 100644
>>> --- a/src/egl/main/eglapi.c
>>> +++ b/src/egl/main/eglapi.c
>>> @@ -733,6 +733,7 @@ eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_list,
>>> _EGL_FUNC_START(disp, EGL_OBJECT_DISPLAY_KHR, NULL, EGL_NO_CONTEXT);
>>>
>>> _EGL_CHECK_DISPLAY(disp, EGL_NO_CONTEXT, drv);
>>> + _EGL_CHECK_CONFIG(disp, conf, EGL_NO_CONTEXT, drv);
>> I'm pretty sure that prevents the use of EGL_KHR_no_config_context :)
Argh that is true, thanks for spotting this.
>>>
>>> if (!config && !disp->Extensions.KHR_no_config_context)
>>> RETURN_EGL_ERROR(disp, EGL_BAD_CONFIG, EGL_NO_CONTEXT);
>> Move the line to this `if` (ie. instead of the RETURN_EGL_ERROR here),
>> and you can have my:
>> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> Sorry, forgot to mention the `!config` bit needs to be removed...
> To be clear, I believe this is the correct fix:
Yes, this looks proper. I'll make v2 with these changes.
> ----8<----
> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
> index d8bd76d..eaaa8a2 100644
> --- a/src/egl/main/eglapi.c
> +++ b/src/egl/main/eglapi.c
> @@ -734,8 +734,8 @@ eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_list,
>
> _EGL_CHECK_DISPLAY(disp, EGL_NO_CONTEXT, drv);
>
> - if (!config && !disp->Extensions.KHR_no_config_context)
> - RETURN_EGL_ERROR(disp, EGL_BAD_CONFIG, EGL_NO_CONTEXT);
> + if (!disp->Extensions.KHR_no_config_context)
> + _EGL_CHECK_CONFIG(disp, conf, EGL_NO_CONTEXT, drv);
>
> if (!share && share_list != EGL_NO_CONTEXT)
> RETURN_EGL_ERROR(disp, EGL_BAD_CONTEXT, EGL_NO_CONTEXT);
> ---->8----
>
>
>>> --
>>> 2.7.4
More information about the mesa-dev
mailing list