crocus: Assertion failures in NIR divergence analysis
While running shader-db on various Intel platforms, I get the following (or substantially similar) failures on Haswell, Ivy Bridge, and Sandybridge platforms.
con 32 %250 = @decl_reg () (num_components=4, num_array_elems=2, bit_size=32, divergent=1)run: ../../SOURCE/master/src/compiler/nir/nir_divergence_analysis.c:632: visit_intrinsic: Assertion `!"" "\nNIR divergence analysis: Unhandled intrinsic."' failed.
=> CRASHED <= while processing these shaders:
shaders/closed/steam/tomb-raider/tressfx/94.shader_test
shaders/closed/steam/dex/132.shader_test
shaders/closed/steam/tomb-raider/tressfx/4382.shader_test
shaders/closed/steam/tomb-raider/tressfx/92.shader_test
shaders/closed/steam/dex/63.shader_test
shaders/closed/steam/tomb-raider/tressfx/96.shader_test
shaders/closed/steam/tomb-raider/ultra/4668.shader_test
shaders/closed/steam/tomb-raider/tressfx/100.shader_test
shaders/closed/steam/dex/117.shader_test
shaders/closed/steam/tomb-raider/ultra/7356.shader_test
shaders/closed/steam/tomb-raider/tressfx/150.shader_test
shaders/closed/steam/tomb-raider/tressfx/98.shader_test
shaders/closed/steam/tomb-raider/tressfx/86.shader_test
shaders/closed/steam/tomb-raider/tressfx/154.shader_test
shaders/closed/steam/tomb-raider/tressfx/90.shader_test
shaders/closed/steam/dex/126.shader_test
shaders/closed/steam/serious-sam-3/lowest/829.shader_test
shaders/closed/steam/tomb-raider/ultra/19560.shader_test
shaders/closed/steam/tomb-raider/ultra/19360.shader_test
shaders/closed/steam/tomb-raider/ultra/18928.shader_test
shaders/closed/steam/tomb-raider/tressfx/2744.shader_test
shaders/closed/steam/tomb-raider/normal/11974.shader_test
shaders/closed/steam/tomb-raider/ultra/18938.shader_test
shaders/closed/steam/tomb-raider/tressfx/88.shader_test
I bisected this to:
6dbb5f1e07b11be0cc6ac764bf1b51feaa7fa623 is the first bad commit
commit 6dbb5f1e07b11be0cc6ac764bf1b51feaa7fa623
Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Date: Thu Nov 16 21:24:31 2023 +0200
intel/fs: rerun divergence analysis prior to convert_from_ssa
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9964
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26235>
src/intel/compiler/brw_nir.c | 7 +++++++
1 file changed, 7 insertions(+)
My guess is that after all of the various lowerings have happened, there's some intrinsic that divergence analysis has never seen before.