[Mesa-dev] [PATCH] radeonsi: Fix primitive restart when index changes

Marek Olšák maraeo at gmail.com
Tue Oct 4 14:03:57 UTC 2016


I've pushed the patch. Thanks!

Marek

On Tue, Oct 4, 2016 at 3:30 PM, James Legg <jlegg at feralinteractive.com> wrote:
> If primitive restart is enabled for two consecutive draws which use
> different primitive restart indices, then the first draw's primitive
> restart index was incorrectly used for the second draw.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98025
> ---
>  src/gallium/drivers/radeonsi/si_state_draw.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
> index e44147f..10e8be4 100644
> --- a/src/gallium/drivers/radeonsi/si_state_draw.c
> +++ b/src/gallium/drivers/radeonsi/si_state_draw.c
> @@ -509,13 +509,13 @@ static void si_emit_draw_registers(struct si_context *sctx,
>                 radeon_set_context_reg(cs, R_028A94_VGT_MULTI_PRIM_IB_RESET_EN, info->primitive_restart);
>                 sctx->last_primitive_restart_en = info->primitive_restart;
>
> -               if (info->primitive_restart &&
> -                   (info->restart_index != sctx->last_restart_index ||
> -                    sctx->last_restart_index == SI_RESTART_INDEX_UNKNOWN)) {
> -                       radeon_set_context_reg(cs, R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX,
> -                                              info->restart_index);
> -                       sctx->last_restart_index = info->restart_index;
> -               }
> +       }
> +       if (info->primitive_restart &&
> +           (info->restart_index != sctx->last_restart_index ||
> +            sctx->last_restart_index == SI_RESTART_INDEX_UNKNOWN)) {
> +               radeon_set_context_reg(cs, R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX,
> +                                      info->restart_index);
> +               sctx->last_restart_index = info->restart_index;
>         }
>  }
>
> --
> 2.8.3
>
> _______________________________________________
> 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