aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2019-07-16 15:12:55 -0400
committerDavid Neto <dneto@google.com>2019-07-16 15:14:11 -0400
commit456c3fb14bdcac0639572415b4c2356fbd95fc64 (patch)
tree7eab0354563829846f4f0587ada00d235c061ab6
parent5c041daac25c12254c948246ebf34cdfe40ac288 (diff)
parent45c2cc37276d69e5b257507d97fd90d2a5684ccc (diff)
downloadspirv-headers-456c3fb14bdcac0639572415b4c2356fbd95fc64.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into update-shaderc
Including: 45c2cc3 Merge pull request #122 from mkinsner/array_init_loop_control_bit 7971055 Reserve additional loop control bit for upcoming update to SPV_INTEL_fpga_loop_controls extension 29c1114 Merge pull request #120 from antiagainst/mlir-serializer 123dc27 Merge pull request #121 from jeffbolznv/demote_to_helper_invocation dcce859 add SPV_EXT_demote_to_helper_invocation 739546b Reserve ID 23 for MLIR SPIR-V Serializer de99d4d Merge pull request #119 from dneto0/spirv-issue-476 9baa9e0 Add Volatile to Memory Semantics, for SPV_KHR_vulkan_memory_model 9cf7c3a Merge pull request #117 from ehsannas/UserTypeGOOGLE b1344c0 Add grammar and symbols for UserTypeGOOGLE extension to unified1. 9242862 Merge pull request #105 from mchiasson/cmake_install_config a774172 Add missing "version" : "None" to a bunch of reserved enumerants. d5d3316 Add more detail about reserving tokens to the README. e88e050 Restore numerical order in enumerants. ed8674d Update CMakeLists.txt f7b06c2 updated as per code review c5a291f cmake development configuration package Fixes #104 Testing: checkbuild.py on Linux; unit tests on Windows Change-Id: Id48e04cfb49844e11ab54d6f5073cc3a2208d8e2
-rw-r--r--CMakeLists.txt67
-rw-r--r--README.md10
-rw-r--r--cmake/Config.cmake.in4
-rw-r--r--include/spirv/spir-v.xml7
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json410
-rw-r--r--include/spirv/unified1/spirv.cs6
-rw-r--r--include/spirv/unified1/spirv.h12
-rw-r--r--include/spirv/unified1/spirv.hpp12
-rw-r--r--include/spirv/unified1/spirv.hpp1112
-rw-r--r--include/spirv/unified1/spirv.json9
-rw-r--r--include/spirv/unified1/spirv.lua6
-rw-r--r--include/spirv/unified1/spirv.py6
-rw-r--r--include/spirv/unified1/spv.d6
13 files changed, 383 insertions, 184 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 167a3e7..5fd0196 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,8 +28,8 @@
# The SPIR-V headers from the SPIR-V Registry
# https://www.khronos.org/registry/spir-v/
#
-cmake_minimum_required(VERSION 2.8.11)
-project(SPIRV-Headers)
+cmake_minimum_required(VERSION 3.0)
+project(SPIRV-Headers VERSION 1.4.1)
# There are two ways to use this project.
#
@@ -44,14 +44,6 @@ project(SPIRV-Headers)
# 2. cmake ..
# 3. cmake --build . --target install
-file(GLOB_RECURSE HEADER_FILES
- RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
- include/spirv/*)
-foreach(HEADER_FILE ${HEADER_FILES})
- get_filename_component(HEADER_INSTALL_DIR ${HEADER_FILE} PATH)
- install(FILES ${HEADER_FILE} DESTINATION ${HEADER_INSTALL_DIR})
-endforeach()
-
# legacy
add_custom_target(install-headers
COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv
@@ -66,3 +58,58 @@ if (SPIRV_HEADERS_ENABLE_EXAMPLES)
message(STATUS "Building SPIRV-Header examples")
add_subdirectory(example)
endif()
+
+include(GNUInstallDirs)
+add_library(${PROJECT_NAME} INTERFACE)
+target_include_directories(${PROJECT_NAME} INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+)
+
+# Installation
+
+set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
+
+set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
+
+set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
+set(namespace "${PROJECT_NAME}::")
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+ "${version_config}"
+ COMPATIBILITY SameMajorVersion
+)
+
+configure_package_config_file(
+ "cmake/Config.cmake.in"
+ "${project_config}"
+ INSTALL_DESTINATION "${config_install_dir}"
+)
+
+install(
+ TARGETS ${PROJECT_NAME}
+ EXPORT "${TARGETS_EXPORT_NAME}"
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+
+install(
+ DIRECTORY include/spirv
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+)
+
+install(
+ FILES "${project_config}" "${version_config}"
+ DESTINATION "${config_install_dir}"
+)
+
+install(
+ EXPORT "${TARGETS_EXPORT_NAME}"
+ NAMESPACE "${namespace}"
+ DESTINATION "${config_install_dir}"
+)
+
diff --git a/README.md b/README.md
index 846b20d..beb1b7e 100644
--- a/README.md
+++ b/README.md
@@ -25,10 +25,18 @@ the files under [include](include).
The SPIR-V XML registry file is updated by Khronos whenever a new enum range is allocated.
-Pull requests can be made to
+Pull requests can be made to
- request allocation of new enum ranges in the XML registry file
- reserve specific tokens in the JSON grammar
+### Reserving tokens in the JSON grammar
+
+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
+- adding the statement `"version" : "None"`
+
## How to install the headers
```
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
new file mode 100644
index 0000000..38bbde7
--- /dev/null
+++ b/cmake/Config.cmake.in
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
+check_required_components("@PROJECT_NAME@")
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index 67f6dc5..523460d 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -71,7 +71,8 @@
<id value="19" vendor="Clay" tool="Clay Shader Compiler" comment="Contact info@clayengine.com"/>
<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"/>
- <unused start="22" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+ <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"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -137,8 +138,8 @@
<!-- Reserved loop control bits -->
<ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
- <ids type="LoopControl" start="16" end="18" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
- <ids type="LoopControl" start="19" end="30" comment="Unreserved bits reservable for use by vendors"/>
+ <ids type="LoopControl" start="16" end="19" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
+ <ids type="LoopControl" start="20" 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"/>
</registry>
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 285f0a2..495aff0 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -4045,6 +4045,38 @@
"version" : "None"
},
{
+ "opname" : "OpBeginInvocationInterlockEXT",
+ "opcode" : 5364,
+ "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
+ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpEndInvocationInterlockEXT",
+ "opcode" : 5365,
+ "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
+ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpDemoteToHelperInvocationEXT",
+ "opcode" : 5380,
+ "capabilities" : [ "DemoteToHelperInvocationEXT" ],
+ "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpIsHelperInvocationEXT",
+ "opcode" : 5381,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "DemoteToHelperInvocationEXT" ],
+ "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpSubgroupShuffleINTEL",
"opcode" : 5571,
"operands" : [
@@ -5771,20 +5803,6 @@
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
- },
- {
- "opname" : "OpBeginInvocationInterlockEXT",
- "opcode" : 5364,
- "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "opname" : "OpEndInvocationInterlockEXT",
- "opcode" : 5365,
- "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
}
],
"operand_kinds" : [
@@ -5863,7 +5881,8 @@
"capabilities" : [ "VulkanMemoryModelKHR" ],
"parameters" : [
{ "kind" : "IdScope" }
- ]
+ ],
+ "version" : "None"
},
{
"enumerant" : "MakeTexelVisibleKHR",
@@ -5871,17 +5890,20 @@
"capabilities" : [ "VulkanMemoryModelKHR" ],
"parameters" : [
{ "kind" : "IdScope" }
- ]
+ ],
+ "version" : "None"
},
{
"enumerant" : "NonPrivateTexelKHR",
"value" : "0x0400",
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
},
{
"enumerant" : "VolatileTexelKHR",
"value" : "0x0800",
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
},
{
"enumerant" : "SignExtend",
@@ -6102,17 +6124,26 @@
{
"enumerant" : "OutputMemoryKHR",
"value" : "0x1000",
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
},
{
"enumerant" : "MakeAvailableKHR",
"value" : "0x2000",
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
},
{
"enumerant" : "MakeVisibleKHR",
"value" : "0x4000",
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "Volatile",
+ "value" : "0x8000",
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
}
]
},
@@ -6145,7 +6176,8 @@
"parameters" : [
{ "kind" : "IdScope" }
],
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
},
{
"enumerant" : "MakePointerVisibleKHR",
@@ -6153,12 +6185,14 @@
"parameters" : [
{ "kind" : "IdScope" }
],
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
},
{
"enumerant" : "NonPrivatePointerKHR",
"value" : "0x0020",
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
}
]
},
@@ -6249,42 +6283,50 @@
{
"enumerant" : "TaskNV",
"value" : 5267,
- "capabilities" : [ "MeshShadingNV" ]
+ "capabilities" : [ "MeshShadingNV" ],
+ "version" : "None"
},
{
"enumerant" : "MeshNV",
"value" : 5268,
- "capabilities" : [ "MeshShadingNV" ]
+ "capabilities" : [ "MeshShadingNV" ],
+ "version" : "None"
},
{
"enumerant" : "RayGenerationNV",
"value" : 5313,
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "IntersectionNV",
"value" : 5314,
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "AnyHitNV",
"value" : 5315,
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "ClosestHitNV",
"value" : 5316,
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "MissNV",
"value" : 5317,
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "CallableNV",
"value" : 5318,
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
}
]
},
@@ -6310,7 +6352,8 @@
"enumerant" : "PhysicalStorageBuffer64EXT",
"value" : 5348,
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ]
+ "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
+ "version" : "None"
}
]
},
@@ -6336,7 +6379,8 @@
{
"enumerant" : "VulkanKHR",
"value" : 3,
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
}
]
},
@@ -6793,43 +6837,50 @@
"enumerant" : "CallableDataNV",
"value" : 5328,
"extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "IncomingCallableDataNV",
"value" : 5329,
"extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "RayPayloadNV",
"value" : 5338,
"extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "HitAttributeNV",
"value" : 5339,
"extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "IncomingRayPayloadNV",
"value" : 5342,
"extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "ShaderRecordBufferNV",
"value" : 5343,
"extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ]
+ "capabilities" : [ "RayTracingNV" ],
+ "version" : "None"
},
{
"enumerant" : "PhysicalStorageBufferEXT",
"value" : 5349,
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ]
+ "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
+ "version" : "None"
}
]
},
@@ -7815,6 +7866,20 @@
"capabilities" : [ "ShaderNonUniformEXT" ]
},
{
+ "enumerant" : "RestrictPointerEXT",
+ "value" : 5355,
+ "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
+ "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "AliasedPointerEXT",
+ "value" : 5356,
+ "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
+ "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "CounterBuffer",
"value" : 5634,
"parameters" : [
@@ -7849,17 +7914,12 @@
"version" : "None"
},
{
- "enumerant" : "RestrictPointerEXT",
- "value" : 5355,
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
- },
- {
- "enumerant" : "AliasedPointerEXT",
- "value" : 5356,
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
+ "enumerant" : "UserTypeGOOGLE",
+ "value" : 5636,
+ "parameters" : [
+ { "kind" : "LiteralString", "name" : "'User Type'" }
+ ],
+ "extensions" : [ "SPV_GOOGLE_user_type" ],
"version" : "None"
}
]
@@ -8360,109 +8420,127 @@
"enumerant" : "LaunchIdNV",
"value" : 5319,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "LaunchSizeNV",
"value" : 5320,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "WorldRayOriginNV",
"value" : 5321,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "WorldRayDirectionNV",
"value" : 5322,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "ObjectRayOriginNV",
"value" : 5323,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "ObjectRayDirectionNV",
"value" : 5324,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "RayTminNV",
"value" : 5325,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "RayTmaxNV",
"value" : 5326,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "InstanceCustomIndexNV",
"value" : 5327,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "ObjectToWorldNV",
"value" : 5330,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "WorldToObjectNV",
"value" : 5331,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "HitTNV",
"value" : 5332,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "HitKindNV",
"value" : 5333,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "IncomingRayFlagsNV",
"value" : 5351,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"enumerant" : "WarpsPerSMNV",
"value" : 5374,
"capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ]
+ "extensions" : [ "SPV_NV_shader_sm_builtins" ],
+ "version" : "None"
},
{
"enumerant" : "SMCountNV",
"value" : 5375,
"capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ]
+ "extensions" : [ "SPV_NV_shader_sm_builtins" ],
+ "version" : "None"
},
{
"enumerant" : "WarpIDNV",
"value" : 5376,
"capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ]
+ "extensions" : [ "SPV_NV_shader_sm_builtins" ],
+ "version" : "None"
},
{
"enumerant" : "SMIDNV",
"value" : 5377,
"capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ]
+ "extensions" : [ "SPV_NV_shader_sm_builtins" ],
+ "version" : "None"
}
]
},
@@ -8493,7 +8571,8 @@
{
"enumerant" : "QueueFamilyKHR",
"value" : 5,
- "capabilities" : [ "VulkanMemoryModelKHR" ]
+ "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "version" : "None"
}
]
},
@@ -9154,6 +9233,44 @@
"version" : "None"
},
{
+ "enumerant" : "ImageFootprintNV",
+ "value" : 5282,
+ "extensions" : [ "SPV_NV_shader_image_footprint" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FragmentBarycentricNV",
+ "value" : 5284,
+ "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ComputeDerivativeGroupQuadsNV",
+ "value" : 5288,
+ "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FragmentDensityEXT",
+ "value" : 5291,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ShadingRateNV",
+ "value" : 5291,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "GroupNonUniformPartitionedNV",
+ "value" : 5297,
+ "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "ShaderNonUniformEXT",
"value" : 5301,
"capabilities" : [ "Shader" ],
@@ -9245,150 +9362,119 @@
"version" : "None"
},
{
- "enumerant" : "SubgroupShuffleINTEL",
- "value" : 5568,
- "extensions" : [ "SPV_INTEL_subgroups" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupBufferBlockIOINTEL",
- "value" : 5569,
- "extensions" : [ "SPV_INTEL_subgroups" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupImageBlockIOINTEL",
- "value" : 5570,
- "extensions" : [ "SPV_INTEL_subgroups" ],
+ "enumerant" : "VulkanMemoryModelKHR",
+ "value" : 5345,
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
"version" : "None"
},
{
- "enumerant" : "SubgroupImageMediaBlockIOINTEL",
- "value" : 5579,
- "extensions" : [ "SPV_INTEL_media_block_io" ],
+ "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
+ "value" : 5346,
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
"version" : "None"
},
{
- "enumerant" : "IntegerFunctions2INTEL",
- "value" : 5584,
+ "enumerant" : "PhysicalStorageBufferAddressesEXT",
+ "value" : 5347,
"capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupAvcMotionEstimationINTEL",
- "value" : 5696,
- "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
- "value" : 5697,
- "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
- "value" : 5698,
- "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
+ "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
"version" : "None"
},
{
- "enumerant" : "GroupNonUniformPartitionedNV",
- "value" : 5297,
- "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
+ "enumerant" : "ComputeDerivativeGroupLinearNV",
+ "value" : 5350,
+ "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"version" : "None"
},
{
- "enumerant" : "VulkanMemoryModelKHR",
- "value" : 5345,
- "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "enumerant" : "CooperativeMatrixNV",
+ "value" : 5357,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
"version" : "None"
},
{
- "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
- "value" : 5346,
- "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "enumerant" : "FragmentShaderSampleInterlockEXT",
+ "value" : 5363,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
},
{
- "enumerant" : "ImageFootprintNV",
- "value" : 5282,
- "extensions" : [ "SPV_NV_shader_image_footprint" ],
+ "enumerant" : "FragmentShaderShadingRateInterlockEXT",
+ "value" : 5372,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
},
{
- "enumerant" : "FragmentBarycentricNV",
- "value" : 5284,
- "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
+ "enumerant" : "ShaderSMBuiltinsNV",
+ "value" : 5373,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_shader_sm_builtins" ],
"version" : "None"
},
{
- "enumerant" : "ComputeDerivativeGroupQuadsNV",
- "value" : 5288,
- "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
+ "enumerant" : "FragmentShaderPixelInterlockEXT",
+ "value" : 5378,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
},
{
- "enumerant" : "ComputeDerivativeGroupLinearNV",
- "value" : 5350,
- "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
+ "enumerant" : "DemoteToHelperInvocationEXT",
+ "value" : 5379,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
"version" : "None"
},
{
- "enumerant" : "FragmentDensityEXT",
- "value" : 5291,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
+ "enumerant" : "SubgroupShuffleINTEL",
+ "value" : 5568,
+ "extensions" : [ "SPV_INTEL_subgroups" ],
"version" : "None"
},
{
- "enumerant" : "ShadingRateNV",
- "value" : 5291,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
+ "enumerant" : "SubgroupBufferBlockIOINTEL",
+ "value" : 5569,
+ "extensions" : [ "SPV_INTEL_subgroups" ],
"version" : "None"
},
{
- "enumerant" : "PhysicalStorageBufferAddressesEXT",
- "value" : 5347,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
+ "enumerant" : "SubgroupImageBlockIOINTEL",
+ "value" : 5570,
+ "extensions" : [ "SPV_INTEL_subgroups" ],
"version" : "None"
},
{
- "enumerant" : "CooperativeMatrixNV",
- "value" : 5357,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "enumerant" : "SubgroupImageMediaBlockIOINTEL",
+ "value" : 5579,
+ "extensions" : [ "SPV_INTEL_media_block_io" ],
"version" : "None"
},
{
- "enumerant" : "FragmentShaderSampleInterlockEXT",
- "value" : 5363,
+ "enumerant" : "IntegerFunctions2INTEL",
+ "value" : 5584,
"capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
"version" : "None"
},
{
- "enumerant" : "FragmentShaderShadingRateInterlockEXT",
- "value" : 5372,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "enumerant" : "SubgroupAvcMotionEstimationINTEL",
+ "value" : 5696,
+ "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
"version" : "None"
},
{
- "enumerant" : "FragmentShaderPixelInterlockEXT",
- "value" : 5378,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
+ "value" : 5697,
+ "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
"version" : "None"
},
{
- "enumerant" : "ShaderSMBuiltinsNV",
- "value" : 5373,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ],
+ "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
+ "value" : 5698,
+ "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
"version" : "None"
}
]
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 24470e0..93c631f 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -453,6 +453,7 @@ namespace Spv
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
+ UserTypeGOOGLE = 5636,
}
public enum BuiltIn
@@ -633,6 +634,7 @@ namespace Spv
OutputMemoryKHR = 12,
MakeAvailableKHR = 13,
MakeVisibleKHR = 14,
+ Volatile = 15,
}
public enum MemorySemanticsMask
@@ -651,6 +653,7 @@ namespace Spv
OutputMemoryKHR = 0x00001000,
MakeAvailableKHR = 0x00002000,
MakeVisibleKHR = 0x00004000,
+ Volatile = 0x00008000,
}
public enum MemoryAccessShift
@@ -847,6 +850,7 @@ namespace Spv
FragmentShaderShadingRateInterlockEXT = 5372,
ShaderSMBuiltinsNV = 5373,
FragmentShaderPixelInterlockEXT = 5378,
+ DemoteToHelperInvocationEXT = 5379,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1235,6 +1239,8 @@ namespace Spv
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 99b6fbb..4b6d9dc 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -459,6 +459,7 @@ typedef enum SpvDecoration_ {
SpvDecorationHlslCounterBufferGOOGLE = 5634,
SpvDecorationHlslSemanticGOOGLE = 5635,
SpvDecorationUserSemantic = 5635,
+ SpvDecorationUserTypeGOOGLE = 5636,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
@@ -636,6 +637,7 @@ typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsOutputMemoryKHRShift = 12,
SpvMemorySemanticsMakeAvailableKHRShift = 13,
SpvMemorySemanticsMakeVisibleKHRShift = 14,
+ SpvMemorySemanticsVolatileShift = 15,
SpvMemorySemanticsMax = 0x7fffffff,
} SpvMemorySemanticsShift;
@@ -654,6 +656,7 @@ typedef enum SpvMemorySemanticsMask_ {
SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
+ SpvMemorySemanticsVolatileMask = 0x00008000,
} SpvMemorySemanticsMask;
typedef enum SpvMemoryAccessShift_ {
@@ -847,6 +850,7 @@ typedef enum SpvCapability_ {
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
SpvCapabilityShaderSMBuiltinsNV = 5373,
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
+ SpvCapabilityDemoteToHelperInvocationEXT = 5379,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1235,6 +1239,8 @@ typedef enum SpvOp_ {
SpvOpCooperativeMatrixLengthNV = 5362,
SpvOpBeginInvocationInterlockEXT = 5364,
SpvOpEndInvocationInterlockEXT = 5365,
+ SpvOpDemoteToHelperInvocationEXT = 5380,
+ SpvOpIsHelperInvocationEXT = 5381,
SpvOpSubgroupShuffleINTEL = 5571,
SpvOpSubgroupShuffleDownINTEL = 5572,
SpvOpSubgroupShuffleUpINTEL = 5573,
@@ -1763,6 +1769,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
+ case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
@@ -1907,8 +1917,6 @@ 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 SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 03ba767..50cc20d 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -455,6 +455,7 @@ enum Decoration {
DecorationHlslCounterBufferGOOGLE = 5634,
DecorationHlslSemanticGOOGLE = 5635,
DecorationUserSemantic = 5635,
+ DecorationUserTypeGOOGLE = 5636,
DecorationMax = 0x7fffffff,
};
@@ -632,6 +633,7 @@ enum MemorySemanticsShift {
MemorySemanticsOutputMemoryKHRShift = 12,
MemorySemanticsMakeAvailableKHRShift = 13,
MemorySemanticsMakeVisibleKHRShift = 14,
+ MemorySemanticsVolatileShift = 15,
MemorySemanticsMax = 0x7fffffff,
};
@@ -650,6 +652,7 @@ enum MemorySemanticsMask {
MemorySemanticsOutputMemoryKHRMask = 0x00001000,
MemorySemanticsMakeAvailableKHRMask = 0x00002000,
MemorySemanticsMakeVisibleKHRMask = 0x00004000,
+ MemorySemanticsVolatileMask = 0x00008000,
};
enum MemoryAccessShift {
@@ -843,6 +846,7 @@ enum Capability {
CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
CapabilityShaderSMBuiltinsNV = 5373,
CapabilityFragmentShaderPixelInterlockEXT = 5378,
+ CapabilityDemoteToHelperInvocationEXT = 5379,
CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1231,6 +1235,8 @@ enum Op {
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1759,6 +1765,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
+ case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
+ case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
@@ -1903,8 +1913,6 @@ 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 OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 8d53ed5..257f77c 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -455,6 +455,7 @@ enum class Decoration : unsigned {
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
+ UserTypeGOOGLE = 5636,
Max = 0x7fffffff,
};
@@ -632,6 +633,7 @@ enum class MemorySemanticsShift : unsigned {
OutputMemoryKHR = 12,
MakeAvailableKHR = 13,
MakeVisibleKHR = 14,
+ Volatile = 15,
Max = 0x7fffffff,
};
@@ -650,6 +652,7 @@ enum class MemorySemanticsMask : unsigned {
OutputMemoryKHR = 0x00001000,
MakeAvailableKHR = 0x00002000,
MakeVisibleKHR = 0x00004000,
+ Volatile = 0x00008000,
};
enum class MemoryAccessShift : unsigned {
@@ -843,6 +846,7 @@ enum class Capability : unsigned {
FragmentShaderShadingRateInterlockEXT = 5372,
ShaderSMBuiltinsNV = 5373,
FragmentShaderPixelInterlockEXT = 5378,
+ DemoteToHelperInvocationEXT = 5379,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1231,6 +1235,8 @@ enum class Op : unsigned {
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1759,6 +1765,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
case Op::OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case Op::OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
+ case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
@@ -1903,8 +1913,6 @@ 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::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index ef73efb..4ddb573 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -488,7 +488,8 @@
"CounterBuffer": 5634,
"HlslCounterBufferGOOGLE": 5634,
"HlslSemanticGOOGLE": 5635,
- "UserSemantic": 5635
+ "UserSemantic": 5635,
+ "UserTypeGOOGLE": 5636
}
},
{
@@ -653,7 +654,8 @@
"ImageMemory": 11,
"OutputMemoryKHR": 12,
"MakeAvailableKHR": 13,
- "MakeVisibleKHR": 14
+ "MakeVisibleKHR": 14,
+ "Volatile": 15
}
},
{
@@ -851,6 +853,7 @@
"FragmentShaderShadingRateInterlockEXT": 5372,
"ShaderSMBuiltinsNV": 5373,
"FragmentShaderPixelInterlockEXT": 5378,
+ "DemoteToHelperInvocationEXT": 5379,
"SubgroupShuffleINTEL": 5568,
"SubgroupBufferBlockIOINTEL": 5569,
"SubgroupImageBlockIOINTEL": 5570,
@@ -1242,6 +1245,8 @@
"OpCooperativeMatrixLengthNV": 5362,
"OpBeginInvocationInterlockEXT": 5364,
"OpEndInvocationInterlockEXT": 5365,
+ "OpDemoteToHelperInvocationEXT": 5380,
+ "OpIsHelperInvocationEXT": 5381,
"OpSubgroupShuffleINTEL": 5571,
"OpSubgroupShuffleDownINTEL": 5572,
"OpSubgroupShuffleUpINTEL": 5573,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index a03fa5d..4ce4de8 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -428,6 +428,7 @@ spv = {
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
+ UserTypeGOOGLE = 5636,
},
BuiltIn = {
@@ -600,6 +601,7 @@ spv = {
OutputMemoryKHR = 12,
MakeAvailableKHR = 13,
MakeVisibleKHR = 14,
+ Volatile = 15,
},
MemorySemanticsMask = {
@@ -617,6 +619,7 @@ spv = {
OutputMemoryKHR = 0x00001000,
MakeAvailableKHR = 0x00002000,
MakeVisibleKHR = 0x00004000,
+ Volatile = 0x00008000,
},
MemoryAccessShift = {
@@ -805,6 +808,7 @@ spv = {
FragmentShaderShadingRateInterlockEXT = 5372,
ShaderSMBuiltinsNV = 5373,
FragmentShaderPixelInterlockEXT = 5378,
+ DemoteToHelperInvocationEXT = 5379,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1192,6 +1196,8 @@ spv = {
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 5ef4e99..d42fbe0 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -428,6 +428,7 @@ spv = {
'HlslCounterBufferGOOGLE' : 5634,
'HlslSemanticGOOGLE' : 5635,
'UserSemantic' : 5635,
+ 'UserTypeGOOGLE' : 5636,
},
'BuiltIn' : {
@@ -600,6 +601,7 @@ spv = {
'OutputMemoryKHR' : 12,
'MakeAvailableKHR' : 13,
'MakeVisibleKHR' : 14,
+ 'Volatile' : 15,
},
'MemorySemanticsMask' : {
@@ -617,6 +619,7 @@ spv = {
'OutputMemoryKHR' : 0x00001000,
'MakeAvailableKHR' : 0x00002000,
'MakeVisibleKHR' : 0x00004000,
+ 'Volatile' : 0x00008000,
},
'MemoryAccessShift' : {
@@ -805,6 +808,7 @@ spv = {
'FragmentShaderShadingRateInterlockEXT' : 5372,
'ShaderSMBuiltinsNV' : 5373,
'FragmentShaderPixelInterlockEXT' : 5378,
+ 'DemoteToHelperInvocationEXT' : 5379,
'SubgroupShuffleINTEL' : 5568,
'SubgroupBufferBlockIOINTEL' : 5569,
'SubgroupImageBlockIOINTEL' : 5570,
@@ -1192,6 +1196,8 @@ spv = {
'OpCooperativeMatrixLengthNV' : 5362,
'OpBeginInvocationInterlockEXT' : 5364,
'OpEndInvocationInterlockEXT' : 5365,
+ 'OpDemoteToHelperInvocationEXT' : 5380,
+ 'OpIsHelperInvocationEXT' : 5381,
'OpSubgroupShuffleINTEL' : 5571,
'OpSubgroupShuffleDownINTEL' : 5572,
'OpSubgroupShuffleUpINTEL' : 5573,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index bde15c3..a8dbd00 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -456,6 +456,7 @@ enum Decoration : uint
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
+ UserTypeGOOGLE = 5636,
}
enum BuiltIn : uint
@@ -636,6 +637,7 @@ enum MemorySemanticsShift : uint
OutputMemoryKHR = 12,
MakeAvailableKHR = 13,
MakeVisibleKHR = 14,
+ Volatile = 15,
}
enum MemorySemanticsMask : uint
@@ -654,6 +656,7 @@ enum MemorySemanticsMask : uint
OutputMemoryKHR = 0x00001000,
MakeAvailableKHR = 0x00002000,
MakeVisibleKHR = 0x00004000,
+ Volatile = 0x00008000,
}
enum MemoryAccessShift : uint
@@ -850,6 +853,7 @@ enum Capability : uint
FragmentShaderShadingRateInterlockEXT = 5372,
ShaderSMBuiltinsNV = 5373,
FragmentShaderPixelInterlockEXT = 5378,
+ DemoteToHelperInvocationEXT = 5379,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1238,6 +1242,8 @@ enum Op : uint
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,