[Mesa-dev] COMPSIZE function in OpenGL XML registry

Matt Turner mattst88 at gmail.com
Wed Jun 10 11:44:56 PDT 2015

On Wed, Jun 10, 2015 at 11:25 AM, Shervin Sharifi <shervin0 at gmail.com> wrote:
> Hi,
>  This may not be the right forum to ask this, but I didn't know of a better
> forum, so I thought I can ask here.
>  I'm new to OpenGL. I am looking at XML registry for OpenGL and there are
> some parameters with attributes containing a function COMPSIZE (I've pasted
> an example below).
>  I tried to find information on what the COMPSIZE function is, where/how it
> is used, etc, but couldn't find documentation or credible information on the
> Internet.
>  Any information or pointer to that would be really helpful.
>  Thanks,
>     Shervin
> This example is from gl.xml in the OpenGL registry:
>         <command>
>             <proto>void <name>glBinormalPointerEXT</name></proto>
>             <param group="BinormalPointerTypeEXT"><ptype>GLenum</ptype>
> <name>type</name></param>
>             <param><ptype>GLsizei</ptype> <name>stride</name></param>
>             <param len="COMPSIZE(type,stride)">const void
> *<name>pointer</name></param>
>         </command>

I'm just speculating, but I don't think there's really a definition of
COMPSIZE or anything. I think it's just a way of saying that, for
instance, the size of the memory pointed by the "pointer" parameter to
glBinormalPointerEXT is a function of the "type" and "stride"

Other functions, like glBitmap have similar things:

            <param len="COMPSIZE(width,height)">const
<ptype>GLubyte</ptype> *<name>bitmap</name></param>

That is, the size of the block of memory pointed to by "bitmap" is
described by the "width" and "height" parameters.

More information about the mesa-dev mailing list