Ticket #308 (closed usability: fixed)
No more 16bit accumulation buffer visuals available
| Reported by: | mkeil@… | Owned by: | jeremyhu@… |
|---|---|---|---|
| Priority: | Important | Milestone: | 2.5.0 |
| Component: | xserver | Version: | 2.4.0 (xserver-1.5.3-apple14) |
| Keywords: | visual capabilities accumulation buffer | Cc: |
Description
Using 2.4.0 glxinfo (and our own application) is not able to access visuals with 16bit accumulation buffers, only 8bit buffers are available which are useless for accumulation purposes with 8bit color buffers.
Searching in the source tree revealed that this might have been caused by a change in hw/xquartz/GL/capabilities.c on 11/6/2008, when access to all buffers with more than 8bit was disabled. I think this is correct todo for color buffers but not for accumulation buffers.
Can the function handleColorAndAccumulation() be split in two. One for color buffers and one for Accumulation buffers so that the 16bit accumulation buffers can be accessed and hence OpenGL applications which rely on the accumulation buffer work again?
Thanks
Matthias
Attachments
Change History
comment:1 follow-up: ↓ 2 Changed 4 years ago by jeremyhu@…
- Priority changed from critical to major
- Status changed from new to assigned
- Milestone set to 2.4.1
comment:2 in reply to: ↑ 1 Changed 4 years ago by mkeil@…
Here are the results from the delta script:
XQuartz 2.4.0 (xorg-server 1.4.2-apple19); glxinfo reports 16bit accum buffers; our application works XQuartz 2.4.0 (xorg-server 1.4.2-apple20); glxinfo reports 16bit accum buffers; our application works XQuartz 2.4.0 (xorg-server 1.4.2-apple21); glxinfo reports 16bit accum buffers; our application does not start XQuartz 2.4.0 (xorg-server 1.4.2-apple22); X11 does not start; glxinfo does not report anything; machine reboots XQuartz 2.4.0 (xorg-server 1.4.2-apple23); glxinfo reports only 8bit accum buffers XQuartz 2.4.0 (xorg-server 1.4.2-apple25); glxinfo reports only 8bit accum buffers XQuartz 2.4.0 (xorg-server 1.4.2-apple32); glxinfo reports only 8bit accum buffers
So it looks like the 16bit accum buffers vanished with apple22, even though apple21 has other issues with visuals, which prevent our application to pick a working GL visual. I attached the glxinfo output from 19, 20, 21, and 23.
Do you still need us testing 2.3.2 and 2.3.3.2?
Thanks
Matthias
comment:3 Changed 4 years ago by mkeil@…
messed up a bit the formatting of the delta info. So again:
XQuartz 2.4.0 (xorg-server 1.4.2-apple19):
glxinfo reports 16bit accum buffers
our application works
XQuartz 2.4.0 (xorg-server 1.4.2-apple20):
glxinfo reports 16bit accum buffers
our application works
XQuartz 2.4.0 (xorg-server 1.4.2-apple21):
glxinfo reports 16bit accum buffers
our application does not start
XQuartz 2.4.0 (xorg-server 1.4.2-apple22):
X11 does not start
glxinfo does not report anything
machine reboots
XQuartz 2.4.0 (xorg-server 1.4.2-apple23):
glxinfo reports only 8bit accum buffers
XQuartz 2.4.0 (xorg-server 1.4.2-apple25):
glxinfo reports only 8bit accum buffers
XQuartz 2.4.0 (xorg-server 1.4.2-apple32):
glxinfo reports only 8bit accum buffers
comment:4 Changed 4 years ago by jeremyhu@…
Thanks. You don't need to test with 2.3.2 or 2.3.3 ... I was just wondering if you were reporting a regression with 2.4.0, but it looks like this issue is not new to 2.4.0. It was indeed a problem going back to 2.3.2.
Here are all the changes to capabilities.c:
http://cgit.freedesktop.org/xorg/xserver/log/hw/xquartz/GL/capabilities.c?id=xorg-server-1.4-apple
- 10-22 was 1.4.2-apple20
- 10-26 was 1.4.2-apple21
- 11-09 was 1.4.2-apple22
My guess is you're referring to the commit corresponding to this entry:
GL/capabilities.c: #if 0 (for now) any capabilities above 8 bits per channel, because they introduce drawing problems.
That was added by George, who is no longer working on this project... I'm not entirely sure what "drawing problems" he was referring to, so I'm going to need to look into it a bit more.
Can you try the attached patch to see if it at least works for you.
comment:5 Changed 4 years ago by mkeil@…
Currently I do not have a Leopard machine available, on which i can install the XQuartz development environment. One of my colleagues did all the testing for me on his Leopard machine (and also discovered the problem in the first place). If you can compile a binary, i can ask him to test it thoroughly.
Thanks
comment:6 Changed 4 years ago by jeremyhu@…
- Status changed from assigned to closed
- Resolution set to fixed
http://cgit.freedesktop.org/xorg/xserver/commit/?id=33bf9cb69dccbb6889b2f83e6db61f40dc644e17
I see them listed. Can you please verify with 2.4.1_alpha2 when it's out?

If it's the 11/6/2008 change, then that was present in 2.3.2 and 2.3.3.2 ... did those versions work for you?
Please provide glxinfo and the version from X11->about for the working server.
Also, please try using this script to find the version delta that breaks it for you:
http://xquartz.macosforge.org/trac/browser/trunk/find_version_delta.sh?format=txt
you should edit it to change to HI=47 ... just install 2.4.0, and run the script in Terminal.app. It will download new server versions to try until it finds the version change that causes the problems for you.