mesa: Compare formats using nominal bytes per pixel.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 10 Feb 2009 13:40:00 +0000 (13:40 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 10 Feb 2009 13:40:00 +0000 (13:40 +0000)
This is a temporary fix which works for the formats we care so far. The
real fix would be abandon the concept "nominal bytes per pixel" entirely
in Mesa, and use macropixels instead, as done in gallium interfaces
already.

src/mesa/state_tracker/st_cb_texture.c

index d08229b57a329287702d2b8ab1376d7e81e143a3..9279a768c82b4c9031c6428fd5a2d0e7f09e56e8 100644 (file)
@@ -1417,9 +1417,7 @@ st_finalize_texture(GLcontext *ctx,
           stObj->pt->width[0] != firstImage->base.Width2 ||
           stObj->pt->height[0] != firstImage->base.Height2 ||
           stObj->pt->depth[0] != firstImage->base.Depth2 ||
-          stObj->pt->block.size != cpp ||
-          stObj->pt->block.width != 1 ||
-          stObj->pt->block.height != 1 ||
+          stObj->pt->block.size/stObj->pt->block.width != cpp || /* Nominal bytes per pixel */
           stObj->pt->compressed != firstImage->base.IsCompressed) {
          pipe_texture_release(&stObj->pt);
          ctx->st->dirty.st |= ST_NEW_FRAMEBUFFER;