spirv: Update headers and metadata from latest Khronos commit

This corresponds to bcf55210f13a4fa3c3d0963b509ff1070e434c79
("Merge pull request #178 from orbea/datadir") in
https://github.com/KhronosGroup/SPIRV-Headers.

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8750>
This commit is contained in:
Caio Marcelo de Oliveira Filho 2021-03-16 21:20:12 -07:00 committed by Marge Bot
parent 23100f3b65
commit ba8ef1df9b
3 changed files with 153 additions and 32 deletions

View file

@ -78,7 +78,8 @@
<id value="25" vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen@gmail.com"/>
<id value="26" vendor="Xenia" tool="Xenia Emulator Microcode Translator" comment="Contact Vitaliy Kuzmin, triang3l@yandex.ru, https://github.com/xenia-project/xenia"/>
<id value="27" vendor="Embark Studios" tool="Rust GPU Compiler Backend" comment="https://github.com/embarkstudios/rust-gpu"/>
<unused start="28" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
<id value="28" vendor="gfx-rs community" tool="Naga" comment="https://github.com/gfx-rs/naga"/>
<unused start="29" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@ -185,6 +186,27 @@
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
<!-- SECTION: SPIR-V Function Control Bit Reservations -->
<!-- Reserve ranges of bits in the function control bitfield.
Each vendor determines the use of values in their own ranges.
Vendors are not required to disclose those uses. If the use of a
value is included in an extension that is adopted by a Khronos
extension or specification, then that value's use may be permanently
fixed as if originally reserved in a Khronos range.
The SPIR Working Group strongly recommends:
- Each value is used for only one purpose.
- All values in a range should be used before allocating a new range.
-->
<!-- Reserved function control bits -->
<ids type="FunctionControl" start="0" end="15" vendor="Khronos" comment="Reserved FunctionControl bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="FunctionControl" start="16" end="16" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
<ids type="FunctionControl" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="FunctionControl" start="31" end="31" vendor="Khronos" comment="Reserved FunctionControl bit, not available to vendors"/>
<!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
<!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
Each vendor determines the use of values in their own ranges.

View file

@ -4552,7 +4552,7 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdScope", "name" : "'Execution'" }
{ "kind" : "IdScope", "name" : "'Scope'" }
],
"capabilities" : [ "ShaderClockKHR" ],
"extensions" : [ "SPV_KHR_shader_clock" ],
@ -5188,6 +5188,61 @@
"capabilities" : [ "AsmINTEL" ],
"version" : "None"
},
{
"opname" : "OpAtomicFMinEXT",
"class" : "Atomic",
"opcode" : 5614,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
],
"capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT" ],
"version" : "None"
},
{
"opname" : "OpAtomicFMaxEXT",
"class" : "Atomic",
"opcode" : 5615,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
],
"capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT" ],
"version" : "None"
},
{
"opname" : "OpAssumeTrueKHR",
"class" : "Miscellaneous",
"opcode" : 5630,
"operands" : [
{ "kind" : "IdRef", "name" : "'Condition'" }
],
"capabilities" : [ "ExpectAssumeKHR" ],
"extensions" : [ "SPV_KHR_expect_assume" ],
"version" : "None"
},
{
"opname" : "OpExpectKHR",
"class" : "Miscellaneous",
"opcode" : 5631,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ExpectedValue'" }
],
"capabilities" : [ "ExpectAssumeKHR" ],
"extensions" : [ "SPV_KHR_expect_assume" ],
"version" : "None"
},
{
"opname" : "OpDecorateString",
"class" : "Annotation",
@ -9381,6 +9436,13 @@
"enumerant" : "Import",
"value" : 1,
"capabilities" : [ "Linkage" ]
},
{
"enumerant" : "LinkOnceODR",
"value" : 2,
"capabilities" : [ "Linkage" ],
"extensions" : [ "SPV_KHR_linkonce_odr" ],
"version" : "None"
}
]
},
@ -10406,30 +10468,6 @@
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupGeMask",
"value" : 4417,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupGtMask",
"value" : 4418,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupLeMask",
"value" : 4419,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupLtMask",
"value" : 4420,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupEqMaskKHR",
"value" : 4416,
@ -10437,6 +10475,12 @@
"extensions" : [ "SPV_KHR_shader_ballot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupGeMask",
"value" : 4417,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupGeMaskKHR",
"value" : 4417,
@ -10444,6 +10488,12 @@
"extensions" : [ "SPV_KHR_shader_ballot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupGtMask",
"value" : 4418,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupGtMaskKHR",
"value" : 4418,
@ -10451,6 +10501,12 @@
"extensions" : [ "SPV_KHR_shader_ballot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupLeMask",
"value" : 4419,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupLeMaskKHR",
"value" : 4419,
@ -10458,6 +10514,12 @@
"extensions" : [ "SPV_KHR_shader_ballot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupLtMask",
"value" : 4420,
"capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
"version" : "1.3"
},
{
"enumerant" : "SubgroupLtMaskKHR",
"value" : 4420,
@ -12062,6 +12124,24 @@
"extensions" : [ "SPV_INTEL_inline_assembly" ],
"version" : "None"
},
{
"enumerant" : "AtomicFloat32MinMaxEXT",
"value" : 5612,
"extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
"version" : "None"
},
{
"enumerant" : "AtomicFloat64MinMaxEXT",
"value" : 5613,
"extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
"version" : "None"
},
{
"enumerant" : "AtomicFloat16MinMaxEXT",
"value" : 5616,
"extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
"version" : "None"
},
{
"enumerant" : "VectorComputeINTEL",
"value" : 5617,
@ -12075,6 +12155,12 @@
"extensions" : [ "SPV_INTEL_vector_compute" ],
"version" : "None"
},
{
"enumerant" : "ExpectAssumeKHR",
"value" : 5629,
"extensions" : [ "SPV_KHR_expect_assume" ],
"version" : "None"
},
{
"enumerant" : "SubgroupAvcMotionEstimationINTEL",
"value" : 5696,

View file

@ -413,6 +413,7 @@ typedef enum SpvFPRoundingMode_ {
typedef enum SpvLinkageType_ {
SpvLinkageTypeExport = 0,
SpvLinkageTypeImport = 1,
SpvLinkageTypeLinkOnceODR = 2,
SpvLinkageTypeMax = 0x7fffffff,
} SpvLinkageType;
@ -1014,8 +1015,12 @@ typedef enum SpvCapability_ {
SpvCapabilityFunctionPointersINTEL = 5603,
SpvCapabilityIndirectReferencesINTEL = 5604,
SpvCapabilityAsmINTEL = 5606,
SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
SpvCapabilityVectorComputeINTEL = 5617,
SpvCapabilityVectorAnyINTEL = 5619,
SpvCapabilityExpectAssumeKHR = 5629,
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
@ -1106,15 +1111,15 @@ typedef enum SpvFragmentShadingRateMask_ {
} SpvFragmentShadingRateMask;
typedef enum SpvFPDenormMode_ {
SpvFPDenormModePreserve = 0,
SpvFPDenormModeFlushToZero = 1,
SpvFPDenormModeMax = 0x7fffffff,
SpvFPDenormModePreserve = 0,
SpvFPDenormModeFlushToZero = 1,
SpvFPDenormModeMax = 0x7fffffff,
} SpvFPDenormMode;
typedef enum SpvFPOperationMode_ {
SpvFPOperationModeIEEE = 0,
SpvFPOperationModeALT = 1,
SpvFPOperationModeMax = 0x7fffffff,
SpvFPOperationModeIEEE = 0,
SpvFPOperationModeALT = 1,
SpvFPOperationModeMax = 0x7fffffff,
} SpvFPOperationMode;
typedef enum SpvOp_ {
@ -1541,6 +1546,10 @@ typedef enum SpvOp_ {
SpvOpAsmTargetINTEL = 5609,
SpvOpAsmINTEL = 5610,
SpvOpAsmCallINTEL = 5611,
SpvOpAtomicFMinEXT = 5614,
SpvOpAtomicFMaxEXT = 5615,
SpvOpAssumeTrueKHR = 5630,
SpvOpExpectKHR = 5631,
SpvOpDecorateString = 5632,
SpvOpDecorateStringGOOGLE = 5632,
SpvOpMemberDecorateString = 5633,
@ -2123,6 +2132,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;