From bb175db16b7e05ec95ce77f49ba3de67d3d2db61 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Mon, 3 Aug 2015 14:40:37 -0700 Subject: [PATCH] i965: add support for getting/setting DF immediates Reviewed-by: Kenneth Graunke Reviewed-by: Jordan Justen Reviewed-by: Francisco Jerez --- src/mesa/drivers/dri/i965/brw_inst.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_inst.h b/src/mesa/drivers/dri/i965/brw_inst.h index 0e5f61389df..f45e56400c9 100644 --- a/src/mesa/drivers/dri/i965/brw_inst.h +++ b/src/mesa/drivers/dri/i965/brw_inst.h @@ -576,6 +576,18 @@ brw_inst_imm_f(const struct brw_device_info *devinfo, const brw_inst *insn) return ft.f; } +static inline double +brw_inst_imm_df(const struct brw_device_info *devinfo, const brw_inst *insn) +{ + union { + double d; + uint64_t u; + } dt; + (void) devinfo; + dt.u = brw_inst_bits(insn, 127, 64); + return dt.d; +} + static inline void brw_inst_set_imm_d(const struct brw_device_info *devinfo, brw_inst *insn, int value) @@ -602,6 +614,19 @@ brw_inst_set_imm_f(const struct brw_device_info *devinfo, brw_inst_set_bits(insn, 127, 96, ft.u); } +static inline void +brw_inst_set_imm_df(const struct brw_device_info *devinfo, + brw_inst *insn, double value) +{ + union { + double d; + uint64_t u; + } dt; + (void) devinfo; + dt.d = value; + brw_inst_set_bits(insn, 127, 64, dt.u); +} + /** @} */ /* The AddrImm fields are split into two discontiguous sections on Gen8+ */ -- 2.30.2