From 7da60eca4f9e8b8e38b709e728ea94b07be1b0e4 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 21 Jan 2015 11:10:11 -0800 Subject: [PATCH] nir: Add src and dest constructors Reviewed-by: Connor Abbott --- src/glsl/nir/nir.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 5ebfc5a1bbc..7b5794d7470 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -482,6 +482,43 @@ typedef struct { bool is_ssa; } nir_dest; +static inline nir_src +nir_src_for_ssa(nir_ssa_def *def) +{ + nir_src src; + + src.is_ssa = true; + src.ssa = def; + + return src; +} + +static inline nir_src +nir_src_for_reg(nir_register *reg) +{ + nir_src src; + + src.is_ssa = false; + src.reg.reg = reg; + src.reg.indirect = NULL; + src.reg.base_offset = 0; + + return src; +} + +static inline nir_dest +nir_dest_for_reg(nir_register *reg) +{ + nir_dest dest; + + dest.is_ssa = false; + dest.reg.reg = reg; + dest.reg.indirect = NULL; + dest.reg.base_offset = 0; + + return dest; +} + nir_src nir_src_copy(nir_src src, void *mem_ctx); nir_dest nir_dest_copy(nir_dest dest, void *mem_ctx); -- 2.30.2