main: assert(texImage) in ARB_DSA texture cube map functions.
authorLaura Ekstrand <laura@jlekstrand.net>
Wed, 4 Mar 2015 19:14:48 +0000 (11:14 -0800)
committerLaura Ekstrand <laura@jlekstrand.net>
Mon, 9 Mar 2015 20:33:53 +0000 (13:33 -0700)
ARB_direct_state_access functions that deal with texture cube
maps need to make sure that texture images are not NULL before operating on
them. In the following cases, the error check functions already throw an
error if texImage == NULL, so an assert can be raised instead.

v2: Review from Anuj Phogat
   - Replace redundant "if (!texImage) return;" statements with
     assert(texImage)

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/main/texgetimage.c
src/mesa/main/teximage.c

index 0287ebfcda3b064aa2880656f1f3ae9ad040e74e..9411db81614db9d6446bd955d70580c88211c8f8 100644 (file)
@@ -1101,6 +1101,8 @@ _mesa_GetTextureImage(GLuint texture, GLint level, GLenum format,
       /* Copy each face. */
       for (i = 0; i < 6; ++i) {
          texImage = texObj->Image[i][level];
+         assert(texImage);
+
          _mesa_get_texture_image(ctx, texObj, texImage, texObj->Target, level,
                                  format, type, bufSize, pixels, true);
 
@@ -1306,8 +1308,7 @@ _mesa_GetCompressedTextureImage(GLuint texture, GLint level,
       /* Copy each face. */
       for (i = 0; i < 6; ++i) {
          texImage = texObj->Image[i][level];
-         if (!texImage)
-            return;
+         assert(texImage);
 
          _mesa_get_compressed_texture_image(ctx, texObj, texImage,
                                             texObj->Target, level,
index cb1c81a44c1fffd515867313906cad89aa42401a..92e23718aeeed8f1fb4b0034994359aca3c16ce0 100644 (file)
@@ -3677,6 +3677,8 @@ texturesubimage(struct gl_context *ctx, GLuint dims,
       /* Copy in each face. */
       for (i = 0; i < 6; ++i) {
          texImage = texObj->Image[i][level];
+         assert(texImage);
+
          _mesa_texture_sub_image(ctx, 3, texObj, texImage, texObj->Target,
                                  level, xoffset, yoffset, zoffset,
                                  width, height, 1, format,
@@ -3686,8 +3688,7 @@ texturesubimage(struct gl_context *ctx, GLuint dims,
    }
    else {
       texImage = _mesa_select_tex_image(texObj, texObj->Target, level);
-      if (!texImage)
-         return;
+      assert(texImage);
 
       _mesa_texture_sub_image(ctx, dims, texObj, texImage, texObj->Target,
                               level, xoffset, yoffset, zoffset,