diff options
| author | Brian <brian.paul@tungstengraphics.com> | 2008-02-11 09:33:28 -0700 | 
|---|---|---|
| committer | Brian <brian.paul@tungstengraphics.com> | 2008-02-11 09:46:49 -0700 | 
| commit | b52ce6341f877a0a1cfd3c50c07eeb1c156ae89e (patch) | |
| tree | fb353eef5215dffa5bc374745c88ae78a2fcf39b /src/mesa | |
| parent | 789f2f15e867d6ef9f635d0ab59e213b35a2960c (diff) | |
added _mesa_tex_target_to_face()
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/main/teximage.c | 20 | ||||
| -rw-r--r-- | src/mesa/main/teximage.h | 5 | 
2 files changed, 18 insertions, 7 deletions
| diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 09ec0d4553..5c96be9216 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -595,8 +595,12 @@ is_compressed_format(GLcontext *ctx, GLenum internalFormat)  } -static GLuint -texture_face(GLenum target) +/** + * For cube map faces, return a face index in [0,5]. + * For other targets return 0; + */ +GLuint +_mesa_tex_target_to_face(GLenum target)  {     if (target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB &&         target <= GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB) @@ -625,6 +629,7 @@ _mesa_set_tex_image(struct gl_texture_object *tObj,  {     ASSERT(tObj);     ASSERT(texImage); +   /* XXX simplify this with _mesa_tex_target_to_face() */     switch (target) {        case GL_TEXTURE_1D:        case GL_TEXTURE_2D: @@ -828,6 +833,7 @@ _mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj,     if (level < 0 || level >= MAX_TEXTURE_LEVELS)         return NULL; +   /* XXX simplify this with _mesa_tex_target_to_face() */     switch (target) {        case GL_TEXTURE_1D:        case GL_PROXY_TEXTURE_1D: @@ -2424,7 +2430,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,        struct gl_texture_unit *texUnit;        struct gl_texture_object *texObj;        struct gl_texture_image *texImage; -      const GLuint face = texture_face(target); +      const GLuint face = _mesa_tex_target_to_face(target);        if (texture_error_check(ctx, target, level, internalFormat,                                format, type, 1, postConvWidth, 1, 1, border)) { @@ -2527,7 +2533,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,        struct gl_texture_unit *texUnit;        struct gl_texture_object *texObj;        struct gl_texture_image *texImage; -      const GLuint face = texture_face(target); +      const GLuint face = _mesa_tex_target_to_face(target);        if (texture_error_check(ctx, target, level, internalFormat,                                format, type, 2, postConvWidth, postConvHeight, @@ -2629,7 +2635,7 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,        struct gl_texture_unit *texUnit;        struct gl_texture_object *texObj;        struct gl_texture_image *texImage; -      const GLuint face = texture_face(target); +      const GLuint face = _mesa_tex_target_to_face(target);        if (texture_error_check(ctx, target, level, (GLint) internalFormat,                                format, type, 3, width, height, depth, border)) { @@ -2897,7 +2903,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,     struct gl_texture_object *texObj;     struct gl_texture_image *texImage;     GLsizei postConvWidth = width; -   const GLuint face = texture_face(target); +   const GLuint face = _mesa_tex_target_to_face(target);     GET_CURRENT_CONTEXT(ctx);     ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); @@ -2960,7 +2966,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,     struct gl_texture_object *texObj;     struct gl_texture_image *texImage;     GLsizei postConvWidth = width, postConvHeight = height; -   const GLuint face = texture_face(target); +   const GLuint face = _mesa_tex_target_to_face(target);     GET_CURRENT_CONTEXT(ctx);     ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h index f2cad7eb2d..b718c0046d 100644 --- a/src/mesa/main/teximage.h +++ b/src/mesa/main/teximage.h @@ -107,6 +107,11 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,                           GLint width, GLint height, GLint depth, GLint border); +extern GLuint +_mesa_tex_target_to_face(GLenum target); + + +  /**   * Lock a texture for updating.  See also _mesa_lock_context_textures().   */ | 
