diff options
author | Ian Romanick <[email protected]> | 2005-01-07 02:39:09 +0000 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2005-01-07 02:39:09 +0000 |
commit | 5f1f229f8da255ca9b390da1757ad781978cf619 (patch) | |
tree | 14a550730dc7a2ceb74ef84183b518460d2e1b68 /src/glx/x11/compsize.c | |
parent | 3385d7cec3308129f6f1fc5990023417e4e4be47 (diff) |
Pixel oriented render functions are now generated by the
glX_proto_send.py script. This eliminates ~600 lines of non-generated
code. With proper compiler optimization settings, it also decreases the
size of libGL.so by about 3KB.
Diffstat (limited to 'src/glx/x11/compsize.c')
-rw-r--r-- | src/glx/x11/compsize.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/glx/x11/compsize.c b/src/glx/x11/compsize.c index 9529496b127..973b640a877 100644 --- a/src/glx/x11/compsize.c +++ b/src/glx/x11/compsize.c @@ -35,7 +35,7 @@ */ #include <GL/gl.h> -#include "size.h" +#include "indirect_size.h" /* ** Return the number of elements per group of a specified format @@ -147,14 +147,28 @@ GLint __glBytesPerElement(GLenum type) ** and format. */ GLint __glImageSize(GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLenum type) + 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_COLOR_TABLE: + case GL_PROXY_POST_CONVOLUTION_COLOR_TABLE: + case GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE: + return 0; + } + if (width < 0 || height < 0 || depth < 0) { return 0; } + /* ** Zero is returned if either format or type are invalid. */ @@ -168,5 +182,6 @@ GLint __glImageSize(GLsizei width, GLsizei height, GLsizei depth, } else { bytes_per_row = __glBytesPerElement(type) * width; } + return bytes_per_row * height * depth * components; } |