Bug 92877

Summary: Add support for libglvnd
Product: Mesa Reporter: Matt Turner <mattst88>
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: anakin.cs, bugzilla, devurandom, dz1125.bug.tracker, emil.l.velikov, idr, kwizart, kyle.brenneman, legrand.cedric.01, mike, sven.koehler, tjaalton, vasyl.demin
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://lists.freedesktop.org/archives/mesa-dev/2015-September/095856.html
Whiteboard:
i915 platform: i915 features:

Description Matt Turner 2015-11-09 23:14:02 UTC
We'd like Mesa to support libglvnd. Hopefully this will allow us to get rid of our API dispatch code in Mesa.

Follow-on work (in libglvnd) includes supporting EGL and OpenGL ES and using the Khronos XML to generate the API entry points.
Comment 1 Kyle Brenneman 2016-03-08 18:24:57 UTC
The current libglvnd interface only allows a dispatch table for each vendor library. Using libglvnd's dispatching in place of Mesa's would either require changing that interface or exposing Mesa as multiple vendor libraries.

There's a bunch of other interface changes in the works, though, so if we wanted to change something else, this is a good time to do it.

I'm pretty sure I could add a function that would allow a vendor library to define a per-context dispatch table instead of just a per-vendor one. Would that be sufficient?
Comment 2 Emil Velikov 2016-03-11 23:57:26 UTC
Need to give it a bit more thought, but I'm mostly confident that per context dispatch table should be we enough. Sorry head has been busy with other stuff recently (family member health issues).

Kyle, can we please merge the three non-contentious github PR. Unless you have some comments/suggestions ? They've been around for quite some time.

Thanks
Comment 3 Kyle Brenneman 2016-04-06 21:03:44 UTC
I've written up a rough draft for allowing a vendor library to provide per-context dispatch tables:
https://github.com/NVIDIA/libglvnd/pull/85
Comment 4 Tobias Droste 2016-04-23 12:04:55 UTC
*** Bug 95079 has been marked as a duplicate of this bug. ***
Comment 5 Kyle Brenneman 2016-08-17 16:55:09 UTC
I've got a draft of a vendor library interface for EGL posted:
https://github.com/NVIDIA/libglvnd/pull/92

I still need to run it through some testing, but assuming it works, I'll have the patches ready shortly for implementing the interface in Mesa.

For the interface to work, though, bug 66552 would need to be fixed, and Mesa would need to implement the EGL_KHR_debug extension.
Comment 6 Bastien Nocera 2016-10-28 11:11:03 UTC
Mesa builds with libglvnd exist now. Is this bug fixed then?
Comment 7 Mike Lothian 2016-10-28 11:17:48 UTC
Mesa only supports glvnd for GLX, it doesn't work for anything else yet
Comment 8 Bastien Nocera 2016-10-28 11:31:55 UTC
(In reply to Mike Lothian from comment #7)
> Mesa only supports glvnd for GLX, it doesn't work for anything else yet

Noted, thanks.
Comment 9 Ernst Sjöstrand 2016-10-28 12:04:22 UTC
I don't think these patches are merged yet:
https://patchwork.freedesktop.org/series/12471/
Sounds like it's not very well tested yet...
Comment 10 Mike Lothian 2016-10-28 12:38:13 UTC
It's not documented very well either
Comment 11 Matt Turner 2017-11-26 05:10:02 UTC
Emil, we're all done here, aren't we?
Comment 12 Timothy Arceri 2018-04-23 00:36:13 UTC
Closing. We can open a new bug if needed for any further work.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.