[Mesa-dev] [PATCH 3/6] main: Remove redundant copy of cube map block comment in GetTextureImage.

Laura Ekstrand laura at jlekstrand.net
Wed Mar 4 15:44:09 PST 2015


The comment describing why ARB_direct_state_access texture cube map functions
use _mesa_cube_level_complete is very long.  To save room in the files,
readers are now referred to one central comment on texturesubimage in
teximage.c.

v2: Review from Anuj Phogat
   - Remove redundant copies of the cube map block comment
---
 src/mesa/main/texgetimage.c | 32 +++-----------------------------
 1 file changed, 3 insertions(+), 29 deletions(-)

diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index 42044dd..0287ebf 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -1088,35 +1088,9 @@ _mesa_GetTextureImage(GLuint texture, GLint level, GLenum format,
    /* Must handle special case GL_TEXTURE_CUBE_MAP. */
    if (texObj->Target == GL_TEXTURE_CUBE_MAP) {
 
-      /*
-       * What do we do if the user created a texture with the following code
-       * and then called this function with its handle?
-       *
-       *    GLuint tex;
-       *    glCreateTextures(GL_TEXTURE_CUBE_MAP, 1, &tex);
-       *    glBindTexture(GL_TEXTURE_CUBE_MAP, tex);
-       *    glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, ...);
-       *    glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, ...);
-       *    glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, ...);
-       *    // Note: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y not set, or given the
-       *    // wrong format, or given the wrong size, etc.
-       *    glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, ...);
-       *    glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, ...);
-       *
-       * A bug has been filed against the spec for this case.  In the
-       * meantime, we will check for cube completeness.
-       *
-       * According to Section 8.17 Texture Completeness in the OpenGL 4.5
-       * Core Profile spec (30.10.2014):
-       *    "[A] cube map texture is cube complete if the
-       *    following conditions all hold true: The [base level] texture
-       *    images of each of the six cube map faces have identical, positive,
-       *    and square dimensions. The [base level] images were each specified
-       *    with the same internal format."
-       *
-       * It seems reasonable to check for cube completeness of an arbitrary
-       * level here so that the returned data has a consistent format and size
-       * and therefore fits in the user's buffer.
+      /* Make sure the texture object is a proper cube.
+       * (See texturesubimage in teximage.c for details on why this check is
+       * performed.)
        */
       if (!_mesa_cube_level_complete(texObj, level)) {
          _mesa_error(ctx, GL_INVALID_OPERATION,
-- 
2.1.0



More information about the mesa-dev mailing list