[Mesa-dev] [PATCH] radv: fix MSAA on SI gpus.

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Mon Aug 7 07:05:12 UTC 2017


On Mon, Aug 7, 2017 at 8:42 AM, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> This ports the workaround from radeonsi, that was missing in radv.
>
> This fixes Talos rendering when MSAA is enabled on my Tahiti card.
>
> Fixes: f4e499ec7 (radv: add initial non-conformant radv vulkan driver)
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/amd/vulkan/radv_device.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
> index e5bedf3..85ba165 100644
> --- a/src/amd/vulkan/radv_device.c
> +++ b/src/amd/vulkan/radv_device.c
> @@ -3089,9 +3089,13 @@ radv_initialise_color_surface(struct radv_device *device,
>                                     format != V_028C70_COLOR_24_8) |
>                 S_028C70_NUMBER_TYPE(ntype) |
>                 S_028C70_ENDIAN(endian);
> -       if (iview->image->info.samples > 1)
> -               if (iview->image->fmask.size)
> -                       cb->cb_color_info |= S_028C70_COMPRESSION(1);
> +       if ((iview->image->info.samples > 1) && iview->image->fmask.size) {
> +               cb->cb_color_info |= S_028C70_COMPRESSION(1);
> +               if (device->physical_device->rad_info.chip_class == SI) {
> +                       unsigned fmask_bankh = util_logbase2(iview->image->fmask.bank_height);
> +                       cb->cb_color_attrib |= S_028C74_FMASK_BANK_HEIGHT(fmask_bankh);

only set it for SI? AFAICS this code is not SI only, but the radeonsi
workaround is.

With that fixed:

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
> +               }
> +       }
>
>         if (iview->image->cmask.size &&
>             !(device->debug_flags & RADV_DEBUG_NO_FAST_CLEARS))
> --
> 2.9.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list