broadcom/compiler: disable TMU pipelining if we fail to register allocate
authorIago Toral Quiroga <itoral@igalia.com>
Mon, 1 Feb 2021 10:01:47 +0000 (11:01 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 4 Feb 2021 10:33:10 +0000 (10:33 +0000)
commite18d6bbf2fd2201f23f979a8f217af8a5912f2b1
tree4dbc2ed5af79700236b89afcad107534af58f97e
parentecd654bf00255a04f17d52451348046830425690
broadcom/compiler: disable TMU pipelining if we fail to register allocate

TMU pipelining can severely reduce our capacity to emit TMU spills,
causing us to fail to compile a shader we may otherwise be able to
compile. This is because pipelining extends the liveness of TMU
sequences by posponing the thread switch and LDTMU until a result
is needed, and we can't emit TMU spills while in the middle of a
TMU sequence.

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8825>
src/broadcom/compiler/nir_to_vir.c
src/broadcom/compiler/v3d_compiler.h
src/broadcom/compiler/vir.c