Bug 1210

Summary: GL contexts are sometimes not displayed with XDarwin's AGL
Product: xorg Reporter: Torrey T. Lyons <torrey>
Component: Server/DDX/XQuartzAssignee: Torrey T. Lyons <torrey>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: high CC: eich, kem
Version: git   
Hardware: PowerPC   
OS: Mac OS X (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 351    
Attachments:
Description Flags
Partial fix for AGL display problems none

Description Torrey T. Lyons 2004-08-27 11:31:48 UTC
With rootless XDarwin, when using the Cocoa implementation and the AGL GLX bundle for indirect 
accelerated GLX, some GL context are not displayed at all. The same client side code works properly 
with the CGL GLX bundle (direct or indirect) or the Mesa GLX bundle. An example is Tecplot <http://
www.tecplot.com/products/tecplot/tecplot_main.htm> whose main drawing view is always the grey 
window background color with AGL GLX. This essentially means that GLX is completely broken for some 
applications on Mac OS X 10.2 and earlier.

The indirect code in Xserver/GL/apple for AGL (aglGlx.c) and CGL (indirect.c) are very similar. The AGL 
code should be fixed up following the example of indirect.c.
Comment 1 Kevin E. Martin 2004-08-29 12:23:58 UTC
We are very close to the release.  Is this something that you could make a small
self-contained patch for?  If so, then I think we could include it.  Otherwise,
I think we might need to document it as a known issue for the release.

I will bring this up on the release wranglers call on Monday.
Comment 2 Torrey T. Lyons 2004-08-29 14:56:41 UTC
I have basically finished a completely self contained patch to aglGlx.c which fixes this issue. It just 
needs some final clean up and testing. Assuming this works out okay, I'd like approval to put this in on 
Monday since this is not code that anyone else is familiar with. It is only used on Mac OS X 10.1-10.2 in 
rootless mode. However, the value of fixing this issue is very high to those users.
Comment 3 Kevin E. Martin 2004-08-29 20:28:20 UTC
If the patch is limited to a single file, then I think it will be fine.  At this
point everything is going through the release wranglers, so I'll bring it up on
the call tomorrow and let you know.
Comment 4 Kevin E. Martin 2004-08-30 17:59:44 UTC
Unfortunately, we ran out of time before getting to this bug, but the release
has been delayed by a day or two, so there is still time.  I think that what you
are proposing is fine.  I have added Egbert to the CC list, so if he has no
objections, then I would say that you should go ahead and check in your patch to
aglGlx.c.
Comment 5 Kevin E. Martin 2004-08-31 18:08:12 UTC
Torrey, any status update on this one?
Comment 6 Torrey T. Lyons 2004-08-31 21:27:21 UTC
I had something come up today so I was not able to spend any time on this. I have a 90% correct patch 
that still has some artifacts in edge cases and I was hoping to get a 100% correct patch. I guess we 
should go with the best I have on Wednesday.
Comment 7 Kevin E. Martin 2004-09-01 10:33:50 UTC
(In reply to comment #6)
> I guess we should go with the best I have on Wednesday.

We discussed this on the release wranglers call today, and agree that whatever
you have available today and feel is best for your platform should be what we go
with.

The deadline for all patches is today by 6pm EDT.  Please attach the patch that
you want to include and I will check it in.  Thanks!
Comment 8 Torrey T. Lyons 2004-09-01 15:55:11 UTC
Created attachment 808 [details] [review]
Partial fix for AGL display problems

This fixes the most egregious problems. Unfortunately there is still an issue
with flushing updates to the display after a resize. You can manually scrape a
window (even non-X11 window) over the window after a resize to fix it. Oh well.
Comment 9 Kevin E. Martin 2004-09-01 18:38:36 UTC
I've checked in your fix and will close it since any further work will need to
be done after this release.  Another bug can be opened to block the next release
after this release goes out.

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.