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

Author: Ilia Mirkin <[email protected]>
Date:   Sun Aug 10 11:52:55 2014 -0400

nouveau: only try to get new storage if there are any levels

This would try to allocate 0-sized bo's when the max level was below the
base level.

Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>

---

 src/mesa/drivers/dri/nouveau/nouveau_texture.c |   23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c 
b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
index e7d5c02..4626cc3 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
@@ -345,16 +345,19 @@ relayout_texture(struct gl_context *ctx, struct 
gl_texture_object *t)
                        height = minify(height, 1);
                }
 
-               /* Get new storage. */
-               size = align(offset, 64);
-
-               ret = nouveau_bo_new(context_dev(ctx), NOUVEAU_BO_MAP |
-                                    NOUVEAU_BO_GART | NOUVEAU_BO_VRAM,
-                                    0, size, NULL, &ss[last].bo);
-               assert(!ret);
-
-               for (i = t->BaseLevel; i < last; i++)
-                       nouveau_bo_ref(ss[last].bo, &ss[i].bo);
+               if (t->BaseLevel <= last) {
+                       /* Get new storage. */
+                       size = align(offset, 64);
+                       assert(size);
+
+                       ret = nouveau_bo_new(context_dev(ctx), NOUVEAU_BO_MAP |
+                                            NOUVEAU_BO_GART | NOUVEAU_BO_VRAM,
+                                            0, size, NULL, &ss[last].bo);
+                       assert(!ret);
+
+                       for (i = t->BaseLevel; i < last; i++)
+                               nouveau_bo_ref(ss[last].bo, &ss[i].bo);
+               }
        }
 }
 

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

Reply via email to