Re: [Mesa-dev] [PATCH 2/2] i965/blorp: Do the gen11 BTI flush
On Tue, Apr 17, 2018 at 05:53:49PM -0700, Jason Ekstrand wrote: > On Tue, Apr 17, 2018 at 4:19 PM, Anuj Phogat wrote: > > > For the series: > > Reviewed-by: Anuj Phogat > > > > This might explain piglit GPU hangs or failures. I'll do a piglit run with > > these patches. > > > > Yeah. I know it was causing problems in simulation (which is where I found > it). Do you want me to wait for you to do piglit runs and get data before > landing these? Yeah, sorry, I found that also before traveling to US by code inspection. I think I mentioned it to Ken but forgot to tell you/send it to the list. It didn't help me with the piglit failures I was looking and forgot about it. I'm glad you brought it up, series also: Reviewed-by: Topi Pohjolainen > > > > Thanks > > Anuj > > > > On Tue, Apr 17, 2018 at 3:10 PM, Jason Ekstrand > > wrote: > > > >> --- > >> src/mesa/drivers/dri/i965/genX_blorp_exec.c | 14 ++ > >> 1 file changed, 14 insertions(+) > >> > >> diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c > >> b/src/mesa/drivers/dri/i965/genX_blorp_exec.c > >> index 3406a6f..a6cb0e3 100644 > >> --- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c > >> +++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c > >> @@ -241,6 +241,20 @@ genX(blorp_exec)(struct blorp_batch *batch, > >> struct gl_context *ctx = &brw->ctx; > >> bool check_aperture_failed_once = false; > >> > >> +#if GEN_GEN >= 11 > >> + /* The PIPE_CONTROL command description says: > >> +* > >> +* "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." > >> + */ > >> + brw_emit_pipe_control_flush(brw, > >> + PIPE_CONTROL_RENDER_TARGET_FLUSH | > >> + PIPE_CONTROL_STALL_AT_SCOREBOARD); > >> +#endif > >> + > >> /* Flush the sampler and render caches. We definitely need to flush > >> the > >> * sampler cache so that we get updated contents from the render > >> cache for > >> * the glBlitFramebuffer() source. Also, we are sometimes warned in > >> the > >> -- > >> 2.5.0.400.gff86faf > >> > >> ___ > >> mesa-dev mailing list > >> mesa-dev@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > >> > > > > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 2/2] i965/blorp: Do the gen11 BTI flush
On Tue, Apr 17, 2018 at 4:19 PM, Anuj Phogat wrote: > For the series: > Reviewed-by: Anuj Phogat > > This might explain piglit GPU hangs or failures. I'll do a piglit run with > these patches. > Yeah. I know it was causing problems in simulation (which is where I found it). Do you want me to wait for you to do piglit runs and get data before landing these? > Thanks > Anuj > > On Tue, Apr 17, 2018 at 3:10 PM, Jason Ekstrand > wrote: > >> --- >> src/mesa/drivers/dri/i965/genX_blorp_exec.c | 14 ++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c >> b/src/mesa/drivers/dri/i965/genX_blorp_exec.c >> index 3406a6f..a6cb0e3 100644 >> --- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c >> +++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c >> @@ -241,6 +241,20 @@ genX(blorp_exec)(struct blorp_batch *batch, >> struct gl_context *ctx = &brw->ctx; >> bool check_aperture_failed_once = false; >> >> +#if GEN_GEN >= 11 >> + /* The PIPE_CONTROL command description says: >> +* >> +* "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." >> + */ >> + brw_emit_pipe_control_flush(brw, >> + PIPE_CONTROL_RENDER_TARGET_FLUSH | >> + PIPE_CONTROL_STALL_AT_SCOREBOARD); >> +#endif >> + >> /* Flush the sampler and render caches. We definitely need to flush >> the >> * sampler cache so that we get updated contents from the render >> cache for >> * the glBlitFramebuffer() source. Also, we are sometimes warned in >> the >> -- >> 2.5.0.400.gff86faf >> >> ___ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 2/2] i965/blorp: Do the gen11 BTI flush
For the series: Reviewed-by: Anuj Phogat This might explain piglit GPU hangs or failures. I'll do a piglit run with these patches. Thanks Anuj On Tue, Apr 17, 2018 at 3:10 PM, Jason Ekstrand wrote: > --- > src/mesa/drivers/dri/i965/genX_blorp_exec.c | 14 ++ > 1 file changed, 14 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c > b/src/mesa/drivers/dri/i965/genX_blorp_exec.c > index 3406a6f..a6cb0e3 100644 > --- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c > +++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c > @@ -241,6 +241,20 @@ genX(blorp_exec)(struct blorp_batch *batch, > struct gl_context *ctx = &brw->ctx; > bool check_aperture_failed_once = false; > > +#if GEN_GEN >= 11 > + /* The PIPE_CONTROL command description says: > +* > +* "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." > + */ > + brw_emit_pipe_control_flush(brw, > + PIPE_CONTROL_RENDER_TARGET_FLUSH | > + PIPE_CONTROL_STALL_AT_SCOREBOARD); > +#endif > + > /* Flush the sampler and render caches. We definitely need to flush > the > * sampler cache so that we get updated contents from the render cache > for > * the glBlitFramebuffer() source. Also, we are sometimes warned in > the > -- > 2.5.0.400.gff86faf > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/2] i965/blorp: Do the gen11 BTI flush
--- src/mesa/drivers/dri/i965/genX_blorp_exec.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c b/src/mesa/drivers/dri/i965/genX_blorp_exec.c index 3406a6f..a6cb0e3 100644 --- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c +++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c @@ -241,6 +241,20 @@ genX(blorp_exec)(struct blorp_batch *batch, struct gl_context *ctx = &brw->ctx; bool check_aperture_failed_once = false; +#if GEN_GEN >= 11 + /* The PIPE_CONTROL command description says: +* +* "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." + */ + brw_emit_pipe_control_flush(brw, + PIPE_CONTROL_RENDER_TARGET_FLUSH | + PIPE_CONTROL_STALL_AT_SCOREBOARD); +#endif + /* Flush the sampler and render caches. We definitely need to flush the * sampler cache so that we get updated contents from the render cache for * the glBlitFramebuffer() source. Also, we are sometimes warned in the -- 2.5.0.400.gff86faf ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev