diff options
author | David Neto <dneto@google.com> | 2019-07-16 15:12:55 -0400 |
---|---|---|
committer | David Neto <dneto@google.com> | 2019-07-16 15:14:11 -0400 |
commit | 456c3fb14bdcac0639572415b4c2356fbd95fc64 (patch) | |
tree | 7eab0354563829846f4f0587ada00d235c061ab6 | |
parent | 5c041daac25c12254c948246ebf34cdfe40ac288 (diff) | |
parent | 45c2cc37276d69e5b257507d97fd90d2a5684ccc (diff) | |
download | spirv-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.txt | 67 | ||||
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | cmake/Config.cmake.in | 4 | ||||
-rw-r--r-- | include/spirv/spir-v.xml | 7 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.core.grammar.json | 410 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.cs | 6 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.h | 12 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp | 12 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp11 | 12 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.json | 9 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.lua | 6 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.py | 6 | ||||
-rw-r--r-- | include/spirv/unified1/spv.d | 6 |
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}" +) + @@ -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, |