|
|
@@ -1,27 +1,11 @@
|
|
|
/*
|
|
|
-** Copyright (c) 2014-2024 The Khronos Group Inc.
|
|
|
+** Copyright: 2014-2024 The Khronos Group Inc.
|
|
|
+** License: MIT
|
|
|
**
|
|
|
-** 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.
|
|
|
+** 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/
|
|
|
*/
|
|
|
|
|
|
/*
|
|
|
@@ -557,6 +541,7 @@ typedef enum SpvDecoration_ {
|
|
|
SpvDecorationMaxByteOffset = 45,
|
|
|
SpvDecorationAlignmentId = 46,
|
|
|
SpvDecorationMaxByteOffsetId = 47,
|
|
|
+ SpvDecorationSaturatedToLargestFloat8NormalConversionEXT = 4216,
|
|
|
SpvDecorationNoSignedWrap = 4469,
|
|
|
SpvDecorationNoUnsignedWrap = 4470,
|
|
|
SpvDecorationWeightTextureQCOM = 4487,
|
|
|
@@ -1083,6 +1068,8 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityStorageTensorArrayDynamicIndexingARM = 4175,
|
|
|
SpvCapabilityStorageTensorArrayNonUniformIndexingARM = 4176,
|
|
|
SpvCapabilityCooperativeMatrixLayoutsARM = 4201,
|
|
|
+ SpvCapabilityFloat8EXT = 4212,
|
|
|
+ SpvCapabilityFloat8CooperativeMatrixEXT = 4213,
|
|
|
SpvCapabilityFragmentShadingRateKHR = 4422,
|
|
|
SpvCapabilitySubgroupBallotKHR = 4423,
|
|
|
SpvCapabilityDrawParameters = 4427,
|
|
|
@@ -1299,6 +1286,7 @@ typedef enum SpvCapability_ {
|
|
|
SpvCapabilityMaskedGatherScatterINTEL = 6427,
|
|
|
SpvCapabilityCacheControlsINTEL = 6441,
|
|
|
SpvCapabilityRegisterLimitsINTEL = 6460,
|
|
|
+ SpvCapabilityBindlessImagesINTEL = 6528,
|
|
|
SpvCapabilityMax = 0x7fffffff,
|
|
|
} SpvCapability;
|
|
|
|
|
|
@@ -1579,6 +1567,8 @@ typedef enum SpvRawAccessChainOperandsMask_ {
|
|
|
|
|
|
typedef enum SpvFPEncoding_ {
|
|
|
SpvFPEncodingBFloat16KHR = 0,
|
|
|
+ SpvFPEncodingFloat8E4M3EXT = 4214,
|
|
|
+ SpvFPEncodingFloat8E5M2EXT = 4215,
|
|
|
SpvFPEncodingMax = 0x7fffffff,
|
|
|
} SpvFPEncoding;
|
|
|
|
|
|
@@ -2419,6 +2409,9 @@ typedef enum SpvOp_ {
|
|
|
SpvOpRoundFToTF32INTEL = 6426,
|
|
|
SpvOpMaskedGatherINTEL = 6428,
|
|
|
SpvOpMaskedScatterINTEL = 6429,
|
|
|
+ SpvOpConvertHandleToImageINTEL = 6529,
|
|
|
+ SpvOpConvertHandleToSamplerINTEL = 6530,
|
|
|
+ SpvOpConvertHandleToSampledImageINTEL = 6531,
|
|
|
SpvOpMax = 0x7fffffff,
|
|
|
} SpvOp;
|
|
|
|
|
|
@@ -3228,6 +3221,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|
|
case SpvOpRoundFToTF32INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case SpvOpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case SpvOpConvertHandleToImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertHandleToSamplerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case SpvOpConvertHandleToSampledImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
}
|
|
|
}
|
|
|
inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {
|
|
|
@@ -3660,6 +3656,7 @@ inline const char* SpvDecorationToString(SpvDecoration value) {
|
|
|
case SpvDecorationMaxByteOffset: return "MaxByteOffset";
|
|
|
case SpvDecorationAlignmentId: return "AlignmentId";
|
|
|
case SpvDecorationMaxByteOffsetId: return "MaxByteOffsetId";
|
|
|
+ case SpvDecorationSaturatedToLargestFloat8NormalConversionEXT: return "SaturatedToLargestFloat8NormalConversionEXT";
|
|
|
case SpvDecorationNoSignedWrap: return "NoSignedWrap";
|
|
|
case SpvDecorationNoUnsignedWrap: return "NoUnsignedWrap";
|
|
|
case SpvDecorationWeightTextureQCOM: return "WeightTextureQCOM";
|
|
|
@@ -4006,6 +4003,8 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
|
|
case SpvCapabilityStorageTensorArrayDynamicIndexingARM: return "StorageTensorArrayDynamicIndexingARM";
|
|
|
case SpvCapabilityStorageTensorArrayNonUniformIndexingARM: return "StorageTensorArrayNonUniformIndexingARM";
|
|
|
case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
|
|
|
+ case SpvCapabilityFloat8EXT: return "Float8EXT";
|
|
|
+ case SpvCapabilityFloat8CooperativeMatrixEXT: return "Float8CooperativeMatrixEXT";
|
|
|
case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
|
|
|
case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
|
|
|
case SpvCapabilityDrawParameters: return "DrawParameters";
|
|
|
@@ -4194,6 +4193,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
|
|
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
|
|
case SpvCapabilityCacheControlsINTEL: return "CacheControlsINTEL";
|
|
|
case SpvCapabilityRegisterLimitsINTEL: return "RegisterLimitsINTEL";
|
|
|
+ case SpvCapabilityBindlessImagesINTEL: return "BindlessImagesINTEL";
|
|
|
default: return "Unknown";
|
|
|
}
|
|
|
}
|
|
|
@@ -4349,6 +4349,8 @@ inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumbe
|
|
|
inline const char* SpvFPEncodingToString(SpvFPEncoding value) {
|
|
|
switch (value) {
|
|
|
case SpvFPEncodingBFloat16KHR: return "BFloat16KHR";
|
|
|
+ case SpvFPEncodingFloat8E4M3EXT: return "Float8E4M3EXT";
|
|
|
+ case SpvFPEncodingFloat8E5M2EXT: return "Float8E5M2EXT";
|
|
|
default: return "Unknown";
|
|
|
}
|
|
|
}
|
|
|
@@ -5184,6 +5186,9 @@ inline const char* SpvOpToString(SpvOp value) {
|
|
|
case SpvOpRoundFToTF32INTEL: return "OpRoundFToTF32INTEL";
|
|
|
case SpvOpMaskedGatherINTEL: return "OpMaskedGatherINTEL";
|
|
|
case SpvOpMaskedScatterINTEL: return "OpMaskedScatterINTEL";
|
|
|
+ case SpvOpConvertHandleToImageINTEL: return "OpConvertHandleToImageINTEL";
|
|
|
+ case SpvOpConvertHandleToSamplerINTEL: return "OpConvertHandleToSamplerINTEL";
|
|
|
+ case SpvOpConvertHandleToSampledImageINTEL: return "OpConvertHandleToSampledImageINTEL";
|
|
|
default: return "Unknown";
|
|
|
}
|
|
|
}
|