diff options
author | Jason Ekstrand <[email protected]> | 2015-04-02 11:07:48 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-04-03 14:04:12 -0700 |
commit | 7bdba4a24583f4cc2f9bca94f975cec9d384cddc (patch) | |
tree | a5863f743e6c466fd1c1e421b01388544074ae4c | |
parent | cb966fb2bea77b1d7b1bdb6597b7b85d810f2d0a (diff) |
nir: Add a src_get_parent_instr function
Reviewed-by: Jordan Justen <[email protected]>
-rw-r--r-- | src/glsl/nir/nir.h | 10 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c | 16 |
2 files changed, 12 insertions, 14 deletions
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 6e2aa97d498..0509e64e1e2 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -529,6 +529,16 @@ nir_src_for_reg(nir_register *reg) return src; } +static inline nir_instr * +nir_src_get_parent_instr(const nir_src *src) +{ + if (src->is_ssa) { + return src->ssa->parent_instr; + } else { + return src->reg.reg->parent_instr; + } +} + static inline nir_dest nir_dest_for_reg(nir_register *reg) { diff --git a/src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c b/src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c index 3a27cf1a3d2..f0b018cf84a 100644 --- a/src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c +++ b/src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c @@ -43,13 +43,7 @@ static uint8_t get_resolve_status_for_src(nir_src *src) { - nir_instr *src_instr; - if (src->is_ssa) { - src_instr = src->ssa->parent_instr; - } else { - src_instr = src->reg.reg->parent_instr; - } - + nir_instr *src_instr = nir_src_get_parent_instr(src); if (src_instr) { uint8_t resolve_status = src_instr->pass_flags & BRW_NIR_BOOLEAN_MASK; @@ -72,13 +66,7 @@ get_resolve_status_for_src(nir_src *src) static bool src_mark_needs_resolve(nir_src *src, void *void_state) { - nir_instr *src_instr; - if (src->is_ssa) { - src_instr = src->ssa->parent_instr; - } else { - src_instr = src->reg.reg->parent_instr; - } - + nir_instr *src_instr = nir_src_get_parent_instr(src); if (src_instr) { uint8_t resolve_status = src_instr->pass_flags & BRW_NIR_BOOLEAN_MASK; |