[Mesa-dev] [PATCH V2 16/16] i965/icl: Add render target flush after uploading binding table

Anuj Phogat anuj.phogat at gmail.com
Thu Feb 15 22:16:54 UTC 2018


+Ken

On Thu, Feb 15, 2018 at 11:11 AM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
> From PIPE_CONTROL command description in gfxspecs:
>
> "Whenever a Binding Table Index (BTI) used by a Render Taget Message
>  points to a different RENDER_SURFACE_STATE, SW must issue a Render
>  Target Cache Flush by enabling this bit. When render target flush
>  is set due to new association of BTI, PS Scoreboard Stall bit must
>  be set in this packet."
>
> V2: Move the PIPE_CONTROL to update_renderbuffer_surfaces() in
>     brw_wm_surface_state.c (Ken).
>
> Fixes a fulsim error and a GPU hang described in below JIRA.
> JIRA: MD5-322
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
>  src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> index 44c87df17d..84c5a81227 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -971,6 +971,20 @@ update_renderbuffer_surfaces(struct brw_context *brw)
>        emit_null_surface_state(brw, fb, &surf_offsets[rt_start]);
>     }
>
> +   /* From PIPE_CONTROL command description in gfxspecs:
> +
> +      "Whenever a Binding Table Index (BTI) used by a Render Taget Message
> +       points to a different RENDER_SURFACE_STATE, SW must issue a Render
> +       Target Cache Flush by enabling this bit. When render target flush
> +       is set due to new association of BTI, PS Scoreboard Stall bit must
> +       be set in this packet."
> +   */
> +   if (devinfo->gen >= 11) {
> +      brw_emit_pipe_control_flush(brw,
> +                                  PIPE_CONTROL_RENDER_TARGET_FLUSH |
> +                                  PIPE_CONTROL_STALL_AT_SCOREBOARD);
> +   }
> +
>     brw->ctx.NewDriverState |= BRW_NEW_SURFACES;
>  }
>
> --
> 2.13.6
>


More information about the mesa-dev mailing list