Updated Vulkan headers to 1.0.21.0

This commit is contained in:
saschawillems 2016-08-29 21:45:34 +02:00
parent 6c3a597002
commit bbfc9c78cf
9 changed files with 171 additions and 44 deletions

View file

@ -51,11 +51,11 @@
typedef unsigned int SpvId; typedef unsigned int SpvId;
#define SPV_VERSION 0x10000 #define SPV_VERSION 0x10000
#define SPV_REVISION 3 #define SPV_REVISION 6
static const unsigned int SpvMagicNumber = 0x07230203; static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010000; static const unsigned int SpvVersion = 0x00010000;
static const unsigned int SpvRevision = 3; static const unsigned int SpvRevision = 6;
static const unsigned int SpvOpCodeMask = 0xffff; static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16; static const unsigned int SpvWordCountShift = 16;
@ -65,6 +65,7 @@ typedef enum SpvSourceLanguage_ {
SpvSourceLanguageGLSL = 2, SpvSourceLanguageGLSL = 2,
SpvSourceLanguageOpenCL_C = 3, SpvSourceLanguageOpenCL_C = 3,
SpvSourceLanguageOpenCL_CPP = 4, SpvSourceLanguageOpenCL_CPP = 4,
SpvSourceLanguageMax = 0x7fffffff,
} SpvSourceLanguage; } SpvSourceLanguage;
typedef enum SpvExecutionModel_ { typedef enum SpvExecutionModel_ {
@ -75,18 +76,21 @@ typedef enum SpvExecutionModel_ {
SpvExecutionModelFragment = 4, SpvExecutionModelFragment = 4,
SpvExecutionModelGLCompute = 5, SpvExecutionModelGLCompute = 5,
SpvExecutionModelKernel = 6, SpvExecutionModelKernel = 6,
SpvExecutionModelMax = 0x7fffffff,
} SpvExecutionModel; } SpvExecutionModel;
typedef enum SpvAddressingModel_ { typedef enum SpvAddressingModel_ {
SpvAddressingModelLogical = 0, SpvAddressingModelLogical = 0,
SpvAddressingModelPhysical32 = 1, SpvAddressingModelPhysical32 = 1,
SpvAddressingModelPhysical64 = 2, SpvAddressingModelPhysical64 = 2,
SpvAddressingModelMax = 0x7fffffff,
} SpvAddressingModel; } SpvAddressingModel;
typedef enum SpvMemoryModel_ { typedef enum SpvMemoryModel_ {
SpvMemoryModelSimple = 0, SpvMemoryModelSimple = 0,
SpvMemoryModelGLSL450 = 1, SpvMemoryModelGLSL450 = 1,
SpvMemoryModelOpenCL = 2, SpvMemoryModelOpenCL = 2,
SpvMemoryModelMax = 0x7fffffff,
} SpvMemoryModel; } SpvMemoryModel;
typedef enum SpvExecutionMode_ { typedef enum SpvExecutionMode_ {
@ -121,6 +125,7 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeOutputTriangleStrip = 29, SpvExecutionModeOutputTriangleStrip = 29,
SpvExecutionModeVecTypeHint = 30, SpvExecutionModeVecTypeHint = 30,
SpvExecutionModeContractionOff = 31, SpvExecutionModeContractionOff = 31,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode; } SpvExecutionMode;
typedef enum SpvStorageClass_ { typedef enum SpvStorageClass_ {
@ -136,6 +141,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassPushConstant = 9, SpvStorageClassPushConstant = 9,
SpvStorageClassAtomicCounter = 10, SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11, SpvStorageClassImage = 11,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass; } SpvStorageClass;
typedef enum SpvDim_ { typedef enum SpvDim_ {
@ -146,6 +152,7 @@ typedef enum SpvDim_ {
SpvDimRect = 4, SpvDimRect = 4,
SpvDimBuffer = 5, SpvDimBuffer = 5,
SpvDimSubpassData = 6, SpvDimSubpassData = 6,
SpvDimMax = 0x7fffffff,
} SpvDim; } SpvDim;
typedef enum SpvSamplerAddressingMode_ { typedef enum SpvSamplerAddressingMode_ {
@ -154,11 +161,13 @@ typedef enum SpvSamplerAddressingMode_ {
SpvSamplerAddressingModeClamp = 2, SpvSamplerAddressingModeClamp = 2,
SpvSamplerAddressingModeRepeat = 3, SpvSamplerAddressingModeRepeat = 3,
SpvSamplerAddressingModeRepeatMirrored = 4, SpvSamplerAddressingModeRepeatMirrored = 4,
SpvSamplerAddressingModeMax = 0x7fffffff,
} SpvSamplerAddressingMode; } SpvSamplerAddressingMode;
typedef enum SpvSamplerFilterMode_ { typedef enum SpvSamplerFilterMode_ {
SpvSamplerFilterModeNearest = 0, SpvSamplerFilterModeNearest = 0,
SpvSamplerFilterModeLinear = 1, SpvSamplerFilterModeLinear = 1,
SpvSamplerFilterModeMax = 0x7fffffff,
} SpvSamplerFilterMode; } SpvSamplerFilterMode;
typedef enum SpvImageFormat_ { typedef enum SpvImageFormat_ {
@ -202,6 +211,7 @@ typedef enum SpvImageFormat_ {
SpvImageFormatRg8ui = 37, SpvImageFormatRg8ui = 37,
SpvImageFormatR16ui = 38, SpvImageFormatR16ui = 38,
SpvImageFormatR8ui = 39, SpvImageFormatR8ui = 39,
SpvImageFormatMax = 0x7fffffff,
} SpvImageFormat; } SpvImageFormat;
typedef enum SpvImageChannelOrder_ { typedef enum SpvImageChannelOrder_ {
@ -224,6 +234,8 @@ typedef enum SpvImageChannelOrder_ {
SpvImageChannelOrdersRGBx = 16, SpvImageChannelOrdersRGBx = 16,
SpvImageChannelOrdersRGBA = 17, SpvImageChannelOrdersRGBA = 17,
SpvImageChannelOrdersBGRA = 18, SpvImageChannelOrdersBGRA = 18,
SpvImageChannelOrderABGR = 19,
SpvImageChannelOrderMax = 0x7fffffff,
} SpvImageChannelOrder; } SpvImageChannelOrder;
typedef enum SpvImageChannelDataType_ { typedef enum SpvImageChannelDataType_ {
@ -244,6 +256,7 @@ typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeFloat = 14, SpvImageChannelDataTypeFloat = 14,
SpvImageChannelDataTypeUnormInt24 = 15, SpvImageChannelDataTypeUnormInt24 = 15,
SpvImageChannelDataTypeUnormInt101010_2 = 16, SpvImageChannelDataTypeUnormInt101010_2 = 16,
SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType; } SpvImageChannelDataType;
typedef enum SpvImageOperandsShift_ { typedef enum SpvImageOperandsShift_ {
@ -255,6 +268,7 @@ typedef enum SpvImageOperandsShift_ {
SpvImageOperandsConstOffsetsShift = 5, SpvImageOperandsConstOffsetsShift = 5,
SpvImageOperandsSampleShift = 6, SpvImageOperandsSampleShift = 6,
SpvImageOperandsMinLodShift = 7, SpvImageOperandsMinLodShift = 7,
SpvImageOperandsMax = 0x7fffffff,
} SpvImageOperandsShift; } SpvImageOperandsShift;
typedef enum SpvImageOperandsMask_ { typedef enum SpvImageOperandsMask_ {
@ -275,6 +289,7 @@ typedef enum SpvFPFastMathModeShift_ {
SpvFPFastMathModeNSZShift = 2, SpvFPFastMathModeNSZShift = 2,
SpvFPFastMathModeAllowRecipShift = 3, SpvFPFastMathModeAllowRecipShift = 3,
SpvFPFastMathModeFastShift = 4, SpvFPFastMathModeFastShift = 4,
SpvFPFastMathModeMax = 0x7fffffff,
} SpvFPFastMathModeShift; } SpvFPFastMathModeShift;
typedef enum SpvFPFastMathModeMask_ { typedef enum SpvFPFastMathModeMask_ {
@ -291,17 +306,20 @@ typedef enum SpvFPRoundingMode_ {
SpvFPRoundingModeRTZ = 1, SpvFPRoundingModeRTZ = 1,
SpvFPRoundingModeRTP = 2, SpvFPRoundingModeRTP = 2,
SpvFPRoundingModeRTN = 3, SpvFPRoundingModeRTN = 3,
SpvFPRoundingModeMax = 0x7fffffff,
} SpvFPRoundingMode; } SpvFPRoundingMode;
typedef enum SpvLinkageType_ { typedef enum SpvLinkageType_ {
SpvLinkageTypeExport = 0, SpvLinkageTypeExport = 0,
SpvLinkageTypeImport = 1, SpvLinkageTypeImport = 1,
SpvLinkageTypeMax = 0x7fffffff,
} SpvLinkageType; } SpvLinkageType;
typedef enum SpvAccessQualifier_ { typedef enum SpvAccessQualifier_ {
SpvAccessQualifierReadOnly = 0, SpvAccessQualifierReadOnly = 0,
SpvAccessQualifierWriteOnly = 1, SpvAccessQualifierWriteOnly = 1,
SpvAccessQualifierReadWrite = 2, SpvAccessQualifierReadWrite = 2,
SpvAccessQualifierMax = 0x7fffffff,
} SpvAccessQualifier; } SpvAccessQualifier;
typedef enum SpvFunctionParameterAttribute_ { typedef enum SpvFunctionParameterAttribute_ {
@ -313,6 +331,7 @@ typedef enum SpvFunctionParameterAttribute_ {
SpvFunctionParameterAttributeNoCapture = 5, SpvFunctionParameterAttributeNoCapture = 5,
SpvFunctionParameterAttributeNoWrite = 6, SpvFunctionParameterAttributeNoWrite = 6,
SpvFunctionParameterAttributeNoReadWrite = 7, SpvFunctionParameterAttributeNoReadWrite = 7,
SpvFunctionParameterAttributeMax = 0x7fffffff,
} SpvFunctionParameterAttribute; } SpvFunctionParameterAttribute;
typedef enum SpvDecoration_ { typedef enum SpvDecoration_ {
@ -359,6 +378,7 @@ typedef enum SpvDecoration_ {
SpvDecorationNoContraction = 42, SpvDecorationNoContraction = 42,
SpvDecorationInputAttachmentIndex = 43, SpvDecorationInputAttachmentIndex = 43,
SpvDecorationAlignment = 44, SpvDecorationAlignment = 44,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration; } SpvDecoration;
typedef enum SpvBuiltIn_ { typedef enum SpvBuiltIn_ {
@ -403,11 +423,13 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInSubgroupLocalInvocationId = 41, SpvBuiltInSubgroupLocalInvocationId = 41,
SpvBuiltInVertexIndex = 42, SpvBuiltInVertexIndex = 42,
SpvBuiltInInstanceIndex = 43, SpvBuiltInInstanceIndex = 43,
SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn; } SpvBuiltIn;
typedef enum SpvSelectionControlShift_ { typedef enum SpvSelectionControlShift_ {
SpvSelectionControlFlattenShift = 0, SpvSelectionControlFlattenShift = 0,
SpvSelectionControlDontFlattenShift = 1, SpvSelectionControlDontFlattenShift = 1,
SpvSelectionControlMax = 0x7fffffff,
} SpvSelectionControlShift; } SpvSelectionControlShift;
typedef enum SpvSelectionControlMask_ { typedef enum SpvSelectionControlMask_ {
@ -419,6 +441,7 @@ typedef enum SpvSelectionControlMask_ {
typedef enum SpvLoopControlShift_ { typedef enum SpvLoopControlShift_ {
SpvLoopControlUnrollShift = 0, SpvLoopControlUnrollShift = 0,
SpvLoopControlDontUnrollShift = 1, SpvLoopControlDontUnrollShift = 1,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift; } SpvLoopControlShift;
typedef enum SpvLoopControlMask_ { typedef enum SpvLoopControlMask_ {
@ -432,6 +455,7 @@ typedef enum SpvFunctionControlShift_ {
SpvFunctionControlDontInlineShift = 1, SpvFunctionControlDontInlineShift = 1,
SpvFunctionControlPureShift = 2, SpvFunctionControlPureShift = 2,
SpvFunctionControlConstShift = 3, SpvFunctionControlConstShift = 3,
SpvFunctionControlMax = 0x7fffffff,
} SpvFunctionControlShift; } SpvFunctionControlShift;
typedef enum SpvFunctionControlMask_ { typedef enum SpvFunctionControlMask_ {
@ -453,6 +477,7 @@ typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9, SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
SpvMemorySemanticsAtomicCounterMemoryShift = 10, SpvMemorySemanticsAtomicCounterMemoryShift = 10,
SpvMemorySemanticsImageMemoryShift = 11, SpvMemorySemanticsImageMemoryShift = 11,
SpvMemorySemanticsMax = 0x7fffffff,
} SpvMemorySemanticsShift; } SpvMemorySemanticsShift;
typedef enum SpvMemorySemanticsMask_ { typedef enum SpvMemorySemanticsMask_ {
@ -473,6 +498,7 @@ typedef enum SpvMemoryAccessShift_ {
SpvMemoryAccessVolatileShift = 0, SpvMemoryAccessVolatileShift = 0,
SpvMemoryAccessAlignedShift = 1, SpvMemoryAccessAlignedShift = 1,
SpvMemoryAccessNontemporalShift = 2, SpvMemoryAccessNontemporalShift = 2,
SpvMemoryAccessMax = 0x7fffffff,
} SpvMemoryAccessShift; } SpvMemoryAccessShift;
typedef enum SpvMemoryAccessMask_ { typedef enum SpvMemoryAccessMask_ {
@ -488,22 +514,26 @@ typedef enum SpvScope_ {
SpvScopeWorkgroup = 2, SpvScopeWorkgroup = 2,
SpvScopeSubgroup = 3, SpvScopeSubgroup = 3,
SpvScopeInvocation = 4, SpvScopeInvocation = 4,
SpvScopeMax = 0x7fffffff,
} SpvScope; } SpvScope;
typedef enum SpvGroupOperation_ { typedef enum SpvGroupOperation_ {
SpvGroupOperationReduce = 0, SpvGroupOperationReduce = 0,
SpvGroupOperationInclusiveScan = 1, SpvGroupOperationInclusiveScan = 1,
SpvGroupOperationExclusiveScan = 2, SpvGroupOperationExclusiveScan = 2,
SpvGroupOperationMax = 0x7fffffff,
} SpvGroupOperation; } SpvGroupOperation;
typedef enum SpvKernelEnqueueFlags_ { typedef enum SpvKernelEnqueueFlags_ {
SpvKernelEnqueueFlagsNoWait = 0, SpvKernelEnqueueFlagsNoWait = 0,
SpvKernelEnqueueFlagsWaitKernel = 1, SpvKernelEnqueueFlagsWaitKernel = 1,
SpvKernelEnqueueFlagsWaitWorkGroup = 2, SpvKernelEnqueueFlagsWaitWorkGroup = 2,
SpvKernelEnqueueFlagsMax = 0x7fffffff,
} SpvKernelEnqueueFlags; } SpvKernelEnqueueFlags;
typedef enum SpvKernelProfilingInfoShift_ { typedef enum SpvKernelProfilingInfoShift_ {
SpvKernelProfilingInfoCmdExecTimeShift = 0, SpvKernelProfilingInfoCmdExecTimeShift = 0,
SpvKernelProfilingInfoMax = 0x7fffffff,
} SpvKernelProfilingInfoShift; } SpvKernelProfilingInfoShift;
typedef enum SpvKernelProfilingInfoMask_ { typedef enum SpvKernelProfilingInfoMask_ {
@ -568,6 +598,7 @@ typedef enum SpvCapability_ {
SpvCapabilityStorageImageReadWithoutFormat = 55, SpvCapabilityStorageImageReadWithoutFormat = 55,
SpvCapabilityStorageImageWriteWithoutFormat = 56, SpvCapabilityStorageImageWriteWithoutFormat = 56,
SpvCapabilityMultiViewport = 57, SpvCapabilityMultiViewport = 57,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability; } SpvCapability;
typedef enum SpvOp_ { typedef enum SpvOp_ {
@ -865,6 +896,7 @@ typedef enum SpvOp_ {
SpvOpAtomicFlagTestAndSet = 318, SpvOpAtomicFlagTestAndSet = 318,
SpvOpAtomicFlagClear = 319, SpvOpAtomicFlagClear = 319,
SpvOpImageSparseRead = 320, SpvOpImageSparseRead = 320,
SpvOpMax = 0x7fffffff,
} SpvOp; } SpvOp;
#endif // #ifndef spirv_H #endif // #ifndef spirv_H

View file

@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id; typedef unsigned int Id;
#define SPV_VERSION 0x10000 #define SPV_VERSION 0x10000
#define SPV_REVISION 3 #define SPV_REVISION 6
static const unsigned int MagicNumber = 0x07230203; static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010000; static const unsigned int Version = 0x00010000;
static const unsigned int Revision = 3; static const unsigned int Revision = 6;
static const unsigned int OpCodeMask = 0xffff; static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16; static const unsigned int WordCountShift = 16;
@ -62,6 +62,7 @@ enum SourceLanguage {
SourceLanguageOpenCL_C = 3, SourceLanguageOpenCL_C = 3,
SourceLanguageOpenCL_CPP = 4, SourceLanguageOpenCL_CPP = 4,
SourceLanguageHLSL = 5, SourceLanguageHLSL = 5,
SourceLanguageMax = 0x7fffffff,
}; };
enum ExecutionModel { enum ExecutionModel {
@ -72,18 +73,21 @@ enum ExecutionModel {
ExecutionModelFragment = 4, ExecutionModelFragment = 4,
ExecutionModelGLCompute = 5, ExecutionModelGLCompute = 5,
ExecutionModelKernel = 6, ExecutionModelKernel = 6,
ExecutionModelMax = 0x7fffffff,
}; };
enum AddressingModel { enum AddressingModel {
AddressingModelLogical = 0, AddressingModelLogical = 0,
AddressingModelPhysical32 = 1, AddressingModelPhysical32 = 1,
AddressingModelPhysical64 = 2, AddressingModelPhysical64 = 2,
AddressingModelMax = 0x7fffffff,
}; };
enum MemoryModel { enum MemoryModel {
MemoryModelSimple = 0, MemoryModelSimple = 0,
MemoryModelGLSL450 = 1, MemoryModelGLSL450 = 1,
MemoryModelOpenCL = 2, MemoryModelOpenCL = 2,
MemoryModelMax = 0x7fffffff,
}; };
enum ExecutionMode { enum ExecutionMode {
@ -118,6 +122,7 @@ enum ExecutionMode {
ExecutionModeOutputTriangleStrip = 29, ExecutionModeOutputTriangleStrip = 29,
ExecutionModeVecTypeHint = 30, ExecutionModeVecTypeHint = 30,
ExecutionModeContractionOff = 31, ExecutionModeContractionOff = 31,
ExecutionModeMax = 0x7fffffff,
}; };
enum StorageClass { enum StorageClass {
@ -133,6 +138,7 @@ enum StorageClass {
StorageClassPushConstant = 9, StorageClassPushConstant = 9,
StorageClassAtomicCounter = 10, StorageClassAtomicCounter = 10,
StorageClassImage = 11, StorageClassImage = 11,
StorageClassMax = 0x7fffffff,
}; };
enum Dim { enum Dim {
@ -143,6 +149,7 @@ enum Dim {
DimRect = 4, DimRect = 4,
DimBuffer = 5, DimBuffer = 5,
DimSubpassData = 6, DimSubpassData = 6,
DimMax = 0x7fffffff,
}; };
enum SamplerAddressingMode { enum SamplerAddressingMode {
@ -151,11 +158,13 @@ enum SamplerAddressingMode {
SamplerAddressingModeClamp = 2, SamplerAddressingModeClamp = 2,
SamplerAddressingModeRepeat = 3, SamplerAddressingModeRepeat = 3,
SamplerAddressingModeRepeatMirrored = 4, SamplerAddressingModeRepeatMirrored = 4,
SamplerAddressingModeMax = 0x7fffffff,
}; };
enum SamplerFilterMode { enum SamplerFilterMode {
SamplerFilterModeNearest = 0, SamplerFilterModeNearest = 0,
SamplerFilterModeLinear = 1, SamplerFilterModeLinear = 1,
SamplerFilterModeMax = 0x7fffffff,
}; };
enum ImageFormat { enum ImageFormat {
@ -199,6 +208,7 @@ enum ImageFormat {
ImageFormatRg8ui = 37, ImageFormatRg8ui = 37,
ImageFormatR16ui = 38, ImageFormatR16ui = 38,
ImageFormatR8ui = 39, ImageFormatR8ui = 39,
ImageFormatMax = 0x7fffffff,
}; };
enum ImageChannelOrder { enum ImageChannelOrder {
@ -221,6 +231,8 @@ enum ImageChannelOrder {
ImageChannelOrdersRGBx = 16, ImageChannelOrdersRGBx = 16,
ImageChannelOrdersRGBA = 17, ImageChannelOrdersRGBA = 17,
ImageChannelOrdersBGRA = 18, ImageChannelOrdersBGRA = 18,
ImageChannelOrderABGR = 19,
ImageChannelOrderMax = 0x7fffffff,
}; };
enum ImageChannelDataType { enum ImageChannelDataType {
@ -241,6 +253,7 @@ enum ImageChannelDataType {
ImageChannelDataTypeFloat = 14, ImageChannelDataTypeFloat = 14,
ImageChannelDataTypeUnormInt24 = 15, ImageChannelDataTypeUnormInt24 = 15,
ImageChannelDataTypeUnormInt101010_2 = 16, ImageChannelDataTypeUnormInt101010_2 = 16,
ImageChannelDataTypeMax = 0x7fffffff,
}; };
enum ImageOperandsShift { enum ImageOperandsShift {
@ -252,6 +265,7 @@ enum ImageOperandsShift {
ImageOperandsConstOffsetsShift = 5, ImageOperandsConstOffsetsShift = 5,
ImageOperandsSampleShift = 6, ImageOperandsSampleShift = 6,
ImageOperandsMinLodShift = 7, ImageOperandsMinLodShift = 7,
ImageOperandsMax = 0x7fffffff,
}; };
enum ImageOperandsMask { enum ImageOperandsMask {
@ -272,6 +286,7 @@ enum FPFastMathModeShift {
FPFastMathModeNSZShift = 2, FPFastMathModeNSZShift = 2,
FPFastMathModeAllowRecipShift = 3, FPFastMathModeAllowRecipShift = 3,
FPFastMathModeFastShift = 4, FPFastMathModeFastShift = 4,
FPFastMathModeMax = 0x7fffffff,
}; };
enum FPFastMathModeMask { enum FPFastMathModeMask {
@ -288,17 +303,20 @@ enum FPRoundingMode {
FPRoundingModeRTZ = 1, FPRoundingModeRTZ = 1,
FPRoundingModeRTP = 2, FPRoundingModeRTP = 2,
FPRoundingModeRTN = 3, FPRoundingModeRTN = 3,
FPRoundingModeMax = 0x7fffffff,
}; };
enum LinkageType { enum LinkageType {
LinkageTypeExport = 0, LinkageTypeExport = 0,
LinkageTypeImport = 1, LinkageTypeImport = 1,
LinkageTypeMax = 0x7fffffff,
}; };
enum AccessQualifier { enum AccessQualifier {
AccessQualifierReadOnly = 0, AccessQualifierReadOnly = 0,
AccessQualifierWriteOnly = 1, AccessQualifierWriteOnly = 1,
AccessQualifierReadWrite = 2, AccessQualifierReadWrite = 2,
AccessQualifierMax = 0x7fffffff,
}; };
enum FunctionParameterAttribute { enum FunctionParameterAttribute {
@ -310,6 +328,7 @@ enum FunctionParameterAttribute {
FunctionParameterAttributeNoCapture = 5, FunctionParameterAttributeNoCapture = 5,
FunctionParameterAttributeNoWrite = 6, FunctionParameterAttributeNoWrite = 6,
FunctionParameterAttributeNoReadWrite = 7, FunctionParameterAttributeNoReadWrite = 7,
FunctionParameterAttributeMax = 0x7fffffff,
}; };
enum Decoration { enum Decoration {
@ -356,6 +375,7 @@ enum Decoration {
DecorationNoContraction = 42, DecorationNoContraction = 42,
DecorationInputAttachmentIndex = 43, DecorationInputAttachmentIndex = 43,
DecorationAlignment = 44, DecorationAlignment = 44,
DecorationMax = 0x7fffffff,
}; };
enum BuiltIn { enum BuiltIn {
@ -400,11 +420,13 @@ enum BuiltIn {
BuiltInSubgroupLocalInvocationId = 41, BuiltInSubgroupLocalInvocationId = 41,
BuiltInVertexIndex = 42, BuiltInVertexIndex = 42,
BuiltInInstanceIndex = 43, BuiltInInstanceIndex = 43,
BuiltInMax = 0x7fffffff,
}; };
enum SelectionControlShift { enum SelectionControlShift {
SelectionControlFlattenShift = 0, SelectionControlFlattenShift = 0,
SelectionControlDontFlattenShift = 1, SelectionControlDontFlattenShift = 1,
SelectionControlMax = 0x7fffffff,
}; };
enum SelectionControlMask { enum SelectionControlMask {
@ -416,6 +438,7 @@ enum SelectionControlMask {
enum LoopControlShift { enum LoopControlShift {
LoopControlUnrollShift = 0, LoopControlUnrollShift = 0,
LoopControlDontUnrollShift = 1, LoopControlDontUnrollShift = 1,
LoopControlMax = 0x7fffffff,
}; };
enum LoopControlMask { enum LoopControlMask {
@ -429,6 +452,7 @@ enum FunctionControlShift {
FunctionControlDontInlineShift = 1, FunctionControlDontInlineShift = 1,
FunctionControlPureShift = 2, FunctionControlPureShift = 2,
FunctionControlConstShift = 3, FunctionControlConstShift = 3,
FunctionControlMax = 0x7fffffff,
}; };
enum FunctionControlMask { enum FunctionControlMask {
@ -450,6 +474,7 @@ enum MemorySemanticsShift {
MemorySemanticsCrossWorkgroupMemoryShift = 9, MemorySemanticsCrossWorkgroupMemoryShift = 9,
MemorySemanticsAtomicCounterMemoryShift = 10, MemorySemanticsAtomicCounterMemoryShift = 10,
MemorySemanticsImageMemoryShift = 11, MemorySemanticsImageMemoryShift = 11,
MemorySemanticsMax = 0x7fffffff,
}; };
enum MemorySemanticsMask { enum MemorySemanticsMask {
@ -470,6 +495,7 @@ enum MemoryAccessShift {
MemoryAccessVolatileShift = 0, MemoryAccessVolatileShift = 0,
MemoryAccessAlignedShift = 1, MemoryAccessAlignedShift = 1,
MemoryAccessNontemporalShift = 2, MemoryAccessNontemporalShift = 2,
MemoryAccessMax = 0x7fffffff,
}; };
enum MemoryAccessMask { enum MemoryAccessMask {
@ -485,22 +511,26 @@ enum Scope {
ScopeWorkgroup = 2, ScopeWorkgroup = 2,
ScopeSubgroup = 3, ScopeSubgroup = 3,
ScopeInvocation = 4, ScopeInvocation = 4,
ScopeMax = 0x7fffffff,
}; };
enum GroupOperation { enum GroupOperation {
GroupOperationReduce = 0, GroupOperationReduce = 0,
GroupOperationInclusiveScan = 1, GroupOperationInclusiveScan = 1,
GroupOperationExclusiveScan = 2, GroupOperationExclusiveScan = 2,
GroupOperationMax = 0x7fffffff,
}; };
enum KernelEnqueueFlags { enum KernelEnqueueFlags {
KernelEnqueueFlagsNoWait = 0, KernelEnqueueFlagsNoWait = 0,
KernelEnqueueFlagsWaitKernel = 1, KernelEnqueueFlagsWaitKernel = 1,
KernelEnqueueFlagsWaitWorkGroup = 2, KernelEnqueueFlagsWaitWorkGroup = 2,
KernelEnqueueFlagsMax = 0x7fffffff,
}; };
enum KernelProfilingInfoShift { enum KernelProfilingInfoShift {
KernelProfilingInfoCmdExecTimeShift = 0, KernelProfilingInfoCmdExecTimeShift = 0,
KernelProfilingInfoMax = 0x7fffffff,
}; };
enum KernelProfilingInfoMask { enum KernelProfilingInfoMask {
@ -565,6 +595,7 @@ enum Capability {
CapabilityStorageImageReadWithoutFormat = 55, CapabilityStorageImageReadWithoutFormat = 55,
CapabilityStorageImageWriteWithoutFormat = 56, CapabilityStorageImageWriteWithoutFormat = 56,
CapabilityMultiViewport = 57, CapabilityMultiViewport = 57,
CapabilityMax = 0x7fffffff,
}; };
enum Op { enum Op {
@ -862,6 +893,7 @@ enum Op {
OpAtomicFlagTestAndSet = 318, OpAtomicFlagTestAndSet = 318,
OpAtomicFlagClear = 319, OpAtomicFlagClear = 319,
OpImageSparseRead = 320, OpImageSparseRead = 320,
OpMax = 0x7fffffff,
}; };
// Overload operator| for mask bit combining // Overload operator| for mask bit combining
@ -878,3 +910,4 @@ inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfil
} // end namespace spv } // end namespace spv
#endif // #ifndef spirv_HPP #endif // #ifndef spirv_HPP

View file

@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id; typedef unsigned int Id;
#define SPV_VERSION 0x10000 #define SPV_VERSION 0x10000
#define SPV_REVISION 3 #define SPV_REVISION 6
static const unsigned int MagicNumber = 0x07230203; static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010000; static const unsigned int Version = 0x00010000;
static const unsigned int Revision = 3; static const unsigned int Revision = 6;
static const unsigned int OpCodeMask = 0xffff; static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16; static const unsigned int WordCountShift = 16;
@ -61,6 +61,7 @@ enum class SourceLanguage : unsigned {
GLSL = 2, GLSL = 2,
OpenCL_C = 3, OpenCL_C = 3,
OpenCL_CPP = 4, OpenCL_CPP = 4,
Max = 0x7fffffff,
}; };
enum class ExecutionModel : unsigned { enum class ExecutionModel : unsigned {
@ -71,18 +72,21 @@ enum class ExecutionModel : unsigned {
Fragment = 4, Fragment = 4,
GLCompute = 5, GLCompute = 5,
Kernel = 6, Kernel = 6,
Max = 0x7fffffff,
}; };
enum class AddressingModel : unsigned { enum class AddressingModel : unsigned {
Logical = 0, Logical = 0,
Physical32 = 1, Physical32 = 1,
Physical64 = 2, Physical64 = 2,
Max = 0x7fffffff,
}; };
enum class MemoryModel : unsigned { enum class MemoryModel : unsigned {
Simple = 0, Simple = 0,
GLSL450 = 1, GLSL450 = 1,
OpenCL = 2, OpenCL = 2,
Max = 0x7fffffff,
}; };
enum class ExecutionMode : unsigned { enum class ExecutionMode : unsigned {
@ -117,6 +121,7 @@ enum class ExecutionMode : unsigned {
OutputTriangleStrip = 29, OutputTriangleStrip = 29,
VecTypeHint = 30, VecTypeHint = 30,
ContractionOff = 31, ContractionOff = 31,
Max = 0x7fffffff,
}; };
enum class StorageClass : unsigned { enum class StorageClass : unsigned {
@ -132,6 +137,7 @@ enum class StorageClass : unsigned {
PushConstant = 9, PushConstant = 9,
AtomicCounter = 10, AtomicCounter = 10,
Image = 11, Image = 11,
Max = 0x7fffffff,
}; };
enum class Dim : unsigned { enum class Dim : unsigned {
@ -142,6 +148,7 @@ enum class Dim : unsigned {
Rect = 4, Rect = 4,
Buffer = 5, Buffer = 5,
SubpassData = 6, SubpassData = 6,
Max = 0x7fffffff,
}; };
enum class SamplerAddressingMode : unsigned { enum class SamplerAddressingMode : unsigned {
@ -150,11 +157,13 @@ enum class SamplerAddressingMode : unsigned {
Clamp = 2, Clamp = 2,
Repeat = 3, Repeat = 3,
RepeatMirrored = 4, RepeatMirrored = 4,
Max = 0x7fffffff,
}; };
enum class SamplerFilterMode : unsigned { enum class SamplerFilterMode : unsigned {
Nearest = 0, Nearest = 0,
Linear = 1, Linear = 1,
Max = 0x7fffffff,
}; };
enum class ImageFormat : unsigned { enum class ImageFormat : unsigned {
@ -198,6 +207,7 @@ enum class ImageFormat : unsigned {
Rg8ui = 37, Rg8ui = 37,
R16ui = 38, R16ui = 38,
R8ui = 39, R8ui = 39,
Max = 0x7fffffff,
}; };
enum class ImageChannelOrder : unsigned { enum class ImageChannelOrder : unsigned {
@ -220,6 +230,8 @@ enum class ImageChannelOrder : unsigned {
sRGBx = 16, sRGBx = 16,
sRGBA = 17, sRGBA = 17,
sBGRA = 18, sBGRA = 18,
ABGR = 19,
Max = 0x7fffffff,
}; };
enum class ImageChannelDataType : unsigned { enum class ImageChannelDataType : unsigned {
@ -240,6 +252,7 @@ enum class ImageChannelDataType : unsigned {
Float = 14, Float = 14,
UnormInt24 = 15, UnormInt24 = 15,
UnormInt101010_2 = 16, UnormInt101010_2 = 16,
Max = 0x7fffffff,
}; };
enum class ImageOperandsShift : unsigned { enum class ImageOperandsShift : unsigned {
@ -251,6 +264,7 @@ enum class ImageOperandsShift : unsigned {
ConstOffsets = 5, ConstOffsets = 5,
Sample = 6, Sample = 6,
MinLod = 7, MinLod = 7,
Max = 0x7fffffff,
}; };
enum class ImageOperandsMask : unsigned { enum class ImageOperandsMask : unsigned {
@ -271,6 +285,7 @@ enum class FPFastMathModeShift : unsigned {
NSZ = 2, NSZ = 2,
AllowRecip = 3, AllowRecip = 3,
Fast = 4, Fast = 4,
Max = 0x7fffffff,
}; };
enum class FPFastMathModeMask : unsigned { enum class FPFastMathModeMask : unsigned {
@ -287,17 +302,20 @@ enum class FPRoundingMode : unsigned {
RTZ = 1, RTZ = 1,
RTP = 2, RTP = 2,
RTN = 3, RTN = 3,
Max = 0x7fffffff,
}; };
enum class LinkageType : unsigned { enum class LinkageType : unsigned {
Export = 0, Export = 0,
Import = 1, Import = 1,
Max = 0x7fffffff,
}; };
enum class AccessQualifier : unsigned { enum class AccessQualifier : unsigned {
ReadOnly = 0, ReadOnly = 0,
WriteOnly = 1, WriteOnly = 1,
ReadWrite = 2, ReadWrite = 2,
Max = 0x7fffffff,
}; };
enum class FunctionParameterAttribute : unsigned { enum class FunctionParameterAttribute : unsigned {
@ -309,6 +327,7 @@ enum class FunctionParameterAttribute : unsigned {
NoCapture = 5, NoCapture = 5,
NoWrite = 6, NoWrite = 6,
NoReadWrite = 7, NoReadWrite = 7,
Max = 0x7fffffff,
}; };
enum class Decoration : unsigned { enum class Decoration : unsigned {
@ -355,6 +374,7 @@ enum class Decoration : unsigned {
NoContraction = 42, NoContraction = 42,
InputAttachmentIndex = 43, InputAttachmentIndex = 43,
Alignment = 44, Alignment = 44,
Max = 0x7fffffff,
}; };
enum class BuiltIn : unsigned { enum class BuiltIn : unsigned {
@ -399,11 +419,13 @@ enum class BuiltIn : unsigned {
SubgroupLocalInvocationId = 41, SubgroupLocalInvocationId = 41,
VertexIndex = 42, VertexIndex = 42,
InstanceIndex = 43, InstanceIndex = 43,
Max = 0x7fffffff,
}; };
enum class SelectionControlShift : unsigned { enum class SelectionControlShift : unsigned {
Flatten = 0, Flatten = 0,
DontFlatten = 1, DontFlatten = 1,
Max = 0x7fffffff,
}; };
enum class SelectionControlMask : unsigned { enum class SelectionControlMask : unsigned {
@ -415,6 +437,7 @@ enum class SelectionControlMask : unsigned {
enum class LoopControlShift : unsigned { enum class LoopControlShift : unsigned {
Unroll = 0, Unroll = 0,
DontUnroll = 1, DontUnroll = 1,
Max = 0x7fffffff,
}; };
enum class LoopControlMask : unsigned { enum class LoopControlMask : unsigned {
@ -428,6 +451,7 @@ enum class FunctionControlShift : unsigned {
DontInline = 1, DontInline = 1,
Pure = 2, Pure = 2,
Const = 3, Const = 3,
Max = 0x7fffffff,
}; };
enum class FunctionControlMask : unsigned { enum class FunctionControlMask : unsigned {
@ -449,6 +473,7 @@ enum class MemorySemanticsShift : unsigned {
CrossWorkgroupMemory = 9, CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10, AtomicCounterMemory = 10,
ImageMemory = 11, ImageMemory = 11,
Max = 0x7fffffff,
}; };
enum class MemorySemanticsMask : unsigned { enum class MemorySemanticsMask : unsigned {
@ -469,6 +494,7 @@ enum class MemoryAccessShift : unsigned {
Volatile = 0, Volatile = 0,
Aligned = 1, Aligned = 1,
Nontemporal = 2, Nontemporal = 2,
Max = 0x7fffffff,
}; };
enum class MemoryAccessMask : unsigned { enum class MemoryAccessMask : unsigned {
@ -484,22 +510,26 @@ enum class Scope : unsigned {
Workgroup = 2, Workgroup = 2,
Subgroup = 3, Subgroup = 3,
Invocation = 4, Invocation = 4,
Max = 0x7fffffff,
}; };
enum class GroupOperation : unsigned { enum class GroupOperation : unsigned {
Reduce = 0, Reduce = 0,
InclusiveScan = 1, InclusiveScan = 1,
ExclusiveScan = 2, ExclusiveScan = 2,
Max = 0x7fffffff,
}; };
enum class KernelEnqueueFlags : unsigned { enum class KernelEnqueueFlags : unsigned {
NoWait = 0, NoWait = 0,
WaitKernel = 1, WaitKernel = 1,
WaitWorkGroup = 2, WaitWorkGroup = 2,
Max = 0x7fffffff,
}; };
enum class KernelProfilingInfoShift : unsigned { enum class KernelProfilingInfoShift : unsigned {
CmdExecTime = 0, CmdExecTime = 0,
Max = 0x7fffffff,
}; };
enum class KernelProfilingInfoMask : unsigned { enum class KernelProfilingInfoMask : unsigned {
@ -564,6 +594,7 @@ enum class Capability : unsigned {
StorageImageReadWithoutFormat = 55, StorageImageReadWithoutFormat = 55,
StorageImageWriteWithoutFormat = 56, StorageImageWriteWithoutFormat = 56,
MultiViewport = 57, MultiViewport = 57,
Max = 0x7fffffff,
}; };
enum class Op : unsigned { enum class Op : unsigned {
@ -861,6 +892,7 @@ enum class Op : unsigned {
OpAtomicFlagTestAndSet = 318, OpAtomicFlagTestAndSet = 318,
OpAtomicFlagClear = 319, OpAtomicFlagClear = 319,
OpImageSparseRead = 320, OpImageSparseRead = 320,
Max = 0x7fffffff,
}; };
// Overload operator| for mask bit combining // Overload operator| for mask bit combining

View file

@ -52,7 +52,7 @@
], ],
"MagicNumber": 119734787, "MagicNumber": 119734787,
"Version": 65536, "Version": 65536,
"Revision": 3, "Revision": 6,
"OpCodeMask": 65535, "OpCodeMask": 65535,
"WordCountShift": 16 "WordCountShift": 16
}, },
@ -266,7 +266,8 @@
"sRGB": 15, "sRGB": 15,
"sRGBx": 16, "sRGBx": 16,
"sRGBA": 17, "sRGBA": 17,
"sBGRA": 18 "sBGRA": 18,
"ABGR": 19
} }
}, },
{ {

View file

@ -42,7 +42,7 @@
spv = { spv = {
MagicNumber = 0x07230203, MagicNumber = 0x07230203,
Version = 0x00010000, Version = 0x00010000,
Revision = 3, Revision = 6,
OpCodeMask = 0xffff, OpCodeMask = 0xffff,
WordCountShift = 16, WordCountShift = 16,
@ -211,6 +211,7 @@ spv = {
sRGBx = 16, sRGBx = 16,
sRGBA = 17, sRGBA = 17,
sBGRA = 18, sBGRA = 18,
ABGR = 19,
}, },
ImageChannelDataType = { ImageChannelDataType = {

View file

@ -42,7 +42,7 @@
spv = { spv = {
'MagicNumber' : 0x07230203, 'MagicNumber' : 0x07230203,
'Version' : 0x00010000, 'Version' : 0x00010000,
'Revision' : 3, 'Revision' : 6,
'OpCodeMask' : 0xffff, 'OpCodeMask' : 0xffff,
'WordCountShift' : 16, 'WordCountShift' : 16,
@ -211,6 +211,7 @@ spv = {
'sRGBx' : 16, 'sRGBx' : 16,
'sRGBA' : 17, 'sRGBA' : 17,
'sBGRA' : 18, 'sBGRA' : 18,
'ABGR' : 19,
}, },
'ImageChannelDataType' : { 'ImageChannelDataType' : {

View file

@ -39,7 +39,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t
#define ICD_LOADER_MAGIC 0x01CDC0DE #define ICD_LOADER_MAGIC 0x01CDC0DE
typedef union _VK_LOADER_DATA { typedef union {
uintptr_t loaderMagic; uintptr_t loaderMagic;
void *loaderData; void *loaderData;
} VK_LOADER_DATA; } VK_LOADER_DATA;
@ -58,7 +58,7 @@ static inline bool valid_loader_magic_value(void *pNewObject) {
* Windows and Linux ICDs will treat VkSurfaceKHR as a pointer to a struct that * Windows and Linux ICDs will treat VkSurfaceKHR as a pointer to a struct that
* contains the platform-specific connection and surface information. * contains the platform-specific connection and surface information.
*/ */
typedef enum _VkIcdWsiPlatform { typedef enum {
VK_ICD_WSI_PLATFORM_MIR, VK_ICD_WSI_PLATFORM_MIR,
VK_ICD_WSI_PLATFORM_WAYLAND, VK_ICD_WSI_PLATFORM_WAYLAND,
VK_ICD_WSI_PLATFORM_WIN32, VK_ICD_WSI_PLATFORM_WIN32,
@ -67,12 +67,12 @@ typedef enum _VkIcdWsiPlatform {
VK_ICD_WSI_PLATFORM_DISPLAY VK_ICD_WSI_PLATFORM_DISPLAY
} VkIcdWsiPlatform; } VkIcdWsiPlatform;
typedef struct _VkIcdSurfaceBase { typedef struct {
VkIcdWsiPlatform platform; VkIcdWsiPlatform platform;
} VkIcdSurfaceBase; } VkIcdSurfaceBase;
#ifdef VK_USE_PLATFORM_MIR_KHR #ifdef VK_USE_PLATFORM_MIR_KHR
typedef struct _VkIcdSurfaceMir { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
MirConnection *connection; MirConnection *connection;
MirSurface *mirSurface; MirSurface *mirSurface;
@ -80,7 +80,7 @@ typedef struct _VkIcdSurfaceMir {
#endif // VK_USE_PLATFORM_MIR_KHR #endif // VK_USE_PLATFORM_MIR_KHR
#ifdef VK_USE_PLATFORM_WAYLAND_KHR #ifdef VK_USE_PLATFORM_WAYLAND_KHR
typedef struct _VkIcdSurfaceWayland { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
struct wl_display *display; struct wl_display *display;
struct wl_surface *surface; struct wl_surface *surface;
@ -88,7 +88,7 @@ typedef struct _VkIcdSurfaceWayland {
#endif // VK_USE_PLATFORM_WAYLAND_KHR #endif // VK_USE_PLATFORM_WAYLAND_KHR
#ifdef VK_USE_PLATFORM_WIN32_KHR #ifdef VK_USE_PLATFORM_WIN32_KHR
typedef struct _VkIcdSurfaceWin32 { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
HINSTANCE hinstance; HINSTANCE hinstance;
HWND hwnd; HWND hwnd;
@ -96,7 +96,7 @@ typedef struct _VkIcdSurfaceWin32 {
#endif // VK_USE_PLATFORM_WIN32_KHR #endif // VK_USE_PLATFORM_WIN32_KHR
#ifdef VK_USE_PLATFORM_XCB_KHR #ifdef VK_USE_PLATFORM_XCB_KHR
typedef struct _VkIcdSurfaceXcb { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
xcb_connection_t *connection; xcb_connection_t *connection;
xcb_window_t window; xcb_window_t window;
@ -104,14 +104,14 @@ typedef struct _VkIcdSurfaceXcb {
#endif // VK_USE_PLATFORM_XCB_KHR #endif // VK_USE_PLATFORM_XCB_KHR
#ifdef VK_USE_PLATFORM_XLIB_KHR #ifdef VK_USE_PLATFORM_XLIB_KHR
typedef struct _VkIcdSurfaceXlib { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
Display *dpy; Display *dpy;
Window window; Window window;
} VkIcdSurfaceXlib; } VkIcdSurfaceXlib;
#endif // VK_USE_PLATFORM_XLIB_KHR #endif // VK_USE_PLATFORM_XLIB_KHR
typedef struct _VkIcdSurfaceDisplay { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
VkDisplayModeKHR displayMode; VkDisplayModeKHR displayMode;
uint32_t planeIndex; uint32_t planeIndex;

View file

@ -234,23 +234,6 @@ typedef struct VkLayerInstanceDispatchTable_ {
CreateDisplayPlaneSurfaceKHR; CreateDisplayPlaneSurfaceKHR;
} VkLayerInstanceDispatchTable; } VkLayerInstanceDispatchTable;
// LL node for tree of dbg callback functions
typedef struct VkLayerDbgFunctionNode_ {
VkDebugReportCallbackEXT msgCallback;
PFN_vkDebugReportCallbackEXT pfnMsgCallback;
VkFlags msgFlags;
void *pUserData;
struct VkLayerDbgFunctionNode_ *pNext;
} VkLayerDbgFunctionNode;
typedef enum VkLayerDbgAction_ {
VK_DBG_LAYER_ACTION_IGNORE = 0x0,
VK_DBG_LAYER_ACTION_CALLBACK = 0x1,
VK_DBG_LAYER_ACTION_LOG_MSG = 0x2,
VK_DBG_LAYER_ACTION_BREAK = 0x4,
VK_DBG_LAYER_ACTION_DEBUG_OUTPUT = 0x8,
} VkLayerDbgAction;
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// CreateInstance and CreateDevice support structures // CreateInstance and CreateDevice support structures

View file

@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file // Version of this file
#define VK_HEADER_VERSION 12 #define VK_HEADER_VERSION 21
#define VK_NULL_HANDLE 0 #define VK_NULL_HANDLE 0
@ -214,6 +214,9 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
@ -2347,7 +2350,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkIm
typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData); typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
@ -3032,7 +3035,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
VkBuffer dstBuffer, VkBuffer dstBuffer,
VkDeviceSize dstOffset, VkDeviceSize dstOffset,
VkDeviceSize dataSize, VkDeviceSize dataSize,
const uint32_t* pData); const void* pData);
VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
VkCommandBuffer commandBuffer, VkCommandBuffer commandBuffer,
@ -3172,13 +3175,14 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
#define VK_KHR_SURFACE_SPEC_VERSION 25 #define VK_KHR_SURFACE_SPEC_VERSION 25
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
#define VK_COLORSPACE_SRGB_NONLINEAR_KHR VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
typedef enum VkColorSpaceKHR { typedef enum VkColorSpaceKHR {
VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0, VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLORSPACE_SRGB_NONLINEAR_KHR, VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLORSPACE_SRGB_NONLINEAR_KHR, VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLORSPACE_SRGB_NONLINEAR_KHR - VK_COLORSPACE_SRGB_NONLINEAR_KHR + 1), VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
} VkColorSpaceKHR; } VkColorSpaceKHR;
@ -3714,7 +3718,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
#define VK_EXT_debug_report 1 #define VK_EXT_debug_report 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 2 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 3
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT #define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
@ -3854,6 +3858,16 @@ typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
#define VK_AMD_shader_trinary_minmax 1
#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
#define VK_AMD_shader_explicit_vertex_parameter 1
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
#define VK_EXT_debug_marker 1 #define VK_EXT_debug_marker 1
#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 3 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 3
#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
@ -3911,6 +3925,36 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
VkDebugMarkerMarkerInfoEXT* pMarkerInfo); VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
#endif #endif
#define VK_AMD_gcn_shader 1
#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
#define VK_NV_dedicated_allocation 1
#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
typedef struct VkDedicatedAllocationImageCreateInfoNV {
VkStructureType sType;
const void* pNext;
VkBool32 dedicatedAllocation;
} VkDedicatedAllocationImageCreateInfoNV;
typedef struct VkDedicatedAllocationBufferCreateInfoNV {
VkStructureType sType;
const void* pNext;
VkBool32 dedicatedAllocation;
} VkDedicatedAllocationBufferCreateInfoNV;
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
VkStructureType sType;
const void* pNext;
VkImage image;
VkBuffer buffer;
} VkDedicatedAllocationMemoryAllocateInfoNV;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif