Mesa (master): spirv: Update headers and metadata from latest Khronos commit
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jan 27 22:46:26 UTC 2021
Module: Mesa
Branch: master
Commit: bb2a0fbcd33dfbedf1bff0d612cd3612c44f2330
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb2a0fbcd33dfbedf1bff0d612cd3612c44f2330
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date: Fri Jun 5 13:35:29 2020 -0700
spirv: Update headers and metadata from latest Khronos commit
This corresponds to faa570afbc91ac73d594d787486bcf8f2df1ace0
("Merge pull request #192 from cmarcelo/SPV_KHR_workgroup_memory_explicit_layout") in
https://github.com/KhronosGroup/SPIRV-Headers.
Acked-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8699>
---
src/compiler/spirv/spir-v.xml | 7 +-
src/compiler/spirv/spirv.core.grammar.json | 561 ++++++++++++++++++++++++++++-
src/compiler/spirv/spirv.h | 95 ++++-
3 files changed, 647 insertions(+), 16 deletions(-)
diff --git a/src/compiler/spirv/spir-v.xml b/src/compiler/spirv/spir-v.xml
index 1298052d42c..d1ebaab589b 100644
--- a/src/compiler/spirv/spir-v.xml
+++ b/src/compiler/spirv/spir-v.xml
@@ -77,7 +77,8 @@
<id value="24" vendor="Google" tool="ANGLE Shader Compiler" comment="Contact Shahbaz Youssefi, syoussefi at google.com"/>
<id value="25" vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen at gmail.com"/>
<id value="26" vendor="Xenia" tool="Xenia Emulator Microcode Translator" comment="Contact Vitaliy Kuzmin, triang3l at yandex.ru, https://github.com/xenia-project/xenia"/>
- <unused start="27" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+ <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"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -179,8 +180,8 @@
<!-- Reserved loop control bits -->
<ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
- <ids type="LoopControl" start="16" end="22" vendor="Intel" comment="Contact michael.kinsner at intel.com"/>
- <ids type="LoopControl" start="23" end="30" comment="Unreserved bits reservable for use by vendors"/>
+ <ids type="LoopControl" start="16" end="23" vendor="Intel" comment="Contact michael.kinsner at intel.com"/>
+ <ids type="LoopControl" start="24" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
diff --git a/src/compiler/spirv/spirv.core.grammar.json b/src/compiler/spirv/spirv.core.grammar.json
index c91540dddd0..514965e860c 100644
--- a/src/compiler/spirv/spirv.core.grammar.json
+++ b/src/compiler/spirv/spirv.core.grammar.json
@@ -5123,7 +5123,7 @@
"version" : "None"
},
{
- "opname" : "OpFunctionPointerINTEL",
+ "opname" : "OpConstFunctionPointerINTEL",
"class" : "@exclude",
"opcode" : 5600,
"operands" : [
@@ -5148,6 +5148,46 @@
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
+ {
+ "opname" : "OpAsmTargetINTEL",
+ "class" : "@exclude",
+ "opcode" : 5609,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "LiteralString", "name" : "'Asm target'" }
+ ],
+ "capabilities" : [ "AsmINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpAsmINTEL",
+ "class" : "@exclude",
+ "opcode" : 5610,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Asm type'" },
+ { "kind" : "IdRef", "name" : "'Target'" },
+ { "kind" : "LiteralString", "name" : "'Asm instructions'" },
+ { "kind" : "LiteralString", "name" : "'Constraints'" }
+ ],
+ "capabilities" : [ "AsmINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpAsmCallINTEL",
+ "class" : "@exclude",
+ "opcode" : 5611,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Asm'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0'" }
+ ],
+ "capabilities" : [ "AsmINTEL" ],
+ "version" : "None"
+ },
{
"opname" : "OpDecorateString",
"class" : "Annotation",
@@ -6711,6 +6751,39 @@
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
+ {
+ "opname" : "OpVariableLengthArrayINTEL",
+ "class" : "@exclude",
+ "opcode" : 5818,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Lenght'" }
+ ],
+ "capabilities" : [ "VariableLengthArrayINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpSaveMemoryINTEL",
+ "class" : "@exclude",
+ "opcode" : 5819,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "VariableLengthArrayINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRestoreMemoryINTEL",
+ "class" : "@exclude",
+ "opcode" : 5820,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Ptr'" }
+ ],
+ "capabilities" : [ "VariableLengthArrayINTEL" ],
+ "version" : "None"
+ },
{
"opname" : "OpLoopControlINTEL",
"class" : "Reserved",
@@ -6722,6 +6795,30 @@
"extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
"version" : "None"
},
+ {
+ "opname" : "OpPtrCastToCrossWorkgroupINTEL",
+ "class" : "@exclude",
+ "opcode" : 5934,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Pointer'" }
+ ],
+ "capabilities" : [ "USMStorageClassesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCrossWorkgroupCastToPtrINTEL",
+ "class" : "@exclude",
+ "opcode" : 5938,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Pointer'" }
+ ],
+ "capabilities" : [ "USMStorageClassesINTEL" ],
+ "version" : "None"
+ },
{
"opname" : "OpReadPipeBlockingINTEL",
"class" : "Pipe",
@@ -7099,6 +7196,46 @@
"capabilities" : [ "AtomicFloat32AddEXT", "AtomicFloat64AddEXT" ],
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
"version" : "None"
+ },
+ {
+ "opname" : "OpTypeBufferSurfaceINTEL",
+ "class" : "Type-Declaration",
+ "opcode" : 6086,
+ "operands" : [
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTypeStructContinuedINTEL",
+ "class" : "Type-Declaration",
+ "opcode" : 6090,
+ "operands" : [
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
+ ],
+ "capabilities" : [ "LongConstantCompositeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpConstantCompositeContinuedINTEL",
+ "class" : "Constant-Creation",
+ "opcode" : 6091,
+ "operands" : [
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
+ ],
+ "capabilities" : [ "LongConstantCompositeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpSpecConstantCompositeContinuedINTEL",
+ "class" : "Constant-Creation",
+ "opcode" : 6092,
+ "operands" : [
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
+ ],
+ "capabilities" : [ "LongConstantCompositeINTEL" ],
+ "version" : "None"
}
],
"operand_kinds" : [
@@ -7279,6 +7416,18 @@
"enumerant" : "Fast",
"value" : "0x0010",
"capabilities" : [ "Kernel" ]
+ },
+ {
+ "enumerant" : "AllowContractFastINTEL",
+ "value" : "0x10000",
+ "capabilities" : [ "FPFastMathModeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "AllowReassocINTEL",
+ "value" : "0x20000",
+ "capabilities" : [ "FPFastMathModeINTEL" ],
+ "version" : "None"
}
]
},
@@ -7438,6 +7587,16 @@
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "NoFusionINTEL",
+ "value" : "0x800000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
}
]
},
@@ -8364,6 +8523,51 @@
"extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
},
+ {
+ "enumerant" : "SharedLocalMemorySizeINTEL",
+ "value" : 5618,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Size'" }
+ ],
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "RoundingModeRTPINTEL",
+ "value" : 5620,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" }
+ ],
+ "capabilities" : [ "RoundToInfinityINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "RoundingModeRTNINTEL",
+ "value" : 5621,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" }
+ ],
+ "capabilities" : [ "RoundToInfinityINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FloatingPointModeALTINTEL",
+ "value" : 5622,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" }
+ ],
+ "capabilities" : [ "RoundToInfinityINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FloatingPointModeIEEEINTEL",
+ "value" : 5623,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" }
+ ],
+ "capabilities" : [ "RoundToInfinityINTEL" ],
+ "version" : "None"
+ },
{
"enumerant" : "MaxWorkgroupSizeINTEL",
"value" : 5893,
@@ -8402,6 +8606,15 @@
"capabilities" : [ "FPGAKernelAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "SchedulerTargetFmaxMhzINTEL",
+ "value" : 5903,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'target_fmax'" }
+ ],
+ "capabilities" : [ "FPGAKernelAttributesINTEL" ],
+ "version" : "None"
}
]
},
@@ -8577,6 +8790,24 @@
"extensions" : [ "SPV_INTEL_function_pointers" ],
"capabilities" : [ "FunctionPointersINTEL" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "DeviceOnlyINTEL",
+ "value" : 5936,
+ "extensions" : [
+ "SPV_INTEL_usm_storage_classes"
+ ],
+ "capabilities" : [ "USMStorageClassesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "HostOnlyINTEL",
+ "value" : 5937,
+ "extensions" : [
+ "SPV_INTEL_usm_storage_classes"
+ ],
+ "capabilities" : [ "USMStorageClassesINTEL" ],
+ "version" : "None"
}
]
},
@@ -9101,6 +9332,42 @@
}
]
},
+ {
+ "category" : "ValueEnum",
+ "kind" : "FPDenormMode",
+ "enumerants" : [
+ {
+ "enumerant" : "Preserve",
+ "value" : 0,
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FlushToZero",
+ "value" : 1,
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "FPOperationMode",
+ "enumerants" : [
+ {
+ "enumerant" : "IEEE",
+ "value" : 0,
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ALT",
+ "value" : 1,
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ }
+ ]
+ },
{
"category" : "ValueEnum",
"kind" : "LinkageType",
@@ -9607,6 +9874,15 @@
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
"version" : "1.5"
},
+ {
+ "enumerant" : "SIMTCallINTEL",
+ "value" : 5599,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'N'" }
+ ],
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
{
"enumerant" : "ReferencedIndirectlyINTEL",
"value" : 5602,
@@ -9614,6 +9890,57 @@
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
+ {
+ "enumerant" : "ClobberINTEL",
+ "value" : 5607,
+ "parameters" : [
+ { "kind" : "LiteralString", "name" : "'Register'" }
+ ],
+ "capabilities" : [ "AsmINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "SideEffectsINTEL",
+ "value" : 5608,
+ "capabilities" : [ "AsmINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "VectorComputeVariableINTEL",
+ "value" : 5624,
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FuncParamIOKindINTEL",
+ "value" : 5625,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Kind'" }
+ ],
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "VectorComputeFunctionINTEL",
+ "value" : 5626,
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StackCallINTEL",
+ "value" : 5627,
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "GlobalVariableOffsetINTEL",
+ "value" : 5628,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Offset'" }
+ ],
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
{
"enumerant" : "CounterBuffer",
"value" : 5634,
@@ -9657,6 +9984,26 @@
"extensions" : [ "SPV_GOOGLE_user_type" ],
"version" : "None"
},
+ {
+ "enumerant" : "FunctionRoundingModeINTEL",
+ "value" : 5822,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" },
+ { "kind" : "FPRoundingMode", "name" : "'FP Rounding Mode'" }
+ ],
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FunctionDenormModeINTEL",
+ "value" : 5823,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" },
+ { "kind" : "FPDenormMode", "name" : "'FP Denorm Mode'" }
+ ],
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ },
{
"enumerant" : "RegisterINTEL",
"value" : 5825,
@@ -9765,6 +10112,88 @@
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "BurstCoalesceINTEL",
+ "value" : 5899,
+ "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CacheSizeINTEL",
+ "value" : 5900,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Cache Size in bytes'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "DontStaticallyCoalesceINTEL",
+ "value" : 5901,
+ "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PrefetchINTEL",
+ "value" : 5902,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Prefetcher Size in bytes'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StallEnableINTEL",
+ "value" : 5905,
+ "capabilities" : [ "FPGAClusterAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FuseLoopsInFunctionINTEL",
+ "value" : 5907,
+ "capabilities" : [ "LoopFuseINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "BufferLocationINTEL",
+ "value" : 5921,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Buffer Location ID'" }
+ ],
+ "capabilities" : [ "FPGABufferLocationINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "IOPipeStorageINTEL",
+ "value" : 5944,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'IO Pipe ID'" }
+ ],
+ "capabilities" : [ "IOPipesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FunctionFloatingPointModeINTEL",
+ "value" : 6080,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Target Width'" },
+ { "kind" : "FPOperationMode", "name" : "'FP Operation Mode'" }
+ ],
+ "capabilities" : [ "FunctionFloatControlINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "SingleElementVectorINTEL",
+ "value" : 6085,
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "VectorComputeCallableFunctionINTEL",
+ "value" : 6087,
+ "capabilities" : [ "VectorComputeINTEL" ],
+ "version" : "None"
}
]
},
@@ -10431,15 +10860,8 @@
{
"enumerant" : "HitTNV",
"value" : 5332,
- "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
- "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
- "version" : "None"
- },
- {
- "enumerant" : "HitTKHR",
- "value" : 5332,
- "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
- "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
+ "capabilities" : [ "RayTracingNV" ],
+ "extensions" : [ "SPV_NV_ray_tracing" ],
"version" : "None"
},
{
@@ -10988,6 +11410,27 @@
"extensions" : [ "SPV_KHR_shader_draw_parameters" ],
"version" : "1.3"
},
+ {
+ "enumerant" : "WorkgroupMemoryExplicitLayoutKHR",
+ "value" : 4428,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "WorkgroupMemoryExplicitLayout8BitAccessKHR",
+ "value" : 4429,
+ "capabilities" : [ "WorkgroupMemoryExplicitLayoutKHR" ],
+ "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "WorkgroupMemoryExplicitLayout16BitAccessKHR",
+ "value" : 4430,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
+ "version" : "None"
+ },
{
"enumerant" : "SubgroupVoteKHR",
"value" : 4431,
@@ -11582,6 +12025,18 @@
"extensions" : [ "SPV_INTEL_media_block_io" ],
"version" : "None"
},
+ {
+ "enumerant" : "RoundToInfinityINTEL",
+ "value" : 5582,
+ "extensions" : [ "SPV_INTEL_float_controls2" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FloatingPointModeINTEL",
+ "value" : 5583,
+ "extensions" : [ "SPV_INTEL_float_controls2" ],
+ "version" : "None"
+ },
{
"enumerant" : "IntegerFunctions2INTEL",
"value" : 5584,
@@ -11601,6 +12056,25 @@
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
+ {
+ "enumerant" : "AsmINTEL",
+ "value" : 5606,
+ "extensions" : [ "SPV_INTEL_inline_assembly" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "VectorComputeINTEL",
+ "value" : 5617,
+ "capabilities" : [ "VectorAnyINTEL" ],
+ "extensions" : [ "SPV_INTEL_vector_compute" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "VectorAnyINTEL",
+ "value" : 5619,
+ "extensions" : [ "SPV_INTEL_vector_compute" ],
+ "version" : "None"
+ },
{
"enumerant" : "SubgroupAvcMotionEstimationINTEL",
"value" : 5696,
@@ -11619,12 +12093,37 @@
"extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
"version" : "None"
},
+ {
+ "enumerant" : "VariableLengthArrayINTEL",
+ "value" : 5817,
+ "extensions" : [ "SPV_INTEL_variable_length_array" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FunctionFloatControlINTEL",
+ "value" : 5821,
+ "extensions" : [ "SPV_INTEL_float_controls2" ],
+ "version" : "None"
+ },
{
"enumerant" : "FPGAMemoryAttributesINTEL",
"value" : 5824,
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
+ {
+ "enumerant" : "FPFastMathModeINTEL",
+ "value" : 5837,
+ "capabilities" : [ "Kernel" ],
+ "extensions" : [ "SPV_INTEL_fp_fast_math_mode" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ArbitraryPrecisionIntegersINTEL",
+ "value" : 5844,
+ "extensions" : [ "SPV_INTEL_arbitrary_precision_integers" ],
+ "version" : "None"
+ },
{
"enumerant" : "UnstructuredLoopControlsINTEL",
"value" : 5886,
@@ -11649,6 +12148,42 @@
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
},
+ {
+ "enumerant" : "FPGAMemoryAccessesINTEL",
+ "value" : 5898,
+ "extensions" : [ "SPV_INTEL_fpga_memory_accesses" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGAClusterAttributesINTEL",
+ "value" : 5904,
+ "extensions" : [ "SPV_INTEL_fpga_cluster_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "LoopFuseINTEL",
+ "value" : 5906,
+ "extensions" : [ "SPV_INTEL_loop_fuse" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGABufferLocationINTEL",
+ "value" : 5920,
+ "extensions" : [ "SPV_INTEL_fpga_buffer_location" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "USMStorageClassesINTEL",
+ "value" : 5935,
+ "extensions" : [ "SPV_INTEL_usm_storage_classes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "IOPipesINTEL",
+ "value" : 5943,
+ "extensions" : [ "SPV_INTEL_io_pipes" ],
+ "version" : "None"
+ },
{
"enumerant" : "BlockingPipesINTEL",
"value" : 5945,
@@ -11674,6 +12209,12 @@
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "LongConstantCompositeINTEL",
+ "value" : 6089,
+ "extensions" : [ "SPV_INTEL_long_constant_composite" ],
+ "version" : "None"
}
]
},
diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
index fae2a10e93c..41a650bf8fc 100644
--- a/src/compiler/spirv/spirv.h
+++ b/src/compiler/spirv/spirv.h
@@ -172,10 +172,16 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+ SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
+ SpvExecutionModeRoundingModeRTPINTEL = 5620,
+ SpvExecutionModeRoundingModeRTNINTEL = 5621,
+ SpvExecutionModeFloatingPointModeALTINTEL = 5622,
+ SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
SpvExecutionModeMaxWorkDimINTEL = 5894,
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
+ SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
@@ -208,6 +214,8 @@ typedef enum SpvStorageClass_ {
SpvStorageClassPhysicalStorageBuffer = 5349,
SpvStorageClassPhysicalStorageBufferEXT = 5349,
SpvStorageClassCodeSectionINTEL = 5605,
+ SpvStorageClassDeviceOnlyINTEL = 5936,
+ SpvStorageClassHostOnlyINTEL = 5937,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
@@ -378,6 +386,8 @@ typedef enum SpvFPFastMathModeShift_ {
SpvFPFastMathModeNSZShift = 2,
SpvFPFastMathModeAllowRecipShift = 3,
SpvFPFastMathModeFastShift = 4,
+ SpvFPFastMathModeAllowContractFastINTELShift = 16,
+ SpvFPFastMathModeAllowReassocINTELShift = 17,
SpvFPFastMathModeMax = 0x7fffffff,
} SpvFPFastMathModeShift;
@@ -388,6 +398,8 @@ typedef enum SpvFPFastMathModeMask_ {
SpvFPFastMathModeNSZMask = 0x00000004,
SpvFPFastMathModeAllowRecipMask = 0x00000008,
SpvFPFastMathModeFastMask = 0x00000010,
+ SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
+ SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
} SpvFPFastMathModeMask;
typedef enum SpvFPRoundingMode_ {
@@ -488,12 +500,22 @@ typedef enum SpvDecoration_ {
SpvDecorationRestrictPointerEXT = 5355,
SpvDecorationAliasedPointer = 5356,
SpvDecorationAliasedPointerEXT = 5356,
+ SpvDecorationSIMTCallINTEL = 5599,
SpvDecorationReferencedIndirectlyINTEL = 5602,
+ SpvDecorationClobberINTEL = 5607,
+ SpvDecorationSideEffectsINTEL = 5608,
+ SpvDecorationVectorComputeVariableINTEL = 5624,
+ SpvDecorationFuncParamIOKindINTEL = 5625,
+ SpvDecorationVectorComputeFunctionINTEL = 5626,
+ SpvDecorationStackCallINTEL = 5627,
+ SpvDecorationGlobalVariableOffsetINTEL = 5628,
SpvDecorationCounterBuffer = 5634,
SpvDecorationHlslCounterBufferGOOGLE = 5634,
SpvDecorationHlslSemanticGOOGLE = 5635,
SpvDecorationUserSemantic = 5635,
SpvDecorationUserTypeGOOGLE = 5636,
+ SpvDecorationFunctionRoundingModeINTEL = 5822,
+ SpvDecorationFunctionDenormModeINTEL = 5823,
SpvDecorationRegisterINTEL = 5825,
SpvDecorationMemoryINTEL = 5826,
SpvDecorationNumbanksINTEL = 5827,
@@ -506,6 +528,17 @@ typedef enum SpvDecoration_ {
SpvDecorationMergeINTEL = 5834,
SpvDecorationBankBitsINTEL = 5835,
SpvDecorationForcePow2DepthINTEL = 5836,
+ SpvDecorationBurstCoalesceINTEL = 5899,
+ SpvDecorationCacheSizeINTEL = 5900,
+ SpvDecorationDontStaticallyCoalesceINTEL = 5901,
+ SpvDecorationPrefetchINTEL = 5902,
+ SpvDecorationStallEnableINTEL = 5905,
+ SpvDecorationFuseLoopsInFunctionINTEL = 5907,
+ SpvDecorationBufferLocationINTEL = 5921,
+ SpvDecorationIOPipeStorageINTEL = 5944,
+ SpvDecorationFunctionFloatingPointModeINTEL = 6080,
+ SpvDecorationSingleElementVectorINTEL = 6085,
+ SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
@@ -618,7 +651,6 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInObjectToWorldNV = 5330,
SpvBuiltInWorldToObjectKHR = 5331,
SpvBuiltInWorldToObjectNV = 5331,
- SpvBuiltInHitTKHR = 5332,
SpvBuiltInHitTNV = 5332,
SpvBuiltInHitKindKHR = 5333,
SpvBuiltInHitKindNV = 5333,
@@ -661,6 +693,7 @@ typedef enum SpvLoopControlShift_ {
SpvLoopControlLoopCoalesceINTELShift = 20,
SpvLoopControlMaxInterleavingINTELShift = 21,
SpvLoopControlSpeculatedIterationsINTELShift = 22,
+ SpvLoopControlNoFusionINTELShift = 23,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
@@ -682,6 +715,7 @@ typedef enum SpvLoopControlMask_ {
SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
+ SpvLoopControlNoFusionINTELMask = 0x00800000,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
@@ -881,6 +915,9 @@ typedef enum SpvCapability_ {
SpvCapabilityFragmentShadingRateKHR = 4422,
SpvCapabilitySubgroupBallotKHR = 4423,
SpvCapabilityDrawParameters = 4427,
+ SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
+ SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
+ SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
SpvCapabilitySubgroupVoteKHR = 4431,
SpvCapabilityStorageBuffer16BitAccess = 4433,
SpvCapabilityStorageUniformBufferBlock16 = 4433,
@@ -971,21 +1008,37 @@ typedef enum SpvCapability_ {
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
+ SpvCapabilityRoundToInfinityINTEL = 5582,
+ SpvCapabilityFloatingPointModeINTEL = 5583,
SpvCapabilityIntegerFunctions2INTEL = 5584,
SpvCapabilityFunctionPointersINTEL = 5603,
SpvCapabilityIndirectReferencesINTEL = 5604,
+ SpvCapabilityAsmINTEL = 5606,
+ SpvCapabilityVectorComputeINTEL = 5617,
+ SpvCapabilityVectorAnyINTEL = 5619,
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+ SpvCapabilityVariableLengthArrayINTEL = 5817,
+ SpvCapabilityFunctionFloatControlINTEL = 5821,
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
+ SpvCapabilityFPFastMathModeINTEL = 5837,
+ SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
SpvCapabilityFPGALoopControlsINTEL = 5888,
SpvCapabilityKernelAttributesINTEL = 5892,
SpvCapabilityFPGAKernelAttributesINTEL = 5897,
+ SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
+ SpvCapabilityFPGAClusterAttributesINTEL = 5904,
+ SpvCapabilityLoopFuseINTEL = 5906,
+ SpvCapabilityFPGABufferLocationINTEL = 5920,
+ SpvCapabilityUSMStorageClassesINTEL = 5935,
+ SpvCapabilityIOPipesINTEL = 5943,
SpvCapabilityBlockingPipesINTEL = 5945,
SpvCapabilityFPGARegINTEL = 5948,
SpvCapabilityAtomicFloat32AddEXT = 6033,
SpvCapabilityAtomicFloat64AddEXT = 6034,
+ SpvCapabilityLongConstantCompositeINTEL = 6089,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1052,6 +1105,18 @@ typedef enum SpvFragmentShadingRateMask_ {
SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
} SpvFragmentShadingRateMask;
+typedef enum SpvFPDenormMode_ {
+ SpvFPDenormModePreserve = 0,
+ SpvFPDenormModeFlushToZero = 1,
+ SpvFPDenormModeMax = 0x7fffffff,
+} SpvFPDenormMode;
+
+typedef enum SpvFPOperationMode_ {
+ SpvFPOperationModeIEEE = 0,
+ SpvFPOperationModeALT = 1,
+ SpvFPOperationModeMax = 0x7fffffff,
+} SpvFPOperationMode;
+
typedef enum SpvOp_ {
SpvOpNop = 0,
SpvOpUndef = 1,
@@ -1471,8 +1536,11 @@ typedef enum SpvOp_ {
SpvOpUSubSatINTEL = 5596,
SpvOpIMul32x16INTEL = 5597,
SpvOpUMul32x16INTEL = 5598,
- SpvOpFunctionPointerINTEL = 5600,
+ SpvOpConstFunctionPointerINTEL = 5600,
SpvOpFunctionPointerCallINTEL = 5601,
+ SpvOpAsmTargetINTEL = 5609,
+ SpvOpAsmINTEL = 5610,
+ SpvOpAsmCallINTEL = 5611,
SpvOpDecorateString = 5632,
SpvOpDecorateStringGOOGLE = 5632,
SpvOpMemberDecorateString = 5633,
@@ -1595,7 +1663,12 @@ typedef enum SpvOp_ {
SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ SpvOpVariableLengthArrayINTEL = 5818,
+ SpvOpSaveMemoryINTEL = 5819,
+ SpvOpRestoreMemoryINTEL = 5820,
SpvOpLoopControlINTEL = 5887,
+ SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
+ SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
SpvOpReadPipeBlockingINTEL = 5946,
SpvOpWritePipeBlockingINTEL = 5947,
SpvOpFPGARegINTEL = 5949,
@@ -1617,6 +1690,10 @@ typedef enum SpvOp_ {
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
SpvOpAtomicFAddEXT = 6035,
+ SpvOpTypeBufferSurfaceINTEL = 6086,
+ SpvOpTypeStructContinuedINTEL = 6090,
+ SpvOpConstantCompositeContinuedINTEL = 6091,
+ SpvOpSpecConstantCompositeContinuedINTEL = 6092,
SpvOpMax = 0x7fffffff,
} SpvOp;
@@ -2041,8 +2118,11 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpAsmCallINTEL: *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;
@@ -2163,7 +2243,12 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2185,6 +2270,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
+ case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
More information about the mesa-commit
mailing list