[Mesa-dev] [Bug 98428] Undefined non-weak-symbol in dri-drivers

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Nov 1 13:18:38 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=98428

--- Comment #10 from Emil Velikov <emil.l.velikov at gmail.com> ---
(In reply to Kyle Brenneman from comment #9)
> > > >  - And last but not least - reuse GLVND dispatch. For this we would need to
> > > > convince Kyle that GLdisplatch.so can be accessible by vendors and it gets
> > > > some ABI stability (note the GLVND libraries in general seem ABI unstable).
> > > 
> > > We're likely to want libGLdispatch to be stable API anyway, yes. Consider
> > > this bit of discussion:
> > > 
> > > https://github.com/NVIDIA/libglvnd/pull/100#issuecomment-254588402
> > 
> > I've mentioned a similar thing [1] [2] and it seems that one "has to" go
> > through the winsys library/ies [2].
> > 
> > Even convincing to version GLdispatch.so ended up quite a process [3].
> > 
> > My personal favourite: "To clarify: libGLdispatch.so does not have an ABI." 
> > Sure it doesn't ... ;-)
> > 
> > [1] https://bugs.freedesktop.org/show_bug.cgi?id=92877#c2
> > [2] https://github.com/NVIDIA/libglvnd/pull/85
> > [3] https://github.com/NVIDIA/libglvnd/issues/59.
> 
> libGLdispatch.so doesn't have an ABI because it has no direct interface *at
> all* to applications or drivers. The entire interface is defined in
> libGLX.so and libEGL.so, including anything that passes through to
> libGLdispatch.so.
> 
libGLdispatch.so _has_ ABI - that's how libGLX.so and others use it. Sure it's
private, unstable, etc. and that's fine. It is an ABI regardless and ignoring
that won't make it disappear ;-)

> Now, providing more direct control over the dispatch tables is something
> that's come up before. This is the current version of that:
> https://github.com/NVIDIA/libglvnd/pull/89
> 
> I don't have a good enough understanding of what Mesa needs out of it to be
> sure if that's sufficient, but if that overall design looks like it would
> work, then I'd be happy to dust it off and get it updated for the current
> EGL and GLX interfaces.
As said a couple of times before (iirc Adam also said it as well) - exposing it
via the winsys is not going to work.

The DRI modules also use the dispatch (due to $reasons) and they are winsys
agnostic. If you're interested in specifics check the following:

$ git grep "\<\(CALL\|SET\)_[A-Z][a-z][a-zA-Z0-9]*"

To iterate - we _want_ to make the GLdispatch API/ABI accessible for vendors,
since everyone will benefit from it. This is something that was implicitly
mentioned on the initial design stages/proposal.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161101/88321268/attachment.html>


More information about the mesa-dev mailing list