[Mesa-dev] [PATCH] isl: Fix the bs assertion in isl_tiling_get_info

Jason Ekstrand jason at jlekstrand.net
Wed Jul 13 23:09:30 UTC 2016


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

diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index 2003e2a..9e01b8d 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -113,21 +113,23 @@ isl_tiling_get_info(const struct isl_device *dev,
    const uint32_t bs = format_bpb / 8;
    struct isl_extent2d logical_el, phys_B;
 
-   assert(bs > 0);
-   assert(tiling == ISL_TILING_LINEAR || isl_is_pow2(bs));
+   assert(tiling == ISL_TILING_LINEAR || isl_is_pow2(format_bpb));
 
    switch (tiling) {
    case ISL_TILING_LINEAR:
+      assert(bs > 0);
       logical_el = isl_extent2d(1, 1);
       phys_B = isl_extent2d(bs, 1);
       break;
 
    case ISL_TILING_X:
+      assert(bs > 0);
       logical_el = isl_extent2d(512 / bs, 8);
       phys_B = isl_extent2d(512, 8);
       break;
 
    case ISL_TILING_Y0:
+      assert(bs > 0);
       logical_el = isl_extent2d(128 / bs, 32);
       phys_B = isl_extent2d(128, 32);
       break;
@@ -159,6 +161,7 @@ isl_tiling_get_info(const struct isl_device *dev,
 
       bool is_Ys = tiling == ISL_TILING_Ys;
 
+      assert(bs > 0);
       unsigned width = 1 << (6 + (ffs(bs) / 2) + (2 * is_Ys));
       unsigned height = 1 << (6 - (ffs(bs) / 2) + (2 * is_Ys));
 
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list