Mesa (master): ac/surface: set AddrSurfInfoIn.format = ADDR_FMT_8 for stencil, add assertions

Marek Olšák mareko at kemper.freedesktop.org
Wed Mar 28 21:23:52 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Mar 26 14:32:56 2018 -0400

ac/surface: set AddrSurfInfoIn.format = ADDR_FMT_8 for stencil, add assertions

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105738

Tested-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/common/ac_surface.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 12dfc0cb1f..81882576ba 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -1157,18 +1157,25 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
 	} else {
 		switch (surf->bpe) {
 		case 1:
+			assert(!(surf->flags & RADEON_SURF_ZBUFFER));
 			AddrSurfInfoIn.format = ADDR_FMT_8;
 			break;
 		case 2:
+			assert(surf->flags & RADEON_SURF_ZBUFFER ||
+			       !(surf->flags & RADEON_SURF_SBUFFER));
 			AddrSurfInfoIn.format = ADDR_FMT_16;
 			break;
 		case 4:
+			assert(surf->flags & RADEON_SURF_ZBUFFER ||
+			       !(surf->flags & RADEON_SURF_SBUFFER));
 			AddrSurfInfoIn.format = ADDR_FMT_32;
 			break;
 		case 8:
+			assert(!(surf->flags & RADEON_SURF_Z_OR_SBUFFER));
 			AddrSurfInfoIn.format = ADDR_FMT_32_32;
 			break;
 		case 16:
+			assert(!(surf->flags & RADEON_SURF_Z_OR_SBUFFER));
 			AddrSurfInfoIn.format = ADDR_FMT_32_32_32_32;
 			break;
 		default:
@@ -1258,6 +1265,7 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
 	if (surf->flags & RADEON_SURF_SBUFFER) {
 		AddrSurfInfoIn.flags.stencil = 1;
 		AddrSurfInfoIn.bpp = 8;
+		AddrSurfInfoIn.format = ADDR_FMT_8;
 
 		if (!AddrSurfInfoIn.flags.depth) {
 			r = gfx9_get_preferred_swizzle_mode(addrlib, &AddrSurfInfoIn, false,




More information about the mesa-commit mailing list