[Mesa-dev] [PATCH 1/4] ac/surface: set AddrSurfInfoIn.format = ADDR_FMT_8, add assertions

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Wed Mar 28 10:15:00 UTC 2018


Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>


On Tue, 27 Mar 2018, 10:08 Samuel Pitoiset, <samuel.pitoiset at gmail.com>
wrote:

> Tested-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>
> On 03/27/2018 02:39 AM, Marek Olšák wrote:
> > From: Marek Olšák <marek.olsak at amd.com>
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105738
> > ---
> >   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 12dfc0cb1f2..81882576baf 100644
> > --- a/src/amd/common/ac_surface.c
> > +++ b/src/amd/common/ac_surface.c
> > @@ -1150,32 +1150,39 @@ static int gfx9_compute_surface(ADDR_HANDLE
> addrlib,
> >                       break;
> >               case 16:
> >                       AddrSurfInfoIn.format = ADDR_FMT_BC3;
> >                       break;
> >               default:
> >                       assert(0);
> >               }
> >       } 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:
> >                       assert(0);
> >               }
> >               AddrSurfInfoIn.bpp = surf->bpe * 8;
> >       }
> >
> >       AddrSurfInfoIn.flags.color = !(surf->flags &
> RADEON_SURF_Z_OR_SBUFFER);
> >       AddrSurfInfoIn.flags.depth = (surf->flags & RADEON_SURF_ZBUFFER)
> != 0;
> > @@ -1251,20 +1258,21 @@ static int gfx9_compute_surface(ADDR_HANDLE
> addrlib,
> >       /* Calculate texture layout information. */
> >       r = gfx9_compute_miptree(addrlib, config, surf, compressed,
> >                                &AddrSurfInfoIn);
> >       if (r)
> >               return r;
> >
> >       /* Calculate texture layout information for stencil. */
> >       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,
> >
>  &AddrSurfInfoIn.swizzleMode);
> >                       if (r)
> >                               return r;
> >               } else
> >                       AddrSurfInfoIn.flags.depth = 0;
> >
> >               r = gfx9_compute_miptree(addrlib, config, surf, compressed,
> >
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180328/d0cd21bb/attachment-0001.html>


More information about the mesa-dev mailing list