From e7b2c125c3f3df43b032e398d900e2ac7f91398a Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Wed, 21 Mar 2018 20:34:37 +0100 Subject: [PATCH] nir/builder: Add a nir_imm_floatN_t helper This lets you easily build float immediates just given the bit size. If we have this single place here to handle this then it will be easier to add support for 16-bit floats later. Reviewed-by: Jason Ekstrand --- src/compiler/nir/nir_builder.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h index d699b5ee1bf..02a9dbfb040 100644 --- a/src/compiler/nir/nir_builder.h +++ b/src/compiler/nir/nir_builder.h @@ -227,6 +227,19 @@ nir_imm_double(nir_builder *build, double x) return nir_build_imm(build, 1, 64, v); } +static inline nir_ssa_def * +nir_imm_floatN_t(nir_builder *build, double x, unsigned bit_size) +{ + switch (bit_size) { + case 32: + return nir_imm_float(build, x); + case 64: + return nir_imm_double(build, x); + } + + unreachable("unknown float immediate bit size"); +} + static inline nir_ssa_def * nir_imm_vec4(nir_builder *build, float x, float y, float z, float w) { -- 2.30.2