glsl: Add a method to get precision from a deref instruction
authorNeil Roberts <nroberts@igalia.com>
Fri, 20 Sep 2019 16:04:15 +0000 (18:04 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 24 Mar 2020 23:21:21 +0000 (23:21 +0000)
commit0e1680a1e2aa67b3cb132bdd4f615694ff9454af
tree6a74eb947ba0e9c083ba5bb9e432943271f3890c
parentba56684a14101820a8f8d6ebf8682e12a383288d
glsl: Add a method to get precision from a deref instruction

Adds ir_dereference::precision(). For a normal variable dereference,
the precision comes from the variable. For a record member it comes
from the field within the record. For an array it can come from
either, depending on where the underlying array is stored. The method
recursively walks the derefs until it finds one of the first two.

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
src/compiler/glsl/ir.h