[Mesa-dev] [PATCH] libclc: Add clamp(vec, scalar, scalar) and max(vec, scalar)

Tom Stellard tom at stellard.net
Fri Apr 19 20:30:15 PDT 2013


I've pushed all of your libclc patches to my repo.  If I missed one, let
me know.  Thanks for the patches!

-Tom

On Sat, Apr 13, 2013 at 11:32:18AM -0500, Aaron Watry wrote:
> For any GENTYPE that isn't scalar, we need to implement a mixed
> vector/scalar version of clamp/max.
> 
> This depends on the min() patches I sent to the list a few minutes ago.
> ---
>  generic/include/clc/shared/clamp.inc |    4 ++++
>  generic/include/clc/shared/max.inc   |    4 ++++
>  generic/lib/shared/clamp.inc         |    6 ++++++
>  generic/lib/shared/max.inc           |    6 ++++++
>  4 files changed, 20 insertions(+)
> 
> diff --git a/generic/include/clc/shared/clamp.inc b/generic/include/clc/shared/clamp.inc
> index 3e3a435..67c8142 100644
> --- a/generic/include/clc/shared/clamp.inc
> +++ b/generic/include/clc/shared/clamp.inc
> @@ -1 +1,5 @@
>  _CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z);
> +
> +#ifndef SCALAR
> +_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z);
> +#endif
> diff --git a/generic/include/clc/shared/max.inc b/generic/include/clc/shared/max.inc
> index ce6c6d0..9fe73c4 100644
> --- a/generic/include/clc/shared/max.inc
> +++ b/generic/include/clc/shared/max.inc
> @@ -1 +1,5 @@
>  _CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, GENTYPE b);
> +
> +#ifndef SCALAR
> +_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, SCALAR_GENTYPE b);
> +#endif
> diff --git a/generic/lib/shared/clamp.inc b/generic/lib/shared/clamp.inc
> index ed49b8e..58370d3 100644
> --- a/generic/lib/shared/clamp.inc
> +++ b/generic/lib/shared/clamp.inc
> @@ -1,3 +1,9 @@
>  _CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z) {
>    return (x > z ? z : (x < y ? y : x));
>  }
> +
> +#ifndef SCALAR
> +_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z) {
> +  return (x > (GENTYPE)z ? (GENTYPE)z : (x < (GENTYPE)y ? (GENTYPE)y : x));
> +}
> +#endif
> \ No newline at end of file
> diff --git a/generic/lib/shared/max.inc b/generic/lib/shared/max.inc
> index 37409fc..6a12b6f 100644
> --- a/generic/lib/shared/max.inc
> +++ b/generic/lib/shared/max.inc
> @@ -1,3 +1,9 @@
>  _CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, GENTYPE b) {
>    return (a > b ? a : b);
>  }
> +
> +#ifndef SCALAR
> +_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, SCALAR_GENTYPE b) {
> +  return (a > (GENTYPE)b ? a : (GENTYPE)b);
> +}
> +#endif
> \ No newline at end of file
> -- 
> 1.7.10.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list