Mesa (master): ac/surface: Only align linear power of two fmt textures.

Bas Nieuwenhuizen bnieuwenhuizen at kemper.freedesktop.org
Sun May 20 10:01:46 UTC 2018


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

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat May 19 01:03:57 2018 +0200

ac/surface: Only align linear power of two fmt textures.

We're not sharing 32_32_32 formats between different GPUs, so we
do not have to align for vega on pre-vega cards.

Fixes: e361970ed73 "radv: Add support for IMG_DATA_FORMAT_32_32_32."
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 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 9e742dc8a4..d7da995025 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -301,10 +301,10 @@ static int gfx6_compute_level(ADDR_HANDLE addrlib,
 	 */
 	if (config->info.levels == 1 &&
 	    AddrSurfInfoIn->tileMode == ADDR_TM_LINEAR_ALIGNED &&
-	    AddrSurfInfoIn->bpp) {
+	    AddrSurfInfoIn->bpp &&
+	    util_is_power_of_two_or_zero(AddrSurfInfoIn->bpp)) {
 		unsigned alignment = 256 / (AddrSurfInfoIn->bpp / 8);
 
-		assert(util_is_power_of_two_or_zero(AddrSurfInfoIn->bpp));
 		AddrSurfInfoIn->width = align(AddrSurfInfoIn->width, alignment);
 	}
 




More information about the mesa-commit mailing list