freedreno/ir3: limit pre-fetched tex dest
authorRob Clark <robdclark@chromium.org>
Thu, 11 Jun 2020 19:03:03 +0000 (12:03 -0700)
committerMarge Bot <eric+marge@anholt.net>
Thu, 11 Jun 2020 21:59:54 +0000 (21:59 +0000)
commitee29c682fe6a4cfd2b4221c209bec0a4e4747c4b
tree3060e2f5718159025706182674ab38835bd11c2e
parentf80092dad2ca11245f613945eabaf6b9e3c02f4e
freedreno/ir3: limit pre-fetched tex dest

Teach RA to setup additional interference to prevent textures fetched
before the FS starts from ending up in a register that is too high to
encode.

Fixes mis-rendering in multiple playcanv.as webgl apps.

Note that the regression was not actually 733bee57eb8's fault, but
that was the commit that exposed the problem.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3108
Fixes: 733bee57eb8 ("glsl: lower samplers with highp coordinates correctly")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5431>
src/freedreno/ir3/ir3_ra.c
src/freedreno/ir3/ir3_ra.h
src/freedreno/ir3/ir3_ra_regset.c