[Mesa-dev] [PATCH] glsl/lower_int64: only set progress when something is lowered.

Ian Romanick idr at freedesktop.org
Wed May 31 22:43:34 UTC 2017


On 05/31/2017 03:34 PM, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> Otherwise we'd get progress continually set if we had non 64-bit
> versions of these ops.

Right.  This never caused problems before because the return value from
lower_64bit_integer_instructions was always ignored.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/compiler/glsl/lower_int64.cpp | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/src/compiler/glsl/lower_int64.cpp b/src/compiler/glsl/lower_int64.cpp
> index 4e2e311..9770d31 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;
>  
> 



More information about the mesa-dev mailing list