Mesa (master): st/mesa: fix regression since a22aba4eae9b29db731487bce90e8292f7e82c72

Dave Airlie airlied at kemper.freedesktop.org
Sun Apr 24 13:08:36 PDT 2011


Module: Mesa
Branch: master
Commit: 863eecd0d892e9e7e01c6bb91f1937a450865bea
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=863eecd0d892e9e7e01c6bb91f1937a450865bea

Author: Dave Airlie <airlied at redhat.com>
Date:   Sun Apr 24 17:35:45 2011 +1000

st/mesa: fix regression since a22aba4eae9b29db731487bce90e8292f7e82c72

"st/mesa: check image size before copy_image_data_to_texture()" caused
a regression in piglit fbo-generatemipmap-formats test on all gallium drivers.

Level 0 for NPOT textures will not match minified values, so don't do this
check for level 0.

Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/mesa/state_tracker/st_cb_texture.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index ab7f6a5..a27c30e 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1843,9 +1843,9 @@ st_finalize_texture(struct gl_context *ctx,
          /* Need to import images in main memory or held in other textures.
           */
          if (stImage && stObj->pt != stImage->pt) {
-            if (stImage->base.Width == u_minify(stObj->width0, level) &&
+            if (level == 0 || (stImage->base.Width == u_minify(stObj->width0, level) &&
                 stImage->base.Height == u_minify(stObj->height0, level) &&
-                stImage->base.Depth == u_minify(stObj->depth0, level)) {
+                stImage->base.Depth == u_minify(stObj->depth0, level))) {
                /* src image fits expected dest mipmap level size */
                copy_image_data_to_texture(st, stObj, level, stImage);
             }



More information about the mesa-commit mailing list