summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-06-01 08:34:09 +1000
committerDave Airlie <airlied@redhat.com>2017-06-01 08:46:35 +1000
commit55d1550d352fd9ef820311a5a08815685e42f3d7 (patch)
tree8654f212bd126c1ab9f35f308a6cb5fda018274f /src
parentaf2844116fdea7e97fdf3822166baadd05d8d58e (diff)
glsl/lower_int64: only set progress when something is lowered.
Otherwise we'd get progress continually set if we had non 64-bit versions of these ops. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/compiler/glsl/lower_int64.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/compiler/glsl/lower_int64.cpp b/src/compiler/glsl/lower_int64.cpp
index 4e2e311e02..9770d314af 100644
--- a/src/compiler/glsl/lower_int64.cpp
+++ b/src/compiler/glsl/lower_int64.cpp
@@ -341,6 +341,7 @@ lower_64bit_visitor::handle_op(ir_expression *ir,
add_function(f);
}
+ this->progress = true;
return lower_op_to_function_call(this->base_ir, ir, callee);
}
@@ -357,7 +358,6 @@ lower_64bit_visitor::handle_rvalue(ir_rvalue **rvalue)
case ir_unop_sign:
if (lowering(SIGN64)) {
*rvalue = handle_op(ir, "__builtin_sign64", generate_ir::sign64);
- this->progress = true;
}
break;
@@ -368,7 +368,6 @@ lower_64bit_visitor::handle_rvalue(ir_rvalue **rvalue)
} else {
*rvalue = handle_op(ir, "__builtin_idiv64", generate_ir::idiv64);
}
- this->progress = true;
}
break;
@@ -379,14 +378,12 @@ lower_64bit_visitor::handle_rvalue(ir_rvalue **rvalue)
} else {
*rvalue = handle_op(ir, "__builtin_imod64", generate_ir::imod64);
}
- this->progress = true;
}
break;
case ir_binop_mul:
if (lowering(MUL64)) {
*rvalue = handle_op(ir, "__builtin_umul64", generate_ir::umul64);
- this->progress = true;
}
break;