aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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,