summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/glsl/nir/nir.h10
-rw-r--r--src/mesa/drivers/dri/i965/brw_nir_analyze_boolean_resolves.c16
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;