r300: abort shader compilation early on loops and branches
authorPavel Ondračka <pavel.ondracka@gmail.com>
Tue, 15 Nov 2022 11:46:50 +0000 (12:46 +0100)
committerMarge Bot <emma+marge@anholt.net>
Mon, 21 Nov 2022 13:54:39 +0000 (13:54 +0000)
commit2fe73e3bcb00ac6ef75e5d03962c16b950126386
treef526349d906f4f1e9b93ca9f3f7356acebe3142b
parent8d37ab6bfa0321674fe74cc4c76c21aa94d36840
r300: abort shader compilation early on loops and branches

R300/R400 GPUs can't do it in hardware and all the lowering should have
happened in NIR already, there is no point in wasting CPU time, just to
abort later when emitting.

Reduces CPU time for dEQP run by ~25% for RV370. The wallclock time is
now just slighly above 1 minute at 10 threads, mostly determined by the
long-running dEQP-GLES2.functional.flush_finish.* tests.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19766>
src/gallium/drivers/r300/ci/r300-r480-fails.txt
src/gallium/drivers/r300/r300_tgsi_to_rc.c