[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