Inertia's picture

Problematic: Multisampling (Version13) [done!]

http://www.opengl.org/registry/specs/ARB/multisample.txt

Accepted by the attribList parameter of glXChooseVisual, and by the attrib parameter of glXGetConfig:
-
GLX_SAMPLE_BUFFERS_ARB 100000
GLX_SAMPLES_ARB 100001
-
Accepted by the piAttributes parameter of wglGetPixelFormatAttribivEXT, wglGetPixelFormatAttribfvEXT, and the piAttribIList and pfAttribIList of wglChoosePixelFormatEXT:
-
WGL_SAMPLE_BUFFERS_ARB 0x2041
WGL_SAMPLES_ARB 0x2042
-
// Important: Values are different for GLX, WGL and GL
// c&p from Version13 enum, not needed anywhere besides GetPName?
public enum MultisampleAttrib : int
{
Samples = ( (int) 0x80a9 ),
SampleBuffers = ( (int) 0x80a8 ),
}

I've found the tokens defined in OpenTK/Platform, Imho it's safe to discard the cited bits. Should be doublechecked tho. You abstracted wgl/glx so nicely away from the end user that I never touched them ;)

These are definitely correct:

        // add to BOTH enums: EnableCap AND GetPName
        Multisample = ( (int) 0x809d ),
        SampleAlphaToCoverage = ( (int) 0x809e ),
        SampleAlphaToOne = ( (int) 0x809f ),
        SampleCoverage = ( (int) 0x80a0 ),
 
        // add to Enum: AttribMask
        MultisampleBit = ( (int) 0x20000000 ),
 
        // add to Enum: GetPName
        Samples = ( (int) 0x80a9 ), 
        SampleBuffers = ( (int) 0x80a8 ),
        SampleCoverageValue = ( (int) 0x80aa ),
        SampleCoverageInvert = ( (int) 0x80ab ),