[Mesa-stable] [PATCH] radv: switch on EOP when primitive restart is enabled with triangle strips

Marek Olšák maraeo at gmail.com
Tue Oct 9 17:21:42 UTC 2018


This will decrease geometry performance 2x.

The correct workaround is to set PARTIAL_VS_WAVE_ON for all strip
primitive types with restart indices.

Marek
On Tue, Oct 9, 2018 at 8:15 AM Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
>
> Otherwise, Yakuza hangs the GPU with DXVK. We don't know if
> linetrip and pointlist are affected, so my point is to do that
> only for triangle strips.
>
> Cc: mesa-stable at lists.freedesktop.org
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/amd/vulkan/radv_pipeline.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
> index b39e8b62bb6..d49c6b365b1 100644
> --- a/src/amd/vulkan/radv_pipeline.c
> +++ b/src/amd/vulkan/radv_pipeline.c
> @@ -3369,8 +3369,7 @@ radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline,
>                     (pipeline->graphics.prim_restart_enable &&
>                      (device->physical_device->rad_info.family < CHIP_POLARIS10 ||
>                       (prim != V_008958_DI_PT_POINTLIST &&
> -                      prim != V_008958_DI_PT_LINESTRIP &&
> -                      prim != V_008958_DI_PT_TRISTRIP))))
> +                      prim != V_008958_DI_PT_LINESTRIP))))
>                         ia_multi_vgt_param.wd_switch_on_eop = true;
>         }
>
> --
> 2.19.1
>
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-stable


More information about the mesa-stable mailing list