The one I actually wanted to Cc you on :)

On 20/08/16 00:44, Lionel Landwerlin wrote:
A few inline asserts in anv assume alignments are power of 2, but with
formats like R8G8B8 we have odd alignments.

Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
---
  src/intel/isl/isl.c      | 1 +
  src/intel/isl/isl_priv.h | 6 ++++++
  2 files changed, 7 insertions(+)

diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index 18e95e2..dfe0fc1 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -1182,6 +1182,7 @@ isl_surf_init_s(const struct isl_device *dev,
              base_alignment = MAX(base_alignment, fmtl->bpb / 8);
           }
        }
+      base_alignment = isl_round_to_power_of_two(base_alignment);
     } else {
        assert(phys_slice0_sa.w % fmtl->bw == 0);
        const uint32_t total_w_el = phys_slice0_sa.width / fmtl->bw;
diff --git a/src/intel/isl/isl_priv.h b/src/intel/isl/isl_priv.h
index 3a7af1a..cc9991c 100644
--- a/src/intel/isl/isl_priv.h
+++ b/src/intel/isl/isl_priv.h
@@ -99,6 +99,12 @@ isl_log2u(uint32_t n)
  }
static inline uint32_t
+isl_round_to_power_of_two(uint32_t value)
+{
+   return 1 << isl_log2u(value);
+}
+
+static inline uint32_t
  isl_minify(uint32_t n, uint32_t levels)
  {
     if (unlikely(n == 0))


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to