From dfed4479d48c2b7856dd2fad2321f0ad6989d74e Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Fri, 12 Dec 2025 08:06:25 -0800 Subject: [PATCH] build: Update to header 1.4.336 --- CMakeLists.txt | 2 +- include/vulkan/utility/vk_dispatch_table.h | 2 + include/vulkan/utility/vk_safe_struct.hpp | 41 ++++++++ include/vulkan/utility/vk_struct_helper.hpp | 2 + include/vulkan/vk_enum_string_helper.h | 8 ++ scripts/known_good.json | 2 +- src/vulkan/vk_safe_struct_utils.cpp | 6 ++ src/vulkan/vk_safe_struct_vendor.cpp | 108 ++++++++++++++++++++ 8 files changed, 169 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d72732e..150b380 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.22.1) # The VERSION field is generated with the "--generated-version" flag in the generate_source.py script -project(VUL VERSION 1.4.335 LANGUAGES CXX) +project(VUL VERSION 1.4.336 LANGUAGES CXX) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Remove when min is 3.26, see CMP0143 diff --git a/include/vulkan/utility/vk_dispatch_table.h b/include/vulkan/utility/vk_dispatch_table.h index 3fd0b9e..c88c247 100644 --- a/include/vulkan/utility/vk_dispatch_table.h +++ b/include/vulkan/utility/vk_dispatch_table.h @@ -836,6 +836,7 @@ typedef struct VkuDeviceDispatchTable_ { #endif // VK_USE_PLATFORM_METAL_EXT PFN_vkCmdEndRendering2EXT CmdEndRendering2EXT; PFN_vkCmdBeginCustomResolveEXT CmdBeginCustomResolveEXT; + PFN_vkCmdSetComputeOccupancyPriorityNV CmdSetComputeOccupancyPriorityNV; PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR; PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR; PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR; @@ -1528,6 +1529,7 @@ static inline void vkuInitDeviceDispatchTable(VkDevice device, VkuDeviceDispatch #endif // VK_USE_PLATFORM_METAL_EXT table->CmdEndRendering2EXT = (PFN_vkCmdEndRendering2EXT)gdpa(device, "vkCmdEndRendering2EXT"); table->CmdBeginCustomResolveEXT = (PFN_vkCmdBeginCustomResolveEXT)gdpa(device, "vkCmdBeginCustomResolveEXT"); + table->CmdSetComputeOccupancyPriorityNV = (PFN_vkCmdSetComputeOccupancyPriorityNV)gdpa(device, "vkCmdSetComputeOccupancyPriorityNV"); table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)gdpa(device, "vkCreateAccelerationStructureKHR"); table->DestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)gdpa(device, "vkDestroyAccelerationStructureKHR"); table->CmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)gdpa(device, "vkCmdBuildAccelerationStructuresKHR"); diff --git a/include/vulkan/utility/vk_safe_struct.hpp b/include/vulkan/utility/vk_safe_struct.hpp index cbb0888..062ce22 100644 --- a/include/vulkan/utility/vk_safe_struct.hpp +++ b/include/vulkan/utility/vk_safe_struct.hpp @@ -23053,6 +23053,47 @@ struct safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT { return reinterpret_cast(this); } }; +struct safe_VkComputeOccupancyPriorityParametersNV { + VkStructureType sType; + const void* pNext{}; + float occupancyPriority; + float occupancyThrottling; + + safe_VkComputeOccupancyPriorityParametersNV(const VkComputeOccupancyPriorityParametersNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkComputeOccupancyPriorityParametersNV(const safe_VkComputeOccupancyPriorityParametersNV& copy_src); + safe_VkComputeOccupancyPriorityParametersNV& operator=(const safe_VkComputeOccupancyPriorityParametersNV& copy_src); + safe_VkComputeOccupancyPriorityParametersNV(); + ~safe_VkComputeOccupancyPriorityParametersNV(); + void initialize(const VkComputeOccupancyPriorityParametersNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkComputeOccupancyPriorityParametersNV* copy_src, PNextCopyState* copy_state = {}); + VkComputeOccupancyPriorityParametersNV* ptr() { return reinterpret_cast(this); } + VkComputeOccupancyPriorityParametersNV const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 computeOccupancyPriority; + + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src); + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& operator=( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src); + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(); + ~safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(); + void initialize(const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkAccelerationStructureGeometryTrianglesDataKHR { VkStructureType sType; const void* pNext{}; diff --git a/include/vulkan/utility/vk_struct_helper.hpp b/include/vulkan/utility/vk_struct_helper.hpp index 4ffdba7..7569e18 100644 --- a/include/vulkan/utility/vk_struct_helper.hpp +++ b/include/vulkan/utility/vk_struct_helper.hpp @@ -1201,6 +1201,8 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR; } diff --git a/include/vulkan/vk_enum_string_helper.h b/include/vulkan/vk_enum_string_helper.h index fdb8917..5d0095c 100644 --- a/include/vulkan/vk_enum_string_helper.h +++ b/include/vulkan/vk_enum_string_helper.h @@ -2416,6 +2416,10 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV: + return "VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV"; default: return "Unhandled VkStructureType"; } @@ -13551,6 +13555,10 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: return "VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT"; + case VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV: + return "VkComputeOccupancyPriorityParametersNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + return "VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV"; case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: return "VkAccelerationStructureGeometryTrianglesDataKHR"; case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: diff --git a/scripts/known_good.json b/scripts/known_good.json index 4d13f41..404b1e0 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.4.335" + "commit": "v1.4.336" }, { "name": "googletest", diff --git a/src/vulkan/vk_safe_struct_utils.cpp b/src/vulkan/vk_safe_struct_utils.cpp index da6f809..2258d10 100644 --- a/src/vulkan/vk_safe_struct_utils.cpp +++ b/src/vulkan/vk_safe_struct_utils.cpp @@ -2314,6 +2314,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: safe_pNext = new safe_VkWriteDescriptorSetAccelerationStructureKHR(reinterpret_cast(pNext), copy_state, false); break; @@ -4644,6 +4647,9 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: delete reinterpret_cast(header); break; diff --git a/src/vulkan/vk_safe_struct_vendor.cpp b/src/vulkan/vk_safe_struct_vendor.cpp index 91772df..b08abc8 100644 --- a/src/vulkan/vk_safe_struct_vendor.cpp +++ b/src/vulkan/vk_safe_struct_vendor.cpp @@ -23172,6 +23172,114 @@ void safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::initialize( pNext = SafePnextCopy(copy_src->pNext); } +safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV( + const VkComputeOccupancyPriorityParametersNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + occupancyPriority(in_struct->occupancyPriority), + occupancyThrottling(in_struct->occupancyThrottling) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV() + : sType(VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV), + pNext(nullptr), + occupancyPriority(), + occupancyThrottling() {} + +safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV( + const safe_VkComputeOccupancyPriorityParametersNV& copy_src) { + sType = copy_src.sType; + occupancyPriority = copy_src.occupancyPriority; + occupancyThrottling = copy_src.occupancyThrottling; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkComputeOccupancyPriorityParametersNV& safe_VkComputeOccupancyPriorityParametersNV::operator=( + const safe_VkComputeOccupancyPriorityParametersNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + occupancyPriority = copy_src.occupancyPriority; + occupancyThrottling = copy_src.occupancyThrottling; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkComputeOccupancyPriorityParametersNV::~safe_VkComputeOccupancyPriorityParametersNV() { FreePnextChain(pNext); } + +void safe_VkComputeOccupancyPriorityParametersNV::initialize(const VkComputeOccupancyPriorityParametersNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + occupancyPriority = in_struct->occupancyPriority; + occupancyThrottling = in_struct->occupancyThrottling; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkComputeOccupancyPriorityParametersNV::initialize(const safe_VkComputeOccupancyPriorityParametersNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + occupancyPriority = copy_src->occupancyPriority; + occupancyThrottling = copy_src->occupancyThrottling; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV( + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), computeOccupancyPriority(in_struct->computeOccupancyPriority) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV), pNext(nullptr), computeOccupancyPriority() {} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src) { + sType = copy_src.sType; + computeOccupancyPriority = copy_src.computeOccupancyPriority; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::operator=( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + computeOccupancyPriority = copy_src.computeOccupancyPriority; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::~safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize( + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + computeOccupancyPriority = in_struct->computeOccupancyPriority; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + computeOccupancyPriority = copy_src->computeOccupancyPriority; + pNext = SafePnextCopy(copy_src->pNext); +} + } // namespace vku // NOLINTEND