diff options
-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, |