/* ** Compute memory required for internal packed array of data of given type ** and format. */ GLint __glImageSize(GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLenum target) { int bytes_per_row; int components; switch( target ) { case GL_PROXY_TEXTURE_1D: case GL_PROXY_TEXTURE_2D: case GL_PROXY_TEXTURE_3D: case GL_PROXY_TEXTURE_4D_SGIS: case GL_PROXY_TEXTURE_CUBE_MAP: case GL_PROXY_TEXTURE_RECTANGLE_ARB: case GL_PROXY_HISTOGRAM: case GL_PROXY_COLOR_TABLE: case GL_PROXY_TEXTURE_COLOR_TABLE_SGI: case GL_PROXY_POST_CONVOLUTION_COLOR_TABLE: case GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE: case GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: return 0; } if (width < 0 || height < 0 || depth < 0) { return 0; } /* ** Zero is returned if either format or type are invalid. */ components = __glElementsPerGroup(format,type); if (type == GL_BITMAP) { if (format == GL_COLOR_INDEX || format == GL_STENCIL_INDEX) { bytes_per_row = (width + 7) >> 3; } else { return 0;
/* ** Compute memory required for internal packed array of data of given type ** and format. */ GLint __glImageSize(GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type) { int bytes_per_row; int components; if (width < 0 || height < 0 || depth < 0) { return 0; } /* ** Zero is returned if either format or type are invalid. */ components = __glElementsPerGroup(format,type); if (type == GL_BITMAP) { if (format == GL_COLOR_INDEX || format == GL_STENCIL_INDEX) { bytes_per_row = (width + 7) >> 3; } else { return 0;