[Mesa-dev] [RFC PATCH 0/6] r600: speed up tesselation shaders

Gert Wollny gw.fossdev at gmail.com
Fri Jan 5 17:41:40 UTC 2018


Am Freitag, den 05.01.2018, 18:18 +0100 schrieb Gert Wollny:
> 
> Well, I have tested some piglits now and the behaviour is quite
> wired: 
> 
> When I run nop as the very first piglit after booting the machine it
> works. After running other piglits (specifically  tcs-input-read-
> array-interface and tcs-input-read-mat), nop starts to fail, also
> without sb.
> 
> Restarting X is not enough to get nop to pass again.
> 
> If I run piglit normally on the shader subset, I also get lockups and
> I even got kicked out of X, the last syslog message related to this
> was:
> 
> [ 1403.211887] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait
> timed out.
> [ 1403.211932] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon:
> failed testing IB on GFX ring (-110).
> 

When I run Unigine_Heaven with your WIP code and all sb passes for
tesselation enabled, I get a crash because of a stack overflow, i.e.
the hash evaluation ends up in an infinite recursion doing a ping-pong
between two nodes: 

...
#747 in r600_sb::node::hash (this=0x1e01228) at sb/sb_ir.cpp:277
#748 in r600_sb::value::hash (this=0x1e39cd0) at sb/sb_valtable.cpp:189
#749 in r600_sb::value::hash (this=< >) at sb/sb_valtable.cpp:184
#750 in r600_sb::node::hash_src (this=this at entry= ) at sb/sb_ir.cpp:265
#751 in r600_sb::node::hash (this=0x1e00bf0) at sb/sb_ir.cpp:277
#752 in r600_sb::value::hash (this=0x1e39e70) at sb/sb_valtable.cpp:189
#753 in r600_sb::value::hash (this=< >) at sb/sb_valtable.cpp:184
#754 in r600_sb::node::hash_src (this=this at entry= ) at sb/sb_ir.cpp:265
#755 in r600_sb::node::hash (this=0x1e01228) at sb/sb_ir.cpp:277
...

Best, 
Gert 


More information about the mesa-dev mailing list