aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Kessenich <cepheus@frii.com>2016-07-15 18:54:29 -0600
committerJohn Kessenich <cepheus@frii.com>2016-07-15 18:54:29 -0600
commit3814effb879ab5a98a7b9288a4b4c7849d2bc8ac (patch)
treed871dd8d2273481457c1c48ef975b9cabeb89528
parentafd72cebbe3e55fb5094ce422264e54b5eb1abac (diff)
downloadspirv-headers-3814effb879ab5a98a7b9288a4b4c7849d2bc8ac.tar.gz
Rev. 6 of 1.0 and Rev. 2 of 1.1 headers (changed headers).
The previous commit was just new headers, for simpler tracking.
-rw-r--r--include/spirv/1.0/spirv.core.grammar.json11
-rw-r--r--include/spirv/1.0/spirv.h35
-rw-r--r--include/spirv/1.0/spirv.hpp35
-rw-r--r--include/spirv/1.0/spirv.hpp1135
-rw-r--r--include/spirv/1.0/spirv.json2
-rw-r--r--include/spirv/1.0/spirv.lua2
-rw-r--r--include/spirv/1.0/spirv.py2
-rw-r--r--include/spirv/1.1/spirv.core.grammar.json11
-rw-r--r--include/spirv/1.1/spirv.h35
-rw-r--r--include/spirv/1.1/spirv.hpp35
-rw-r--r--include/spirv/1.1/spirv.hpp1135
-rw-r--r--include/spirv/1.1/spirv.json2
-rw-r--r--include/spirv/1.1/spirv.lua2
-rw-r--r--include/spirv/1.1/spirv.py2
14 files changed, 212 insertions, 32 deletions
diff --git a/include/spirv/1.0/spirv.core.grammar.json b/include/spirv/1.0/spirv.core.grammar.json
index 04278b2..0192b72 100644
--- a/include/spirv/1.0/spirv.core.grammar.json
+++ b/include/spirv/1.0/spirv.core.grammar.json
@@ -27,7 +27,7 @@
"magic_number" : "0x07230203",
"major_version" : 1,
"minor_version" : 0,
- "revision" : 5,
+ "revision" : 6,
"instructions" : [
{
"opname" : "OpNop",
@@ -3570,8 +3570,7 @@
},
{
"enumerant" : "Input",
- "value" : 1,
- "capabilities" : [ "Shader" ]
+ "value" : 1
},
{
"enumerant" : "Uniform",
@@ -4965,8 +4964,7 @@
},
{
"enumerant" : "Sampled1D",
- "value" : 43,
- "capabilities" : [ "Shader" ]
+ "value" : 43
},
{
"enumerant" : "Image1D",
@@ -4980,8 +4978,7 @@
},
{
"enumerant" : "SampledBuffer",
- "value" : 46,
- "capabilities" : [ "Shader" ]
+ "value" : 46
},
{
"enumerant" : "ImageBuffer",
diff --git a/include/spirv/1.0/spirv.h b/include/spirv/1.0/spirv.h
index 6f46053..3a3b0eb 100644
--- a/include/spirv/1.0/spirv.h
+++ b/include/spirv/1.0/spirv.h
@@ -51,11 +51,11 @@
typedef unsigned int SpvId;
#define SPV_VERSION 0x10000
-#define SPV_REVISION 5
+#define SPV_REVISION 6
static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010000;
-static const unsigned int SpvRevision = 5;
+static const unsigned int SpvRevision = 6;
static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16;
@@ -65,6 +65,7 @@ typedef enum SpvSourceLanguage_ {
SpvSourceLanguageGLSL = 2,
SpvSourceLanguageOpenCL_C = 3,
SpvSourceLanguageOpenCL_CPP = 4,
+ SpvSourceLanguageMax = 0x7fffffff,
} SpvSourceLanguage;
typedef enum SpvExecutionModel_ {
@@ -75,18 +76,21 @@ typedef enum SpvExecutionModel_ {
SpvExecutionModelFragment = 4,
SpvExecutionModelGLCompute = 5,
SpvExecutionModelKernel = 6,
+ SpvExecutionModelMax = 0x7fffffff,
} SpvExecutionModel;
typedef enum SpvAddressingModel_ {
SpvAddressingModelLogical = 0,
SpvAddressingModelPhysical32 = 1,
SpvAddressingModelPhysical64 = 2,
+ SpvAddressingModelMax = 0x7fffffff,
} SpvAddressingModel;
typedef enum SpvMemoryModel_ {
SpvMemoryModelSimple = 0,
SpvMemoryModelGLSL450 = 1,
SpvMemoryModelOpenCL = 2,
+ SpvMemoryModelMax = 0x7fffffff,
} SpvMemoryModel;
typedef enum SpvExecutionMode_ {
@@ -121,6 +125,7 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeOutputTriangleStrip = 29,
SpvExecutionModeVecTypeHint = 30,
SpvExecutionModeContractionOff = 31,
+ SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
typedef enum SpvStorageClass_ {
@@ -136,6 +141,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassPushConstant = 9,
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
+ SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
typedef enum SpvDim_ {
@@ -146,6 +152,7 @@ typedef enum SpvDim_ {
SpvDimRect = 4,
SpvDimBuffer = 5,
SpvDimSubpassData = 6,
+ SpvDimMax = 0x7fffffff,
} SpvDim;
typedef enum SpvSamplerAddressingMode_ {
@@ -154,11 +161,13 @@ typedef enum SpvSamplerAddressingMode_ {
SpvSamplerAddressingModeClamp = 2,
SpvSamplerAddressingModeRepeat = 3,
SpvSamplerAddressingModeRepeatMirrored = 4,
+ SpvSamplerAddressingModeMax = 0x7fffffff,
} SpvSamplerAddressingMode;
typedef enum SpvSamplerFilterMode_ {
SpvSamplerFilterModeNearest = 0,
SpvSamplerFilterModeLinear = 1,
+ SpvSamplerFilterModeMax = 0x7fffffff,
} SpvSamplerFilterMode;
typedef enum SpvImageFormat_ {
@@ -202,6 +211,7 @@ typedef enum SpvImageFormat_ {
SpvImageFormatRg8ui = 37,
SpvImageFormatR16ui = 38,
SpvImageFormatR8ui = 39,
+ SpvImageFormatMax = 0x7fffffff,
} SpvImageFormat;
typedef enum SpvImageChannelOrder_ {
@@ -225,6 +235,7 @@ typedef enum SpvImageChannelOrder_ {
SpvImageChannelOrdersRGBA = 17,
SpvImageChannelOrdersBGRA = 18,
SpvImageChannelOrderABGR = 19,
+ SpvImageChannelOrderMax = 0x7fffffff,
} SpvImageChannelOrder;
typedef enum SpvImageChannelDataType_ {
@@ -245,6 +256,7 @@ typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeFloat = 14,
SpvImageChannelDataTypeUnormInt24 = 15,
SpvImageChannelDataTypeUnormInt101010_2 = 16,
+ SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType;
typedef enum SpvImageOperandsShift_ {
@@ -256,6 +268,7 @@ typedef enum SpvImageOperandsShift_ {
SpvImageOperandsConstOffsetsShift = 5,
SpvImageOperandsSampleShift = 6,
SpvImageOperandsMinLodShift = 7,
+ SpvImageOperandsMax = 0x7fffffff,
} SpvImageOperandsShift;
typedef enum SpvImageOperandsMask_ {
@@ -276,6 +289,7 @@ typedef enum SpvFPFastMathModeShift_ {
SpvFPFastMathModeNSZShift = 2,
SpvFPFastMathModeAllowRecipShift = 3,
SpvFPFastMathModeFastShift = 4,
+ SpvFPFastMathModeMax = 0x7fffffff,
} SpvFPFastMathModeShift;
typedef enum SpvFPFastMathModeMask_ {
@@ -292,17 +306,20 @@ typedef enum SpvFPRoundingMode_ {
SpvFPRoundingModeRTZ = 1,
SpvFPRoundingModeRTP = 2,
SpvFPRoundingModeRTN = 3,
+ SpvFPRoundingModeMax = 0x7fffffff,
} SpvFPRoundingMode;
typedef enum SpvLinkageType_ {
SpvLinkageTypeExport = 0,
SpvLinkageTypeImport = 1,
+ SpvLinkageTypeMax = 0x7fffffff,
} SpvLinkageType;
typedef enum SpvAccessQualifier_ {
SpvAccessQualifierReadOnly = 0,
SpvAccessQualifierWriteOnly = 1,
SpvAccessQualifierReadWrite = 2,
+ SpvAccessQualifierMax = 0x7fffffff,
} SpvAccessQualifier;
typedef enum SpvFunctionParameterAttribute_ {
@@ -314,6 +331,7 @@ typedef enum SpvFunctionParameterAttribute_ {
SpvFunctionParameterAttributeNoCapture = 5,
SpvFunctionParameterAttributeNoWrite = 6,
SpvFunctionParameterAttributeNoReadWrite = 7,
+ SpvFunctionParameterAttributeMax = 0x7fffffff,
} SpvFunctionParameterAttribute;
typedef enum SpvDecoration_ {
@@ -360,6 +378,7 @@ typedef enum SpvDecoration_ {
SpvDecorationNoContraction = 42,
SpvDecorationInputAttachmentIndex = 43,
SpvDecorationAlignment = 44,
+ SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
typedef enum SpvBuiltIn_ {
@@ -404,11 +423,13 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInSubgroupLocalInvocationId = 41,
SpvBuiltInVertexIndex = 42,
SpvBuiltInInstanceIndex = 43,
+ SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn;
typedef enum SpvSelectionControlShift_ {
SpvSelectionControlFlattenShift = 0,
SpvSelectionControlDontFlattenShift = 1,
+ SpvSelectionControlMax = 0x7fffffff,
} SpvSelectionControlShift;
typedef enum SpvSelectionControlMask_ {
@@ -420,6 +441,7 @@ typedef enum SpvSelectionControlMask_ {
typedef enum SpvLoopControlShift_ {
SpvLoopControlUnrollShift = 0,
SpvLoopControlDontUnrollShift = 1,
+ SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
typedef enum SpvLoopControlMask_ {
@@ -433,6 +455,7 @@ typedef enum SpvFunctionControlShift_ {
SpvFunctionControlDontInlineShift = 1,
SpvFunctionControlPureShift = 2,
SpvFunctionControlConstShift = 3,
+ SpvFunctionControlMax = 0x7fffffff,
} SpvFunctionControlShift;
typedef enum SpvFunctionControlMask_ {
@@ -454,6 +477,7 @@ typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
SpvMemorySemanticsAtomicCounterMemoryShift = 10,
SpvMemorySemanticsImageMemoryShift = 11,
+ SpvMemorySemanticsMax = 0x7fffffff,
} SpvMemorySemanticsShift;
typedef enum SpvMemorySemanticsMask_ {
@@ -474,6 +498,7 @@ typedef enum SpvMemoryAccessShift_ {
SpvMemoryAccessVolatileShift = 0,
SpvMemoryAccessAlignedShift = 1,
SpvMemoryAccessNontemporalShift = 2,
+ SpvMemoryAccessMax = 0x7fffffff,
} SpvMemoryAccessShift;
typedef enum SpvMemoryAccessMask_ {
@@ -489,22 +514,26 @@ typedef enum SpvScope_ {
SpvScopeWorkgroup = 2,
SpvScopeSubgroup = 3,
SpvScopeInvocation = 4,
+ SpvScopeMax = 0x7fffffff,
} SpvScope;
typedef enum SpvGroupOperation_ {
SpvGroupOperationReduce = 0,
SpvGroupOperationInclusiveScan = 1,
SpvGroupOperationExclusiveScan = 2,
+ SpvGroupOperationMax = 0x7fffffff,
} SpvGroupOperation;
typedef enum SpvKernelEnqueueFlags_ {
SpvKernelEnqueueFlagsNoWait = 0,
SpvKernelEnqueueFlagsWaitKernel = 1,
SpvKernelEnqueueFlagsWaitWorkGroup = 2,
+ SpvKernelEnqueueFlagsMax = 0x7fffffff,
} SpvKernelEnqueueFlags;
typedef enum SpvKernelProfilingInfoShift_ {
SpvKernelProfilingInfoCmdExecTimeShift = 0,
+ SpvKernelProfilingInfoMax = 0x7fffffff,
} SpvKernelProfilingInfoShift;
typedef enum SpvKernelProfilingInfoMask_ {
@@ -569,6 +598,7 @@ typedef enum SpvCapability_ {
SpvCapabilityStorageImageReadWithoutFormat = 55,
SpvCapabilityStorageImageWriteWithoutFormat = 56,
SpvCapabilityMultiViewport = 57,
+ SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
typedef enum SpvOp_ {
@@ -866,6 +896,7 @@ typedef enum SpvOp_ {
SpvOpAtomicFlagTestAndSet = 318,
SpvOpAtomicFlagClear = 319,
SpvOpImageSparseRead = 320,
+ SpvOpMax = 0x7fffffff,
} SpvOp;
#endif // #ifndef spirv_H
diff --git a/include/spirv/1.0/spirv.hpp b/include/spirv/1.0/spirv.hpp
index 987f3c1..6580f4c 100644
--- a/include/spirv/1.0/spirv.hpp
+++ b/include/spirv/1.0/spirv.hpp
@@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10000
-#define SPV_REVISION 5
+#define SPV_REVISION 6
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010000;
-static const unsigned int Revision = 5;
+static const unsigned int Revision = 6;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -61,6 +61,7 @@ enum SourceLanguage {
SourceLanguageGLSL = 2,
SourceLanguageOpenCL_C = 3,
SourceLanguageOpenCL_CPP = 4,
+ SourceLanguageMax = 0x7fffffff,
};
enum ExecutionModel {
@@ -71,18 +72,21 @@ enum ExecutionModel {
ExecutionModelFragment = 4,
ExecutionModelGLCompute = 5,
ExecutionModelKernel = 6,
+ ExecutionModelMax = 0x7fffffff,
};
enum AddressingModel {
AddressingModelLogical = 0,
AddressingModelPhysical32 = 1,
AddressingModelPhysical64 = 2,
+ AddressingModelMax = 0x7fffffff,
};
enum MemoryModel {
MemoryModelSimple = 0,
MemoryModelGLSL450 = 1,
MemoryModelOpenCL = 2,
+ MemoryModelMax = 0x7fffffff,
};
enum ExecutionMode {
@@ -117,6 +121,7 @@ enum ExecutionMode {
ExecutionModeOutputTriangleStrip = 29,
ExecutionModeVecTypeHint = 30,
ExecutionModeContractionOff = 31,
+ ExecutionModeMax = 0x7fffffff,
};
enum StorageClass {
@@ -132,6 +137,7 @@ enum StorageClass {
StorageClassPushConstant = 9,
StorageClassAtomicCounter = 10,
StorageClassImage = 11,
+ StorageClassMax = 0x7fffffff,
};
enum Dim {
@@ -142,6 +148,7 @@ enum Dim {
DimRect = 4,
DimBuffer = 5,
DimSubpassData = 6,
+ DimMax = 0x7fffffff,
};
enum SamplerAddressingMode {
@@ -150,11 +157,13 @@ enum SamplerAddressingMode {
SamplerAddressingModeClamp = 2,
SamplerAddressingModeRepeat = 3,
SamplerAddressingModeRepeatMirrored = 4,
+ SamplerAddressingModeMax = 0x7fffffff,
};
enum SamplerFilterMode {
SamplerFilterModeNearest = 0,
SamplerFilterModeLinear = 1,
+ SamplerFilterModeMax = 0x7fffffff,
};
enum ImageFormat {
@@ -198,6 +207,7 @@ enum ImageFormat {
ImageFormatRg8ui = 37,
ImageFormatR16ui = 38,
ImageFormatR8ui = 39,
+ ImageFormatMax = 0x7fffffff,
};
enum ImageChannelOrder {
@@ -221,6 +231,7 @@ enum ImageChannelOrder {
ImageChannelOrdersRGBA = 17,
ImageChannelOrdersBGRA = 18,
ImageChannelOrderABGR = 19,
+ ImageChannelOrderMax = 0x7fffffff,
};
enum ImageChannelDataType {
@@ -241,6 +252,7 @@ enum ImageChannelDataType {
ImageChannelDataTypeFloat = 14,
ImageChannelDataTypeUnormInt24 = 15,
ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeMax = 0x7fffffff,
};
enum ImageOperandsShift {
@@ -252,6 +264,7 @@ enum ImageOperandsShift {
ImageOperandsConstOffsetsShift = 5,
ImageOperandsSampleShift = 6,
ImageOperandsMinLodShift = 7,
+ ImageOperandsMax = 0x7fffffff,
};
enum ImageOperandsMask {
@@ -272,6 +285,7 @@ enum FPFastMathModeShift {
FPFastMathModeNSZShift = 2,
FPFastMathModeAllowRecipShift = 3,
FPFastMathModeFastShift = 4,
+ FPFastMathModeMax = 0x7fffffff,
};
enum FPFastMathModeMask {
@@ -288,17 +302,20 @@ enum FPRoundingMode {
FPRoundingModeRTZ = 1,
FPRoundingModeRTP = 2,
FPRoundingModeRTN = 3,
+ FPRoundingModeMax = 0x7fffffff,
};
enum LinkageType {
LinkageTypeExport = 0,
LinkageTypeImport = 1,
+ LinkageTypeMax = 0x7fffffff,
};
enum AccessQualifier {
AccessQualifierReadOnly = 0,
AccessQualifierWriteOnly = 1,
AccessQualifierReadWrite = 2,
+ AccessQualifierMax = 0x7fffffff,
};
enum FunctionParameterAttribute {
@@ -310,6 +327,7 @@ enum FunctionParameterAttribute {
FunctionParameterAttributeNoCapture = 5,
FunctionParameterAttributeNoWrite = 6,
FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeMax = 0x7fffffff,
};
enum Decoration {
@@ -356,6 +374,7 @@ enum Decoration {
DecorationNoContraction = 42,
DecorationInputAttachmentIndex = 43,
DecorationAlignment = 44,
+ DecorationMax = 0x7fffffff,
};
enum BuiltIn {
@@ -400,11 +419,13 @@ enum BuiltIn {
BuiltInSubgroupLocalInvocationId = 41,
BuiltInVertexIndex = 42,
BuiltInInstanceIndex = 43,
+ BuiltInMax = 0x7fffffff,
};
enum SelectionControlShift {
SelectionControlFlattenShift = 0,
SelectionControlDontFlattenShift = 1,
+ SelectionControlMax = 0x7fffffff,
};
enum SelectionControlMask {
@@ -416,6 +437,7 @@ enum SelectionControlMask {
enum LoopControlShift {
LoopControlUnrollShift = 0,
LoopControlDontUnrollShift = 1,
+ LoopControlMax = 0x7fffffff,
};
enum LoopControlMask {
@@ -429,6 +451,7 @@ enum FunctionControlShift {
FunctionControlDontInlineShift = 1,
FunctionControlPureShift = 2,
FunctionControlConstShift = 3,
+ FunctionControlMax = 0x7fffffff,
};
enum FunctionControlMask {
@@ -450,6 +473,7 @@ enum MemorySemanticsShift {
MemorySemanticsCrossWorkgroupMemoryShift = 9,
MemorySemanticsAtomicCounterMemoryShift = 10,
MemorySemanticsImageMemoryShift = 11,
+ MemorySemanticsMax = 0x7fffffff,
};
enum MemorySemanticsMask {
@@ -470,6 +494,7 @@ enum MemoryAccessShift {
MemoryAccessVolatileShift = 0,
MemoryAccessAlignedShift = 1,
MemoryAccessNontemporalShift = 2,
+ MemoryAccessMax = 0x7fffffff,
};
enum MemoryAccessMask {
@@ -485,22 +510,26 @@ enum Scope {
ScopeWorkgroup = 2,
ScopeSubgroup = 3,
ScopeInvocation = 4,
+ ScopeMax = 0x7fffffff,
};
enum GroupOperation {
GroupOperationReduce = 0,
GroupOperationInclusiveScan = 1,
GroupOperationExclusiveScan = 2,
+ GroupOperationMax = 0x7fffffff,
};
enum KernelEnqueueFlags {
KernelEnqueueFlagsNoWait = 0,
KernelEnqueueFlagsWaitKernel = 1,
KernelEnqueueFlagsWaitWorkGroup = 2,
+ KernelEnqueueFlagsMax = 0x7fffffff,
};
enum KernelProfilingInfoShift {
KernelProfilingInfoCmdExecTimeShift = 0,
+ KernelProfilingInfoMax = 0x7fffffff,
};
enum KernelProfilingInfoMask {
@@ -565,6 +594,7 @@ enum Capability {
CapabilityStorageImageReadWithoutFormat = 55,
CapabilityStorageImageWriteWithoutFormat = 56,
CapabilityMultiViewport = 57,
+ CapabilityMax = 0x7fffffff,
};
enum Op {
@@ -862,6 +892,7 @@ enum Op {
OpAtomicFlagTestAndSet = 318,
OpAtomicFlagClear = 319,
OpImageSparseRead = 320,
+ OpMax = 0x7fffffff,
};
// Overload operator| for mask bit combining
diff --git a/include/spirv/1.0/spirv.hpp11 b/include/spirv/1.0/spirv.hpp11
index 8091e53..8216197 100644
--- a/include/spirv/1.0/spirv.hpp11
+++ b/include/spirv/1.0/spirv.hpp11
@@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10000
-#define SPV_REVISION 5
+#define SPV_REVISION 6
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010000;
-static const unsigned int Revision = 5;
+static const unsigned int Revision = 6;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -61,6 +61,7 @@ enum class SourceLanguage : unsigned {
GLSL = 2,
OpenCL_C = 3,
OpenCL_CPP = 4,
+ Max = 0x7fffffff,
};
enum class ExecutionModel : unsigned {
@@ -71,18 +72,21 @@ enum class ExecutionModel : unsigned {
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 {
@@ -117,6 +121,7 @@ enum class ExecutionMode : unsigned {
OutputTriangleStrip = 29,
VecTypeHint = 30,
ContractionOff = 31,
+ Max = 0x7fffffff,
};
enum class StorageClass : unsigned {
@@ -132,6 +137,7 @@ enum class StorageClass : unsigned {
PushConstant = 9,
AtomicCounter = 10,
Image = 11,
+ Max = 0x7fffffff,
};
enum class Dim : unsigned {
@@ -142,6 +148,7 @@ enum class Dim : unsigned {
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ Max = 0x7fffffff,
};
enum class SamplerAddressingMode : unsigned {
@@ -150,11 +157,13 @@ enum class SamplerAddressingMode : unsigned {
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
+ Max = 0x7fffffff,
};
enum class SamplerFilterMode : unsigned {
Nearest = 0,
Linear = 1,
+ Max = 0x7fffffff,
};
enum class ImageFormat : unsigned {
@@ -198,6 +207,7 @@ enum class ImageFormat : unsigned {
Rg8ui = 37,
R16ui = 38,
R8ui = 39,
+ Max = 0x7fffffff,
};
enum class ImageChannelOrder : unsigned {
@@ -221,6 +231,7 @@ enum class ImageChannelOrder : unsigned {
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
+ Max = 0x7fffffff,
};
enum class ImageChannelDataType : unsigned {
@@ -241,6 +252,7 @@ enum class ImageChannelDataType : unsigned {
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ Max = 0x7fffffff,
};
enum class ImageOperandsShift : unsigned {
@@ -252,6 +264,7 @@ enum class ImageOperandsShift : unsigned {
ConstOffsets = 5,
Sample = 6,
MinLod = 7,
+ Max = 0x7fffffff,
};
enum class ImageOperandsMask : unsigned {
@@ -272,6 +285,7 @@ enum class FPFastMathModeShift : unsigned {
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ Max = 0x7fffffff,
};
enum class FPFastMathModeMask : unsigned {
@@ -288,17 +302,20 @@ enum class FPRoundingMode : unsigned {
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 {
@@ -310,6 +327,7 @@ enum class FunctionParameterAttribute : unsigned {
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ Max = 0x7fffffff,
};
enum class Decoration : unsigned {
@@ -356,6 +374,7 @@ enum class Decoration : unsigned {
NoContraction = 42,
InputAttachmentIndex = 43,
Alignment = 44,
+ Max = 0x7fffffff,
};
enum class BuiltIn : unsigned {
@@ -400,11 +419,13 @@ enum class BuiltIn : unsigned {
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ Max = 0x7fffffff,
};
enum class SelectionControlShift : unsigned {
Flatten = 0,
DontFlatten = 1,
+ Max = 0x7fffffff,
};
enum class SelectionControlMask : unsigned {
@@ -416,6 +437,7 @@ enum class SelectionControlMask : unsigned {
enum class LoopControlShift : unsigned {
Unroll = 0,
DontUnroll = 1,
+ Max = 0x7fffffff,
};
enum class LoopControlMask : unsigned {
@@ -429,6 +451,7 @@ enum class FunctionControlShift : unsigned {
DontInline = 1,
Pure = 2,
Const = 3,
+ Max = 0x7fffffff,
};
enum class FunctionControlMask : unsigned {
@@ -450,6 +473,7 @@ enum class MemorySemanticsShift : unsigned {
CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10,
ImageMemory = 11,
+ Max = 0x7fffffff,
};
enum class MemorySemanticsMask : unsigned {
@@ -470,6 +494,7 @@ enum class MemoryAccessShift : unsigned {
Volatile = 0,
Aligned = 1,
Nontemporal = 2,
+ Max = 0x7fffffff,
};
enum class MemoryAccessMask : unsigned {
@@ -485,22 +510,26 @@ enum class Scope : unsigned {
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 {
@@ -565,6 +594,7 @@ enum class Capability : unsigned {
StorageImageReadWithoutFormat = 55,
StorageImageWriteWithoutFormat = 56,
MultiViewport = 57,
+ Max = 0x7fffffff,
};
enum class Op : unsigned {
@@ -862,6 +892,7 @@ enum class Op : unsigned {
OpAtomicFlagTestAndSet = 318,
OpAtomicFlagClear = 319,
OpImageSparseRead = 320,
+ Max = 0x7fffffff,
};
// Overload operator| for mask bit combining
diff --git a/include/spirv/1.0/spirv.json b/include/spirv/1.0/spirv.json
index 593c14a..aa8a111 100644
--- a/include/spirv/1.0/spirv.json
+++ b/include/spirv/1.0/spirv.json
@@ -52,7 +52,7 @@
],
"MagicNumber": 119734787,
"Version": 65536,
- "Revision": 5,
+ "Revision": 6,
"OpCodeMask": 65535,
"WordCountShift": 16
},
diff --git a/include/spirv/1.0/spirv.lua b/include/spirv/1.0/spirv.lua
index 0008030..f346076 100644
--- a/include/spirv/1.0/spirv.lua
+++ b/include/spirv/1.0/spirv.lua
@@ -42,7 +42,7 @@
spv = {
MagicNumber = 0x07230203,
Version = 0x00010000,
- Revision = 5,
+ Revision = 6,
OpCodeMask = 0xffff,
WordCountShift = 16,
diff --git a/include/spirv/1.0/spirv.py b/include/spirv/1.0/spirv.py
index 137f289..c8949ec 100644
--- a/include/spirv/1.0/spirv.py
+++ b/include/spirv/1.0/spirv.py
@@ -42,7 +42,7 @@
spv = {
'MagicNumber' : 0x07230203,
'Version' : 0x00010000,
- 'Revision' : 5,
+ 'Revision' : 6,
'OpCodeMask' : 0xffff,
'WordCountShift' : 16,
diff --git a/include/spirv/1.1/spirv.core.grammar.json b/include/spirv/1.1/spirv.core.grammar.json
index eb55ccb..0ab09f7 100644
--- a/include/spirv/1.1/spirv.core.grammar.json
+++ b/include/spirv/1.1/spirv.core.grammar.json
@@ -27,7 +27,7 @@
"magic_number" : "0x07230203",
"major_version" : 1,
"minor_version" : 1,
- "revision" : 1,
+ "revision" : 2,
"instructions" : [
{
"opname" : "OpNop",
@@ -3710,8 +3710,7 @@
},
{
"enumerant" : "Input",
- "value" : 1,
- "capabilities" : [ "Shader" ]
+ "value" : 1
},
{
"enumerant" : "Uniform",
@@ -5113,8 +5112,7 @@
},
{
"enumerant" : "Sampled1D",
- "value" : 43,
- "capabilities" : [ "Shader" ]
+ "value" : 43
},
{
"enumerant" : "Image1D",
@@ -5128,8 +5126,7 @@
},
{
"enumerant" : "SampledBuffer",
- "value" : 46,
- "capabilities" : [ "Shader" ]
+ "value" : 46
},
{
"enumerant" : "ImageBuffer",
diff --git a/include/spirv/1.1/spirv.h b/include/spirv/1.1/spirv.h
index 7b5281a..40e462f 100644
--- a/include/spirv/1.1/spirv.h
+++ b/include/spirv/1.1/spirv.h
@@ -51,11 +51,11 @@
typedef unsigned int SpvId;
#define SPV_VERSION 0x10100
-#define SPV_REVISION 1
+#define SPV_REVISION 2
static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010100;
-static const unsigned int SpvRevision = 1;
+static const unsigned int SpvRevision = 2;
static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16;
@@ -65,6 +65,7 @@ typedef enum SpvSourceLanguage_ {
SpvSourceLanguageGLSL = 2,
SpvSourceLanguageOpenCL_C = 3,
SpvSourceLanguageOpenCL_CPP = 4,
+ SpvSourceLanguageMax = 0x7fffffff,
} SpvSourceLanguage;
typedef enum SpvExecutionModel_ {
@@ -75,18 +76,21 @@ typedef enum SpvExecutionModel_ {
SpvExecutionModelFragment = 4,
SpvExecutionModelGLCompute = 5,
SpvExecutionModelKernel = 6,
+ SpvExecutionModelMax = 0x7fffffff,
} SpvExecutionModel;
typedef enum SpvAddressingModel_ {
SpvAddressingModelLogical = 0,
SpvAddressingModelPhysical32 = 1,
SpvAddressingModelPhysical64 = 2,
+ SpvAddressingModelMax = 0x7fffffff,
} SpvAddressingModel;
typedef enum SpvMemoryModel_ {
SpvMemoryModelSimple = 0,
SpvMemoryModelGLSL450 = 1,
SpvMemoryModelOpenCL = 2,
+ SpvMemoryModelMax = 0x7fffffff,
} SpvMemoryModel;
typedef enum SpvExecutionMode_ {
@@ -125,6 +129,7 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeFinalizer = 34,
SpvExecutionModeSubgroupSize = 35,
SpvExecutionModeSubgroupsPerWorkgroup = 36,
+ SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
typedef enum SpvStorageClass_ {
@@ -140,6 +145,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassPushConstant = 9,
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
+ SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
typedef enum SpvDim_ {
@@ -150,6 +156,7 @@ typedef enum SpvDim_ {
SpvDimRect = 4,
SpvDimBuffer = 5,
SpvDimSubpassData = 6,
+ SpvDimMax = 0x7fffffff,
} SpvDim;
typedef enum SpvSamplerAddressingMode_ {
@@ -158,11 +165,13 @@ typedef enum SpvSamplerAddressingMode_ {
SpvSamplerAddressingModeClamp = 2,
SpvSamplerAddressingModeRepeat = 3,
SpvSamplerAddressingModeRepeatMirrored = 4,
+ SpvSamplerAddressingModeMax = 0x7fffffff,
} SpvSamplerAddressingMode;
typedef enum SpvSamplerFilterMode_ {
SpvSamplerFilterModeNearest = 0,
SpvSamplerFilterModeLinear = 1,
+ SpvSamplerFilterModeMax = 0x7fffffff,
} SpvSamplerFilterMode;
typedef enum SpvImageFormat_ {
@@ -206,6 +215,7 @@ typedef enum SpvImageFormat_ {
SpvImageFormatRg8ui = 37,
SpvImageFormatR16ui = 38,
SpvImageFormatR8ui = 39,
+ SpvImageFormatMax = 0x7fffffff,
} SpvImageFormat;
typedef enum SpvImageChannelOrder_ {
@@ -229,6 +239,7 @@ typedef enum SpvImageChannelOrder_ {
SpvImageChannelOrdersRGBA = 17,
SpvImageChannelOrdersBGRA = 18,
SpvImageChannelOrderABGR = 19,
+ SpvImageChannelOrderMax = 0x7fffffff,
} SpvImageChannelOrder;
typedef enum SpvImageChannelDataType_ {
@@ -249,6 +260,7 @@ typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeFloat = 14,
SpvImageChannelDataTypeUnormInt24 = 15,
SpvImageChannelDataTypeUnormInt101010_2 = 16,
+ SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType;
typedef enum SpvImageOperandsShift_ {
@@ -260,6 +272,7 @@ typedef enum SpvImageOperandsShift_ {
SpvImageOperandsConstOffsetsShift = 5,
SpvImageOperandsSampleShift = 6,
SpvImageOperandsMinLodShift = 7,
+ SpvImageOperandsMax = 0x7fffffff,
} SpvImageOperandsShift;
typedef enum SpvImageOperandsMask_ {
@@ -280,6 +293,7 @@ typedef enum SpvFPFastMathModeShift_ {
SpvFPFastMathModeNSZShift = 2,
SpvFPFastMathModeAllowRecipShift = 3,
SpvFPFastMathModeFastShift = 4,
+ SpvFPFastMathModeMax = 0x7fffffff,
} SpvFPFastMathModeShift;
typedef enum SpvFPFastMathModeMask_ {
@@ -296,17 +310,20 @@ typedef enum SpvFPRoundingMode_ {
SpvFPRoundingModeRTZ = 1,
SpvFPRoundingModeRTP = 2,
SpvFPRoundingModeRTN = 3,
+ SpvFPRoundingModeMax = 0x7fffffff,
} SpvFPRoundingMode;
typedef enum SpvLinkageType_ {
SpvLinkageTypeExport = 0,
SpvLinkageTypeImport = 1,
+ SpvLinkageTypeMax = 0x7fffffff,
} SpvLinkageType;
typedef enum SpvAccessQualifier_ {
SpvAccessQualifierReadOnly = 0,
SpvAccessQualifierWriteOnly = 1,
SpvAccessQualifierReadWrite = 2,
+ SpvAccessQualifierMax = 0x7fffffff,
} SpvAccessQualifier;
typedef enum SpvFunctionParameterAttribute_ {
@@ -318,6 +335,7 @@ typedef enum SpvFunctionParameterAttribute_ {
SpvFunctionParameterAttributeNoCapture = 5,
SpvFunctionParameterAttributeNoWrite = 6,
SpvFunctionParameterAttributeNoReadWrite = 7,
+ SpvFunctionParameterAttributeMax = 0x7fffffff,
} SpvFunctionParameterAttribute;
typedef enum SpvDecoration_ {
@@ -365,6 +383,7 @@ typedef enum SpvDecoration_ {
SpvDecorationInputAttachmentIndex = 43,
SpvDecorationAlignment = 44,
SpvDecorationMaxByteOffset = 45,
+ SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
typedef enum SpvBuiltIn_ {
@@ -409,11 +428,13 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInSubgroupLocalInvocationId = 41,
SpvBuiltInVertexIndex = 42,
SpvBuiltInInstanceIndex = 43,
+ SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn;
typedef enum SpvSelectionControlShift_ {
SpvSelectionControlFlattenShift = 0,
SpvSelectionControlDontFlattenShift = 1,
+ SpvSelectionControlMax = 0x7fffffff,
} SpvSelectionControlShift;
typedef enum SpvSelectionControlMask_ {
@@ -427,6 +448,7 @@ typedef enum SpvLoopControlShift_ {
SpvLoopControlDontUnrollShift = 1,
SpvLoopControlDependencyInfiniteShift = 2,
SpvLoopControlDependencyLengthShift = 3,
+ SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
typedef enum SpvLoopControlMask_ {
@@ -442,6 +464,7 @@ typedef enum SpvFunctionControlShift_ {
SpvFunctionControlDontInlineShift = 1,
SpvFunctionControlPureShift = 2,
SpvFunctionControlConstShift = 3,
+ SpvFunctionControlMax = 0x7fffffff,
} SpvFunctionControlShift;
typedef enum SpvFunctionControlMask_ {
@@ -463,6 +486,7 @@ typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
SpvMemorySemanticsAtomicCounterMemoryShift = 10,
SpvMemorySemanticsImageMemoryShift = 11,
+ SpvMemorySemanticsMax = 0x7fffffff,
} SpvMemorySemanticsShift;
typedef enum SpvMemorySemanticsMask_ {
@@ -483,6 +507,7 @@ typedef enum SpvMemoryAccessShift_ {
SpvMemoryAccessVolatileShift = 0,
SpvMemoryAccessAlignedShift = 1,
SpvMemoryAccessNontemporalShift = 2,
+ SpvMemoryAccessMax = 0x7fffffff,
} SpvMemoryAccessShift;
typedef enum SpvMemoryAccessMask_ {
@@ -498,22 +523,26 @@ typedef enum SpvScope_ {
SpvScopeWorkgroup = 2,
SpvScopeSubgroup = 3,
SpvScopeInvocation = 4,
+ SpvScopeMax = 0x7fffffff,
} SpvScope;
typedef enum SpvGroupOperation_ {
SpvGroupOperationReduce = 0,
SpvGroupOperationInclusiveScan = 1,
SpvGroupOperationExclusiveScan = 2,
+ SpvGroupOperationMax = 0x7fffffff,
} SpvGroupOperation;
typedef enum SpvKernelEnqueueFlags_ {
SpvKernelEnqueueFlagsNoWait = 0,
SpvKernelEnqueueFlagsWaitKernel = 1,
SpvKernelEnqueueFlagsWaitWorkGroup = 2,
+ SpvKernelEnqueueFlagsMax = 0x7fffffff,
} SpvKernelEnqueueFlags;
typedef enum SpvKernelProfilingInfoShift_ {
SpvKernelProfilingInfoCmdExecTimeShift = 0,
+ SpvKernelProfilingInfoMax = 0x7fffffff,
} SpvKernelProfilingInfoShift;
typedef enum SpvKernelProfilingInfoMask_ {
@@ -581,6 +610,7 @@ typedef enum SpvCapability_ {
SpvCapabilitySubgroupDispatch = 58,
SpvCapabilityNamedBarrier = 59,
SpvCapabilityPipeStorage = 60,
+ SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
typedef enum SpvOp_ {
@@ -888,6 +918,7 @@ typedef enum SpvOp_ {
SpvOpNamedBarrierInitialize = 328,
SpvOpMemoryNamedBarrier = 329,
SpvOpModuleProcessed = 330,
+ SpvOpMax = 0x7fffffff,
} SpvOp;
#endif // #ifndef spirv_H
diff --git a/include/spirv/1.1/spirv.hpp b/include/spirv/1.1/spirv.hpp
index 9fd7fee..3c22d85 100644
--- a/include/spirv/1.1/spirv.hpp
+++ b/include/spirv/1.1/spirv.hpp
@@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10100
-#define SPV_REVISION 1
+#define SPV_REVISION 2
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010100;
-static const unsigned int Revision = 1;
+static const unsigned int Revision = 2;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -61,6 +61,7 @@ enum SourceLanguage {
SourceLanguageGLSL = 2,
SourceLanguageOpenCL_C = 3,
SourceLanguageOpenCL_CPP = 4,
+ SourceLanguageMax = 0x7fffffff,
};
enum ExecutionModel {
@@ -71,18 +72,21 @@ enum ExecutionModel {
ExecutionModelFragment = 4,
ExecutionModelGLCompute = 5,
ExecutionModelKernel = 6,
+ ExecutionModelMax = 0x7fffffff,
};
enum AddressingModel {
AddressingModelLogical = 0,
AddressingModelPhysical32 = 1,
AddressingModelPhysical64 = 2,
+ AddressingModelMax = 0x7fffffff,
};
enum MemoryModel {
MemoryModelSimple = 0,
MemoryModelGLSL450 = 1,
MemoryModelOpenCL = 2,
+ MemoryModelMax = 0x7fffffff,
};
enum ExecutionMode {
@@ -121,6 +125,7 @@ enum ExecutionMode {
ExecutionModeFinalizer = 34,
ExecutionModeSubgroupSize = 35,
ExecutionModeSubgroupsPerWorkgroup = 36,
+ ExecutionModeMax = 0x7fffffff,
};
enum StorageClass {
@@ -136,6 +141,7 @@ enum StorageClass {
StorageClassPushConstant = 9,
StorageClassAtomicCounter = 10,
StorageClassImage = 11,
+ StorageClassMax = 0x7fffffff,
};
enum Dim {
@@ -146,6 +152,7 @@ enum Dim {
DimRect = 4,
DimBuffer = 5,
DimSubpassData = 6,
+ DimMax = 0x7fffffff,
};
enum SamplerAddressingMode {
@@ -154,11 +161,13 @@ enum SamplerAddressingMode {
SamplerAddressingModeClamp = 2,
SamplerAddressingModeRepeat = 3,
SamplerAddressingModeRepeatMirrored = 4,
+ SamplerAddressingModeMax = 0x7fffffff,
};
enum SamplerFilterMode {
SamplerFilterModeNearest = 0,
SamplerFilterModeLinear = 1,
+ SamplerFilterModeMax = 0x7fffffff,
};
enum ImageFormat {
@@ -202,6 +211,7 @@ enum ImageFormat {
ImageFormatRg8ui = 37,
ImageFormatR16ui = 38,
ImageFormatR8ui = 39,
+ ImageFormatMax = 0x7fffffff,
};
enum ImageChannelOrder {
@@ -225,6 +235,7 @@ enum ImageChannelOrder {
ImageChannelOrdersRGBA = 17,
ImageChannelOrdersBGRA = 18,
ImageChannelOrderABGR = 19,
+ ImageChannelOrderMax = 0x7fffffff,
};
enum ImageChannelDataType {
@@ -245,6 +256,7 @@ enum ImageChannelDataType {
ImageChannelDataTypeFloat = 14,
ImageChannelDataTypeUnormInt24 = 15,
ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeMax = 0x7fffffff,
};
enum ImageOperandsShift {
@@ -256,6 +268,7 @@ enum ImageOperandsShift {
ImageOperandsConstOffsetsShift = 5,
ImageOperandsSampleShift = 6,
ImageOperandsMinLodShift = 7,
+ ImageOperandsMax = 0x7fffffff,
};
enum ImageOperandsMask {
@@ -276,6 +289,7 @@ enum FPFastMathModeShift {
FPFastMathModeNSZShift = 2,
FPFastMathModeAllowRecipShift = 3,
FPFastMathModeFastShift = 4,
+ FPFastMathModeMax = 0x7fffffff,
};
enum FPFastMathModeMask {
@@ -292,17 +306,20 @@ enum FPRoundingMode {
FPRoundingModeRTZ = 1,
FPRoundingModeRTP = 2,
FPRoundingModeRTN = 3,
+ FPRoundingModeMax = 0x7fffffff,
};
enum LinkageType {
LinkageTypeExport = 0,
LinkageTypeImport = 1,
+ LinkageTypeMax = 0x7fffffff,
};
enum AccessQualifier {
AccessQualifierReadOnly = 0,
AccessQualifierWriteOnly = 1,
AccessQualifierReadWrite = 2,
+ AccessQualifierMax = 0x7fffffff,
};
enum FunctionParameterAttribute {
@@ -314,6 +331,7 @@ enum FunctionParameterAttribute {
FunctionParameterAttributeNoCapture = 5,
FunctionParameterAttributeNoWrite = 6,
FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeMax = 0x7fffffff,
};
enum Decoration {
@@ -361,6 +379,7 @@ enum Decoration {
DecorationInputAttachmentIndex = 43,
DecorationAlignment = 44,
DecorationMaxByteOffset = 45,
+ DecorationMax = 0x7fffffff,
};
enum BuiltIn {
@@ -405,11 +424,13 @@ enum BuiltIn {
BuiltInSubgroupLocalInvocationId = 41,
BuiltInVertexIndex = 42,
BuiltInInstanceIndex = 43,
+ BuiltInMax = 0x7fffffff,
};
enum SelectionControlShift {
SelectionControlFlattenShift = 0,
SelectionControlDontFlattenShift = 1,
+ SelectionControlMax = 0x7fffffff,
};
enum SelectionControlMask {
@@ -423,6 +444,7 @@ enum LoopControlShift {
LoopControlDontUnrollShift = 1,
LoopControlDependencyInfiniteShift = 2,
LoopControlDependencyLengthShift = 3,
+ LoopControlMax = 0x7fffffff,
};
enum LoopControlMask {
@@ -438,6 +460,7 @@ enum FunctionControlShift {
FunctionControlDontInlineShift = 1,
FunctionControlPureShift = 2,
FunctionControlConstShift = 3,
+ FunctionControlMax = 0x7fffffff,
};
enum FunctionControlMask {
@@ -459,6 +482,7 @@ enum MemorySemanticsShift {
MemorySemanticsCrossWorkgroupMemoryShift = 9,
MemorySemanticsAtomicCounterMemoryShift = 10,
MemorySemanticsImageMemoryShift = 11,
+ MemorySemanticsMax = 0x7fffffff,
};
enum MemorySemanticsMask {
@@ -479,6 +503,7 @@ enum MemoryAccessShift {
MemoryAccessVolatileShift = 0,
MemoryAccessAlignedShift = 1,
MemoryAccessNontemporalShift = 2,
+ MemoryAccessMax = 0x7fffffff,
};
enum MemoryAccessMask {
@@ -494,22 +519,26 @@ enum Scope {
ScopeWorkgroup = 2,
ScopeSubgroup = 3,
ScopeInvocation = 4,
+ ScopeMax = 0x7fffffff,
};
enum GroupOperation {
GroupOperationReduce = 0,
GroupOperationInclusiveScan = 1,
GroupOperationExclusiveScan = 2,
+ GroupOperationMax = 0x7fffffff,
};
enum KernelEnqueueFlags {
KernelEnqueueFlagsNoWait = 0,
KernelEnqueueFlagsWaitKernel = 1,
KernelEnqueueFlagsWaitWorkGroup = 2,
+ KernelEnqueueFlagsMax = 0x7fffffff,
};
enum KernelProfilingInfoShift {
KernelProfilingInfoCmdExecTimeShift = 0,
+ KernelProfilingInfoMax = 0x7fffffff,
};
enum KernelProfilingInfoMask {
@@ -577,6 +606,7 @@ enum Capability {
CapabilitySubgroupDispatch = 58,
CapabilityNamedBarrier = 59,
CapabilityPipeStorage = 60,
+ CapabilityMax = 0x7fffffff,
};
enum Op {
@@ -884,6 +914,7 @@ enum Op {
OpNamedBarrierInitialize = 328,
OpMemoryNamedBarrier = 329,
OpModuleProcessed = 330,
+ OpMax = 0x7fffffff,
};
// Overload operator| for mask bit combining
diff --git a/include/spirv/1.1/spirv.hpp11 b/include/spirv/1.1/spirv.hpp11
index 27448c7..8f32cfc 100644
--- a/include/spirv/1.1/spirv.hpp11
+++ b/include/spirv/1.1/spirv.hpp11
@@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10100
-#define SPV_REVISION 1
+#define SPV_REVISION 2
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010100;
-static const unsigned int Revision = 1;
+static const unsigned int Revision = 2;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -61,6 +61,7 @@ enum class SourceLanguage : unsigned {
GLSL = 2,
OpenCL_C = 3,
OpenCL_CPP = 4,
+ Max = 0x7fffffff,
};
enum class ExecutionModel : unsigned {
@@ -71,18 +72,21 @@ enum class ExecutionModel : unsigned {
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 {
@@ -121,6 +125,7 @@ enum class ExecutionMode : unsigned {
Finalizer = 34,
SubgroupSize = 35,
SubgroupsPerWorkgroup = 36,
+ Max = 0x7fffffff,
};
enum class StorageClass : unsigned {
@@ -136,6 +141,7 @@ enum class StorageClass : unsigned {
PushConstant = 9,
AtomicCounter = 10,
Image = 11,
+ Max = 0x7fffffff,
};
enum class Dim : unsigned {
@@ -146,6 +152,7 @@ enum class Dim : unsigned {
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ Max = 0x7fffffff,
};
enum class SamplerAddressingMode : unsigned {
@@ -154,11 +161,13 @@ enum class SamplerAddressingMode : unsigned {
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
+ Max = 0x7fffffff,
};
enum class SamplerFilterMode : unsigned {
Nearest = 0,
Linear = 1,
+ Max = 0x7fffffff,
};
enum class ImageFormat : unsigned {
@@ -202,6 +211,7 @@ enum class ImageFormat : unsigned {
Rg8ui = 37,
R16ui = 38,
R8ui = 39,
+ Max = 0x7fffffff,
};
enum class ImageChannelOrder : unsigned {
@@ -225,6 +235,7 @@ enum class ImageChannelOrder : unsigned {
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
+ Max = 0x7fffffff,
};
enum class ImageChannelDataType : unsigned {
@@ -245,6 +256,7 @@ enum class ImageChannelDataType : unsigned {
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ Max = 0x7fffffff,
};
enum class ImageOperandsShift : unsigned {
@@ -256,6 +268,7 @@ enum class ImageOperandsShift : unsigned {
ConstOffsets = 5,
Sample = 6,
MinLod = 7,
+ Max = 0x7fffffff,
};
enum class ImageOperandsMask : unsigned {
@@ -276,6 +289,7 @@ enum class FPFastMathModeShift : unsigned {
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ Max = 0x7fffffff,
};
enum class FPFastMathModeMask : unsigned {
@@ -292,17 +306,20 @@ enum class FPRoundingMode : unsigned {
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 {
@@ -314,6 +331,7 @@ enum class FunctionParameterAttribute : unsigned {
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ Max = 0x7fffffff,
};
enum class Decoration : unsigned {
@@ -361,6 +379,7 @@ enum class Decoration : unsigned {
InputAttachmentIndex = 43,
Alignment = 44,
MaxByteOffset = 45,
+ Max = 0x7fffffff,
};
enum class BuiltIn : unsigned {
@@ -405,11 +424,13 @@ enum class BuiltIn : unsigned {
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ Max = 0x7fffffff,
};
enum class SelectionControlShift : unsigned {
Flatten = 0,
DontFlatten = 1,
+ Max = 0x7fffffff,
};
enum class SelectionControlMask : unsigned {
@@ -423,6 +444,7 @@ enum class LoopControlShift : unsigned {
DontUnroll = 1,
DependencyInfinite = 2,
DependencyLength = 3,
+ Max = 0x7fffffff,
};
enum class LoopControlMask : unsigned {
@@ -438,6 +460,7 @@ enum class FunctionControlShift : unsigned {
DontInline = 1,
Pure = 2,
Const = 3,
+ Max = 0x7fffffff,
};
enum class FunctionControlMask : unsigned {
@@ -459,6 +482,7 @@ enum class MemorySemanticsShift : unsigned {
CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10,
ImageMemory = 11,
+ Max = 0x7fffffff,
};
enum class MemorySemanticsMask : unsigned {
@@ -479,6 +503,7 @@ enum class MemoryAccessShift : unsigned {
Volatile = 0,
Aligned = 1,
Nontemporal = 2,
+ Max = 0x7fffffff,
};
enum class MemoryAccessMask : unsigned {
@@ -494,22 +519,26 @@ enum class Scope : unsigned {
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 {
@@ -577,6 +606,7 @@ enum class Capability : unsigned {
SubgroupDispatch = 58,
NamedBarrier = 59,
PipeStorage = 60,
+ Max = 0x7fffffff,
};
enum class Op : unsigned {
@@ -884,6 +914,7 @@ enum class Op : unsigned {
OpNamedBarrierInitialize = 328,
OpMemoryNamedBarrier = 329,
OpModuleProcessed = 330,
+ Max = 0x7fffffff,
};
// Overload operator| for mask bit combining
diff --git a/include/spirv/1.1/spirv.json b/include/spirv/1.1/spirv.json
index 1bd13ee..312edd6 100644
--- a/include/spirv/1.1/spirv.json
+++ b/include/spirv/1.1/spirv.json
@@ -52,7 +52,7 @@
],
"MagicNumber": 119734787,
"Version": 65792,
- "Revision": 1,
+ "Revision": 2,
"OpCodeMask": 65535,
"WordCountShift": 16
},
diff --git a/include/spirv/1.1/spirv.lua b/include/spirv/1.1/spirv.lua
index d93b00c..9e0b095 100644
--- a/include/spirv/1.1/spirv.lua
+++ b/include/spirv/1.1/spirv.lua
@@ -42,7 +42,7 @@
spv = {
MagicNumber = 0x07230203,
Version = 0x00010100,
- Revision = 1,
+ Revision = 2,
OpCodeMask = 0xffff,
WordCountShift = 16,
diff --git a/include/spirv/1.1/spirv.py b/include/spirv/1.1/spirv.py
index e31ffab..c70cdb7 100644
--- a/include/spirv/1.1/spirv.py
+++ b/include/spirv/1.1/spirv.py
@@ -42,7 +42,7 @@
spv = {
'MagicNumber' : 0x07230203,
'Version' : 0x00010100,
- 'Revision' : 1,
+ 'Revision' : 2,
'OpCodeMask' : 0xffff,
'WordCountShift' : 16,