Updated spirv-headers.
This commit is contained in:
parent
07583ddba2
commit
7cf5eb0eba
80
3rdparty/spirv-headers/include/spirv/spir-v.xml
vendored
80
3rdparty/spirv-headers/include/spirv/spir-v.xml
vendored
@ -23,10 +23,11 @@
|
||||
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
-->
|
||||
<!--
|
||||
This file, spir-v.xml, is the SPIR-V Tool ID and Opcode registry. The
|
||||
canonical version of the registry, together with related schema and
|
||||
This file, spir-v.xml, is the SPIR-V Tool ID, opcode and enumerant registry.
|
||||
The canonical version of the registry, together with related schema and
|
||||
documentation, can be found in the Khronos Registry at
|
||||
http://www.khronos.org/registry/spir-v/
|
||||
include/spirv/spir-v.xml in the master branch at
|
||||
https://github.com/KhronosGroup/SPIRV-Headers
|
||||
-->
|
||||
|
||||
<!-- SECTION: SPIR-V Tool ID Definitions -->
|
||||
@ -77,28 +78,37 @@
|
||||
</ids>
|
||||
|
||||
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
|
||||
<!-- Reserve new ranges for vendors in contiguous blocks of 64
|
||||
preceding the "Future use" block below, and modify that block
|
||||
accordingly.
|
||||
|
||||
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
|
||||
<!-- Vendors reserve new ranges of:
|
||||
- opcode enumerants in the "opcode" list below, and
|
||||
- non-opcode enumerants in the non-opcodes "enumerant" list below.
|
||||
Both are reserved by contiguous blocks of 64, preceding the given
|
||||
"Future use" blocks.
|
||||
|
||||
SPIR-V background:
|
||||
- SPIR-V currently has well over 30 enums, including the opcode enum
|
||||
- each enum has its own name space, allowing reuse of enumerants
|
||||
- SPIR-V restricts opcode enumerants to 16 bits
|
||||
- all other enums use 32-bit enumerants
|
||||
|
||||
Reservation rules:
|
||||
- opcode reservations ("opcode") are only valid for opcodes
|
||||
- non-opcode reservations ("enumerant") are not valid for opcodes
|
||||
- reservations in the enumerant list are valid for all non-opcode enums
|
||||
- it is simpler to use each non-opcode enumerant for only one purpose
|
||||
but this is left to the discretion of the vendor
|
||||
- all enumerants in a range should be used before allocating a new range
|
||||
(several extensions can use enumerants from the same range)
|
||||
|
||||
Each vendor determines the use of enumerants in the ranges they
|
||||
reserve. Vendors are not required to disclose those uses. If the use
|
||||
of an enumerant is included in an extension that is adopted by a Khronos
|
||||
extension or specification, then that enumerant'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.
|
||||
For example, to avoid unused gaps in ranges, it is customary for
|
||||
several extensions to use values from the same range.
|
||||
|
||||
The Id type "enum" is a synonym for "opcode".
|
||||
|
||||
Note that SPIR-V restricts opcode values to 16 bits.
|
||||
-->
|
||||
|
||||
<!-- Reserved opcode & enumerant blocks -->
|
||||
<!-- Begin reservations of opcode enumerants -->
|
||||
<ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
|
||||
<ids type="opcode" start="4160" end="4415" vendor="ARM"/>
|
||||
@ -113,15 +123,39 @@
|
||||
<ids type="opcode" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="opcode" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
|
||||
<ids type="opcode" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
|
||||
<!-- Opcodes & enumerants reservable for future use. To get a block, allocate
|
||||
<!-- Opcode enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
|
||||
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
<ids type="opcode" start="6080" end="65535" comment="Opcode range reservable for future use by vendors"/>
|
||||
<!-- End reservations of opcodes -->
|
||||
|
||||
<ids type="opcode" start="6080" end="4294967295" comment="Opcode range reservable for future use by vendors"/>
|
||||
|
||||
<!-- Begin reservations of non-opcode enumerants -->
|
||||
<ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
|
||||
<ids type="enumerant" start="4160" end="4415" vendor="ARM"/>
|
||||
<ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
|
||||
<ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<ids type="enumerant" start="4992" end="5247" vendor="AMD"/>
|
||||
<ids type="enumerant" start="5248" end="5503" vendor="NVIDIA"/>
|
||||
<ids type="enumerant" start="5504" end="5567" vendor="Imagination"/>
|
||||
<ids type="enumerant" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="enumerant" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
|
||||
<ids type="enumerant" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="enumerant" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="enumerant" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
|
||||
<ids type="enumerant" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
|
||||
<!-- Enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
<ids type="enumerant" start="6080" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
|
||||
<!-- End reservations of enumerants -->
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V Loop Control Bit Reservations -->
|
||||
|
73
3rdparty/spirv-headers/include/spirv/unified1/NonSemanticClspvReflection.h
vendored
Normal file
73
3rdparty/spirv-headers/include/spirv/unified1/NonSemanticClspvReflection.h
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
// Copyright (c) 2020 The Khronos Group Inc.
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
|
||||
#ifndef SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
|
||||
#define SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
NonSemanticClspvReflectionRevision = 1,
|
||||
NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticClspvReflectionInstructions {
|
||||
NonSemanticClspvReflectionKernel = 1,
|
||||
NonSemanticClspvReflectionArgumentInfo = 2,
|
||||
NonSemanticClspvReflectionArgumentStorageBuffer = 3,
|
||||
NonSemanticClspvReflectionArgumentUniform = 4,
|
||||
NonSemanticClspvReflectionArgumentPodStorageBuffer = 5,
|
||||
NonSemanticClspvReflectionArgumentPodUniform = 6,
|
||||
NonSemanticClspvReflectionArgumentPodPushConstant = 7,
|
||||
NonSemanticClspvReflectionArgumentSampledImage = 8,
|
||||
NonSemanticClspvReflectionArgumentStorageImage = 9,
|
||||
NonSemanticClspvReflectionArgumentSampler = 10,
|
||||
NonSemanticClspvReflectionArgumentWorkgroup = 11,
|
||||
NonSemanticClspvReflectionSpecConstantWorkgroupSize = 12,
|
||||
NonSemanticClspvReflectionSpecConstantGlobalOffset = 13,
|
||||
NonSemanticClspvReflectionSpecConstantWorkDim = 14,
|
||||
NonSemanticClspvReflectionPushConstantGlobalOffset = 15,
|
||||
NonSemanticClspvReflectionPushConstantEnqueuedLocalSize = 16,
|
||||
NonSemanticClspvReflectionPushConstantGlobalSize = 17,
|
||||
NonSemanticClspvReflectionPushConstantRegionOffset = 18,
|
||||
NonSemanticClspvReflectionPushConstantNumWorkgroups = 19,
|
||||
NonSemanticClspvReflectionPushConstantRegionGroupOffset = 20,
|
||||
NonSemanticClspvReflectionConstantDataStorageBuffer = 21,
|
||||
NonSemanticClspvReflectionConstantDataUniform = 22,
|
||||
NonSemanticClspvReflectionLiteralSampler = 23,
|
||||
NonSemanticClspvReflectionPropertyRequiredWorkgroupSize = 24,
|
||||
NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
|
237
3rdparty/spirv-headers/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
vendored
Normal file
237
3rdparty/spirv-headers/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
vendored
Normal file
@ -0,0 +1,237 @@
|
||||
{
|
||||
"revision" : 1,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Kernel",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Name" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentInfo",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Name" },
|
||||
{ "kind" : "IdRef", "name" : "Type Name", "quantifier" : "?" },
|
||||
{ "kind" : "IdRef", "name" : "Address Qualifier", "quantifier" : "?" },
|
||||
{ "kind" : "IdRef", "name" : "Access Qualifier", "quantifier" : "?" },
|
||||
{ "kind" : "IdRef", "name" : "Type Qualifier", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentStorageBuffer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentUniform",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPodStorageBuffer",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPodUniform",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPodPushConstant",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentSampledImage",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentStorageImage",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentSampler",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentWorkgroup",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "SpecId" },
|
||||
{ "kind" : "IdRef", "name" : "ElemSize" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantWorkgroupSize",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "X" },
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantGlobalOffset",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "X" },
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantWorkDim",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Dim" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantGlobalOffset",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantEnqueuedLocalSize",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantGlobalSize",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantRegionOffset",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantNumWorkgroups",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantRegionGroupOffset",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ConstantDataStorageBuffer",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Data" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ConstantDataUniform",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Data" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "LiteralSampler",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Mask" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PropertyRequiredWorkgroupSize",
|
||||
"opcode" : 24,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "X" },
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user