[Mesa-dev] [PATCH 2/2] llvmpipe: simplify buffer allocation logic.

sroland at vmware.com sroland at vmware.com
Thu Feb 21 08:22:47 PST 2013


From: Roland Scheidegger <sroland at vmware.com>

Now with buffer formats clarification don't need all that logic any longer.
(Note that it never would have worked in any case, because blockwidth and
blockheight were swapped any allocation with multi-byte format would have
had zero size.)
---
 src/gallium/drivers/llvmpipe/lp_texture.c |   12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index 1c4f1dc..d55985b 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -311,13 +311,11 @@ llvmpipe_resource_create(struct pipe_screen *_screen,
    }
    else {
       /* other data (vertex buffer, const buffer, etc) */
-      const enum pipe_format format = templat->format;
-      const uint w = templat->width0 / util_format_get_blockheight(format);
-      /* XXX buffers should only have one dimension, those values should be 1 */
-      const uint h = templat->height0 / util_format_get_blockwidth(format);
-      const uint d = templat->depth0;
-      const uint bpp = util_format_get_blocksize(format);
-      const uint bytes = w * h * d * bpp;
+      const uint bytes = templat->width0;
+      assert(util_format_get_blocksize(templat->format) == 1);
+      assert(templat->height0 == 1);
+      assert(templat->depth0 == 1);
+      assert(templat->last_level == 0);
       lpr->data = align_malloc(bytes, 16);
       if (!lpr->data)
          goto fail;
-- 
1.7.9.5



More information about the mesa-dev mailing list