nv50/ir: allow a mov to emit directly to a shader output
authorIlia Mirkin <imirkin@alum.mit.edu>
Wed, 6 Jan 2021 19:18:05 +0000 (14:18 -0500)
committerMarge Bot <eric+marge@anholt.net>
Mon, 11 Jan 2021 20:06:44 +0000 (20:06 +0000)
commit73fa50452c11879f49c36ff405aa32582d5999cb
treef84257bf6d63ccf2ea865afc0aeeaa63fd9e2fe6
parentdd7d0b8a2f32deada07999f1cafb1374fa4c1f46
nv50/ir: allow a mov to emit directly to a shader output

Under some very rare circumstances, the OP_EXPORT will refer to a def
provided by a mov. When we then try to make the defining op write to the
export directly, it blows up. Reuse the existing setDst helper which
handles this and more for the long encoding.

Fixes dEQP-GLES3.functional.shaders.precision.int.highp_mul_vertex

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8396>
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp