Thank you Ian, Jose and Matt. I'll take a look at the pointers you provided. Probably would come back with some more questions.
Thanks, Shervin On Wed, Jun 10, 2015 at 3:55 PM, Ian Romanick <i...@freedesktop.org> wrote: > On 06/10/2015 03:05 PM, Shervin Sharifi wrote: > > Thanks Ian. > > If I want to implement the actual CompSize function, how should I figure > > out the details? > > The way I did it for the GLX protocol code in Mesa is to make a > glFoo_compsize function for each GL function that has a variable sized > array as input. Often these functions can be shared (e.g., the function > for glTexParameteriv and glTexParameterfv are the same). > > You have to read the docs to figure out that, for example, passing > GL_TEXTURE_BASE_LEVEL to glTexParameteriv means there's 1 value but > passing GL_TEXTURE_BORDER_COLOR means there are 4 values. I implemented > that in Mesa (many years before the current Khronos XML existed) by > having additional decorations in my XML. Each enum specifies which > functions can use it and how many values it carries. > > The Khronos XML specifies which enums can be passed to which functions > (via <group>), but it doesn't look like it has any information about how > much data goes along with it. :( > > > Thanks, > > Shervin > > > > On Wed, Jun 10, 2015 at 2:56 PM, Ian Romanick <i...@freedesktop.org > > <mailto:i...@freedesktop.org>> wrote: > > > > On 06/10/2015 11:25 AM, Shervin Sharifi 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. > > > > It's a signal to code generation scripts that the size of the data > > referenced by the "pointer" parameter depends on the values of "type" > > and "stride". For example, GLX protocol code uses this to know how > much > > image data to send to the server for glTexImage2D. > > > > > 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> > > > > > > > > > _______________________________________________ > > > mesa-dev mailing list > > > mesa-dev@lists.freedesktop.org <mailto: > mesa-dev@lists.freedesktop.org> > > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev