Commit deae0116 by Alexis Hétu

Merge changes Icf7b69da,I2c88ee38

* changes: Update SPIR-V Headers to 979924c8b Squashed 'third_party/SPIRV-Headers/' changes from f8bf11a02..979924c8b
parents f0946aa3 29427935
......@@ -23,15 +23,28 @@ When a new version or revision of the SPIR-V specification is published,
the SPIR-V Working Group will push new commits onto master, updating
the files under [include](include).
The SPIR-V XML registry file is updated by Khronos whenever a new enum range is allocated.
[The SPIR-V XML registry file](include/spirv/spir-v.xml)
is updated by Khronos whenever a new enum range is allocated.
Pull requests can be made to
- request allocation of new enum ranges in the XML registry file
- register a new magic number for a SPIR-V generator
- reserve specific tokens in the JSON grammar
### Registering a SPIR-V Generator Magic Number
Tools that generate SPIR-V should use a magic number in the SPIR-V to help identify the
generator.
Care should be taken to follow existing precedent in populating the details of reserved tokens.
This includes:
- keeping generator numbers in numeric order
- filling out all the existing fields
### Reserving tokens in the JSON grammar
Care should be taken to follow existing precedent in populating the details of reserved tokens. This includes:
Care should be taken to follow existing precedent in populating the details of reserved tokens.
This includes:
- pointing to what extension has more information, when possible
- keeping enumerants in numeric order
- when there are aliases, listing the preferred spelling first
......
......@@ -2,8 +2,3 @@ add_library(SPIRV-Headers-example
${CMAKE_CURRENT_SOURCE_DIR}/example.cpp)
target_include_directories(SPIRV-Headers-example
PRIVATE ${SPIRV-Headers_SOURCE_DIR}/include)
add_library(SPIRV-Headers-example-1.1
${CMAKE_CURRENT_SOURCE_DIR}/example-1.1.cpp)
target_include_directories(SPIRV-Headers-example-1.1
PRIVATE ${SPIRV-Headers_SOURCE_DIR}/include)
// Copyright (c) 2016 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.
// Use the SPIR-V 1.1 core instruction set, but with 1.0 versions
// of the GLSL and OpenCL extended instruction sets.
#include <spirv/1.0/GLSL.std.450.h>
#include <spirv/1.0/OpenCL.std.h>
#include <spirv/1.1/spirv.hpp>
namespace {
const GLSLstd450 kSin = GLSLstd450Sin;
const OpenCLLIB::Entrypoints kNative_cos = OpenCLLIB::Native_cos;
const spv::Op kNop = spv::OpNop;
// This instruction is new in SPIR-V 1.1.
const spv::Op kNamedBarrierInit = spv::OpNamedBarrierInitialize;
} // anonymous namespace
......@@ -24,9 +24,9 @@
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
#include <spirv/1.0/GLSL.std.450.h>
#include <spirv/1.0/OpenCL.std.h>
#include <spirv/1.0/spirv.hpp>
#include <spirv/unified1/GLSL.std.450.h>
#include <spirv/unified1/OpenCL.std.h>
#include <spirv/unified1/spirv.hpp>
namespace {
......
......@@ -72,7 +72,8 @@
<id value="20" vendor="W3C WebGPU Group" tool="WHLSL Shader Translator" comment="https://github.com/gpuweb/WHLSL"/>
<id value="21" vendor="Google" tool="Clspv" comment="Contact David Neto, dneto@google.com"/>
<id value="22" vendor="Google" tool="MLIR SPIR-V Serializer" comment="Contact Lei Zhang, antiagainst@google.com"/>
<unused start="23" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
<id value="23" vendor="Google" tool="Tint Compiler" comment="Contact David Neto, dneto@google.com"/>
<unused start="24" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
......@@ -143,4 +144,22 @@
<ids type="LoopControl" start="23" 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"/>
<!-- 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.
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 FP fast math mode bits -->
<ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
</registry>
......@@ -27,7 +27,7 @@
"magic_number" : "0x07230203",
"major_version" : 1,
"minor_version" : 5,
"revision" : 1,
"revision" : 3,
"instruction_printing_class" : [
{
"tag" : "@exclude"
......@@ -4102,6 +4102,16 @@
"version" : "1.4"
},
{
"opname" : "OpTerminateInvocation",
"class" : "Control-Flow",
"opcode" : 4416,
"extensions" : [
"SPV_KHR_terminate_invocation"
],
"capabilities" : [ "Shader" ],
"version" : "None"
},
{
"opname" : "OpSubgroupBallotKHR",
"class" : "Group",
"opcode" : 4421,
......@@ -4187,6 +4197,142 @@
"version" : "None"
},
{
"opname" : "OpTypeRayQueryProvisionalKHR",
"class" : "Reserved",
"opcode" : 4472,
"operands" : [
{ "kind" : "IdResult" }
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryInitializeKHR",
"class" : "Reserved",
"opcode" : 4473,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Accel'"
},
{
"kind" : "IdRef",
"name" : "'RayFlags'"
},
{
"kind" : "IdRef",
"name" : "'CullMask'"
},
{
"kind" : "IdRef",
"name" : "'RayOrigin'"
},
{
"kind" : "IdRef",
"name" : "'RayTMin'"
},
{
"kind" : "IdRef",
"name" : "'RayDirection'"
},
{
"kind" : "IdRef",
"name" : "'RayTMax'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryTerminateKHR",
"class" : "Reserved",
"opcode" : 4474,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGenerateIntersectionKHR",
"class" : "Reserved",
"opcode" : 4475,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'HitT'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryConfirmIntersectionKHR",
"class" : "Reserved",
"opcode" : 4476,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryProceedKHR",
"class" : "Reserved",
"opcode" : 4477,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionTypeKHR",
"class" : "Reserved",
"opcode" : 4479,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpGroupIAddNonUniformAMD",
"class" : "Group",
"opcode" : 5000,
......@@ -4517,502 +4663,45 @@
"version" : "None"
},
{
"opname" : "OpTypeRayQueryProvisionalKHR",
"class" : "Reserved",
"opcode" : 4472,
"operands" : [
{ "kind" : "IdResult" }
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryInitializeKHR",
"class" : "Reserved",
"opcode" : 4473,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Accel'"
},
{
"kind" : "IdRef",
"name" : "'RayFlags'"
},
{
"kind" : "IdRef",
"name" : "'CullMask'"
},
{
"kind" : "IdRef",
"name" : "'RayOrigin'"
},
{
"kind" : "IdRef",
"name" : "'RayTMin'"
},
{
"kind" : "IdRef",
"name" : "'RayDirection'"
},
{
"kind" : "IdRef",
"name" : "'RayTMax'"
}
"opname" : "OpExecuteCallableNV",
"class" : "Reserved",
"opcode" : 5344,
"operands" : [
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
{ "kind" : "IdRef", "name" : "'SBT Index'" },
{ "kind" : "IdRef", "name" : "'Callable DataId'" }
],
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
"version" : "None"
},
{
"opname" : "OpRayQueryTerminateKHR",
"class" : "Reserved",
"opcode" : 4474,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
"opname" : "OpExecuteCallableKHR",
"class" : "Reserved",
"opcode" : 5344,
"operands" : [
{ "kind" : "IdRef", "name" : "'SBT Index'" },
{ "kind" : "IdRef", "name" : "'Callable DataId'" }
],
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGenerateIntersectionKHR",
"class" : "Reserved",
"opcode" : 4475,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'HitT'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryConfirmIntersectionKHR",
"class" : "Reserved",
"opcode" : 4476,
"operands" : [
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryProceedKHR",
"class" : "Reserved",
"opcode" : 4477,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionTypeKHR",
"class" : "Reserved",
"opcode" : 4479,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetRayTMinKHR",
"class" : "Reserved",
"opcode" : 6016,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetRayFlagsKHR",
"class" : "Reserved",
"opcode" : 6017,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionTKHR",
"class" : "Reserved",
"opcode" : 6018,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
"class" : "Reserved",
"opcode" : 6019,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
"class" : "Reserved",
"opcode" : 6020,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
"class" : "Reserved",
"opcode" : 6021,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
"class" : "Reserved",
"opcode" : 6022,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
"class" : "Reserved",
"opcode" : 6023,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
"class" : "Reserved",
"opcode" : 6024,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
"class" : "Reserved",
"opcode" : 6025,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
"class" : "Reserved",
"opcode" : 6026,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
"class" : "Reserved",
"opcode" : 6027,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
"class" : "Reserved",
"opcode" : 6028,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetWorldRayDirectionKHR",
"class" : "Reserved",
"opcode" : 6029,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetWorldRayOriginKHR",
"class" : "Reserved",
"opcode" : 6030,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
"class" : "Reserved",
"opcode" : 6031,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
"class" : "Reserved",
"opcode" : 6032,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpExecuteCallableNV",
"class" : "Reserved",
"opcode" : 5344,
"operands" : [
{ "kind" : "IdRef", "name" : "'SBT Index'" },
{ "kind" : "IdRef", "name" : "'Callable DataId'" }
],
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
"version" : "None"
},
{
"opname" : "OpExecuteCallableKHR",
"class" : "Reserved",
"opcode" : 5344,
"operands" : [
{ "kind" : "IdRef", "name" : "'SBT Index'" },
{ "kind" : "IdRef", "name" : "'Callable DataId'" }
],
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
"version" : "None"
},
{
"opname" : "OpTypeCooperativeMatrixNV",
"class" : "Reserved",
"opcode" : 5358,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Component Type'" },
{ "kind" : "IdScope", "name" : "'Execution'" },
{ "kind" : "IdRef", "name" : "'Rows'" },
{ "kind" : "IdRef", "name" : "'Columns'" }
],
"capabilities" : [ "CooperativeMatrixNV" ],
"extensions" : [ "SPV_NV_cooperative_matrix" ],
"version" : "None"
"opname" : "OpTypeCooperativeMatrixNV",
"class" : "Reserved",
"opcode" : 5358,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Component Type'" },
{ "kind" : "IdScope", "name" : "'Execution'" },
{ "kind" : "IdRef", "name" : "'Rows'" },
{ "kind" : "IdRef", "name" : "'Columns'" }
],
"capabilities" : [ "CooperativeMatrixNV" ],
"extensions" : [ "SPV_NV_cooperative_matrix" ],
"version" : "None"
},
{
"opname" : "OpCooperativeMatrixLoadNV",
......@@ -5421,6 +5110,32 @@
"version" : "None"
},
{
"opname" : "OpFunctionPointerINTEL",
"class" : "@exclude",
"opcode" : 5600,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Function'" }
],
"capabilities" : [ "FunctionPointersINTEL" ],
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
{
"opname" : "OpFunctionPointerCallINTEL",
"class" : "@exclude",
"opcode" : 5601,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1'" }
],
"capabilities" : [ "FunctionPointersINTEL" ],
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
{
"opname" : "OpDecorateString",
"class" : "Annotation",
"opcode" : 5632,
......@@ -6539,7 +6254,237 @@
{
"opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
"class" : "@exclude",
"opcode" : 5784,
"opcode" : 5784,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
"class" : "@exclude",
"opcode" : 5785,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
"class" : "@exclude",
"opcode" : 5786,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
"class" : "@exclude",
"opcode" : 5787,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
"class" : "@exclude",
"opcode" : 5788,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
"class" : "@exclude",
"opcode" : 5789,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
"class" : "@exclude",
"opcode" : 5790,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicInitializeINTEL",
"class" : "@exclude",
"opcode" : 5791,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Coord'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
"class" : "@exclude",
"opcode" : 5792,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
{ "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
{ "kind" : "IdRef", "name" : "'Motion Vectors'" },
{ "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
{ "kind" : "IdRef", "name" : "'Sad Adjustment'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
"class" : "@exclude",
"opcode" : 5793,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
{ "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
{ "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
{ "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Sad Adjustment'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
"class" : "@exclude",
"opcode" : 5794,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
{ "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
{ "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
{ "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
{ "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
{ "kind" : "IdRef", "name" : "'Sad Adjustment'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
"class" : "@exclude",
"opcode" : 5795,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
{ "kind" : "IdRef", "name" : "'Direction'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
"class" : "@exclude",
"opcode" : 5796,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
"class" : "@exclude",
"opcode" : 5797,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
"class" : "@exclude",
"opcode" : 5798,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
{ "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
{ "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
"class" : "@exclude",
"opcode" : 5799,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
"class" : "@exclude",
"opcode" : 5800,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
......@@ -6549,227 +6494,202 @@
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
"opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
"class" : "@exclude",
"opcode" : 5785,
"opcode" : 5801,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
"opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
"class" : "@exclude",
"opcode" : 5786,
"opcode" : 5802,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Ref Image'" },
{ "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
"opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
"class" : "@exclude",
"opcode" : 5787,
"opcode" : 5803,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
"opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
"class" : "@exclude",
"opcode" : 5788,
"opcode" : 5804,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
"opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
"class" : "@exclude",
"opcode" : 5789,
"opcode" : 5805,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
{ "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
"opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
"class" : "@exclude",
"opcode" : 5790,
"opcode" : 5806,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicInitializeINTEL",
"opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
"class" : "@exclude",
"opcode" : 5791,
"opcode" : 5807,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Coord'" }
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
"opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
"class" : "@exclude",
"opcode" : 5792,
"opcode" : 5808,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
{ "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
{ "kind" : "IdRef", "name" : "'Motion Vectors'" },
{ "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
{ "kind" : "IdRef", "name" : "'Sad Adjustment'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
"opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
"class" : "@exclude",
"opcode" : 5793,
"opcode" : 5809,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
{ "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
{ "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
{ "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Sad Adjustment'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
"opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
"class" : "@exclude",
"opcode" : 5794,
"opcode" : 5810,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
{ "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
{ "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
{ "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
{ "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
{ "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
{ "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
{ "kind" : "IdRef", "name" : "'Sad Adjustment'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
"opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
"class" : "@exclude",
"opcode" : 5795,
"opcode" : 5811,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
{ "kind" : "IdRef", "name" : "'Direction'" }
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
"opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
"class" : "@exclude",
"opcode" : 5796,
"opcode" : 5812,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
"opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
"class" : "@exclude",
"opcode" : 5797,
"opcode" : 5813,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
"opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
"class" : "@exclude",
"opcode" : 5798,
"opcode" : 5814,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
{ "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
{ "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
"opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
"class" : "@exclude",
"opcode" : 5799,
"opcode" : 5815,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
"opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
"class" : "@exclude",
"opcode" : 5800,
"opcode" : 5816,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
......@@ -6779,208 +6699,392 @@
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
"class" : "@exclude",
"opcode" : 5801,
"opname" : "OpLoopControlINTEL",
"class" : "Reserved",
"opcode" : 5887,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Loop Control Parameters'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "UnstructuredLoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
"class" : "@exclude",
"opcode" : 5802,
"opname" : "OpReadPipeBlockingINTEL",
"class" : "Pipe",
"opcode" : 5946,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "BlockingPipesINTEL" ],
"extensions" : [ "SPV_INTEL_blocking_pipes" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
"class" : "@exclude",
"opcode" : 5803,
"opname" : "OpWritePipeBlockingINTEL",
"class" : "Pipe",
"opcode" : 5947,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"capabilities" : [ "BlockingPipesINTEL" ],
"extensions" : [ "SPV_INTEL_blocking_pipes" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
"class" : "@exclude",
"opcode" : 5804,
"opname" : "OpFPGARegINTEL",
"class" : "Reserved",
"opcode" : 5949,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
{ "kind" : "IdRef", "name" : "'Result'" },
{ "kind" : "IdRef", "name" : "'Input'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "FPGARegINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_reg" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
"class" : "@exclude",
"opcode" : 5805,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetRayTMinKHR",
"class" : "Reserved",
"opcode" : 6016,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetRayFlagsKHR",
"class" : "Reserved",
"opcode" : 6017,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionTKHR",
"class" : "Reserved",
"opcode" : 6018,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
"class" : "Reserved",
"opcode" : 6019,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
"class" : "Reserved",
"opcode" : 6020,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
"class" : "Reserved",
"opcode" : 6021,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
"class" : "Reserved",
"opcode" : 6022,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
"class" : "@exclude",
"opcode" : 5806,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
"class" : "Reserved",
"opcode" : 6023,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
"class" : "@exclude",
"opcode" : 5807,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Src Image'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
{ "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
"class" : "Reserved",
"opcode" : 6024,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
"class" : "@exclude",
"opcode" : 5808,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
"class" : "Reserved",
"opcode" : 6025,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
"class" : "@exclude",
"opcode" : 5809,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
"class" : "Reserved",
"opcode" : 6026,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
"class" : "@exclude",
"opcode" : 5810,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
"class" : "Reserved",
"opcode" : 6027,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
"class" : "@exclude",
"opcode" : 5811,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
"class" : "Reserved",
"opcode" : 6028,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
"class" : "@exclude",
"opcode" : 5812,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetWorldRayDirectionKHR",
"class" : "Reserved",
"opcode" : 6029,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
"class" : "@exclude",
"opcode" : 5813,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetWorldRayOriginKHR",
"class" : "Reserved",
"opcode" : 6030,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
"class" : "@exclude",
"opcode" : 5814,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
"class" : "Reserved",
"opcode" : 6031,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
"class" : "@exclude",
"opcode" : 5815,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
"version" : "None"
"opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
"class" : "Reserved",
"opcode" : 6032,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{
"kind" : "IdRef",
"name" : "'RayQuery'"
},
{
"kind" : "IdRef",
"name" : "'Intersection'"
}
],
"capabilities" : [ "RayQueryProvisionalKHR" ],
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
"class" : "@exclude",
"opcode" : 5816,
"opname" : "OpAtomicFAddEXT",
"class" : "Atomic",
"opcode" : 6035,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Payload'" }
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"capabilities" : [ "AtomicFloat32AddEXT", "AtomicFloat64AddEXT" ],
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
"version" : "None"
}
],
......@@ -7251,6 +7355,76 @@
{ "kind" : "LiteralInteger" }
],
"version" : "1.4"
},
{
"enumerant" : "InitiationIntervalINTEL",
"value" : "0x10000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "MaxConcurrencyINTEL",
"value" : "0x20000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "DependencyArrayINTEL",
"value" : "0x40000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "PipelineEnableINTEL",
"value" : "0x80000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "LoopCoalesceINTEL",
"value" : "0x100000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "MaxInterleavingINTEL",
"value" : "0x200000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "SpeculatedIterationsINTEL",
"value" : "0x400000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
}
]
},
......@@ -7480,57 +7654,68 @@
{
"enumerant" : "NoneKHR",
"value" : "0x0000",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "OpaqueKHR",
"value" : "0x0001",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "NoOpaqueKHR",
"value" : "0x0002",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "TerminateOnFirstHitKHR",
"value" : "0x0004",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "SkipClosestHitShaderKHR",
"value" : "0x0008",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "CullBackFacingTrianglesKHR",
"value" : "0x0010",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "CullFrontFacingTrianglesKHR",
"value" : "0x0020",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "CullOpaqueKHR",
"value" : "0x0040",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "CullNoOpaqueKHR",
"value" : "0x0080",
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "SkipTrianglesKHR",
"value" : "0x0100",
"capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
"capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "SkipAABBsKHR",
"value" : "0x0200",
"capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
"capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
"version" : "None"
}
]
},
......@@ -8135,6 +8320,45 @@
"capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
"extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
},
{
"enumerant" : "MaxWorkgroupSizeINTEL",
"value" : 5893,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'max_x_size'" },
{ "kind" : "LiteralInteger", "name" : "'max_y_size'" },
{ "kind" : "LiteralInteger", "name" : "'max_z_size'" }
],
"capabilities" : [ "KernelAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
},
{
"enumerant" : "MaxWorkDimINTEL",
"value" : 5894,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
],
"capabilities" : [ "KernelAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
},
{
"enumerant" : "NoGlobalOffsetINTEL",
"value" : 5895,
"capabilities" : [ "KernelAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
},
{
"enumerant" : "NumSIMDWorkitemsINTEL",
"value" : 5896,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'vector_width'" }
],
"capabilities" : [ "FPGAKernelAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
}
]
},
......@@ -8303,6 +8527,13 @@
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
"version" : "1.5"
},
{
"enumerant" : "CodeSectionINTEL",
"value" : 5605,
"extensions" : [ "SPV_INTEL_function_pointers" ],
"capabilities" : [ "FunctionPointersINTEL" ],
"version" : "None"
}
]
},
......@@ -9324,6 +9555,13 @@
"version" : "1.5"
},
{
"enumerant" : "ReferencedIndirectlyINTEL",
"value" : 5602,
"capabilities" : [ "IndirectReferencesINTEL" ],
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
{
"enumerant" : "CounterBuffer",
"value" : 5634,
"parameters" : [
......@@ -9365,6 +9603,115 @@
],
"extensions" : [ "SPV_GOOGLE_user_type" ],
"version" : "None"
},
{
"enumerant" : "RegisterINTEL",
"value" : 5825,
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "MemoryINTEL",
"value" : 5826,
"parameters" : [
{ "kind" : "LiteralString", "name" : "'Memory Type'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "NumbanksINTEL",
"value" : 5827,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Banks'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "BankwidthINTEL",
"value" : 5828,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Bank Width'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "MaxPrivateCopiesINTEL",
"value" : 5829,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "SinglepumpINTEL",
"value" : 5830,
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "DoublepumpINTEL",
"value" : 5831,
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "MaxReplicatesINTEL",
"value" : 5832,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "SimpleDualPortINTEL",
"value" : 5833,
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "MergeINTEL",
"value" : 5834,
"parameters" : [
{ "kind" : "LiteralString", "name" : "'Merge Key'" },
{ "kind" : "LiteralString", "name" : "'Merge Type'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "BankBitsINTEL",
"value" : 5835,
"parameters" : [
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "ForcePow2DepthINTEL",
"value" : 5836,
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Force Key'" }
],
"capabilities" : [ "FPGAMemoryAttributesINTEL" ],
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
}
]
},
......@@ -10132,7 +10479,8 @@
{
"enumerant" : "ShaderCallKHR",
"value" : 6,
"capabilities" : [ "RayTracingProvisionalKHR" ]
"capabilities" : [ "RayTracingProvisionalKHR" ],
"version" : "None"
}
]
},
......@@ -11147,6 +11495,18 @@
"version" : "None"
},
{
"enumerant" : "FunctionPointersINTEL",
"value" : 5603,
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
{
"enumerant" : "IndirectReferencesINTEL",
"value" : 5604,
"extensions" : [ "SPV_INTEL_function_pointers" ],
"version" : "None"
},
{
"enumerant" : "SubgroupAvcMotionEstimationINTEL",
"value" : 5696,
"extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
......@@ -11163,6 +11523,62 @@
"value" : 5698,
"extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
"version" : "None"
},
{
"enumerant" : "FPGAMemoryAttributesINTEL",
"value" : 5824,
"extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
"version" : "None"
},
{
"enumerant" : "UnstructuredLoopControlsINTEL",
"value" : 5886,
"extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "FPGALoopControlsINTEL",
"value" : 5888,
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "KernelAttributesINTEL",
"value" : 5892,
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
},
{
"enumerant" : "FPGAKernelAttributesINTEL",
"value" : 5897,
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
"version" : "None"
},
{
"enumerant" : "BlockingPipesINTEL",
"value" : 5945,
"extensions" : [ "SPV_INTEL_blocking_pipes" ],
"version" : "None"
},
{
"enumerant" : "FPGARegINTEL",
"value" : 5948,
"extensions" : [ "SPV_INTEL_fpga_reg" ],
"version" : "None"
},
{
"enumerant" : "AtomicFloat32AddEXT",
"value" : 6033,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
"version" : "None"
},
{
"enumerant" : "AtomicFloat64AddEXT",
"value" : 6034,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
"version" : "None"
}
]
},
......@@ -11173,12 +11589,14 @@
{
"enumerant" : "RayQueryCandidateIntersectionKHR",
"value" : 0,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "RayQueryCommittedIntersectionKHR",
"value" : 1,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
}
]
},
......@@ -11189,17 +11607,20 @@
{
"enumerant" : "RayQueryCommittedIntersectionNoneKHR",
"value" : 0,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
"value" : 1,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
"value" : 2,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
}
]
},
......@@ -11210,12 +11631,14 @@
{
"enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
"value" : 0,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
},
{
"enumerant" : "RayQueryCandidateIntersectionAABBKHR",
"value" : 1,
"capabilities" : [ "RayQueryProvisionalKHR" ]
"capabilities" : [ "RayQueryProvisionalKHR" ],
"version" : "None"
}
]
},
......
......@@ -49,7 +49,7 @@ namespace Spv
{
public const uint MagicNumber = 0x07230203;
public const uint Version = 0x00010500;
public const uint Revision = 1;
public const uint Revision = 3;
public const uint OpCodeMask = 0xffff;
public const uint WordCountShift = 16;
......@@ -164,6 +164,10 @@ namespace Spv
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
MaxWorkgroupSizeINTEL = 5893,
MaxWorkDimINTEL = 5894,
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
}
public enum StorageClass
......@@ -195,6 +199,7 @@ namespace Spv
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
CodeSectionINTEL = 5605,
}
public enum Dim
......@@ -475,11 +480,24 @@ namespace Spv
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
RegisterINTEL = 5825,
MemoryINTEL = 5826,
NumbanksINTEL = 5827,
BankwidthINTEL = 5828,
MaxPrivateCopiesINTEL = 5829,
SinglepumpINTEL = 5830,
DoublepumpINTEL = 5831,
MaxReplicatesINTEL = 5832,
SimpleDualPortINTEL = 5833,
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
}
public enum BuiltIn
......@@ -627,6 +645,13 @@ namespace Spv
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
InitiationIntervalINTEL = 16,
MaxConcurrencyINTEL = 17,
DependencyArrayINTEL = 18,
PipelineEnableINTEL = 19,
LoopCoalesceINTEL = 20,
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
}
public enum LoopControlMask
......@@ -641,6 +666,13 @@ namespace Spv
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
InitiationIntervalINTEL = 0x00010000,
MaxConcurrencyINTEL = 0x00020000,
DependencyArrayINTEL = 0x00040000,
PipelineEnableINTEL = 0x00080000,
LoopCoalesceINTEL = 0x00100000,
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
}
public enum FunctionControlShift
......@@ -932,9 +964,20 @@ namespace Spv
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
FunctionPointersINTEL = 5603,
IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
FPGAMemoryAttributesINTEL = 5824,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
FPGAKernelAttributesINTEL = 5897,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
}
public enum RayFlagsShift
......@@ -1331,6 +1374,7 @@ namespace Spv
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
......@@ -1403,6 +1447,8 @@ namespace Spv
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
OpFunctionPointerINTEL = 5600,
OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
......@@ -1525,6 +1571,10 @@ namespace Spv
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
OpLoopControlINTEL = 5887,
OpReadPipeBlockingINTEL = 5946,
OpWritePipeBlockingINTEL = 5947,
OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
......@@ -1542,6 +1592,7 @@ namespace Spv
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
OpAtomicFAddEXT = 6035,
}
}
}
......
......@@ -54,11 +54,11 @@
typedef unsigned int SpvId;
#define SPV_VERSION 0x10500
#define SPV_REVISION 1
#define SPV_REVISION 3
static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010500;
static const unsigned int SpvRevision = 1;
static const unsigned int SpvRevision = 3;
static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16;
......@@ -172,6 +172,10 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
SpvExecutionModeMaxWorkDimINTEL = 5894,
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
......@@ -203,6 +207,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassShaderRecordBufferNV = 5343,
SpvStorageClassPhysicalStorageBuffer = 5349,
SpvStorageClassPhysicalStorageBufferEXT = 5349,
SpvStorageClassCodeSectionINTEL = 5605,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
......@@ -481,11 +486,24 @@ typedef enum SpvDecoration_ {
SpvDecorationRestrictPointerEXT = 5355,
SpvDecorationAliasedPointer = 5356,
SpvDecorationAliasedPointerEXT = 5356,
SpvDecorationReferencedIndirectlyINTEL = 5602,
SpvDecorationCounterBuffer = 5634,
SpvDecorationHlslCounterBufferGOOGLE = 5634,
SpvDecorationHlslSemanticGOOGLE = 5635,
SpvDecorationUserSemantic = 5635,
SpvDecorationUserTypeGOOGLE = 5636,
SpvDecorationRegisterINTEL = 5825,
SpvDecorationMemoryINTEL = 5826,
SpvDecorationNumbanksINTEL = 5827,
SpvDecorationBankwidthINTEL = 5828,
SpvDecorationMaxPrivateCopiesINTEL = 5829,
SpvDecorationSinglepumpINTEL = 5830,
SpvDecorationDoublepumpINTEL = 5831,
SpvDecorationMaxReplicatesINTEL = 5832,
SpvDecorationSimpleDualPortINTEL = 5833,
SpvDecorationMergeINTEL = 5834,
SpvDecorationBankBitsINTEL = 5835,
SpvDecorationForcePow2DepthINTEL = 5836,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
......@@ -632,6 +650,13 @@ typedef enum SpvLoopControlShift_ {
SpvLoopControlIterationMultipleShift = 6,
SpvLoopControlPeelCountShift = 7,
SpvLoopControlPartialCountShift = 8,
SpvLoopControlInitiationIntervalINTELShift = 16,
SpvLoopControlMaxConcurrencyINTELShift = 17,
SpvLoopControlDependencyArrayINTELShift = 18,
SpvLoopControlPipelineEnableINTELShift = 19,
SpvLoopControlLoopCoalesceINTELShift = 20,
SpvLoopControlMaxInterleavingINTELShift = 21,
SpvLoopControlSpeculatedIterationsINTELShift = 22,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
......@@ -646,6 +671,13 @@ typedef enum SpvLoopControlMask_ {
SpvLoopControlIterationMultipleMask = 0x00000040,
SpvLoopControlPeelCountMask = 0x00000080,
SpvLoopControlPartialCountMask = 0x00000100,
SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
SpvLoopControlDependencyArrayINTELMask = 0x00040000,
SpvLoopControlPipelineEnableINTELMask = 0x00080000,
SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
......@@ -932,9 +964,20 @@ typedef enum SpvCapability_ {
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
SpvCapabilityIntegerFunctions2INTEL = 5584,
SpvCapabilityFunctionPointersINTEL = 5603,
SpvCapabilityIndirectReferencesINTEL = 5604,
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
SpvCapabilityFPGALoopControlsINTEL = 5888,
SpvCapabilityKernelAttributesINTEL = 5892,
SpvCapabilityFPGAKernelAttributesINTEL = 5897,
SpvCapabilityBlockingPipesINTEL = 5945,
SpvCapabilityFPGARegINTEL = 5948,
SpvCapabilityAtomicFloat32AddEXT = 6033,
SpvCapabilityAtomicFloat64AddEXT = 6034,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
......@@ -1330,6 +1373,7 @@ typedef enum SpvOp_ {
SpvOpPtrEqual = 401,
SpvOpPtrNotEqual = 402,
SpvOpPtrDiff = 403,
SpvOpTerminateInvocation = 4416,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
SpvOpSubgroupAllKHR = 4428,
......@@ -1402,6 +1446,8 @@ typedef enum SpvOp_ {
SpvOpUSubSatINTEL = 5596,
SpvOpIMul32x16INTEL = 5597,
SpvOpUMul32x16INTEL = 5598,
SpvOpFunctionPointerINTEL = 5600,
SpvOpFunctionPointerCallINTEL = 5601,
SpvOpDecorateString = 5632,
SpvOpDecorateStringGOOGLE = 5632,
SpvOpMemberDecorateString = 5633,
......@@ -1524,6 +1570,10 @@ typedef enum SpvOp_ {
SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
SpvOpLoopControlINTEL = 5887,
SpvOpReadPipeBlockingINTEL = 5946,
SpvOpWritePipeBlockingINTEL = 5947,
SpvOpFPGARegINTEL = 5949,
SpvOpRayQueryGetRayTMinKHR = 6016,
SpvOpRayQueryGetRayFlagsKHR = 6017,
SpvOpRayQueryGetIntersectionTKHR = 6018,
......@@ -1541,6 +1591,7 @@ typedef enum SpvOp_ {
SpvOpRayQueryGetWorldRayOriginKHR = 6030,
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
SpvOpAtomicFAddEXT = 6035,
SpvOpMax = 0x7fffffff,
} SpvOp;
......@@ -1895,10 +1946,18 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
......@@ -1918,30 +1977,6 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
......@@ -1976,6 +2011,8 @@ 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 SpvOpFunctionPointerCallINTEL: *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;
......@@ -2096,6 +2133,28 @@ 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 SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
......
......@@ -50,11 +50,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10500
#define SPV_REVISION 1
#define SPV_REVISION 3
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010500;
static const unsigned int Revision = 1;
static const unsigned int Revision = 3;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
......@@ -168,6 +168,10 @@ enum ExecutionMode {
ExecutionModeSampleInterlockUnorderedEXT = 5369,
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
ExecutionModeMaxWorkgroupSizeINTEL = 5893,
ExecutionModeMaxWorkDimINTEL = 5894,
ExecutionModeNoGlobalOffsetINTEL = 5895,
ExecutionModeNumSIMDWorkitemsINTEL = 5896,
ExecutionModeMax = 0x7fffffff,
};
......@@ -199,6 +203,7 @@ enum StorageClass {
StorageClassShaderRecordBufferNV = 5343,
StorageClassPhysicalStorageBuffer = 5349,
StorageClassPhysicalStorageBufferEXT = 5349,
StorageClassCodeSectionINTEL = 5605,
StorageClassMax = 0x7fffffff,
};
......@@ -477,11 +482,24 @@ enum Decoration {
DecorationRestrictPointerEXT = 5355,
DecorationAliasedPointer = 5356,
DecorationAliasedPointerEXT = 5356,
DecorationReferencedIndirectlyINTEL = 5602,
DecorationCounterBuffer = 5634,
DecorationHlslCounterBufferGOOGLE = 5634,
DecorationHlslSemanticGOOGLE = 5635,
DecorationUserSemantic = 5635,
DecorationUserTypeGOOGLE = 5636,
DecorationRegisterINTEL = 5825,
DecorationMemoryINTEL = 5826,
DecorationNumbanksINTEL = 5827,
DecorationBankwidthINTEL = 5828,
DecorationMaxPrivateCopiesINTEL = 5829,
DecorationSinglepumpINTEL = 5830,
DecorationDoublepumpINTEL = 5831,
DecorationMaxReplicatesINTEL = 5832,
DecorationSimpleDualPortINTEL = 5833,
DecorationMergeINTEL = 5834,
DecorationBankBitsINTEL = 5835,
DecorationForcePow2DepthINTEL = 5836,
DecorationMax = 0x7fffffff,
};
......@@ -628,6 +646,13 @@ enum LoopControlShift {
LoopControlIterationMultipleShift = 6,
LoopControlPeelCountShift = 7,
LoopControlPartialCountShift = 8,
LoopControlInitiationIntervalINTELShift = 16,
LoopControlMaxConcurrencyINTELShift = 17,
LoopControlDependencyArrayINTELShift = 18,
LoopControlPipelineEnableINTELShift = 19,
LoopControlLoopCoalesceINTELShift = 20,
LoopControlMaxInterleavingINTELShift = 21,
LoopControlSpeculatedIterationsINTELShift = 22,
LoopControlMax = 0x7fffffff,
};
......@@ -642,6 +667,13 @@ enum LoopControlMask {
LoopControlIterationMultipleMask = 0x00000040,
LoopControlPeelCountMask = 0x00000080,
LoopControlPartialCountMask = 0x00000100,
LoopControlInitiationIntervalINTELMask = 0x00010000,
LoopControlMaxConcurrencyINTELMask = 0x00020000,
LoopControlDependencyArrayINTELMask = 0x00040000,
LoopControlPipelineEnableINTELMask = 0x00080000,
LoopControlLoopCoalesceINTELMask = 0x00100000,
LoopControlMaxInterleavingINTELMask = 0x00200000,
LoopControlSpeculatedIterationsINTELMask = 0x00400000,
};
enum FunctionControlShift {
......@@ -928,9 +960,20 @@ enum Capability {
CapabilitySubgroupImageBlockIOINTEL = 5570,
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
CapabilityIntegerFunctions2INTEL = 5584,
CapabilityFunctionPointersINTEL = 5603,
CapabilityIndirectReferencesINTEL = 5604,
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
CapabilityFPGAMemoryAttributesINTEL = 5824,
CapabilityUnstructuredLoopControlsINTEL = 5886,
CapabilityFPGALoopControlsINTEL = 5888,
CapabilityKernelAttributesINTEL = 5892,
CapabilityFPGAKernelAttributesINTEL = 5897,
CapabilityBlockingPipesINTEL = 5945,
CapabilityFPGARegINTEL = 5948,
CapabilityAtomicFloat32AddEXT = 6033,
CapabilityAtomicFloat64AddEXT = 6034,
CapabilityMax = 0x7fffffff,
};
......@@ -1326,6 +1369,7 @@ enum Op {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
......@@ -1398,6 +1442,8 @@ enum Op {
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
OpFunctionPointerINTEL = 5600,
OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
......@@ -1520,6 +1566,10 @@ enum Op {
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
OpLoopControlINTEL = 5887,
OpReadPipeBlockingINTEL = 5946,
OpWritePipeBlockingINTEL = 5947,
OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
......@@ -1537,6 +1587,7 @@ enum Op {
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
OpAtomicFAddEXT = 6035,
OpMax = 0x7fffffff,
};
......@@ -1891,10 +1942,18 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
......@@ -1914,30 +1973,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
......@@ -1972,6 +2007,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
......@@ -2092,6 +2129,28 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
......
......@@ -50,11 +50,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10500
#define SPV_REVISION 1
#define SPV_REVISION 3
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010500;
static const unsigned int Revision = 1;
static const unsigned int Revision = 3;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
......@@ -168,6 +168,10 @@ enum class ExecutionMode : unsigned {
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
MaxWorkgroupSizeINTEL = 5893,
MaxWorkDimINTEL = 5894,
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
Max = 0x7fffffff,
};
......@@ -199,6 +203,7 @@ enum class StorageClass : unsigned {
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
CodeSectionINTEL = 5605,
Max = 0x7fffffff,
};
......@@ -477,11 +482,24 @@ enum class Decoration : unsigned {
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
RegisterINTEL = 5825,
MemoryINTEL = 5826,
NumbanksINTEL = 5827,
BankwidthINTEL = 5828,
MaxPrivateCopiesINTEL = 5829,
SinglepumpINTEL = 5830,
DoublepumpINTEL = 5831,
MaxReplicatesINTEL = 5832,
SimpleDualPortINTEL = 5833,
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
Max = 0x7fffffff,
};
......@@ -628,6 +646,13 @@ enum class LoopControlShift : unsigned {
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
InitiationIntervalINTEL = 16,
MaxConcurrencyINTEL = 17,
DependencyArrayINTEL = 18,
PipelineEnableINTEL = 19,
LoopCoalesceINTEL = 20,
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
Max = 0x7fffffff,
};
......@@ -642,6 +667,13 @@ enum class LoopControlMask : unsigned {
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
InitiationIntervalINTEL = 0x00010000,
MaxConcurrencyINTEL = 0x00020000,
DependencyArrayINTEL = 0x00040000,
PipelineEnableINTEL = 0x00080000,
LoopCoalesceINTEL = 0x00100000,
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
};
enum class FunctionControlShift : unsigned {
......@@ -928,9 +960,20 @@ enum class Capability : unsigned {
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
FunctionPointersINTEL = 5603,
IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
FPGAMemoryAttributesINTEL = 5824,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
FPGAKernelAttributesINTEL = 5897,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
Max = 0x7fffffff,
};
......@@ -1326,6 +1369,7 @@ enum class Op : unsigned {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
......@@ -1398,6 +1442,8 @@ enum class Op : unsigned {
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
OpFunctionPointerINTEL = 5600,
OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
......@@ -1520,6 +1566,10 @@ enum class Op : unsigned {
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
OpLoopControlINTEL = 5887,
OpReadPipeBlockingINTEL = 5946,
OpWritePipeBlockingINTEL = 5947,
OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
......@@ -1537,6 +1587,7 @@ enum class Op : unsigned {
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
OpAtomicFAddEXT = 6035,
Max = 0x7fffffff,
};
......@@ -1891,10 +1942,18 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
......@@ -1914,30 +1973,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case Op::OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
......@@ -1972,6 +2007,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
......@@ -2092,6 +2129,28 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
......
......@@ -55,7 +55,7 @@
],
"MagicNumber": 119734787,
"Version": 66816,
"Revision": 1,
"Revision": 3,
"OpCodeMask": 65535,
"WordCountShift": 16
},
......@@ -186,7 +186,11 @@
"SampleInterlockOrderedEXT": 5368,
"SampleInterlockUnorderedEXT": 5369,
"ShadingRateInterlockOrderedEXT": 5370,
"ShadingRateInterlockUnorderedEXT": 5371
"ShadingRateInterlockUnorderedEXT": 5371,
"MaxWorkgroupSizeINTEL": 5893,
"MaxWorkDimINTEL": 5894,
"NoGlobalOffsetINTEL": 5895,
"NumSIMDWorkitemsINTEL": 5896
}
},
{
......@@ -220,7 +224,8 @@
"ShaderRecordBufferKHR": 5343,
"ShaderRecordBufferNV": 5343,
"PhysicalStorageBuffer": 5349,
"PhysicalStorageBufferEXT": 5349
"PhysicalStorageBufferEXT": 5349,
"CodeSectionINTEL": 5605
}
},
{
......@@ -507,11 +512,24 @@
"RestrictPointerEXT": 5355,
"AliasedPointer": 5356,
"AliasedPointerEXT": 5356,
"ReferencedIndirectlyINTEL": 5602,
"CounterBuffer": 5634,
"HlslCounterBufferGOOGLE": 5634,
"HlslSemanticGOOGLE": 5635,
"UserSemantic": 5635,
"UserTypeGOOGLE": 5636
"UserTypeGOOGLE": 5636,
"RegisterINTEL": 5825,
"MemoryINTEL": 5826,
"NumbanksINTEL": 5827,
"BankwidthINTEL": 5828,
"MaxPrivateCopiesINTEL": 5829,
"SinglepumpINTEL": 5830,
"DoublepumpINTEL": 5831,
"MaxReplicatesINTEL": 5832,
"SimpleDualPortINTEL": 5833,
"MergeINTEL": 5834,
"BankBitsINTEL": 5835,
"ForcePow2DepthINTEL": 5836
}
},
{
......@@ -660,7 +678,14 @@
"MaxIterations": 5,
"IterationMultiple": 6,
"PeelCount": 7,
"PartialCount": 8
"PartialCount": 8,
"InitiationIntervalINTEL": 16,
"MaxConcurrencyINTEL": 17,
"DependencyArrayINTEL": 18,
"PipelineEnableINTEL": 19,
"LoopCoalesceINTEL": 20,
"MaxInterleavingINTEL": 21,
"SpeculatedIterationsINTEL": 22
}
},
{
......@@ -925,9 +950,20 @@
"SubgroupImageBlockIOINTEL": 5570,
"SubgroupImageMediaBlockIOINTEL": 5579,
"IntegerFunctions2INTEL": 5584,
"FunctionPointersINTEL": 5603,
"IndirectReferencesINTEL": 5604,
"SubgroupAvcMotionEstimationINTEL": 5696,
"SubgroupAvcMotionEstimationIntraINTEL": 5697,
"SubgroupAvcMotionEstimationChromaINTEL": 5698
"SubgroupAvcMotionEstimationChromaINTEL": 5698,
"FPGAMemoryAttributesINTEL": 5824,
"UnstructuredLoopControlsINTEL": 5886,
"FPGALoopControlsINTEL": 5888,
"KernelAttributesINTEL": 5892,
"FPGAKernelAttributesINTEL": 5897,
"BlockingPipesINTEL": 5945,
"FPGARegINTEL": 5948,
"AtomicFloat32AddEXT": 6033,
"AtomicFloat64AddEXT": 6034
}
},
{
......@@ -1324,6 +1360,7 @@
"OpPtrEqual": 401,
"OpPtrNotEqual": 402,
"OpPtrDiff": 403,
"OpTerminateInvocation": 4416,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
"OpSubgroupAllKHR": 4428,
......@@ -1396,6 +1433,8 @@
"OpUSubSatINTEL": 5596,
"OpIMul32x16INTEL": 5597,
"OpUMul32x16INTEL": 5598,
"OpFunctionPointerINTEL": 5600,
"OpFunctionPointerCallINTEL": 5601,
"OpDecorateString": 5632,
"OpDecorateStringGOOGLE": 5632,
"OpMemberDecorateString": 5633,
......@@ -1518,6 +1557,10 @@
"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
"OpSubgroupAvcSicGetInterRawSadsINTEL": 5816,
"OpLoopControlINTEL": 5887,
"OpReadPipeBlockingINTEL": 5946,
"OpWritePipeBlockingINTEL": 5947,
"OpFPGARegINTEL": 5949,
"OpRayQueryGetRayTMinKHR": 6016,
"OpRayQueryGetRayFlagsKHR": 6017,
"OpRayQueryGetIntersectionTKHR": 6018,
......@@ -1534,7 +1577,8 @@
"OpRayQueryGetWorldRayDirectionKHR": 6029,
"OpRayQueryGetWorldRayOriginKHR": 6030,
"OpRayQueryGetIntersectionObjectToWorldKHR": 6031,
"OpRayQueryGetIntersectionWorldToObjectKHR": 6032
"OpRayQueryGetIntersectionWorldToObjectKHR": 6032,
"OpAtomicFAddEXT": 6035
}
}
]
......
......@@ -45,7 +45,7 @@
spv = {
MagicNumber = 0x07230203,
Version = 0x00010500,
Revision = 1,
Revision = 3,
OpCodeMask = 0xffff,
WordCountShift = 16,
......@@ -155,6 +155,10 @@ spv = {
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
MaxWorkgroupSizeINTEL = 5893,
MaxWorkDimINTEL = 5894,
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
},
StorageClass = {
......@@ -185,6 +189,7 @@ spv = {
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
CodeSectionINTEL = 5605,
},
Dim = {
......@@ -450,11 +455,24 @@ spv = {
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
RegisterINTEL = 5825,
MemoryINTEL = 5826,
NumbanksINTEL = 5827,
BankwidthINTEL = 5828,
MaxPrivateCopiesINTEL = 5829,
SinglepumpINTEL = 5830,
DoublepumpINTEL = 5831,
MaxReplicatesINTEL = 5832,
SimpleDualPortINTEL = 5833,
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
},
BuiltIn = {
......@@ -598,6 +616,13 @@ spv = {
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
InitiationIntervalINTEL = 16,
MaxConcurrencyINTEL = 17,
DependencyArrayINTEL = 18,
PipelineEnableINTEL = 19,
LoopCoalesceINTEL = 20,
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
},
LoopControlMask = {
......@@ -611,6 +636,13 @@ spv = {
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
InitiationIntervalINTEL = 0x00010000,
MaxConcurrencyINTEL = 0x00020000,
DependencyArrayINTEL = 0x00040000,
PipelineEnableINTEL = 0x00080000,
LoopCoalesceINTEL = 0x00100000,
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
},
FunctionControlShift = {
......@@ -890,9 +922,20 @@ spv = {
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
FunctionPointersINTEL = 5603,
IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
FPGAMemoryAttributesINTEL = 5824,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
FPGAKernelAttributesINTEL = 5897,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
},
RayFlagsShift = {
......@@ -1283,6 +1326,7 @@ spv = {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
......@@ -1355,6 +1399,8 @@ spv = {
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
OpFunctionPointerINTEL = 5600,
OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
......@@ -1477,6 +1523,10 @@ spv = {
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
OpLoopControlINTEL = 5887,
OpReadPipeBlockingINTEL = 5946,
OpWritePipeBlockingINTEL = 5947,
OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
......@@ -1494,6 +1544,7 @@ spv = {
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
OpAtomicFAddEXT = 6035,
},
}
......
......@@ -45,7 +45,7 @@
spv = {
'MagicNumber' : 0x07230203,
'Version' : 0x00010500,
'Revision' : 1,
'Revision' : 3,
'OpCodeMask' : 0xffff,
'WordCountShift' : 16,
......@@ -155,6 +155,10 @@ spv = {
'SampleInterlockUnorderedEXT' : 5369,
'ShadingRateInterlockOrderedEXT' : 5370,
'ShadingRateInterlockUnorderedEXT' : 5371,
'MaxWorkgroupSizeINTEL' : 5893,
'MaxWorkDimINTEL' : 5894,
'NoGlobalOffsetINTEL' : 5895,
'NumSIMDWorkitemsINTEL' : 5896,
},
'StorageClass' : {
......@@ -185,6 +189,7 @@ spv = {
'ShaderRecordBufferNV' : 5343,
'PhysicalStorageBuffer' : 5349,
'PhysicalStorageBufferEXT' : 5349,
'CodeSectionINTEL' : 5605,
},
'Dim' : {
......@@ -450,11 +455,24 @@ spv = {
'RestrictPointerEXT' : 5355,
'AliasedPointer' : 5356,
'AliasedPointerEXT' : 5356,
'ReferencedIndirectlyINTEL' : 5602,
'CounterBuffer' : 5634,
'HlslCounterBufferGOOGLE' : 5634,
'HlslSemanticGOOGLE' : 5635,
'UserSemantic' : 5635,
'UserTypeGOOGLE' : 5636,
'RegisterINTEL' : 5825,
'MemoryINTEL' : 5826,
'NumbanksINTEL' : 5827,
'BankwidthINTEL' : 5828,
'MaxPrivateCopiesINTEL' : 5829,
'SinglepumpINTEL' : 5830,
'DoublepumpINTEL' : 5831,
'MaxReplicatesINTEL' : 5832,
'SimpleDualPortINTEL' : 5833,
'MergeINTEL' : 5834,
'BankBitsINTEL' : 5835,
'ForcePow2DepthINTEL' : 5836,
},
'BuiltIn' : {
......@@ -598,6 +616,13 @@ spv = {
'IterationMultiple' : 6,
'PeelCount' : 7,
'PartialCount' : 8,
'InitiationIntervalINTEL' : 16,
'MaxConcurrencyINTEL' : 17,
'DependencyArrayINTEL' : 18,
'PipelineEnableINTEL' : 19,
'LoopCoalesceINTEL' : 20,
'MaxInterleavingINTEL' : 21,
'SpeculatedIterationsINTEL' : 22,
},
'LoopControlMask' : {
......@@ -611,6 +636,13 @@ spv = {
'IterationMultiple' : 0x00000040,
'PeelCount' : 0x00000080,
'PartialCount' : 0x00000100,
'InitiationIntervalINTEL' : 0x00010000,
'MaxConcurrencyINTEL' : 0x00020000,
'DependencyArrayINTEL' : 0x00040000,
'PipelineEnableINTEL' : 0x00080000,
'LoopCoalesceINTEL' : 0x00100000,
'MaxInterleavingINTEL' : 0x00200000,
'SpeculatedIterationsINTEL' : 0x00400000,
},
'FunctionControlShift' : {
......@@ -890,9 +922,20 @@ spv = {
'SubgroupImageBlockIOINTEL' : 5570,
'SubgroupImageMediaBlockIOINTEL' : 5579,
'IntegerFunctions2INTEL' : 5584,
'FunctionPointersINTEL' : 5603,
'IndirectReferencesINTEL' : 5604,
'SubgroupAvcMotionEstimationINTEL' : 5696,
'SubgroupAvcMotionEstimationIntraINTEL' : 5697,
'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
'FPGAMemoryAttributesINTEL' : 5824,
'UnstructuredLoopControlsINTEL' : 5886,
'FPGALoopControlsINTEL' : 5888,
'KernelAttributesINTEL' : 5892,
'FPGAKernelAttributesINTEL' : 5897,
'BlockingPipesINTEL' : 5945,
'FPGARegINTEL' : 5948,
'AtomicFloat32AddEXT' : 6033,
'AtomicFloat64AddEXT' : 6034,
},
'RayFlagsShift' : {
......@@ -1283,6 +1326,7 @@ spv = {
'OpPtrEqual' : 401,
'OpPtrNotEqual' : 402,
'OpPtrDiff' : 403,
'OpTerminateInvocation' : 4416,
'OpSubgroupBallotKHR' : 4421,
'OpSubgroupFirstInvocationKHR' : 4422,
'OpSubgroupAllKHR' : 4428,
......@@ -1355,6 +1399,8 @@ spv = {
'OpUSubSatINTEL' : 5596,
'OpIMul32x16INTEL' : 5597,
'OpUMul32x16INTEL' : 5598,
'OpFunctionPointerINTEL' : 5600,
'OpFunctionPointerCallINTEL' : 5601,
'OpDecorateString' : 5632,
'OpDecorateStringGOOGLE' : 5632,
'OpMemberDecorateString' : 5633,
......@@ -1477,6 +1523,10 @@ spv = {
'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
'OpLoopControlINTEL' : 5887,
'OpReadPipeBlockingINTEL' : 5946,
'OpWritePipeBlockingINTEL' : 5947,
'OpFPGARegINTEL' : 5949,
'OpRayQueryGetRayTMinKHR' : 6016,
'OpRayQueryGetRayFlagsKHR' : 6017,
'OpRayQueryGetIntersectionTKHR' : 6018,
......@@ -1494,6 +1544,7 @@ spv = {
'OpRayQueryGetWorldRayOriginKHR' : 6030,
'OpRayQueryGetIntersectionObjectToWorldKHR' : 6031,
'OpRayQueryGetIntersectionWorldToObjectKHR' : 6032,
'OpAtomicFAddEXT' : 6035,
},
}
......
......@@ -52,7 +52,7 @@ module spv;
enum uint MagicNumber = 0x07230203;
enum uint Version = 0x00010500;
enum uint Revision = 1;
enum uint Revision = 3;
enum uint OpCodeMask = 0xffff;
enum uint WordCountShift = 16;
......@@ -167,6 +167,10 @@ enum ExecutionMode : uint
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
MaxWorkgroupSizeINTEL = 5893,
MaxWorkDimINTEL = 5894,
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
}
enum StorageClass : uint
......@@ -198,6 +202,7 @@ enum StorageClass : uint
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
CodeSectionINTEL = 5605,
}
enum Dim : uint
......@@ -478,11 +483,24 @@ enum Decoration : uint
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
RegisterINTEL = 5825,
MemoryINTEL = 5826,
NumbanksINTEL = 5827,
BankwidthINTEL = 5828,
MaxPrivateCopiesINTEL = 5829,
SinglepumpINTEL = 5830,
DoublepumpINTEL = 5831,
MaxReplicatesINTEL = 5832,
SimpleDualPortINTEL = 5833,
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
}
enum BuiltIn : uint
......@@ -630,6 +648,13 @@ enum LoopControlShift : uint
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
InitiationIntervalINTEL = 16,
MaxConcurrencyINTEL = 17,
DependencyArrayINTEL = 18,
PipelineEnableINTEL = 19,
LoopCoalesceINTEL = 20,
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
}
enum LoopControlMask : uint
......@@ -644,6 +669,13 @@ enum LoopControlMask : uint
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
InitiationIntervalINTEL = 0x00010000,
MaxConcurrencyINTEL = 0x00020000,
DependencyArrayINTEL = 0x00040000,
PipelineEnableINTEL = 0x00080000,
LoopCoalesceINTEL = 0x00100000,
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
}
enum FunctionControlShift : uint
......@@ -935,9 +967,20 @@ enum Capability : uint
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
FunctionPointersINTEL = 5603,
IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
FPGAMemoryAttributesINTEL = 5824,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
FPGAKernelAttributesINTEL = 5897,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
}
enum RayFlagsShift : uint
......@@ -1334,6 +1377,7 @@ enum Op : uint
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
......@@ -1406,6 +1450,8 @@ enum Op : uint
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
OpFunctionPointerINTEL = 5600,
OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
......@@ -1528,6 +1574,10 @@ enum Op : uint
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
OpLoopControlINTEL = 5887,
OpReadPipeBlockingINTEL = 5946,
OpWritePipeBlockingINTEL = 5947,
OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
......@@ -1545,6 +1595,7 @@ enum Op : uint
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
OpAtomicFAddEXT = 6035,
}
......@@ -70,8 +70,8 @@ namespace {
static const int DocMagicNumber = 0x07230203;
static const int DocVersion = 0x00010500;
static const int DocRevision = 1;
#define DocRevisionString "1"
static const int DocRevision = 3;
#define DocRevisionString "3"
static const std::string DocCopyright;
static const std::string DocComment1;
static const std::string DocComment2;
......
......@@ -80,7 +80,7 @@ enum OperandClass {
OperandMemorySemantics,
OperandMemoryOperands,
OperandScope,
OperandGroupOperation,
OperandGroupOperation,
OperandKernelEnqueueFlags,
OperandKernelProfilingInfo,
OperandCapability,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment