[Mesa-dev] [PATCH] intel/compiler/gen9: Pixel shader header only workaround

Kenneth Graunke kenneth at whitecape.org
Fri Oct 27 10:02:59 UTC 2017


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 <kenneth at whitecape.org>
> CC: Jason Ekstrand <jason at jlekstrand.net>
> CC: Eero Tamminen <eero.t.tamminen at intel.com>
> Signed-off-by: Topi Pohjolainen <topi.pohjolainen at 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-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171027/fc8951b0/attachment.sig>


More information about the mesa-dev mailing list