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

Author: Marek Olšák <[email protected]>
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 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>

---

 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,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to