[Mesa-dev] [PATCH] glsl: rename min(), max() functions to fix MSVC build

Kenneth Graunke kenneth at whitecape.org
Mon Jan 6 15:56:02 PST 2014


On 01/06/2014 03:12 PM, Brian Paul wrote:
> Evidently, there's some other definition of "min" and "max" that
> causes MSVC to choke on these function names.  Renaming to min2()
> and max2() fixes things.

That's really strange...but I'm fine with renaming them.  Sorry for the
trouble.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

> ---
>  src/glsl/builtin_functions.cpp |    6 +++---
>  src/glsl/ir_builder.cpp        |    4 ++--
>  src/glsl/ir_builder.h          |    4 ++--
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
> index f56be0c..10127f3 100644
> --- a/src/glsl/builtin_functions.cpp
> +++ b/src/glsl/builtin_functions.cpp
> @@ -4073,7 +4073,7 @@ builtin_builder::_min3(builtin_available_predicate avail,
>     ir_variable *z = in_var(z_type, "z");
>     MAKE_SIG(x_type, avail, 3, x, y, z);
>  
> -   ir_expression *min3 = min(x, min(y,z));
> +   ir_expression *min3 = min2(x, min2(y,z));
>     body.emit(ret(min3));
>  
>     return sig;
> @@ -4089,7 +4089,7 @@ builtin_builder::_max3(builtin_available_predicate avail,
>     ir_variable *z = in_var(z_type, "z");
>     MAKE_SIG(x_type, avail, 3, x, y, z);
>  
> -   ir_expression *max3 = max(x, max(y,z));
> +   ir_expression *max3 = max2(x, max2(y,z));
>     body.emit(ret(max3));
>  
>     return sig;
> @@ -4105,7 +4105,7 @@ builtin_builder::_mid3(builtin_available_predicate avail,
>     ir_variable *z = in_var(z_type, "z");
>     MAKE_SIG(x_type, avail, 3, x, y, z);
>  
> -   ir_expression *mid3 = max(min(x, y), max(min(x, z), min(y, z)));
> +   ir_expression *mid3 = max2(min2(x, y), max2(min2(x, z), min2(y, z)));
>     body.emit(ret(mid3));
>  
>     return sig;
> diff --git a/src/glsl/ir_builder.cpp b/src/glsl/ir_builder.cpp
> index 31ed191..7f41ed6 100644
> --- a/src/glsl/ir_builder.cpp
> +++ b/src/glsl/ir_builder.cpp
> @@ -211,12 +211,12 @@ ir_expression *sub(operand a, operand b)
>     return expr(ir_binop_sub, a, b);
>  }
>  
> -ir_expression *min(operand a, operand b)
> +ir_expression *min2(operand a, operand b)
>  {
>     return expr(ir_binop_min, a, b);
>  }
>  
> -ir_expression *max(operand a, operand b)
> +ir_expression *max2(operand a, operand b)
>  {
>     return expr(ir_binop_max, a, b);
>  }
> diff --git a/src/glsl/ir_builder.h b/src/glsl/ir_builder.h
> index 4b85ea1..f00e6f3 100644
> --- a/src/glsl/ir_builder.h
> +++ b/src/glsl/ir_builder.h
> @@ -184,8 +184,8 @@ ir_expression *i2b(operand a);
>  ir_expression *f2b(operand a);
>  ir_expression *b2f(operand a);
>  
> -ir_expression *min(operand a, operand b);
> -ir_expression *max(operand a, operand b);
> +ir_expression *min2(operand a, operand b);
> +ir_expression *max2(operand a, operand b);
>  
>  ir_expression *fma(operand a, operand b, operand c);
>  ir_expression *lrp(operand x, operand y, operand a);
> 



More information about the mesa-dev mailing list