[Mesa-dev] [PATCH v2 10/22] clover/spirv: Import spirv.hpp11 version 1.0 (rev 12)
Francisco Jerez
currojerez at riseup.net
Tue Jan 23 22:16:22 UTC 2018
Pierre Moreau <pierre.morrow at free.fr> writes:
> 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.
>
I doubt that will cause any issues, it's just a private header in the
clover/spirv module.
>>
>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180123/d59ec67c/attachment-0001.sig>
More information about the mesa-dev
mailing list