<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Undefined non-weak-symbol in dri-drivers"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98428#c10">Comment # 10</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Undefined non-weak-symbol in dri-drivers"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98428">bug 98428</a>
from <span class="vcard"><a class="email" href="mailto:emil.l.velikov@gmail.com" title="Emil Velikov <emil.l.velikov@gmail.com>"> <span class="fn">Emil Velikov</span></a>
</span></b>
<pre>(In reply to Kyle Brenneman from <a href="show_bug.cgi?id=98428#c9">comment #9</a>)
<span class="quote">> > > > - 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:
> > >
> > > <a href="https://github.com/NVIDIA/libglvnd/pull/100#issuecomment-254588402">https://github.com/NVIDIA/libglvnd/pull/100#issuecomment-254588402</a>
> >
> > 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] <a class="bz_bug_link
bz_status_NEW "
title="NEW - Add support for libglvnd"
href="show_bug.cgi?id=92877#c2">https://bugs.freedesktop.org/show_bug.cgi?id=92877#c2</a>
> > [2] <a href="https://github.com/NVIDIA/libglvnd/pull/85">https://github.com/NVIDIA/libglvnd/pull/85</a>
> > [3] <a href="https://github.com/NVIDIA/libglvnd/issues/59">https://github.com/NVIDIA/libglvnd/issues/59</a>.
>
> 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.
> </span >
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 ;-)
<span class="quote">> Now, providing more direct control over the dispatch tables is something
> that's come up before. This is the current version of that:
> <a href="https://github.com/NVIDIA/libglvnd/pull/89">https://github.com/NVIDIA/libglvnd/pull/89</a>
>
> 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.</span >
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.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>