From cb6f2d9409655023accbb9628cffbd4bcad4510d Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 2 Jul 2025 14:37:36 +0200 Subject: [PATCH] ac/surface: use align with NPOT for estimating surface size ac_estimate_size() triggers an assertion because the block size isn't aligned to a power of two for ASTC formats. Cc: mesa-stable Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/common/ac_surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index e619f0277ee..a01bce48dd7 100644 --- a/src/amd/common/ac_surface.c +++ b/src/amd/common/ac_surface.c @@ -1205,8 +1205,8 @@ static uint64_t ac_estimate_size(const struct ac_surf_config *config, assert(bpp); unsigned num_samples = MAX2(1, config->info.samples); unsigned bpe = bpp / 8; - unsigned width = align(in_width, align_width * blk_w); - unsigned height = align(in_height , align_height * blk_h); + unsigned width = util_align_npot(in_width, align_width * blk_w); + unsigned height = util_align_npot(in_height , align_height * blk_h); unsigned depth = align(config->is_3d ? config->info.depth : config->is_cube ? 6 : config->info.array_size, align_depth); unsigned tile_size_bytes = align_width * align_height * align_depth * num_samples * bpe;