st/mesa: restore original last_layer comparison
authorBrian Paul <brianp@vmware.com>
Mon, 3 May 2010 19:04:29 +0000 (13:04 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 3 May 2010 19:10:27 +0000 (13:10 -0600)
Commit e648d4a1d1c0c5f70916e38366b863f0bec79a62 changed the original
less-than test to a not-equal test.  This was an effort to save some
memory by switching the texture layout to a non-mipmapped layout when
we mis-guessed about the original layout (thus saving some memory).

However, this causes us to hit a new (apparently broken) code path
when copying the old texture's data to the new texture.  Simply
undo this change for the time being until the other/new bug is fixed.

Fixes fd.o bug 27933.

src/mesa/state_tracker/st_cb_texture.c

index 7e2e533..fd801a3 100644 (file)
@@ -1888,7 +1888,7 @@ st_finalize_texture(GLcontext *ctx,
    if (stObj->pt) {
       if (stObj->pt->target != gl_target_to_pipe(stObj->base.Target) ||
           stObj->pt->format != firstImageFormat ||
-          stObj->pt->last_level != stObj->lastLevel ||
+          stObj->pt->last_level < stObj->lastLevel ||
           stObj->pt->width0 != stObj->width0 ||
           stObj->pt->height0 != stObj->height0 ||
           stObj->pt->depth0 != stObj->depth0)