nir/lower_vars_to_ssa: Optionally load/store mediump vars as 16-bit.
Before every store, the value gets converted to 16bit, and after every
load, the value gets converted back to 32bit. This gets us the following
part of the spirv spec for function temps:
"When applied to a variable or structure member, all loads and stores
from the decorated object may be treated as though they were decorated
with RelaxedPrecision. Loads may also be decorated with
RelaxedPrecision, in which case they are treated as operating at
relaxed precision."
Reviewed-by: Emma Anholt <emma@anholt.net>
Edited by Emma Anholt