[Mesa-dev] [PATCH v2 10/22] clover/spirv: Import spirv.hpp11 version 1.0 (rev 12)
Pierre Moreau
pierre.morrow at free.fr
Tue Jan 23 22:25:24 UTC 2018
On 2018-01-23 — 14:06, Francisco Jerez wrote:
> Pierre Moreau <pierre.morrow at free.fr> writes:
>
> > Signed-off-by: Pierre Moreau <pierre.morrow at 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.
>
> Acked-by: Francisco Jerez <currojerez at 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
More information about the mesa-dev
mailing list