[Mesa-dev] [PATCH v2] egl: add check that eglCreateContext gets a valid config
Tapani Pälli
tapani.palli at intel.com
Mon Oct 24 04:43:26 UTC 2016
On 10/21/2016 05:36 PM, Eric Engestrom wrote:
> On Thursday, 2016-10-20 19:46:19 +0100, Emil Velikov wrote:
>> On 20 October 2016 at 18:20, Tapani Pälli <tapani.palli at intel.com> wrote:
>>> Fixes following dEQP test:
>>>
>>> dEQP-EGL.functional.negative_api.create_context
>>>
>>> v2: don't break EGL_KHR_no_config_context (Eric Engestrom)
>>>
>>> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
>>> ---
>>>
>>> Eric, the check you proposed does not work as KHR_no_config_context
>>> is always there in extension list with Mesa EGL. So, solution is to
>>> validate any given config that's not EGL_NO_CONFIG_KHR (0).
>>>
>> Strictly speaking KHR_no_config_context is false for the haiku EGL
>> driver, no idea how well though :-)
>>
>>> src/egl/main/eglapi.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
>>> index d8bd76d..ca19274 100644
>>> --- a/src/egl/main/eglapi.c
>>> +++ b/src/egl/main/eglapi.c
>>> @@ -734,6 +734,9 @@ eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_list,
>>>
>>> _EGL_CHECK_DISPLAY(disp, EGL_NO_CONTEXT, drv);
>>>
>>> + if (config != EGL_NO_CONFIG_KHR)
>>> + _EGL_CHECK_CONFIG(disp, conf, EGL_NO_CONTEXT, drv);
>>> +
>>> if (!config && !disp->Extensions.KHR_no_config_context)
>>> RETURN_EGL_ERROR(disp, EGL_BAD_CONFIG, EGL_NO_CONTEXT);
>>>
>> config != EGL_NO_CONFIG_KHR vs !config reads a bit odd - can we go for
>> one or the other ?
>
> Couldn't the second `if` be turned into an `else if(!disp->Ext...`?
> I think that'd be clearer. (That said, it can be a separate patch.)
>
> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
I've changed it as 'else if', I will let EGL_NO_CONFIG_KHR to be there
as it gives a better clue what's going on than !config which seems more
like error handling than using 'configless'. Topmost patch here:
https://cgit.freedesktop.org/~tpalli/mesa/log/?h=egl_fixes
>> Regardless of which one you'd go for:
>>
>> Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
>> Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
>>
>> Thanks
>> Emil
More information about the mesa-dev
mailing list