Mesa (master): intel/isl: Fix up asserts in calc_phys_level0_extent_sa

Jason Ekstrand jekstrand at kemper.freedesktop.org
Mon Oct 3 22:42:44 UTC 2016


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Sep  1 19:52:38 2016 -0700

intel/isl: Fix up asserts in calc_phys_level0_extent_sa

The assertion that a format is uncompressed in the multisample layouts
isn't quite right.  What we really want to assert is that the format
supports multisampling which is a bit more complicated query.  We also want
to assert that it has a block size of 1x1 since we do nothing with the
block size in the phys_level0_sa assignment.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Chad Versace <chadversary at chromium.org>
Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>

---

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

diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index b6e88ad..18e94d3 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -580,7 +580,8 @@ isl_calc_phys_level0_extent_sa(const struct isl_device *dev,
       case ISL_MSAA_LAYOUT_ARRAY:
          assert(info->depth == 1);
          assert(info->levels == 1);
-         assert(!isl_format_is_compressed(info->format));
+         assert(isl_format_supports_multisampling(dev->info, info->format));
+         assert(fmtl->bw == 1 && fmtl->bh == 1);
 
          *phys_level0_sa = (struct isl_extent4d) {
             .w = info->width,
@@ -593,7 +594,8 @@ isl_calc_phys_level0_extent_sa(const struct isl_device *dev,
       case ISL_MSAA_LAYOUT_INTERLEAVED:
          assert(info->depth == 1);
          assert(info->levels == 1);
-         assert(!isl_format_is_compressed(info->format));
+         assert(isl_format_supports_multisampling(dev->info, info->format));
+         assert(fmtl->bw == 1 && fmtl->bh == 1);
 
          *phys_level0_sa = (struct isl_extent4d) {
             .w = info->width,




More information about the mesa-commit mailing list