Pierre Moreau <pierre.mor...@free.fr> writes:

> On 2018-01-23 — 14:06, Francisco Jerez wrote:
>> Pierre Moreau <pierre.mor...@free.fr> writes:
>> 
>> > Signed-off-by: Pierre Moreau <pierre.mor...@free.fr>
>> > ---
>> >  .../state_trackers/clover/spirv/spirv.hpp11        | 997 
>> > +++++++++++++++++++++
>> >  1 file changed, 997 insertions(+)
>> >  create mode 100644 src/gallium/state_trackers/clover/spirv/spirv.hpp11
>> 
>> Can you import this with an hpp extension please?  All other .hpp files
>> under clover/ are also C++11, no need to confuse text editors.  With
>> that fixed:
>
> I kept the original ending from SPIRV-Headers, but they need to differentiate
> it from the other C++ header which does not use C++11 features. I could drop
> it, but I am a little concerned that someone might think it would be the
> spirv.hpp file from SPIRV-Headers, which it isn’t.
> If you think this is not an issue, I will drop it.
>

I doubt that will cause any issues, it's just a private header in the
clover/spirv module.

>> 
>> Acked-by: Francisco Jerez <curroje...@riseup.net>
>> 
>> >
>> > diff --git a/src/gallium/state_trackers/clover/spirv/spirv.hpp11 
>> > b/src/gallium/state_trackers/clover/spirv/spirv.hpp11
>> > new file mode 100644
>> > index 0000000000..792eeb1aa0
>> > --- /dev/null
>> > +++ b/src/gallium/state_trackers/clover/spirv/spirv.hpp11
>> > @@ -0,0 +1,997 @@
>> > +// Copyright (c) 2014-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.
>> > +
>> > +// This header is automatically generated by the same tool that creates
>> > +// the Binary Section of the SPIR-V specification.
>> > +
>> > +// Enumeration tokens for SPIR-V, in various styles:
>> > +//   C, C++, C++11, JSON, Lua, Python
>> > +// 
>> > +// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
>> > +// - C++ will have tokens in the "spv" name space, e.g.: 
>> > spv::SourceLanguageGLSL
>> > +// - C++11 will use enum classes in the spv namespace, e.g.: 
>> > spv::SourceLanguage::GLSL
>> > +// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
>> > +// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
>> > +// 
>> > +// Some tokens act like mask values, which can be OR'd together,
>> > +// while others are mutually exclusive.  The mask-like ones have
>> > +// "Mask" in their name, and a parallel enum that has the shift
>> > +// amount (1 << x) for each corresponding enumerant.
>> > +
>> > +#ifndef spirv_HPP
>> > +#define spirv_HPP
>> > +
>> > +namespace spv {
>> > +
>> > +typedef unsigned int Id;
>> > +
>> > +#define SPV_VERSION 0x10000
>> > +#define SPV_REVISION 12
>> > +
>> > +static const unsigned int MagicNumber = 0x07230203;
>> > +static const unsigned int Version = 0x00010000;
>> > +static const unsigned int Revision = 12;
>> > +static const unsigned int OpCodeMask = 0xffff;
>> > +static const unsigned int WordCountShift = 16;
>> > +
>> > +enum class SourceLanguage : unsigned {
>> > +    Unknown = 0,
>> > +    ESSL = 1,
>> > +    GLSL = 2,
>> > +    OpenCL_C = 3,
>> > +    OpenCL_CPP = 4,
>> > +    HLSL = 5,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ExecutionModel : unsigned {
>> > +    Vertex = 0,
>> > +    TessellationControl = 1,
>> > +    TessellationEvaluation = 2,
>> > +    Geometry = 3,
>> > +    Fragment = 4,
>> > +    GLCompute = 5,
>> > +    Kernel = 6,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class AddressingModel : unsigned {
>> > +    Logical = 0,
>> > +    Physical32 = 1,
>> > +    Physical64 = 2,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class MemoryModel : unsigned {
>> > +    Simple = 0,
>> > +    GLSL450 = 1,
>> > +    OpenCL = 2,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ExecutionMode : unsigned {
>> > +    Invocations = 0,
>> > +    SpacingEqual = 1,
>> > +    SpacingFractionalEven = 2,
>> > +    SpacingFractionalOdd = 3,
>> > +    VertexOrderCw = 4,
>> > +    VertexOrderCcw = 5,
>> > +    PixelCenterInteger = 6,
>> > +    OriginUpperLeft = 7,
>> > +    OriginLowerLeft = 8,
>> > +    EarlyFragmentTests = 9,
>> > +    PointMode = 10,
>> > +    Xfb = 11,
>> > +    DepthReplacing = 12,
>> > +    DepthGreater = 14,
>> > +    DepthLess = 15,
>> > +    DepthUnchanged = 16,
>> > +    LocalSize = 17,
>> > +    LocalSizeHint = 18,
>> > +    InputPoints = 19,
>> > +    InputLines = 20,
>> > +    InputLinesAdjacency = 21,
>> > +    Triangles = 22,
>> > +    InputTrianglesAdjacency = 23,
>> > +    Quads = 24,
>> > +    Isolines = 25,
>> > +    OutputVertices = 26,
>> > +    OutputPoints = 27,
>> > +    OutputLineStrip = 28,
>> > +    OutputTriangleStrip = 29,
>> > +    VecTypeHint = 30,
>> > +    ContractionOff = 31,
>> > +    PostDepthCoverage = 4446,
>> > +    StencilRefReplacingEXT = 5027,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class StorageClass : unsigned {
>> > +    UniformConstant = 0,
>> > +    Input = 1,
>> > +    Uniform = 2,
>> > +    Output = 3,
>> > +    Workgroup = 4,
>> > +    CrossWorkgroup = 5,
>> > +    Private = 6,
>> > +    Function = 7,
>> > +    Generic = 8,
>> > +    PushConstant = 9,
>> > +    AtomicCounter = 10,
>> > +    Image = 11,
>> > +    StorageBuffer = 12,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class Dim : unsigned {
>> > +    Dim1D = 0,
>> > +    Dim2D = 1,
>> > +    Dim3D = 2,
>> > +    Cube = 3,
>> > +    Rect = 4,
>> > +    Buffer = 5,
>> > +    SubpassData = 6,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class SamplerAddressingMode : unsigned {
>> > +    None = 0,
>> > +    ClampToEdge = 1,
>> > +    Clamp = 2,
>> > +    Repeat = 3,
>> > +    RepeatMirrored = 4,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class SamplerFilterMode : unsigned {
>> > +    Nearest = 0,
>> > +    Linear = 1,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ImageFormat : unsigned {
>> > +    Unknown = 0,
>> > +    Rgba32f = 1,
>> > +    Rgba16f = 2,
>> > +    R32f = 3,
>> > +    Rgba8 = 4,
>> > +    Rgba8Snorm = 5,
>> > +    Rg32f = 6,
>> > +    Rg16f = 7,
>> > +    R11fG11fB10f = 8,
>> > +    R16f = 9,
>> > +    Rgba16 = 10,
>> > +    Rgb10A2 = 11,
>> > +    Rg16 = 12,
>> > +    Rg8 = 13,
>> > +    R16 = 14,
>> > +    R8 = 15,
>> > +    Rgba16Snorm = 16,
>> > +    Rg16Snorm = 17,
>> > +    Rg8Snorm = 18,
>> > +    R16Snorm = 19,
>> > +    R8Snorm = 20,
>> > +    Rgba32i = 21,
>> > +    Rgba16i = 22,
>> > +    Rgba8i = 23,
>> > +    R32i = 24,
>> > +    Rg32i = 25,
>> > +    Rg16i = 26,
>> > +    Rg8i = 27,
>> > +    R16i = 28,
>> > +    R8i = 29,
>> > +    Rgba32ui = 30,
>> > +    Rgba16ui = 31,
>> > +    Rgba8ui = 32,
>> > +    R32ui = 33,
>> > +    Rgb10a2ui = 34,
>> > +    Rg32ui = 35,
>> > +    Rg16ui = 36,
>> > +    Rg8ui = 37,
>> > +    R16ui = 38,
>> > +    R8ui = 39,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ImageChannelOrder : unsigned {
>> > +    R = 0,
>> > +    A = 1,
>> > +    RG = 2,
>> > +    RA = 3,
>> > +    RGB = 4,
>> > +    RGBA = 5,
>> > +    BGRA = 6,
>> > +    ARGB = 7,
>> > +    Intensity = 8,
>> > +    Luminance = 9,
>> > +    Rx = 10,
>> > +    RGx = 11,
>> > +    RGBx = 12,
>> > +    Depth = 13,
>> > +    DepthStencil = 14,
>> > +    sRGB = 15,
>> > +    sRGBx = 16,
>> > +    sRGBA = 17,
>> > +    sBGRA = 18,
>> > +    ABGR = 19,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ImageChannelDataType : unsigned {
>> > +    SnormInt8 = 0,
>> > +    SnormInt16 = 1,
>> > +    UnormInt8 = 2,
>> > +    UnormInt16 = 3,
>> > +    UnormShort565 = 4,
>> > +    UnormShort555 = 5,
>> > +    UnormInt101010 = 6,
>> > +    SignedInt8 = 7,
>> > +    SignedInt16 = 8,
>> > +    SignedInt32 = 9,
>> > +    UnsignedInt8 = 10,
>> > +    UnsignedInt16 = 11,
>> > +    UnsignedInt32 = 12,
>> > +    HalfFloat = 13,
>> > +    Float = 14,
>> > +    UnormInt24 = 15,
>> > +    UnormInt101010_2 = 16,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ImageOperandsShift : unsigned {
>> > +    Bias = 0,
>> > +    Lod = 1,
>> > +    Grad = 2,
>> > +    ConstOffset = 3,
>> > +    Offset = 4,
>> > +    ConstOffsets = 5,
>> > +    Sample = 6,
>> > +    MinLod = 7,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class ImageOperandsMask : unsigned {
>> > +    MaskNone = 0,
>> > +    Bias = 0x00000001,
>> > +    Lod = 0x00000002,
>> > +    Grad = 0x00000004,
>> > +    ConstOffset = 0x00000008,
>> > +    Offset = 0x00000010,
>> > +    ConstOffsets = 0x00000020,
>> > +    Sample = 0x00000040,
>> > +    MinLod = 0x00000080,
>> > +};
>> > +
>> > +enum class FPFastMathModeShift : unsigned {
>> > +    NotNaN = 0,
>> > +    NotInf = 1,
>> > +    NSZ = 2,
>> > +    AllowRecip = 3,
>> > +    Fast = 4,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class FPFastMathModeMask : unsigned {
>> > +    MaskNone = 0,
>> > +    NotNaN = 0x00000001,
>> > +    NotInf = 0x00000002,
>> > +    NSZ = 0x00000004,
>> > +    AllowRecip = 0x00000008,
>> > +    Fast = 0x00000010,
>> > +};
>> > +
>> > +enum class FPRoundingMode : unsigned {
>> > +    RTE = 0,
>> > +    RTZ = 1,
>> > +    RTP = 2,
>> > +    RTN = 3,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class LinkageType : unsigned {
>> > +    Export = 0,
>> > +    Import = 1,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class AccessQualifier : unsigned {
>> > +    ReadOnly = 0,
>> > +    WriteOnly = 1,
>> > +    ReadWrite = 2,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class FunctionParameterAttribute : unsigned {
>> > +    Zext = 0,
>> > +    Sext = 1,
>> > +    ByVal = 2,
>> > +    Sret = 3,
>> > +    NoAlias = 4,
>> > +    NoCapture = 5,
>> > +    NoWrite = 6,
>> > +    NoReadWrite = 7,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class Decoration : unsigned {
>> > +    RelaxedPrecision = 0,
>> > +    SpecId = 1,
>> > +    Block = 2,
>> > +    BufferBlock = 3,
>> > +    RowMajor = 4,
>> > +    ColMajor = 5,
>> > +    ArrayStride = 6,
>> > +    MatrixStride = 7,
>> > +    GLSLShared = 8,
>> > +    GLSLPacked = 9,
>> > +    CPacked = 10,
>> > +    BuiltIn = 11,
>> > +    NoPerspective = 13,
>> > +    Flat = 14,
>> > +    Patch = 15,
>> > +    Centroid = 16,
>> > +    Sample = 17,
>> > +    Invariant = 18,
>> > +    Restrict = 19,
>> > +    Aliased = 20,
>> > +    Volatile = 21,
>> > +    Constant = 22,
>> > +    Coherent = 23,
>> > +    NonWritable = 24,
>> > +    NonReadable = 25,
>> > +    Uniform = 26,
>> > +    SaturatedConversion = 28,
>> > +    Stream = 29,
>> > +    Location = 30,
>> > +    Component = 31,
>> > +    Index = 32,
>> > +    Binding = 33,
>> > +    DescriptorSet = 34,
>> > +    Offset = 35,
>> > +    XfbBuffer = 36,
>> > +    XfbStride = 37,
>> > +    FuncParamAttr = 38,
>> > +    FPRoundingMode = 39,
>> > +    FPFastMathMode = 40,
>> > +    LinkageAttributes = 41,
>> > +    NoContraction = 42,
>> > +    InputAttachmentIndex = 43,
>> > +    Alignment = 44,
>> > +    ExplicitInterpAMD = 4999,
>> > +    OverrideCoverageNV = 5248,
>> > +    PassthroughNV = 5250,
>> > +    ViewportRelativeNV = 5252,
>> > +    SecondaryViewportRelativeNV = 5256,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class BuiltIn : unsigned {
>> > +    Position = 0,
>> > +    PointSize = 1,
>> > +    ClipDistance = 3,
>> > +    CullDistance = 4,
>> > +    VertexId = 5,
>> > +    InstanceId = 6,
>> > +    PrimitiveId = 7,
>> > +    InvocationId = 8,
>> > +    Layer = 9,
>> > +    ViewportIndex = 10,
>> > +    TessLevelOuter = 11,
>> > +    TessLevelInner = 12,
>> > +    TessCoord = 13,
>> > +    PatchVertices = 14,
>> > +    FragCoord = 15,
>> > +    PointCoord = 16,
>> > +    FrontFacing = 17,
>> > +    SampleId = 18,
>> > +    SamplePosition = 19,
>> > +    SampleMask = 20,
>> > +    FragDepth = 22,
>> > +    HelperInvocation = 23,
>> > +    NumWorkgroups = 24,
>> > +    WorkgroupSize = 25,
>> > +    WorkgroupId = 26,
>> > +    LocalInvocationId = 27,
>> > +    GlobalInvocationId = 28,
>> > +    LocalInvocationIndex = 29,
>> > +    WorkDim = 30,
>> > +    GlobalSize = 31,
>> > +    EnqueuedWorkgroupSize = 32,
>> > +    GlobalOffset = 33,
>> > +    GlobalLinearId = 34,
>> > +    SubgroupSize = 36,
>> > +    SubgroupMaxSize = 37,
>> > +    NumSubgroups = 38,
>> > +    NumEnqueuedSubgroups = 39,
>> > +    SubgroupId = 40,
>> > +    SubgroupLocalInvocationId = 41,
>> > +    VertexIndex = 42,
>> > +    InstanceIndex = 43,
>> > +    SubgroupEqMaskKHR = 4416,
>> > +    SubgroupGeMaskKHR = 4417,
>> > +    SubgroupGtMaskKHR = 4418,
>> > +    SubgroupLeMaskKHR = 4419,
>> > +    SubgroupLtMaskKHR = 4420,
>> > +    BaseVertex = 4424,
>> > +    BaseInstance = 4425,
>> > +    DrawIndex = 4426,
>> > +    DeviceIndex = 4438,
>> > +    ViewIndex = 4440,
>> > +    BaryCoordNoPerspAMD = 4992,
>> > +    BaryCoordNoPerspCentroidAMD = 4993,
>> > +    BaryCoordNoPerspSampleAMD = 4994,
>> > +    BaryCoordSmoothAMD = 4995,
>> > +    BaryCoordSmoothCentroidAMD = 4996,
>> > +    BaryCoordSmoothSampleAMD = 4997,
>> > +    BaryCoordPullModelAMD = 4998,
>> > +    FragStencilRefEXT = 5014,
>> > +    ViewportMaskNV = 5253,
>> > +    SecondaryPositionNV = 5257,
>> > +    SecondaryViewportMaskNV = 5258,
>> > +    PositionPerViewNV = 5261,
>> > +    ViewportMaskPerViewNV = 5262,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class SelectionControlShift : unsigned {
>> > +    Flatten = 0,
>> > +    DontFlatten = 1,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class SelectionControlMask : unsigned {
>> > +    MaskNone = 0,
>> > +    Flatten = 0x00000001,
>> > +    DontFlatten = 0x00000002,
>> > +};
>> > +
>> > +enum class LoopControlShift : unsigned {
>> > +    Unroll = 0,
>> > +    DontUnroll = 1,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class LoopControlMask : unsigned {
>> > +    MaskNone = 0,
>> > +    Unroll = 0x00000001,
>> > +    DontUnroll = 0x00000002,
>> > +};
>> > +
>> > +enum class FunctionControlShift : unsigned {
>> > +    Inline = 0,
>> > +    DontInline = 1,
>> > +    Pure = 2,
>> > +    Const = 3,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class FunctionControlMask : unsigned {
>> > +    MaskNone = 0,
>> > +    Inline = 0x00000001,
>> > +    DontInline = 0x00000002,
>> > +    Pure = 0x00000004,
>> > +    Const = 0x00000008,
>> > +};
>> > +
>> > +enum class MemorySemanticsShift : unsigned {
>> > +    Acquire = 1,
>> > +    Release = 2,
>> > +    AcquireRelease = 3,
>> > +    SequentiallyConsistent = 4,
>> > +    UniformMemory = 6,
>> > +    SubgroupMemory = 7,
>> > +    WorkgroupMemory = 8,
>> > +    CrossWorkgroupMemory = 9,
>> > +    AtomicCounterMemory = 10,
>> > +    ImageMemory = 11,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class MemorySemanticsMask : unsigned {
>> > +    MaskNone = 0,
>> > +    Acquire = 0x00000002,
>> > +    Release = 0x00000004,
>> > +    AcquireRelease = 0x00000008,
>> > +    SequentiallyConsistent = 0x00000010,
>> > +    UniformMemory = 0x00000040,
>> > +    SubgroupMemory = 0x00000080,
>> > +    WorkgroupMemory = 0x00000100,
>> > +    CrossWorkgroupMemory = 0x00000200,
>> > +    AtomicCounterMemory = 0x00000400,
>> > +    ImageMemory = 0x00000800,
>> > +};
>> > +
>> > +enum class MemoryAccessShift : unsigned {
>> > +    Volatile = 0,
>> > +    Aligned = 1,
>> > +    Nontemporal = 2,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class MemoryAccessMask : unsigned {
>> > +    MaskNone = 0,
>> > +    Volatile = 0x00000001,
>> > +    Aligned = 0x00000002,
>> > +    Nontemporal = 0x00000004,
>> > +};
>> > +
>> > +enum class Scope : unsigned {
>> > +    CrossDevice = 0,
>> > +    Device = 1,
>> > +    Workgroup = 2,
>> > +    Subgroup = 3,
>> > +    Invocation = 4,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class GroupOperation : unsigned {
>> > +    Reduce = 0,
>> > +    InclusiveScan = 1,
>> > +    ExclusiveScan = 2,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class KernelEnqueueFlags : unsigned {
>> > +    NoWait = 0,
>> > +    WaitKernel = 1,
>> > +    WaitWorkGroup = 2,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class KernelProfilingInfoShift : unsigned {
>> > +    CmdExecTime = 0,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class KernelProfilingInfoMask : unsigned {
>> > +    MaskNone = 0,
>> > +    CmdExecTime = 0x00000001,
>> > +};
>> > +
>> > +enum class Capability : unsigned {
>> > +    Matrix = 0,
>> > +    Shader = 1,
>> > +    Geometry = 2,
>> > +    Tessellation = 3,
>> > +    Addresses = 4,
>> > +    Linkage = 5,
>> > +    Kernel = 6,
>> > +    Vector16 = 7,
>> > +    Float16Buffer = 8,
>> > +    Float16 = 9,
>> > +    Float64 = 10,
>> > +    Int64 = 11,
>> > +    Int64Atomics = 12,
>> > +    ImageBasic = 13,
>> > +    ImageReadWrite = 14,
>> > +    ImageMipmap = 15,
>> > +    Pipes = 17,
>> > +    Groups = 18,
>> > +    DeviceEnqueue = 19,
>> > +    LiteralSampler = 20,
>> > +    AtomicStorage = 21,
>> > +    Int16 = 22,
>> > +    TessellationPointSize = 23,
>> > +    GeometryPointSize = 24,
>> > +    ImageGatherExtended = 25,
>> > +    StorageImageMultisample = 27,
>> > +    UniformBufferArrayDynamicIndexing = 28,
>> > +    SampledImageArrayDynamicIndexing = 29,
>> > +    StorageBufferArrayDynamicIndexing = 30,
>> > +    StorageImageArrayDynamicIndexing = 31,
>> > +    ClipDistance = 32,
>> > +    CullDistance = 33,
>> > +    ImageCubeArray = 34,
>> > +    SampleRateShading = 35,
>> > +    ImageRect = 36,
>> > +    SampledRect = 37,
>> > +    GenericPointer = 38,
>> > +    Int8 = 39,
>> > +    InputAttachment = 40,
>> > +    SparseResidency = 41,
>> > +    MinLod = 42,
>> > +    Sampled1D = 43,
>> > +    Image1D = 44,
>> > +    SampledCubeArray = 45,
>> > +    SampledBuffer = 46,
>> > +    ImageBuffer = 47,
>> > +    ImageMSArray = 48,
>> > +    StorageImageExtendedFormats = 49,
>> > +    ImageQuery = 50,
>> > +    DerivativeControl = 51,
>> > +    InterpolationFunction = 52,
>> > +    TransformFeedback = 53,
>> > +    GeometryStreams = 54,
>> > +    StorageImageReadWithoutFormat = 55,
>> > +    StorageImageWriteWithoutFormat = 56,
>> > +    MultiViewport = 57,
>> > +    SubgroupBallotKHR = 4423,
>> > +    DrawParameters = 4427,
>> > +    SubgroupVoteKHR = 4431,
>> > +    StorageBuffer16BitAccess = 4433,
>> > +    StorageUniformBufferBlock16 = 4433,
>> > +    StorageUniform16 = 4434,
>> > +    UniformAndStorageBuffer16BitAccess = 4434,
>> > +    StoragePushConstant16 = 4435,
>> > +    StorageInputOutput16 = 4436,
>> > +    DeviceGroup = 4437,
>> > +    MultiView = 4439,
>> > +    VariablePointersStorageBuffer = 4441,
>> > +    VariablePointers = 4442,
>> > +    AtomicStorageOps = 4445,
>> > +    SampleMaskPostDepthCoverage = 4447,
>> > +    ImageGatherBiasLodAMD = 5009,
>> > +    FragmentMaskAMD = 5010,
>> > +    StencilExportEXT = 5013,
>> > +    ImageReadWriteLodAMD = 5015,
>> > +    SampleMaskOverrideCoverageNV = 5249,
>> > +    GeometryShaderPassthroughNV = 5251,
>> > +    ShaderViewportIndexLayerEXT = 5254,
>> > +    ShaderViewportIndexLayerNV = 5254,
>> > +    ShaderViewportMaskNV = 5255,
>> > +    ShaderStereoViewNV = 5259,
>> > +    PerViewAttributesNV = 5260,
>> > +    SubgroupShuffleINTEL = 5568,
>> > +    SubgroupBufferBlockIOINTEL = 5569,
>> > +    SubgroupImageBlockIOINTEL = 5570,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +enum class Op : unsigned {
>> > +    OpNop = 0,
>> > +    OpUndef = 1,
>> > +    OpSourceContinued = 2,
>> > +    OpSource = 3,
>> > +    OpSourceExtension = 4,
>> > +    OpName = 5,
>> > +    OpMemberName = 6,
>> > +    OpString = 7,
>> > +    OpLine = 8,
>> > +    OpExtension = 10,
>> > +    OpExtInstImport = 11,
>> > +    OpExtInst = 12,
>> > +    OpMemoryModel = 14,
>> > +    OpEntryPoint = 15,
>> > +    OpExecutionMode = 16,
>> > +    OpCapability = 17,
>> > +    OpTypeVoid = 19,
>> > +    OpTypeBool = 20,
>> > +    OpTypeInt = 21,
>> > +    OpTypeFloat = 22,
>> > +    OpTypeVector = 23,
>> > +    OpTypeMatrix = 24,
>> > +    OpTypeImage = 25,
>> > +    OpTypeSampler = 26,
>> > +    OpTypeSampledImage = 27,
>> > +    OpTypeArray = 28,
>> > +    OpTypeRuntimeArray = 29,
>> > +    OpTypeStruct = 30,
>> > +    OpTypeOpaque = 31,
>> > +    OpTypePointer = 32,
>> > +    OpTypeFunction = 33,
>> > +    OpTypeEvent = 34,
>> > +    OpTypeDeviceEvent = 35,
>> > +    OpTypeReserveId = 36,
>> > +    OpTypeQueue = 37,
>> > +    OpTypePipe = 38,
>> > +    OpTypeForwardPointer = 39,
>> > +    OpConstantTrue = 41,
>> > +    OpConstantFalse = 42,
>> > +    OpConstant = 43,
>> > +    OpConstantComposite = 44,
>> > +    OpConstantSampler = 45,
>> > +    OpConstantNull = 46,
>> > +    OpSpecConstantTrue = 48,
>> > +    OpSpecConstantFalse = 49,
>> > +    OpSpecConstant = 50,
>> > +    OpSpecConstantComposite = 51,
>> > +    OpSpecConstantOp = 52,
>> > +    OpFunction = 54,
>> > +    OpFunctionParameter = 55,
>> > +    OpFunctionEnd = 56,
>> > +    OpFunctionCall = 57,
>> > +    OpVariable = 59,
>> > +    OpImageTexelPointer = 60,
>> > +    OpLoad = 61,
>> > +    OpStore = 62,
>> > +    OpCopyMemory = 63,
>> > +    OpCopyMemorySized = 64,
>> > +    OpAccessChain = 65,
>> > +    OpInBoundsAccessChain = 66,
>> > +    OpPtrAccessChain = 67,
>> > +    OpArrayLength = 68,
>> > +    OpGenericPtrMemSemantics = 69,
>> > +    OpInBoundsPtrAccessChain = 70,
>> > +    OpDecorate = 71,
>> > +    OpMemberDecorate = 72,
>> > +    OpDecorationGroup = 73,
>> > +    OpGroupDecorate = 74,
>> > +    OpGroupMemberDecorate = 75,
>> > +    OpVectorExtractDynamic = 77,
>> > +    OpVectorInsertDynamic = 78,
>> > +    OpVectorShuffle = 79,
>> > +    OpCompositeConstruct = 80,
>> > +    OpCompositeExtract = 81,
>> > +    OpCompositeInsert = 82,
>> > +    OpCopyObject = 83,
>> > +    OpTranspose = 84,
>> > +    OpSampledImage = 86,
>> > +    OpImageSampleImplicitLod = 87,
>> > +    OpImageSampleExplicitLod = 88,
>> > +    OpImageSampleDrefImplicitLod = 89,
>> > +    OpImageSampleDrefExplicitLod = 90,
>> > +    OpImageSampleProjImplicitLod = 91,
>> > +    OpImageSampleProjExplicitLod = 92,
>> > +    OpImageSampleProjDrefImplicitLod = 93,
>> > +    OpImageSampleProjDrefExplicitLod = 94,
>> > +    OpImageFetch = 95,
>> > +    OpImageGather = 96,
>> > +    OpImageDrefGather = 97,
>> > +    OpImageRead = 98,
>> > +    OpImageWrite = 99,
>> > +    OpImage = 100,
>> > +    OpImageQueryFormat = 101,
>> > +    OpImageQueryOrder = 102,
>> > +    OpImageQuerySizeLod = 103,
>> > +    OpImageQuerySize = 104,
>> > +    OpImageQueryLod = 105,
>> > +    OpImageQueryLevels = 106,
>> > +    OpImageQuerySamples = 107,
>> > +    OpConvertFToU = 109,
>> > +    OpConvertFToS = 110,
>> > +    OpConvertSToF = 111,
>> > +    OpConvertUToF = 112,
>> > +    OpUConvert = 113,
>> > +    OpSConvert = 114,
>> > +    OpFConvert = 115,
>> > +    OpQuantizeToF16 = 116,
>> > +    OpConvertPtrToU = 117,
>> > +    OpSatConvertSToU = 118,
>> > +    OpSatConvertUToS = 119,
>> > +    OpConvertUToPtr = 120,
>> > +    OpPtrCastToGeneric = 121,
>> > +    OpGenericCastToPtr = 122,
>> > +    OpGenericCastToPtrExplicit = 123,
>> > +    OpBitcast = 124,
>> > +    OpSNegate = 126,
>> > +    OpFNegate = 127,
>> > +    OpIAdd = 128,
>> > +    OpFAdd = 129,
>> > +    OpISub = 130,
>> > +    OpFSub = 131,
>> > +    OpIMul = 132,
>> > +    OpFMul = 133,
>> > +    OpUDiv = 134,
>> > +    OpSDiv = 135,
>> > +    OpFDiv = 136,
>> > +    OpUMod = 137,
>> > +    OpSRem = 138,
>> > +    OpSMod = 139,
>> > +    OpFRem = 140,
>> > +    OpFMod = 141,
>> > +    OpVectorTimesScalar = 142,
>> > +    OpMatrixTimesScalar = 143,
>> > +    OpVectorTimesMatrix = 144,
>> > +    OpMatrixTimesVector = 145,
>> > +    OpMatrixTimesMatrix = 146,
>> > +    OpOuterProduct = 147,
>> > +    OpDot = 148,
>> > +    OpIAddCarry = 149,
>> > +    OpISubBorrow = 150,
>> > +    OpUMulExtended = 151,
>> > +    OpSMulExtended = 152,
>> > +    OpAny = 154,
>> > +    OpAll = 155,
>> > +    OpIsNan = 156,
>> > +    OpIsInf = 157,
>> > +    OpIsFinite = 158,
>> > +    OpIsNormal = 159,
>> > +    OpSignBitSet = 160,
>> > +    OpLessOrGreater = 161,
>> > +    OpOrdered = 162,
>> > +    OpUnordered = 163,
>> > +    OpLogicalEqual = 164,
>> > +    OpLogicalNotEqual = 165,
>> > +    OpLogicalOr = 166,
>> > +    OpLogicalAnd = 167,
>> > +    OpLogicalNot = 168,
>> > +    OpSelect = 169,
>> > +    OpIEqual = 170,
>> > +    OpINotEqual = 171,
>> > +    OpUGreaterThan = 172,
>> > +    OpSGreaterThan = 173,
>> > +    OpUGreaterThanEqual = 174,
>> > +    OpSGreaterThanEqual = 175,
>> > +    OpULessThan = 176,
>> > +    OpSLessThan = 177,
>> > +    OpULessThanEqual = 178,
>> > +    OpSLessThanEqual = 179,
>> > +    OpFOrdEqual = 180,
>> > +    OpFUnordEqual = 181,
>> > +    OpFOrdNotEqual = 182,
>> > +    OpFUnordNotEqual = 183,
>> > +    OpFOrdLessThan = 184,
>> > +    OpFUnordLessThan = 185,
>> > +    OpFOrdGreaterThan = 186,
>> > +    OpFUnordGreaterThan = 187,
>> > +    OpFOrdLessThanEqual = 188,
>> > +    OpFUnordLessThanEqual = 189,
>> > +    OpFOrdGreaterThanEqual = 190,
>> > +    OpFUnordGreaterThanEqual = 191,
>> > +    OpShiftRightLogical = 194,
>> > +    OpShiftRightArithmetic = 195,
>> > +    OpShiftLeftLogical = 196,
>> > +    OpBitwiseOr = 197,
>> > +    OpBitwiseXor = 198,
>> > +    OpBitwiseAnd = 199,
>> > +    OpNot = 200,
>> > +    OpBitFieldInsert = 201,
>> > +    OpBitFieldSExtract = 202,
>> > +    OpBitFieldUExtract = 203,
>> > +    OpBitReverse = 204,
>> > +    OpBitCount = 205,
>> > +    OpDPdx = 207,
>> > +    OpDPdy = 208,
>> > +    OpFwidth = 209,
>> > +    OpDPdxFine = 210,
>> > +    OpDPdyFine = 211,
>> > +    OpFwidthFine = 212,
>> > +    OpDPdxCoarse = 213,
>> > +    OpDPdyCoarse = 214,
>> > +    OpFwidthCoarse = 215,
>> > +    OpEmitVertex = 218,
>> > +    OpEndPrimitive = 219,
>> > +    OpEmitStreamVertex = 220,
>> > +    OpEndStreamPrimitive = 221,
>> > +    OpControlBarrier = 224,
>> > +    OpMemoryBarrier = 225,
>> > +    OpAtomicLoad = 227,
>> > +    OpAtomicStore = 228,
>> > +    OpAtomicExchange = 229,
>> > +    OpAtomicCompareExchange = 230,
>> > +    OpAtomicCompareExchangeWeak = 231,
>> > +    OpAtomicIIncrement = 232,
>> > +    OpAtomicIDecrement = 233,
>> > +    OpAtomicIAdd = 234,
>> > +    OpAtomicISub = 235,
>> > +    OpAtomicSMin = 236,
>> > +    OpAtomicUMin = 237,
>> > +    OpAtomicSMax = 238,
>> > +    OpAtomicUMax = 239,
>> > +    OpAtomicAnd = 240,
>> > +    OpAtomicOr = 241,
>> > +    OpAtomicXor = 242,
>> > +    OpPhi = 245,
>> > +    OpLoopMerge = 246,
>> > +    OpSelectionMerge = 247,
>> > +    OpLabel = 248,
>> > +    OpBranch = 249,
>> > +    OpBranchConditional = 250,
>> > +    OpSwitch = 251,
>> > +    OpKill = 252,
>> > +    OpReturn = 253,
>> > +    OpReturnValue = 254,
>> > +    OpUnreachable = 255,
>> > +    OpLifetimeStart = 256,
>> > +    OpLifetimeStop = 257,
>> > +    OpGroupAsyncCopy = 259,
>> > +    OpGroupWaitEvents = 260,
>> > +    OpGroupAll = 261,
>> > +    OpGroupAny = 262,
>> > +    OpGroupBroadcast = 263,
>> > +    OpGroupIAdd = 264,
>> > +    OpGroupFAdd = 265,
>> > +    OpGroupFMin = 266,
>> > +    OpGroupUMin = 267,
>> > +    OpGroupSMin = 268,
>> > +    OpGroupFMax = 269,
>> > +    OpGroupUMax = 270,
>> > +    OpGroupSMax = 271,
>> > +    OpReadPipe = 274,
>> > +    OpWritePipe = 275,
>> > +    OpReservedReadPipe = 276,
>> > +    OpReservedWritePipe = 277,
>> > +    OpReserveReadPipePackets = 278,
>> > +    OpReserveWritePipePackets = 279,
>> > +    OpCommitReadPipe = 280,
>> > +    OpCommitWritePipe = 281,
>> > +    OpIsValidReserveId = 282,
>> > +    OpGetNumPipePackets = 283,
>> > +    OpGetMaxPipePackets = 284,
>> > +    OpGroupReserveReadPipePackets = 285,
>> > +    OpGroupReserveWritePipePackets = 286,
>> > +    OpGroupCommitReadPipe = 287,
>> > +    OpGroupCommitWritePipe = 288,
>> > +    OpEnqueueMarker = 291,
>> > +    OpEnqueueKernel = 292,
>> > +    OpGetKernelNDrangeSubGroupCount = 293,
>> > +    OpGetKernelNDrangeMaxSubGroupSize = 294,
>> > +    OpGetKernelWorkGroupSize = 295,
>> > +    OpGetKernelPreferredWorkGroupSizeMultiple = 296,
>> > +    OpRetainEvent = 297,
>> > +    OpReleaseEvent = 298,
>> > +    OpCreateUserEvent = 299,
>> > +    OpIsValidEvent = 300,
>> > +    OpSetUserEventStatus = 301,
>> > +    OpCaptureEventProfilingInfo = 302,
>> > +    OpGetDefaultQueue = 303,
>> > +    OpBuildNDRange = 304,
>> > +    OpImageSparseSampleImplicitLod = 305,
>> > +    OpImageSparseSampleExplicitLod = 306,
>> > +    OpImageSparseSampleDrefImplicitLod = 307,
>> > +    OpImageSparseSampleDrefExplicitLod = 308,
>> > +    OpImageSparseSampleProjImplicitLod = 309,
>> > +    OpImageSparseSampleProjExplicitLod = 310,
>> > +    OpImageSparseSampleProjDrefImplicitLod = 311,
>> > +    OpImageSparseSampleProjDrefExplicitLod = 312,
>> > +    OpImageSparseFetch = 313,
>> > +    OpImageSparseGather = 314,
>> > +    OpImageSparseDrefGather = 315,
>> > +    OpImageSparseTexelsResident = 316,
>> > +    OpNoLine = 317,
>> > +    OpAtomicFlagTestAndSet = 318,
>> > +    OpAtomicFlagClear = 319,
>> > +    OpImageSparseRead = 320,
>> > +    OpSubgroupBallotKHR = 4421,
>> > +    OpSubgroupFirstInvocationKHR = 4422,
>> > +    OpSubgroupAllKHR = 4428,
>> > +    OpSubgroupAnyKHR = 4429,
>> > +    OpSubgroupAllEqualKHR = 4430,
>> > +    OpSubgroupReadInvocationKHR = 4432,
>> > +    OpGroupIAddNonUniformAMD = 5000,
>> > +    OpGroupFAddNonUniformAMD = 5001,
>> > +    OpGroupFMinNonUniformAMD = 5002,
>> > +    OpGroupUMinNonUniformAMD = 5003,
>> > +    OpGroupSMinNonUniformAMD = 5004,
>> > +    OpGroupFMaxNonUniformAMD = 5005,
>> > +    OpGroupUMaxNonUniformAMD = 5006,
>> > +    OpGroupSMaxNonUniformAMD = 5007,
>> > +    OpFragmentMaskFetchAMD = 5011,
>> > +    OpFragmentFetchAMD = 5012,
>> > +    OpSubgroupShuffleINTEL = 5571,
>> > +    OpSubgroupShuffleDownINTEL = 5572,
>> > +    OpSubgroupShuffleUpINTEL = 5573,
>> > +    OpSubgroupShuffleXorINTEL = 5574,
>> > +    OpSubgroupBlockReadINTEL = 5575,
>> > +    OpSubgroupBlockWriteINTEL = 5576,
>> > +    OpSubgroupImageBlockReadINTEL = 5577,
>> > +    OpSubgroupImageBlockWriteINTEL = 5578,
>> > +    Max = 0x7fffffff,
>> > +};
>> > +
>> > +// Overload operator| for mask bit combining
>> > +
>> > +inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask 
>> > b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
>> > +inline FPFastMathModeMask operator|(FPFastMathModeMask a, 
>> > FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | 
>> > unsigned(b)); }
>> > +inline SelectionControlMask operator|(SelectionControlMask a, 
>> > SelectionControlMask b) { return SelectionControlMask(unsigned(a) | 
>> > unsigned(b)); }
>> > +inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { 
>> > return LoopControlMask(unsigned(a) | unsigned(b)); }
>> > +inline FunctionControlMask operator|(FunctionControlMask a, 
>> > FunctionControlMask b) { return FunctionControlMask(unsigned(a) | 
>> > unsigned(b)); }
>> > +inline MemorySemanticsMask operator|(MemorySemanticsMask a, 
>> > MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | 
>> > unsigned(b)); }
>> > +inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) 
>> > { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
>> > +inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, 
>> > KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | 
>> > unsigned(b)); }
>> > +
>> > +}  // end namespace spv
>> > +
>> > +#endif  // #ifndef spirv_HPP
>> > +
>> > -- 
>> > 2.16.0

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to