Mesa (master): isl: Stop multiplying height by block size

Jason Ekstrand jekstrand at kemper.freedesktop.org
Wed Jul 13 18:48:04 UTC 2016


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Jul  8 14:57:19 2016 -0700

isl: Stop multiplying height by block size

The row pitch already specifies the size of a row of elements.
Multiplying by the block height simply causes us to allocate as muc as 12
times more memory than needed for compressed textures.

Reviewed-by: Chad Versace <chad.versace at intel.com>

---

 src/intel/isl/isl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index 72b681e..decba3d 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -1113,8 +1113,8 @@ isl_surf_init_s(const struct isl_device *dev,
                                phys_level0_sa.array_len, row_pitch,
                                array_pitch_el_rows);
 
-   const uint32_t total_h_sa = total_h_el * fmtl->bh;
-   const uint32_t size = row_pitch * isl_align(total_h_sa, tile_info.height);
+   const uint32_t size =
+      row_pitch * isl_align(total_h_el, tile_info.height);
 
    /* Alignment of surface base address, in bytes */
    uint32_t base_alignment = MAX(1, info->min_alignment);




More information about the mesa-commit mailing list