I'm trying to build the CVS head on my (Debian unstable) system, and I'm
running into a mismatch between the system-supplied prototype for
glCompressedTexSubImage1DARB, and the one PyOpenGL assumes. And from looking
at the prototypes, the 2D/3D versions have the same problem. The
system-supplied one come from Mesa, and the prototype is:
void glCompressedTexSubImage1DARB
(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)
(line 1709 of /usr/include/GL/glext.h, on my system.)
The prototype that is being defined in PyOpenGL (if not already defined) is:
glCompressedTexSubImage1DARB
(GLenum target, GLint level, GLint xoffset, GLenum internalformat,
GLsizei width, GLint border, GLsizei imageSize, const void *data)
(line 38 of interface/GL/ARB/texture_compression.i)
From the specification of the ARB_texture_compression extention (ARB #12)
(from line 427 of
http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_compression.txt)
the prototype actually is:
void CompressedTexSubImage1DARB(enum target, int level,
int xoffset, sizei width,
enum format, sizei imageSize,
const void *data);
This matches the Mesa prototype (and other sources I googled.) However,
CompressedTexImage1DARB (which is only missing the 'Sub' part of the
function) has the following prototype (line 412 of the spec):
void CompressedTexImage1DARB(enum target, int level,
enum internalformat, sizei width,
int border, sizei imageSize,
const void *data);
... which is the same as the prototype PyOpenGL uses, barring the
xoffset parameter. I suspect a cut&paste error, and preliminary
testing confirms this. I'll update the .i file, re-generate the wrappers and
see if it works, and upload a patch. Should I expect more of these errors ?
:-)
--
Thomas Wouters <thomas@...>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
|