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

Author: Ilia Mirkin <[email protected]>
Date:   Sun Jan 17 16:25:00 2016 -0500

st/mesa: restore the stObj's size if it was cleared out

An issue could still occur if the base level is set, but fixing that
would require a lot more logic.

This fixes the recently-failing texelFetch 3D tests because the mipmaps
were no longer being generated, which in turn caused the copying logic
to be hit, which in turn didn't work because of the broken
width/height/depth.

Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>

---

 src/mesa/state_tracker/st_cb_texture.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/mesa/state_tracker/st_cb_texture.c 
b/src/mesa/state_tracker/st_cb_texture.c
index f8b3679..0ceb370 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1670,6 +1670,12 @@ st_finalize_texture(struct gl_context *ctx,
          width = stObj->width0;
          height = stObj->height0;
          depth = stObj->depth0;
+      } else {
+         /* The width/height/depth may have been previously reset in
+          * guess_and_alloc_texture. */
+         stObj->width0 = width;
+         stObj->height0 = height;
+         stObj->depth0 = depth;
       }
       /* convert GL dims to Gallium dims */
       st_gl_texture_dims_to_pipe_dims(stObj->base.Target, width, height, depth,

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to