diff --git a/src/compiler/glsl/lower_precision.cpp b/src/compiler/glsl/lower_precision.cpp index 332cd50cc7a..9ba1efafa01 100644 --- a/src/compiler/glsl/lower_precision.cpp +++ b/src/compiler/glsl/lower_precision.cpp @@ -646,8 +646,10 @@ find_precision_visitor::visit_enter(ir_call *ir) if (!ir->callee->is_builtin() || ir->return_deref == NULL || - ir->return_deref->variable_referenced()->data.precision != - GLSL_PRECISION_MEDIUM) + (ir->return_deref->variable_referenced()->data.precision != + GLSL_PRECISION_MEDIUM && + ir->return_deref->variable_referenced()->data.precision != + GLSL_PRECISION_LOW)) return visit_continue; ir->callee = map_builtin(ir->callee);