[Mesa-dev] [PATCH] radv: Clamp gfx9 image view extents to the allocated image extents.

Alex Smith asmith at feralinteractive.com
Tue Nov 27 09:22:46 UTC 2018


Tested-by: Alex Smith <asmith at feralinteractive.com>

Confirmed it fixes both the testcase and the in-game bug it was causing.
Thanks!

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

> cc stable?
>
> Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>
> On 11/24/18 11:31 PM, Bas Nieuwenhuizen wrote:
> > Mirrors AMDVLK. Looks like if we go over the alignment of height
> > we actually start to change the addressing. Seems like the extra
> > miplevels actually work with this.
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108245
> > Fixes: f6cc15dccd5 "radv/gfx9: fix block compression texture views. (v2)"
> > ---
> >   src/amd/vulkan/radv_image.c | 6 ++----
> >   1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
> > index 7492bf48b51..ba8e28f0e23 100644
> > --- a/src/amd/vulkan/radv_image.c
> > +++ b/src/amd/vulkan/radv_image.c
> > @@ -1175,8 +1175,6 @@ radv_image_view_init(struct radv_image_view *iview,
> >                if (device->physical_device->rad_info.chip_class >= GFX9
> &&
> >                    vk_format_is_compressed(image->vk_format) &&
> >                    !vk_format_is_compressed(iview->vk_format)) {
> > -                      unsigned rounded_img_w =
> util_next_power_of_two(iview->extent.width);
> > -                      unsigned rounded_img_h =
> util_next_power_of_two(iview->extent.height);
> >                        unsigned lvl_width  =
> radv_minify(image->info.width , range->baseMipLevel);
> >                        unsigned lvl_height =
> radv_minify(image->info.height, range->baseMipLevel);
> >
> > @@ -1186,8 +1184,8 @@ radv_image_view_init(struct radv_image_view *iview,
> >                        lvl_width <<= range->baseMipLevel;
> >                        lvl_height <<= range->baseMipLevel;
> >
> > -                      iview->extent.width = CLAMP(lvl_width,
> iview->extent.width, rounded_img_w);
> > -                      iview->extent.height = CLAMP(lvl_height,
> iview->extent.height, rounded_img_h);
> > +                      iview->extent.width = CLAMP(lvl_width,
> iview->extent.width, iview->image->surface.u.gfx9.surf_pitch);
> > +                      iview->extent.height = CLAMP(lvl_height,
> iview->extent.height, iview->image->surface.u.gfx9.surf_height);
> >                }
> >       }
> >
> >
> _______________________________________________
> 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/20181127/1b0e1051/attachment.html>


More information about the mesa-dev mailing list