Jens Owen wrote:
> 
> Brian Paul wrote:
> >
> > Jens Owen wrote:
> > >
> > > Jens Owen wrote:
> > >
> > > > It looks like a new field was recently added to the GLXContextRec
> > > > xc/lib/GL/glx/glxclient.h:407
> > > >
> > > >         GLXDrawable currentReadable;
> >
> > I added that last summer when I was implementing the GLX_SGI_make_current_read
> > extension (glXMakeCurrentReadSGI() funcion).  Keith discovered months ago
> > that adding the new field broke backward compatibility.  I told him that he
> > could remove the field (and replace currentReadable with currentDrawable).
> 
> If I change this field (everywhere it's referenced), can you recommend a
> test or two I can run to make sure I didn't break any expected
> functionality?

That field should only be retrieved in the glXGetCurrentReadDrawable()
function.  I don't know of any demos or programs that call that function.
The notion of different "read" and "draw" drawables is only used with
the GLX_SGI_make_current_read extension which basically allows you to do
glCopyPixels from one X window into a different X window.  This feature
is also available through GLX 1.3's glXMakeContextCurrent() function.

But we don't implement GLX 1.3 yet, nor the GLX_SGI_make_current_read
extension at this time.  I had added the field in preparation of those
features, but never finished them.


> > > I've moved this field to the end of the structure and the libGL.so
> > > compatability issue appears to be fixed.
> >
> > Hmmm, that might be good enough, but I'm not 100% certain.
> 
> I'm worried that my hack of moving it to the end could possibly end up
> writing over the end of the structure allocation.  So, I'd like to try
> your suggested fix of using the currentDrawable fied.

Agreed.


> > > Wasn't this stuff recently submitted to the DRI trunk?  Maybe we can fix
> > > this incompatability if this hasn't propogated out to any major distros,
> > > yet.
> >
> > Yes, we should really fix it ASAP.
> 
> Was this part of Mesa 4?  So this wouldn't have gone out in XFree86 4.2
> or any other source releases where we care about binary compatability,
> right?

It's not a Mesa issue, it's an XFree86 libGL issue.

Just remove the field from the struct and replace any occuraces of the
field with 'currentDrawable. instead.  That'll work fine.

-Brian

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to