egl: add EGL_EXT_device_base entrypoints

Graphics / Mesa 3D Graphics Library / Mesa - Emil Velikov [collabora.com] - 5 November 2018 20:53 EST

eglQueryDevicesEXT (unlike the other three functions) does not depend on the display. It is implemented in GLVND, which calls into each driver collecting the list of devices and presenting it to the user.

For the other entrypoints, GLVND acts as pass through stub calling into the vendor library. The vendor implementation calls back into GLVND to get the vendor dispatch. Then the driver proceeds to call itself via the said dispatch.

This design makes is possible to keep using "old" GLVND with newer
vendor drivers. Since effectively all the extension code is within the latter itself.

Without said entrypoints, any user will outright crash - as reported in the bug report.

Note: there's a follow-up fix needed to our GLVND code, to make piglit happy.

v2: add some beefy documentation in the commit message.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108635 Fixes: 7552fcb7b9b ("egl: add base EGL_EXT_device_base implementation")

2a8fefdeb0 egl: add EGL_EXT_device_base entrypoints
src/egl/generate/eglFunctionList.py | 7 +++++++
1 file changed, 7 insertions(+)

Upstream: cgit.freedesktop.org


  • Share