PDA

View Full Version : Checking for HW accelerated accum buffer



GScalise
03-25-2009, 11:25 AM
Hi!
I'm developing an OpenGL app that must run on several different systems. As I need FSAA, I opted for glAccum based antialiasing -as I can't do back to front ordering to use blending-.

The problem is.. I want to disable FSAA if the host platform's video card doesn't have an accelerated hw accum buffer, but I've found no method for checking this.

How can I check for hw-accelerated glAccum support?

Thank you!
Guido

PkK
03-25-2009, 12:06 PM
I don't know a platform-independent way to do this. On X Windows it's in the GLXFBConfig

Here's two lines from my glxinfo output, the Intel chip or driver does not support an accum buffer. As you can see the configurations with an accum buffer are marked as slow in the caveat column (the GLX_CONFIG_CAVEAT attribute). Maybe there's something similar in WGL, etc.


36 GLXFBConfigs:
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x6a 0 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
0x6b 0 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow

scratt
03-25-2009, 12:33 PM
AFAIK the Accumulation Buffer is something which is generally considered to be on it's way out... with the advent of shaders and FBOs etc. This is what I have been told when discussing it this year on various lists..

I do know that on Apple HW it's software and I have been told it won't likely ever be anything else until it disappears.

Groovounet
03-26-2009, 05:53 AM
Accumulation buffer are deprecated for a good reason: It ever has been software so there is no efficiency to get out of it.

Why not utilising hardware multisampling instead?
http://www.opengl.org/registry/specs/ARB/multisample.txt

Dark Photon
03-27-2009, 06:37 AM
Accumulation buffer...It ever has been software

This is on Apple Mac specifically, correct? IIRC, seems to be HW-accelerated just fine on Linux/NVidia.