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

Author: Roland Scheidegger <[email protected]>
Date:   Tue Jul  1 17:06:48 2014 +0200

llvmpipe: allocate regular texture memory upfront

The deferred allocation doesn't really make much sense anymore, since we no
longer allocate swizzled/linear memory in chunks and not per level / slice
neither.
This means we could fail resource creation a bit more (could already fail in
theory anyway) but should not fail maps later (right now, callers can't deal
with neither really).

Reviewed-by: Brian Paul <[email protected]>

---

 src/gallium/drivers/llvmpipe/lp_texture.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c 
b/src/gallium/drivers/llvmpipe/lp_texture.c
index a156449..f95b2a2 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -59,6 +59,8 @@ static struct llvmpipe_resource resource_list;
 #endif
 static unsigned id_counter = 0;
 
+static void
+alloc_image_data(struct llvmpipe_resource *lpr);
 
 /**
  * Conventional allocation path for non-display textures:
@@ -247,6 +249,11 @@ llvmpipe_resource_create(struct pipe_screen *_screen,
          /* texture map */
          if (!llvmpipe_texture_layout(screen, lpr))
             goto fail;
+
+         alloc_image_data(lpr);
+         if (!lpr->tex_data) {
+            goto fail;
+         }
       }
    }
    else {

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

Reply via email to