Skip to content

nir/lower_vars_to_ssa: Optionally load/store mediump vars as 16-bit.

Emma Anholt requested to merge anholt/mesa:vars-to-ssa-mediump into main
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 <>
Edited by Emma Anholt

Merge request reports