glx: indent -br -i3 -npcs --no-tabs compsize.c

This commit is contained in:
RALOVICH, Kristóf 2008-10-13 13:12:37 +02:00 committed by Brian Paul
parent ee3a6cec36
commit f788a8ed69
1 changed files with 125 additions and 120 deletions

View File

@ -36,151 +36,156 @@
/* /*
** Return the number of elements per group of a specified format ** Return the number of elements per group of a specified format
*/ */
GLint __glElementsPerGroup(GLenum format, GLenum type) GLint
__glElementsPerGroup(GLenum format, GLenum type)
{ {
/* /*
** To make row length computation valid for image extraction, ** To make row length computation valid for image extraction,
** packed pixel types assume elements per group equals one. ** packed pixel types assume elements per group equals one.
*/ */
switch(type) { switch (type) {
case GL_UNSIGNED_BYTE_3_3_2: case GL_UNSIGNED_BYTE_3_3_2:
case GL_UNSIGNED_BYTE_2_3_3_REV: case GL_UNSIGNED_BYTE_2_3_3_REV:
case GL_UNSIGNED_SHORT_5_6_5: case GL_UNSIGNED_SHORT_5_6_5:
case GL_UNSIGNED_SHORT_5_6_5_REV: case GL_UNSIGNED_SHORT_5_6_5_REV:
case GL_UNSIGNED_SHORT_4_4_4_4: case GL_UNSIGNED_SHORT_4_4_4_4:
case GL_UNSIGNED_SHORT_4_4_4_4_REV: case GL_UNSIGNED_SHORT_4_4_4_4_REV:
case GL_UNSIGNED_SHORT_5_5_5_1: case GL_UNSIGNED_SHORT_5_5_5_1:
case GL_UNSIGNED_SHORT_1_5_5_5_REV: case GL_UNSIGNED_SHORT_1_5_5_5_REV:
case GL_UNSIGNED_SHORT_8_8_APPLE: case GL_UNSIGNED_SHORT_8_8_APPLE:
case GL_UNSIGNED_SHORT_8_8_REV_APPLE: case GL_UNSIGNED_SHORT_8_8_REV_APPLE:
case GL_UNSIGNED_SHORT_15_1_MESA: case GL_UNSIGNED_SHORT_15_1_MESA:
case GL_UNSIGNED_SHORT_1_15_REV_MESA: case GL_UNSIGNED_SHORT_1_15_REV_MESA:
case GL_UNSIGNED_INT_8_8_8_8: case GL_UNSIGNED_INT_8_8_8_8:
case GL_UNSIGNED_INT_8_8_8_8_REV: case GL_UNSIGNED_INT_8_8_8_8_REV:
case GL_UNSIGNED_INT_10_10_10_2: case GL_UNSIGNED_INT_10_10_10_2:
case GL_UNSIGNED_INT_2_10_10_10_REV: case GL_UNSIGNED_INT_2_10_10_10_REV:
case GL_UNSIGNED_INT_24_8_NV: case GL_UNSIGNED_INT_24_8_NV:
case GL_UNSIGNED_INT_24_8_MESA: case GL_UNSIGNED_INT_24_8_MESA:
case GL_UNSIGNED_INT_8_24_REV_MESA: case GL_UNSIGNED_INT_8_24_REV_MESA:
return 1; return 1;
default: default:
break; break;
} }
switch(format) { switch (format) {
case GL_RGB: case GL_RGB:
case GL_BGR: case GL_BGR:
return 3; return 3;
case GL_422_EXT: case GL_422_EXT:
case GL_422_REV_EXT: case GL_422_REV_EXT:
case GL_422_AVERAGE_EXT: case GL_422_AVERAGE_EXT:
case GL_422_REV_AVERAGE_EXT: case GL_422_REV_AVERAGE_EXT:
case GL_YCBCR_422_APPLE: case GL_YCBCR_422_APPLE:
case GL_LUMINANCE_ALPHA: case GL_LUMINANCE_ALPHA:
return 2; return 2;
case GL_RGBA: case GL_RGBA:
case GL_BGRA: case GL_BGRA:
case GL_ABGR_EXT: case GL_ABGR_EXT:
return 4; return 4;
case GL_COLOR_INDEX: case GL_COLOR_INDEX:
case GL_STENCIL_INDEX: case GL_STENCIL_INDEX:
case GL_DEPTH_COMPONENT: case GL_DEPTH_COMPONENT:
case GL_RED: case GL_RED:
case GL_GREEN: case GL_GREEN:
case GL_BLUE: case GL_BLUE:
case GL_ALPHA: case GL_ALPHA:
case GL_LUMINANCE: case GL_LUMINANCE:
case GL_INTENSITY: case GL_INTENSITY:
return 1; return 1;
default: default:
return 0; return 0;
} }
} }
/* /*
** Return the number of bytes per element, based on the element type (other ** Return the number of bytes per element, based on the element type (other
** than GL_BITMAP). ** than GL_BITMAP).
*/ */
GLint __glBytesPerElement(GLenum type) GLint
__glBytesPerElement(GLenum type)
{ {
switch(type) { switch (type) {
case GL_UNSIGNED_SHORT: case GL_UNSIGNED_SHORT:
case GL_SHORT: case GL_SHORT:
case GL_UNSIGNED_SHORT_5_6_5: case GL_UNSIGNED_SHORT_5_6_5:
case GL_UNSIGNED_SHORT_5_6_5_REV: case GL_UNSIGNED_SHORT_5_6_5_REV:
case GL_UNSIGNED_SHORT_4_4_4_4: case GL_UNSIGNED_SHORT_4_4_4_4:
case GL_UNSIGNED_SHORT_4_4_4_4_REV: case GL_UNSIGNED_SHORT_4_4_4_4_REV:
case GL_UNSIGNED_SHORT_5_5_5_1: case GL_UNSIGNED_SHORT_5_5_5_1:
case GL_UNSIGNED_SHORT_1_5_5_5_REV: case GL_UNSIGNED_SHORT_1_5_5_5_REV:
case GL_UNSIGNED_SHORT_8_8_APPLE: case GL_UNSIGNED_SHORT_8_8_APPLE:
case GL_UNSIGNED_SHORT_8_8_REV_APPLE: case GL_UNSIGNED_SHORT_8_8_REV_APPLE:
case GL_UNSIGNED_SHORT_15_1_MESA: case GL_UNSIGNED_SHORT_15_1_MESA:
case GL_UNSIGNED_SHORT_1_15_REV_MESA: case GL_UNSIGNED_SHORT_1_15_REV_MESA:
return 2; return 2;
case GL_UNSIGNED_BYTE: case GL_UNSIGNED_BYTE:
case GL_BYTE: case GL_BYTE:
case GL_UNSIGNED_BYTE_3_3_2: case GL_UNSIGNED_BYTE_3_3_2:
case GL_UNSIGNED_BYTE_2_3_3_REV: case GL_UNSIGNED_BYTE_2_3_3_REV:
return 1; return 1;
case GL_INT: case GL_INT:
case GL_UNSIGNED_INT: case GL_UNSIGNED_INT:
case GL_FLOAT: case GL_FLOAT:
case GL_UNSIGNED_INT_8_8_8_8: case GL_UNSIGNED_INT_8_8_8_8:
case GL_UNSIGNED_INT_8_8_8_8_REV: case GL_UNSIGNED_INT_8_8_8_8_REV:
case GL_UNSIGNED_INT_10_10_10_2: case GL_UNSIGNED_INT_10_10_10_2:
case GL_UNSIGNED_INT_2_10_10_10_REV: case GL_UNSIGNED_INT_2_10_10_10_REV:
case GL_UNSIGNED_INT_24_8_NV: case GL_UNSIGNED_INT_24_8_NV:
case GL_UNSIGNED_INT_24_8_MESA: case GL_UNSIGNED_INT_24_8_MESA:
case GL_UNSIGNED_INT_8_24_REV_MESA: case GL_UNSIGNED_INT_8_24_REV_MESA:
return 4; return 4;
default: default:
return 0; return 0;
} }
} }
/* /*
** Compute memory required for internal packed array of data of given type ** Compute memory required for internal packed array of data of given type
** and format. ** and format.
*/ */
GLint __glImageSize(GLsizei width, GLsizei height, GLsizei depth, GLint
GLenum format, GLenum type, GLenum target) __glImageSize(GLsizei width, GLsizei height, GLsizei depth,
GLenum format, GLenum type, GLenum target)
{ {
int bytes_per_row; int bytes_per_row;
int components; int components;
switch( target ) { switch (target) {
case GL_PROXY_TEXTURE_1D: case GL_PROXY_TEXTURE_1D:
case GL_PROXY_TEXTURE_2D: case GL_PROXY_TEXTURE_2D:
case GL_PROXY_TEXTURE_3D: case GL_PROXY_TEXTURE_3D:
case GL_PROXY_TEXTURE_4D_SGIS: case GL_PROXY_TEXTURE_4D_SGIS:
case GL_PROXY_TEXTURE_CUBE_MAP: case GL_PROXY_TEXTURE_CUBE_MAP:
case GL_PROXY_TEXTURE_RECTANGLE_ARB: case GL_PROXY_TEXTURE_RECTANGLE_ARB:
case GL_PROXY_HISTOGRAM: case GL_PROXY_HISTOGRAM:
case GL_PROXY_COLOR_TABLE: case GL_PROXY_COLOR_TABLE:
case GL_PROXY_TEXTURE_COLOR_TABLE_SGI: case GL_PROXY_TEXTURE_COLOR_TABLE_SGI:
case GL_PROXY_POST_CONVOLUTION_COLOR_TABLE: case GL_PROXY_POST_CONVOLUTION_COLOR_TABLE:
case GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE: case GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE:
case GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: case GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP:
return 0; return 0;
} }
if (width < 0 || height < 0 || depth < 0) { if (width < 0 || height < 0 || depth < 0) {
return 0; return 0;
} }
/* /*
** Zero is returned if either format or type are invalid. ** Zero is returned if either format or type are invalid.
*/ */
components = __glElementsPerGroup(format,type); components = __glElementsPerGroup(format, type);
if (type == GL_BITMAP) { if (type == GL_BITMAP) {
if (format == GL_COLOR_INDEX || format == GL_STENCIL_INDEX) { if (format == GL_COLOR_INDEX || format == GL_STENCIL_INDEX) {
bytes_per_row = (width + 7) >> 3; bytes_per_row = (width + 7) >> 3;
} else { }
return 0; else {
} return 0;
} else { }
bytes_per_row = __glBytesPerElement(type) * width; }
} else {
bytes_per_row = __glBytesPerElement(type) * width;
}
return bytes_per_row * height * depth * components; return bytes_per_row * height * depth * components;
} }