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. > > 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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev