#define __glEdgeFlagPointer_size(stride, maxIndex) __glArrayPointer_size(1, GL_BOOL, stride, maxIndex)
#define __glFogCoordPointer_size(type, stride, maxIndex) __glArrayPointer_size(1, type, stride, maxIndex)
#define __glSecondaryColorPointer_size(size, type, stride, maxIndex) __glArrayPointer_size(size, type, stride, maxIndex)
-#define __glVertexAttribPointer_size(size, type, stride, normalized, maxIndex) __glArrayPointer_size(size, type, stride, maxIndex)
+#define __glVertexAttribPointer_size(size, type, normalized, stride, maxIndex) __glArrayPointer_size(size, type, stride, maxIndex)
static inline GLuint
__glDrawArrays_maxindex(GLint first, GLsizei count)
#define __glGetIntegerv_size __glGetBooleanv_size
+#define __glGetInteger64v_size __glGetBooleanv_size
+
#define __glGetLightfv_size __glLightfv_size
#define __glGetLightiv_size __glLightfv_size
#define __glGetFramebufferAttachmentParameteriv_size __glGetFramebufferAttachmentParameterivEXT_size
static inline size_t
-__glTexImage3D_size(GLenum format, GLenum type, GLsizei width, GLsizei height, GLsizei depth, GLint border) {
- size_t num_channels;
+__gl_format_channels(GLenum format) {
switch (format) {
case GL_COLOR_INDEX:
case GL_RED:
case GL_LUMINANCE:
case GL_DEPTH_COMPONENT:
case GL_STENCIL_INDEX:
- num_channels = 1;
+ return 1;
break;
case GL_LUMINANCE_ALPHA:
- num_channels = 2;
+ return 2;
break;
case GL_RGB:
case GL_BGR:
- num_channels = 3;
+ return 3;
break;
case GL_RGBA:
case GL_BGRA:
- num_channels = 4;
+ return 4;
break;
default:
OS::DebugMessage("warning: %s: unexpected format GLenum 0x%04X\n", __FUNCTION__, format);
- num_channels = 0;
+ return 0;
break;
}
+}
+
+static inline size_t
+__glTexImage3D_size(GLenum format, GLenum type, GLsizei width, GLsizei height, GLsizei depth, GLint border) {
+ size_t num_channels = __gl_format_channels(format);
size_t bits_per_pixel;
switch (type) {