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.
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?
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.
I've written up a rough draft for allowing a vendor library to provide per-context dispatch tables:
*** Bug 95079 has been marked as a duplicate of this bug. ***
I've got a draft of a vendor library interface for EGL posted:
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.
Mesa builds with libglvnd exist now. Is this bug fixed then?
Mesa only supports glvnd for GLX, it doesn't work for anything else yet
(In reply to Mike Lothian from comment #7)
> Mesa only supports glvnd for GLX, it doesn't work for anything else yet
I don't think these patches are merged yet:
Sounds like it's not very well tested yet...
It's not documented very well either
Emil, we're all done here, aren't we?
Closing. We can open a new bug if needed for any further work.