Issue #46 resolved

Missing "mode" values for glBlendEquation()

Anonymous created an issue

I'm generating core-3.3 headers using the following command:

LoadGen.lua -style=pointer_c -spec=gl -version=3.3 -profile=core core_3_3 -stdext=gl_ubiquitous.txt -stdext=gl_core_post_3_3.txt

The resulting header (attached) does not include the values expected by the "mode" parameter of glBlendEquation() -- specifically: GL_FUNC_ADD GL_FUNC_SUBTRACT GL_FUNC_REVERSE_SUBTRACT GL_MIN * GL_MAX

It looks like I only get them if I pull in the ARB_imaging extension. Are these values not defined by the core spec? I see them in the official man page for 3.3 on opengl.org...

Thanks, - cort

Comments (5)

  1. Jason McKesson repo owner

    Technically, GL_VERTEX_ARRAY comes from GL 4.3, not 4.0.

    Also, this is the fault of the ARB's spec files. GL_STACK_OVER/UNDERFLOW both came back in 4.3, but they are properly listed under GL 4.3. While GL_VERTEX_ARRAY is not.

    That's not to say that I won't fix it.

  2. Jason McKesson repo owner

    As for the main thrust of the bug, I did some research.

    ARB_imaging came around with 1.2. And while all of the actual definition of the ARB_imaging stuff was in the 1.2 specification, it specifically said that it was not available for use unless that extension was available. So it's defined in 1.2, but it's not really part of 1.2.

    But that's not the bug; that's just how OpenGL works.

    The bug is that in 1.4, the blend equations and constant color blend functions were made non-optional. That's when they became core OpenGL. It's just that the ARB's spec files don't note this. And their "glcorearb.h" header doesn't note it either, because that header also includes a large number of ARB extensions that pertain to core. Like ARB_imaging.

    I've filed a bug with the ARB on that, but I'll fix that too.

  3. Log in to comment