2015-01-03 21:55 GMT+01:00 Matt Turner <matts...@gmail.com>: > On Sat, Jan 3, 2015 at 11:18 AM, Thomas Helland > <thomashellan...@gmail.com> wrote: >> --- >> src/glsl/opt_minmax.cpp | 16 ++++++++++++++++ >> 1 file changed, 16 insertions(+) >> >> diff --git a/src/glsl/opt_minmax.cpp b/src/glsl/opt_minmax.cpp >> index 8d63d96..f066b45 100644 >> --- a/src/glsl/opt_minmax.cpp >> +++ b/src/glsl/opt_minmax.cpp >> @@ -457,6 +457,22 @@ get_range(ir_rvalue *rval) >> // Get the range of the addition of op0*op1 and op2 >> return resolv_add_range(r0, r1); >> >> + case ir_triop_lrp: >> + r0 = get_range(expr->operands[2]); >> + >> + // Get the range of (1-a) >> + r1 = resolv_add_range(get_range(new(mem_ctx) ir_constant(1.0f)), >> + get_range(neg(expr->operands[2])->as_rvalue())); >> + >> + // Get the range of (1-a)*y >> + r1 = resolv_mul_range(r1, get_range(expr->operands[2])); >> + >> + // Get the range of a*x >> + r0 = resolv_mul_range(r0, get_range(expr->operands[0])); > > I think we've reversed the roles of x and y? It should be x * (1-a) + > y * a, I think.
Good catch. I think you're correct. At least that matches what it says in the comment for the lerp-detection code in opt_algebraic. I'll correct it, do a new shader-db run, and post a V2 with comments. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev