gallium: fix glTexImage(width=height=depth=0) case
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 16 Sep 2008 17:59:24 +0000 (11:59 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 16 Sep 2008 19:38:10 +0000 (13:38 -0600)
Free old teximage/level data, then stop.

src/mesa/state_tracker/st_cb_texture.c

index a3e8fc992d9f6b8e6b4d6f562118b0bd43f14f11..2ba3766939562b0b456d3386a3c7304674681c74 100644 (file)
@@ -455,6 +455,11 @@ st_TexImage(GLcontext * ctx,
       _mesa_align_free(texImage->Data);
    }
 
+   if (width == 0 || height == 0 || depth == 0) {
+      /* stop after freeing old image */
+      return;
+   }
+
    /* If this is the only mipmap level in the texture, could call
     * bmBufferData with NULL data to free the old block and avoid
     * waiting on any outstanding fences.