On Fri, Oct 27, 2017 at 03:02:59AM -0700, Kenneth Graunke wrote:
> On Wednesday, October 25, 2017 10:37:37 AM PDT Topi Pohjolainen wrote:
> > Fixes intermittent GPU hangs on Broxton with an Intel internal
> > test case.
> > 
> > There are plenty of similar fragment shaders in piglit that do
> > not use any varyings and any uniforms. According to the
> > documentation special timing is needed between pipeline stages.
> > Apparently we just don't hit that with piglit. Even with the
> > failing test case one doesn't always get the hang.
> > 
> > Moreover, according to the error states the hang happens
> > significantly later than the execution of the problematic shader.
> > There are multiple render cycles (primitive submissions) in between.
> > I've also seen error states where the ACTHD points outside the
> > batch. Almost as if the hardware writes somewhere that gets used
> > later on. That would also explain why piglit doesn't suffer from
> > this - most tests kick off one render cycle and any corruption
> > is left unseen.
> > 
> > v2 (Ken): Instead of enabling push constants, enable one of the
> >           inputs (PSIZ).
> > v3 (Ken, Jason): Use LAYER instead making vulkan emit_3dstate_sbe()
> >                  happy.
> > 
> > CC: Kenneth Graunke <kenn...@whitecape.org>
> > CC: Jason Ekstrand <ja...@jlekstrand.net>
> > CC: Eero Tamminen <eero.t.tammi...@intel.com>
> > Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
> > ---
> >  src/intel/compiler/brw_fs.cpp | 29 +++++++++++++++++++++++++++++
> >  1 file changed, 29 insertions(+)
> 
> This looks great, thanks a ton for fixing this, Topi!
> 
> Cc: "17.3 17.2" <mesa-sta...@lists.freedesktop.org>

We just need to make sure 17.2/3 contain also Iago's:


commit 566a0c43f0b9fbf5106161471dd5061c7275f761
Author: Iago Toral Quiroga <ito...@igalia.com>
Date:   Thu Jan 5 13:17:53 2017 +0100

    anv: don't skip the VUE header if we are reading gl_Layer in a fragment 
shader
    
    This is the same we do in the GL driver: the hardware provides gl_Layer
    in the VUE header, so when the fragment shader reads it we can't skip it.


otherwise it'll assert.

> Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>

Thanks!
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to