nine: use separate register for aL emulation
authorPavel Ondračka <pavel.ondracka@gmail.com>
Thu, 9 Feb 2023 19:49:54 +0000 (20:49 +0100)
committerMarge Bot <emma+marge@anholt.net>
Sat, 1 Apr 2023 11:12:55 +0000 (11:12 +0000)
commit5825f9dd68eca28894a4cbca7796669514a81f44
treeeb590df384f39b57fdde5d76d97e118a5e957373
parentac993ae8287ea374a073c7a99fac84dfd773c475
nine: use separate register for aL emulation

NIR loop unrolling is only working if the loop counter is a scalar.
So keep the loop counter separate and move the aL emulation and
the aL increment to a new register.

This allows loop unrolling with vec4 backends where unconditional
scalarizing of phi nodes is undesirable, like for example r300.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Axel Davy <davyaxel0@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7222
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21243>
src/gallium/frontends/nine/nine_shader.c