From: Neil Roberts Date: Wed, 21 Mar 2018 19:34:38 +0000 (+0100) Subject: spirv: Use nir_imm_floatN_t for constants for GLSL450 builtins X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=696f4abcbc07b96724307823b9e807cd981da3b5;p=mesa.git spirv: Use nir_imm_floatN_t for constants for GLSL450 builtins There is an existing macro that is used to choose between either a float or a double immediate constant based on the bit size of the first operand to the builtin. This is now changed to use the new nir_imm_floatN_t helper function to reduce the number of places that make this decision. Reviewed-by: Jason Ekstrand --- diff --git a/src/compiler/spirv/vtn_glsl450.c b/src/compiler/spirv/vtn_glsl450.c index d208215ccb5..c74476a48d7 100644 --- a/src/compiler/spirv/vtn_glsl450.c +++ b/src/compiler/spirv/vtn_glsl450.c @@ -514,7 +514,7 @@ vtn_nir_alu_op_for_spirv_glsl_opcode(struct vtn_builder *b, } } -#define NIR_IMM_FP(n, v) (src[0]->bit_size == 64 ? nir_imm_double(n, v) : nir_imm_float(n, v)) +#define NIR_IMM_FP(n, v) (nir_imm_floatN_t(n, v, src[0]->bit_size)) static void handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint,