nir: Move intel's half-float image store lowering to to nir_format.h.

I needed the same function for v3d.  This was originally in d3e046e76c
("nir: Pull some of intel's image load/store format conversion to
nir_format.h") before we made am istake about simplifying the function.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Eric Anholt
2018-12-11 13:49:28 -08:00
parent 3a417a044e
commit 4407e688cd
2 changed files with 15 additions and 8 deletions
@@ -544,14 +544,8 @@ convert_color_for_store(nir_builder *b, const struct gen_device_info *devinfo,
break;
case ISL_SFLOAT:
if (image.bits[0] == 16) {
nir_ssa_def *f16comps[4];
for (unsigned i = 0; i < image.chans; i++) {
f16comps[i] = nir_pack_half_2x16_split(b, nir_channel(b, color, i),
nir_imm_float(b, 0));
}
color = nir_vec(b, f16comps, image.chans);
}
if (image.bits[0] == 16)
color = nir_format_float_to_half(b, color);
break;
case ISL_UINT: