[Mesa-dev] [PATCH 02/14] isl: Stop multiplying height by block size

Jason Ekstrand jason at jlekstrand.net
Sat Jul 9 19:17:19 UTC 2016


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.
---
 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);
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list