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