[Mesa-dev] [PATCH 3/8] nir/spirv: import OpenCL.std.h

Jason Ekstrand jason at jlekstrand.net
Mon Jul 16 15:18:51 UTC 2018


Acked-by: Jason Ekstrand <jason at jlekstrand.net>

On Mon, Jul 16, 2018 at 7:29 AM Karol Herbst <kherbst at redhat.com> wrote:

> From: Rob Clark <robdclark at gmail.com>
>
> Lightly edited to be valid 'C' code.
>
> Is there a bug open to fix this upstream?
>
> Signed-off-by: Karol Herbst <kherbst at redhat.com>
> ---
>  src/compiler/spirv/OpenCL.std.h | 211 ++++++++++++++++++++++++++++++++
>  1 file changed, 211 insertions(+)
>  create mode 100644 src/compiler/spirv/OpenCL.std.h
>
> diff --git a/src/compiler/spirv/OpenCL.std.h
> b/src/compiler/spirv/OpenCL.std.h
> new file mode 100644
> index 00000000000..1e9e7fc8d8a
> --- /dev/null
> +++ b/src/compiler/spirv/OpenCL.std.h
> @@ -0,0 +1,211 @@
> +/*
> +** Copyright (c) 2015-2017 The Khronos Group Inc.
> +**
> +** Permission is hereby granted, free of charge, to any person obtaining
> a copy
> +** of this software and/or associated documentation files (the
> "Materials"),
> +** to deal in the Materials without restriction, including without
> limitation
> +** the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> +** and/or sell copies of the Materials, and to permit persons to whom the
> +** Materials are furnished to do so, subject to the following conditions:
> +**
> +** The above copyright notice and this permission notice shall be
> included in
> +** all copies or substantial portions of the Materials.
> +**
> +** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
> KHRONOS
> +** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
> SPECIFICATIONS AND
> +** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
> +**
> +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS
> +** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> +** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> +** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
> OTHER
> +** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> +** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER
> DEALINGS
> +** IN THE MATERIALS.
> +*/
> +
> +#ifndef OpenCLstd_H
> +#define OpenCLstd_H
> +
> +enum OpenCLstd {
> +
> +    // Section 2.1: Math extended instructions
> +    Acos = 0,
> +    Acosh = 1,
> +    Acospi = 2,
> +    Asin = 3,
> +    Asinh = 4,
> +    Asinpi = 5,
> +    Atan = 6,
> +    Atan2 = 7,
> +    Atanh = 8,
> +    Atanpi = 9,
> +    Atan2pi = 10,
> +    Cbrt = 11,
> +    Ceil = 12,
> +    Copysign = 13,
> +    Cos = 14,
> +    Cosh = 15,
> +    Cospi = 16,
> +    Erfc = 17,
> +    Erf = 18,
> +    Exp = 19,
> +    Exp2 = 20,
> +    Exp10 = 21,
> +    Expm1 = 22,
> +    Fabs = 23,
> +    Fdim = 24,
> +    Floor = 25,
> +    Fma = 26,
> +    Fmax = 27,
> +    Fmin = 28,
> +    Fmod = 29,
> +    Fract = 30,
> +    Frexp = 31,
> +    Hypot = 32,
> +    Ilogb = 33,
> +    Ldexp = 34,
> +    Lgamma = 35,
> +    Lgamma_r = 36,
> +    Log = 37,
> +    Log2 = 38,
> +    Log10 = 39,
> +    Log1p = 40,
> +    Logb = 41,
> +    Mad = 42,
> +    Maxmag = 43,
> +    Minmag = 44,
> +    Modf = 45,
> +    Nan = 46,
> +    Nextafter = 47,
> +    Pow = 48,
> +    Pown = 49,
> +    Powr = 50,
> +    Remainder = 51,
> +    Remquo = 52,
> +    Rint = 53,
> +    Rootn = 54,
> +    Round = 55,
> +    Rsqrt = 56,
> +    Sin = 57,
> +    Sincos = 58,
> +    Sinh = 59,
> +    Sinpi = 60,
> +    Sqrt = 61,
> +    Tan = 62,
> +    Tanh = 63,
> +    Tanpi = 64,
> +    Tgamma = 65,
> +    Trunc = 66,
> +    Half_cos = 67,
> +    Half_divide = 68,
> +    Half_exp = 69,
> +    Half_exp2 = 70,
> +    Half_exp10 = 71,
> +    Half_log = 72,
> +    Half_log2 = 73,
> +    Half_log10 = 74,
> +    Half_powr = 75,
> +    Half_recip = 76,
> +    Half_rsqrt = 77,
> +    Half_sin = 78,
> +    Half_sqrt = 79,
> +    Half_tan = 80,
> +    Native_cos = 81,
> +    Native_divide = 82,
> +    Native_exp = 83,
> +    Native_exp2 = 84,
> +    Native_exp10 = 85,
> +    Native_log = 86,
> +    Native_log2 = 87,
> +    Native_log10 = 88,
> +    Native_powr = 89,
> +    Native_recip = 90,
> +    Native_rsqrt = 91,
> +    Native_sin = 92,
> +    Native_sqrt = 93,
> +    Native_tan = 94,
> +
> +    // Section 2.2: Integer instructions
> +    SAbs = 141,
> +    SAbs_diff = 142,
> +    SAdd_sat = 143,
> +    UAdd_sat = 144,
> +    SHadd = 145,
> +    UHadd = 146,
> +    SRhadd = 147,
> +    URhadd = 148,
> +    SClamp = 149,
> +    UClamp = 150,
> +    Clz = 151,
> +    Ctz = 152,
> +    SMad_hi = 153,
> +    UMad_sat = 154,
> +    SMad_sat = 155,
> +    SMax = 156,
> +    UMax = 157,
> +    SMin = 158,
> +    UMin = 159,
> +    SMul_hi = 160,
> +    Rotate = 161,
> +    SSub_sat = 162,
> +    USub_sat = 163,
> +    U_Upsample = 164,
> +    S_Upsample = 165,
> +    Popcount = 166,
> +    SMad24 = 167,
> +    UMad24 = 168,
> +    SMul24 = 169,
> +    UMul24 = 170,
> +    UAbs = 201,
> +    UAbs_diff = 202,
> +    UMul_hi = 203,
> +    UMad_hi = 204,
> +
> +    // Section 2.3: Common instructions
> +    FClamp = 95,
> +    Degrees = 96,
> +    FMax_common = 97,
> +    FMin_common = 98,
> +    Mix = 99,
> +    Radians = 100,
> +    Step = 101,
> +    Smoothstep = 102,
> +    Sign = 103,
> +
> +    // Section 2.4: Geometric instructions
> +    Cross = 104,
> +    Distance = 105,
> +    Length = 106,
> +    Normalize = 107,
> +    Fast_distance = 108,
> +    Fast_length = 109,
> +    Fast_normalize = 110,
> +
> +    // Section 2.5: Relational instructions
> +    Bitselect = 186,
> +    Select = 187,
> +
> +    // Section 2.6: Vector Data Load and Store instructions
> +    Vloadn = 171,
> +    Vstoren = 172,
> +    Vload_half = 173,
> +    Vload_halfn = 174,
> +    Vstore_half = 175,
> +    Vstore_half_r = 176,
> +    Vstore_halfn = 177,
> +    Vstore_halfn_r = 178,
> +    Vloada_halfn = 179,
> +    Vstorea_halfn = 180,
> +    Vstorea_halfn_r = 181,
> +
> +    // Section 2.7: Miscellaneous Vector instructions
> +    Shuffle = 182,
> +    Shuffle2 = 183,
> +
> +    // Section 2.8: Misc instructions
> +    Printf = 184,
> +    Prefetch = 185,
> +};
> +
> +#endif
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180716/342d682f/attachment.html>


More information about the mesa-dev mailing list