On 05/31/2016 03:46 AM, Marek Olšák wrote: > From: Marek Olšák <[email protected]> > > Using sqrt here breaks rendering.
That seems really weird. Any idea why? Does it just get a different answer for certain boundary values? 0? -0? > Apitrace: In the bugzilla. > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94627 > --- > src/compiler/glsl/opt_algebraic.cpp | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/src/compiler/glsl/opt_algebraic.cpp > b/src/compiler/glsl/opt_algebraic.cpp > index f5858c8..f5fec9d 100644 > --- a/src/compiler/glsl/opt_algebraic.cpp > +++ b/src/compiler/glsl/opt_algebraic.cpp > @@ -898,11 +898,7 @@ ir_algebraic_visitor::handle_expression(ir_expression > *ir) > neg(op_expr[0]->operands[0])); > } > > - /* While ir_to_mesa.cpp will lower sqrt(x) to rcp(rsq(x)), it does so > at > - * its IR level, so we can always apply this transformation. > - */ > - if (op_expr[0] && op_expr[0]->operation == ir_unop_rsq) > - return sqrt(op_expr[0]->operands[0]); > + /* DO NOT transform rsq+rcp into sqrt. It breaks the game Risen. */ > > /* As far as we know, all backends are OK with rsq. */ > if (op_expr[0] && op_expr[0]->operation == ir_unop_sqrt) { _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
