egl/glvnd: correctly report errors when vendor cannot be found
authorEmil Velikov <emil.velikov@collabora.com>
Fri, 2 Nov 2018 18:34:19 +0000 (18:34 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 5 Nov 2018 20:53:05 +0000 (20:53 +0000)
commitb3ade6538798ad9bf397d8b386eab3dd8af57f3d
tree8bf21ec9812a33e743531313dae0746ffec8c4c2
parent2a8fefdeb0f4e259cc01e32dae40bc2f3063f5e0
egl/glvnd: correctly report errors when vendor cannot be found

If the user provides an invalid display or device the ToVendor lookup
will fail.

In this case, the local [Mesa vendor] error code will be set. Thus on
sequential eglGetError(), the error will be EGL_SUCCESS.

To be more specific, GLVND remembers the last vendor and calls back
into it's eglGetError, although there's no guarantee to ever have had
one.

v2:
 - Add _eglError call, so the debug callback is executed (Kyle)
 - Drop XXX comment.

Piglit: tests/egl/spec/egl_ext_device_query
Fixes: ce562f9e3fa ("EGL: Implement the libglvnd interface for EGL (v3)")
Cc: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Kyle Brenneman <kbrenneman@nvidia.com>
src/egl/main/egldispatchstubs.c