r300g: do not allocate a zmask block for 3D textures and cubemaps
authorMarek Olšák <maraeo@gmail.com>
Sun, 8 Aug 2010 16:21:53 +0000 (18:21 +0200)
committerMarek Olšák <maraeo@gmail.com>
Sun, 8 Aug 2010 20:29:00 +0000 (22:29 +0200)
src/gallium/drivers/r300/r300_hyperz.c

index 523d547ea935f2a7293677c14c55dc63240e57bf..3b0adc358464e58e4e688255ed4e10ad4aeede58 100644 (file)
@@ -338,6 +338,12 @@ void r300_zmask_alloc_block(struct r300_context *r300, struct r300_surface *surf
 
     tex = r300_texture(surf->base.texture);
 
+    /* We currently don't handle decompression for 3D textures and cubemaps
+     * correctly. */
+    if (tex->desc.b.b.target != PIPE_TEXTURE_1D &&
+        tex->desc.b.b.target != PIPE_TEXTURE_2D)
+        return;
+
     if (tex->zmask_mem[level])
         return;