diff options
Diffstat (limited to 'src')
-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; |