Function signature description error
There is a function signature error on page 369 of https://registry.khronos.org/OpenGL/specs/gl/glspec46.core.pdf
void MultiDrawArraysIndirectCount( enum mode, const
void *indirect, intptr drawcount, intptr maxdrawcount,
sizei stride );
According to the description below: maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer, The variable maxdrawcount seems to have a sizei type.
And i found the signature of this function in glad as
#define glMultiDrawArraysIndirectCount glad_glMultiDrawArraysIndirectCount
typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
I think the type of intptr is very confusing and hard to understand
Was this ever fixed? Only thing I can find is this, but this is a while ago and the spec still seems to have this issue? https://github.com/KhronosGroup/OpenGL-API/issues/17
Was this ever fixed? Only thing I can find is this, but this is a while ago and the spec still seems to have this issue? #17
I noticed that there are many other function signatures in opengl that also use ptr as the type for size (e.g., size in glBufferData), so I thought maybe this is a convention to ensure that this variable is always byte aligned?
@oddhack WG has resolved that this is an error. Please make the following changes:
- change parameters
drawcountandmaxdrawcountto be typesizeiin the specification - change parameter
drawcountto be typesizeiin the headers