diff --git a/include/vulkan/utility/vk_dispatch_table.h b/include/vulkan/utility/vk_dispatch_table.h index 3c2e6b2..1397b92 100644 --- a/include/vulkan/utility/vk_dispatch_table.h +++ b/include/vulkan/utility/vk_dispatch_table.h @@ -166,6 +166,7 @@ typedef struct VkuInstanceDispatchTable_ { PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV; PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM; #ifdef VK_USE_PLATFORM_OHOS PFN_vkCreateSurfaceOHOS CreateSurfaceOHOS; #endif // VK_USE_PLATFORM_OHOS @@ -689,6 +690,7 @@ typedef struct VkuDeviceDispatchTable_ { PFN_vkDestroyPrivateDataSlotEXT DestroyPrivateDataSlotEXT; PFN_vkSetPrivateDataEXT SetPrivateDataEXT; PFN_vkGetPrivateDataEXT GetPrivateDataEXT; + PFN_vkQueueSetPerfHintQCOM QueueSetPerfHintQCOM; #ifdef VK_ENABLE_BETA_EXTENSIONS PFN_vkCreateCudaModuleNV CreateCudaModuleNV; PFN_vkGetCudaModuleCacheNV GetCudaModuleCacheNV; @@ -758,6 +760,7 @@ typedef struct VkuDeviceDispatchTable_ { PFN_vkCmdDrawClusterHUAWEI CmdDrawClusterHUAWEI; PFN_vkCmdDrawClusterIndirectHUAWEI CmdDrawClusterIndirectHUAWEI; PFN_vkSetDeviceMemoryPriorityEXT SetDeviceMemoryPriorityEXT; + PFN_vkCmdSetDispatchParametersARM CmdSetDispatchParametersARM; PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE GetDescriptorSetLayoutHostMappingInfoVALVE; PFN_vkGetDescriptorSetHostMappingVALVE GetDescriptorSetHostMappingVALVE; PFN_vkCmdCopyMemoryIndirectNV CmdCopyMemoryIndirectNV; @@ -878,6 +881,7 @@ typedef struct VkuDeviceDispatchTable_ { PFN_vkCmdEndRendering2EXT CmdEndRendering2EXT; PFN_vkCmdBeginCustomResolveEXT CmdBeginCustomResolveEXT; PFN_vkCmdSetComputeOccupancyPriorityNV CmdSetComputeOccupancyPriorityNV; + PFN_vkCmdSetPrimitiveRestartIndexEXT CmdSetPrimitiveRestartIndexEXT; PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR; PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR; PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR; @@ -1417,6 +1421,7 @@ static inline void vkuInitDeviceDispatchTable(VkDevice device, VkuDeviceDispatch table->DestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)gdpa(device, "vkDestroyPrivateDataSlotEXT"); table->SetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)gdpa(device, "vkSetPrivateDataEXT"); table->GetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)gdpa(device, "vkGetPrivateDataEXT"); + table->QueueSetPerfHintQCOM = (PFN_vkQueueSetPerfHintQCOM)gdpa(device, "vkQueueSetPerfHintQCOM"); #ifdef VK_ENABLE_BETA_EXTENSIONS table->CreateCudaModuleNV = (PFN_vkCreateCudaModuleNV)gdpa(device, "vkCreateCudaModuleNV"); table->GetCudaModuleCacheNV = (PFN_vkGetCudaModuleCacheNV)gdpa(device, "vkGetCudaModuleCacheNV"); @@ -1486,6 +1491,7 @@ static inline void vkuInitDeviceDispatchTable(VkDevice device, VkuDeviceDispatch table->CmdDrawClusterHUAWEI = (PFN_vkCmdDrawClusterHUAWEI)gdpa(device, "vkCmdDrawClusterHUAWEI"); table->CmdDrawClusterIndirectHUAWEI = (PFN_vkCmdDrawClusterIndirectHUAWEI)gdpa(device, "vkCmdDrawClusterIndirectHUAWEI"); table->SetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)gdpa(device, "vkSetDeviceMemoryPriorityEXT"); + table->CmdSetDispatchParametersARM = (PFN_vkCmdSetDispatchParametersARM)gdpa(device, "vkCmdSetDispatchParametersARM"); table->GetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)gdpa(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE"); table->GetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)gdpa(device, "vkGetDescriptorSetHostMappingVALVE"); table->CmdCopyMemoryIndirectNV = (PFN_vkCmdCopyMemoryIndirectNV)gdpa(device, "vkCmdCopyMemoryIndirectNV"); @@ -1606,6 +1612,7 @@ static inline void vkuInitDeviceDispatchTable(VkDevice device, VkuDeviceDispatch table->CmdEndRendering2EXT = (PFN_vkCmdEndRendering2EXT)gdpa(device, "vkCmdEndRendering2EXT"); table->CmdBeginCustomResolveEXT = (PFN_vkCmdBeginCustomResolveEXT)gdpa(device, "vkCmdBeginCustomResolveEXT"); table->CmdSetComputeOccupancyPriorityNV = (PFN_vkCmdSetComputeOccupancyPriorityNV)gdpa(device, "vkCmdSetComputeOccupancyPriorityNV"); + table->CmdSetPrimitiveRestartIndexEXT = (PFN_vkCmdSetPrimitiveRestartIndexEXT)gdpa(device, "vkCmdSetPrimitiveRestartIndexEXT"); table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)gdpa(device, "vkCreateAccelerationStructureKHR"); table->DestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)gdpa(device, "vkDestroyAccelerationStructureKHR"); table->CmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)gdpa(device, "vkCmdBuildAccelerationStructuresKHR"); @@ -1778,6 +1785,7 @@ static inline void vkuInitInstanceDispatchTable(VkInstance instance, VkuInstance table->GetPhysicalDeviceCooperativeVectorPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)gipa(instance, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV"); table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); + table->GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM"); #ifdef VK_USE_PLATFORM_OHOS table->CreateSurfaceOHOS = (PFN_vkCreateSurfaceOHOS)gipa(instance, "vkCreateSurfaceOHOS"); #endif // VK_USE_PLATFORM_OHOS diff --git a/include/vulkan/utility/vk_safe_struct.hpp b/include/vulkan/utility/vk_safe_struct.hpp index af5a1f4..1f41ff0 100644 --- a/include/vulkan/utility/vk_safe_struct.hpp +++ b/include/vulkan/utility/vk_safe_struct.hpp @@ -13616,7 +13616,7 @@ struct safe_VkAccelerationStructureInfoNV { VkStructureType sType; const void* pNext{}; VkAccelerationStructureTypeNV type; - VkBuildAccelerationStructureFlagsNV flags; + VkBuildAccelerationStructureFlagsKHR flags; uint32_t instanceCount; uint32_t geometryCount; safe_VkGeometryNV* pGeometries{}; @@ -15931,6 +15931,60 @@ struct safe_VkDeviceDiagnosticsConfigCreateInfoNV { return reinterpret_cast(this); } }; +struct safe_VkPerfHintInfoQCOM { + VkStructureType sType; + void* pNext{}; + VkPerfHintTypeQCOM type; + uint32_t scale; + + safe_VkPerfHintInfoQCOM(const VkPerfHintInfoQCOM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPerfHintInfoQCOM(const safe_VkPerfHintInfoQCOM& copy_src); + safe_VkPerfHintInfoQCOM& operator=(const safe_VkPerfHintInfoQCOM& copy_src); + safe_VkPerfHintInfoQCOM(); + ~safe_VkPerfHintInfoQCOM(); + void initialize(const VkPerfHintInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPerfHintInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPerfHintInfoQCOM* ptr() { return reinterpret_cast(this); } + VkPerfHintInfoQCOM const* ptr() const { return reinterpret_cast(this); } +}; +struct safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 queuePerfHint; + + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& operator=(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(); + ~safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(); + void initialize(const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceQueuePerfHintFeaturesQCOM* ptr() { return reinterpret_cast(this); } + VkPhysicalDeviceQueuePerfHintFeaturesQCOM const* ptr() const { + return reinterpret_cast(this); + } +}; +struct safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM { + VkStructureType sType; + void* pNext{}; + VkQueueFlags supportedQueues; + + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& operator=(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(); + ~safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(); + void initialize(const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceQueuePerfHintPropertiesQCOM* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceQueuePerfHintPropertiesQCOM const* ptr() const { + return reinterpret_cast(this); + } +}; #ifdef VK_ENABLE_BETA_EXTENSIONS struct safe_VkCudaModuleCreateInfoNV { VkStructureType sType; @@ -16419,29 +16473,6 @@ struct safe_VkPhysicalDeviceDescriptorBufferPropertiesEXT { return reinterpret_cast(this); } }; -struct safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { - VkStructureType sType; - void* pNext{}; - size_t combinedImageSamplerDensityMapDescriptorSize; - - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& operator=( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); - ~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); - void initialize(const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* ptr() { - return reinterpret_cast(this); - } - VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const* ptr() const { - return reinterpret_cast(this); - } -}; struct safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -16654,6 +16685,29 @@ struct safe_VkAccelerationStructureCaptureDescriptorDataInfoEXT { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { + VkStructureType sType; + void* pNext{}; + size_t combinedImageSamplerDensityMapDescriptorSize; + + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& operator=( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); + ~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); + void initialize(const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -18845,6 +18899,50 @@ struct safe_VkPhysicalDeviceSchedulingControlsPropertiesARM { return reinterpret_cast(this); } }; +struct safe_VkDispatchParametersARM { + VkStructureType sType; + void* pNext{}; + uint32_t workGroupBatchSize; + uint32_t maxQueuedWorkGroupBatches; + uint32_t maxWarpsPerShaderCore; + + safe_VkDispatchParametersARM(const VkDispatchParametersARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDispatchParametersARM(const safe_VkDispatchParametersARM& copy_src); + safe_VkDispatchParametersARM& operator=(const safe_VkDispatchParametersARM& copy_src); + safe_VkDispatchParametersARM(); + ~safe_VkDispatchParametersARM(); + void initialize(const VkDispatchParametersARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDispatchParametersARM* copy_src, PNextCopyState* copy_state = {}); + VkDispatchParametersARM* ptr() { return reinterpret_cast(this); } + VkDispatchParametersARM const* ptr() const { return reinterpret_cast(this); } +}; +struct safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t schedulingControlsMaxWarpsCount; + uint32_t schedulingControlsMaxQueuedBatchesCount; + uint32_t schedulingControlsMaxWorkGroupBatchSize; + + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src); + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& operator=( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src); + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM(); + ~safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM(); + void initialize(const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, + PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -21420,7 +21518,7 @@ struct safe_VkDataGraphPipelineCompilerControlCreateInfoARM { struct safe_VkDataGraphPipelineCreateInfoARM { VkStructureType sType; const void* pNext{}; - VkPipelineCreateFlags2KHR flags; + VkPipelineCreateFlags2 flags; VkPipelineLayout layout; uint32_t resourceInfoCount; safe_VkDataGraphPipelineResourceInfoARM* pResourceInfos{}; @@ -21762,6 +21860,28 @@ struct safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM { return reinterpret_cast(this); } }; +struct safe_VkQueueFamilyDataGraphTOSAPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t profileCount; + const VkDataGraphTOSANameQualityARM* pProfiles{}; + uint32_t extensionCount; + const VkDataGraphTOSANameQualityARM* pExtensions{}; + VkDataGraphTOSALevelARM level; + + safe_VkQueueFamilyDataGraphTOSAPropertiesARM(const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkQueueFamilyDataGraphTOSAPropertiesARM(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphTOSAPropertiesARM& operator=(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphTOSAPropertiesARM(); + ~safe_VkQueueFamilyDataGraphTOSAPropertiesARM(); + void initialize(const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkQueueFamilyDataGraphTOSAPropertiesARM* ptr() { return reinterpret_cast(this); } + VkQueueFamilyDataGraphTOSAPropertiesARM const* ptr() const { + return reinterpret_cast(this); + } +}; struct safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { VkStructureType sType; void* pNext{}; @@ -24277,6 +24397,27 @@ struct safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE { return reinterpret_cast(this); } }; +struct safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 primitiveRestartIndex; + + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src); + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& operator=( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src); + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(); + ~safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(); + void initialize(const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* ptr() { + return reinterpret_cast(this); + } + VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT 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 1e5120f..cffd12c 100644 --- a/include/vulkan/utility/vk_struct_helper.hpp +++ b/include/vulkan/utility/vk_struct_helper.hpp @@ -829,6 +829,9 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM; } #ifdef VK_ENABLE_BETA_EXTENSIONS template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV; } @@ -858,7 +861,6 @@ template <> inline VkStructureType GetSType() { template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT; } #endif // VK_USE_PLATFORM_METAL_EXT template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT; } -template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT; } @@ -870,6 +872,7 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT; } @@ -981,6 +984,8 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE; } @@ -1127,6 +1132,7 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM; } template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV; } @@ -1254,6 +1260,7 @@ template <> inline VkStructureType GetSType inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC; } #endif // VK_USE_PLATFORM_UBM_SEC template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE; } +template <> inline VkStructureType GetSType() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT; } 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 af9587a..71cedfb 100644 --- a/include/vulkan/vk_enum_string_helper.h +++ b/include/vulkan/vk_enum_string_helper.h @@ -1452,6 +1452,12 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"; case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM: + return "VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM"; #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV"; @@ -1778,6 +1784,10 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM: + return "VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT"; case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: @@ -2120,6 +2130,8 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM"; case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM"; case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: @@ -2520,6 +2532,8 @@ static inline const char* string_VkStructureType(VkStructureType input_value) { return "VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT"; default: return "Unhandled VkStructureType"; } @@ -5252,6 +5266,20 @@ static inline const char* string_VkDeviceMemoryReportEventTypeEXT(VkDeviceMemory return "Unhandled VkDeviceMemoryReportEventTypeEXT"; } } +static inline const char* string_VkPerfHintTypeQCOM(VkPerfHintTypeQCOM input_value) { + switch (input_value) { + case VK_PERF_HINT_TYPE_DEFAULT_QCOM: + return "VK_PERF_HINT_TYPE_DEFAULT_QCOM"; + case VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM: + return "VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM"; + case VK_PERF_HINT_TYPE_FREQUENCY_MAX_QCOM: + return "VK_PERF_HINT_TYPE_FREQUENCY_MAX_QCOM"; + case VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM: + return "VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM"; + default: + return "Unhandled VkPerfHintTypeQCOM"; + } +} static inline const char* string_VkFragmentShadingRateTypeNV(VkFragmentShadingRateTypeNV input_value) { switch (input_value) { case VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV: @@ -5710,6 +5738,16 @@ static inline const char* string_VkPhysicalDeviceDataGraphOperationTypeARM(VkPhy return "Unhandled VkPhysicalDeviceDataGraphOperationTypeARM"; } } +static inline const char* string_VkDataGraphTOSALevelARM(VkDataGraphTOSALevelARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_TOSA_LEVEL_NONE_ARM: + return "VK_DATA_GRAPH_TOSA_LEVEL_NONE_ARM"; + case VK_DATA_GRAPH_TOSA_LEVEL_8K_ARM: + return "VK_DATA_GRAPH_TOSA_LEVEL_8K_ARM"; + default: + return "Unhandled VkDataGraphTOSALevelARM"; + } +} static inline const char* string_VkBlockMatchWindowCompareModeQCOM(VkBlockMatchWindowCompareModeQCOM input_value) { switch (input_value) { case VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM: @@ -11067,6 +11105,7 @@ static inline std::string string_VkMicromapCreateFlagsEXT(VkMicromapCreateFlagsE #endif // __cplusplus static inline const char* string_VkPhysicalDeviceSchedulingControlsFlagBitsARM(uint64_t input_value) { if (input_value == VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM) return "VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM"; + if (input_value == VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_ARM) return "VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_ARM"; return "Unhandled VkPhysicalDeviceSchedulingControlsFlagBitsARM"; } @@ -11348,6 +11387,37 @@ static inline std::string string_VkDataGraphPipelineSessionCreateFlagsARM(VkData return ret; } #endif // __cplusplus +static inline const char* string_VkDataGraphTOSAQualityFlagBitsARM(VkDataGraphTOSAQualityFlagBitsARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_TOSA_QUALITY_ACCELERATED_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_ACCELERATED_ARM"; + case VK_DATA_GRAPH_TOSA_QUALITY_CONFORMANT_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_CONFORMANT_ARM"; + case VK_DATA_GRAPH_TOSA_QUALITY_EXPERIMENTAL_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_EXPERIMENTAL_ARM"; + case VK_DATA_GRAPH_TOSA_QUALITY_DEPRECATED_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_DEPRECATED_ARM"; + default: + return "Unhandled VkDataGraphTOSAQualityFlagBitsARM"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDataGraphTOSAQualityFlagsARM(VkDataGraphTOSAQualityFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDataGraphTOSAQualityFlagBitsARM(static_cast(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDataGraphTOSAQualityFlagsARM(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkClusterAccelerationStructureAddressResolutionFlagBitsNV(VkClusterAccelerationStructureAddressResolutionFlagBitsNV input_value) { switch (input_value) { case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV: @@ -13142,6 +13212,12 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkPhysicalDeviceDiagnosticsConfigFeaturesNV"; case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return "VkDeviceDiagnosticsConfigCreateInfoNV"; + case VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM: + return "VkPerfHintInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + return "VkPhysicalDeviceQueuePerfHintFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + return "VkPhysicalDeviceQueuePerfHintPropertiesQCOM"; #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV: return "VkCudaModuleCreateInfoNV"; @@ -13196,8 +13272,6 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { #endif // VK_USE_PLATFORM_METAL_EXT case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: return "VkPhysicalDeviceDescriptorBufferPropertiesEXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: - return "VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: return "VkPhysicalDeviceDescriptorBufferFeaturesEXT"; case VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT: @@ -13220,6 +13294,8 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkOpaqueCaptureDescriptorDataCreateInfoEXT"; case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: return "VkAccelerationStructureCaptureDescriptorDataInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: + return "VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: return "VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: @@ -13434,6 +13510,10 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkPhysicalDeviceSchedulingControlsFeaturesARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: return "VkPhysicalDeviceSchedulingControlsPropertiesARM"; + case VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM: + return "VkDispatchParametersARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + return "VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: return "VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT"; case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: @@ -13720,6 +13800,8 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { return "VkQueueFamilyDataGraphProcessingEnginePropertiesARM"; case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: return "VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM: + return "VkQueueFamilyDataGraphTOSAPropertiesARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: return "VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM"; case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: @@ -13966,6 +14048,8 @@ static inline const char* string_VkStructureName(VkStructureType input_value) { #endif // VK_USE_PLATFORM_UBM_SEC case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: return "VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + return "VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT"; 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 9f76945..efd9cc0 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.347" + "commit": "v1.4.348" }, { "name": "googletest", diff --git a/src/vulkan/vk_safe_struct_ext.cpp b/src/vulkan/vk_safe_struct_ext.cpp index 5067a7d..1f171a3 100644 --- a/src/vulkan/vk_safe_struct_ext.cpp +++ b/src/vulkan/vk_safe_struct_ext.cpp @@ -9552,61 +9552,6 @@ void safe_VkPhysicalDeviceDescriptorBufferPropertiesEXT::initialize( pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - combinedImageSamplerDensityMapDescriptorSize(in_struct->combinedImageSamplerDensityMapDescriptorSize) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT), - pNext(nullptr), - combinedImageSamplerDensityMapDescriptorSize() {} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { - sType = copy_src.sType; - combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::operator=( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( - const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - combinedImageSamplerDensityMapDescriptorSize = in_struct->combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - combinedImageSamplerDensityMapDescriptorSize = copy_src->combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT::safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT( const VkPhysicalDeviceDescriptorBufferFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -10185,6 +10130,61 @@ void safe_VkAccelerationStructureCaptureDescriptorDataInfoEXT::initialize( pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + combinedImageSamplerDensityMapDescriptorSize(in_struct->combinedImageSamplerDensityMapDescriptorSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT), + pNext(nullptr), + combinedImageSamplerDensityMapDescriptorSize() {} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { + sType = copy_src.sType; + combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::operator=( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + combinedImageSamplerDensityMapDescriptorSize = in_struct->combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + combinedImageSamplerDensityMapDescriptorSize = copy_src->combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT::safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -18359,6 +18359,56 @@ void safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::initialize( pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT( + const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), primitiveRestartIndex(in_struct->primitiveRestartIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT), pNext(nullptr), primitiveRestartIndex() {} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src) { + sType = copy_src.sType; + primitiveRestartIndex = copy_src.primitiveRestartIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::operator=( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + primitiveRestartIndex = copy_src.primitiveRestartIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::~safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::initialize( + const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + primitiveRestartIndex = in_struct->primitiveRestartIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::initialize( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + primitiveRestartIndex = copy_src->primitiveRestartIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceMeshShaderFeaturesEXT::safe_VkPhysicalDeviceMeshShaderFeaturesEXT( const VkPhysicalDeviceMeshShaderFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), diff --git a/src/vulkan/vk_safe_struct_utils.cpp b/src/vulkan/vk_safe_struct_utils.cpp index c38a83a..11524bf 100644 --- a/src/vulkan/vk_safe_struct_utils.cpp +++ b/src/vulkan/vk_safe_struct_utils.cpp @@ -1539,6 +1539,12 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: safe_pNext = new safe_VkDeviceDiagnosticsConfigCreateInfoNV(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(reinterpret_cast(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(reinterpret_cast(pNext), copy_state, false); + break; #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceCudaKernelLaunchFeaturesNV(reinterpret_cast(pNext), copy_state, false); @@ -1597,9 +1603,6 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferPropertiesEXT(reinterpret_cast(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: - safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(reinterpret_cast(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; @@ -1609,6 +1612,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: safe_pNext = new safe_VkOpaqueCaptureDescriptorDataCreateInfoEXT(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; @@ -1844,6 +1850,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: safe_pNext = new safe_VkPhysicalDeviceSchedulingControlsPropertiesARM(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM(reinterpret_cast(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(reinterpret_cast(pNext), copy_state, false); break; @@ -2393,6 +2402,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: safe_pNext = new safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE(reinterpret_cast(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(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; @@ -3948,6 +3960,12 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + delete reinterpret_cast(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + delete reinterpret_cast(header); + break; #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: delete reinterpret_cast(header); @@ -4006,9 +4024,6 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: delete reinterpret_cast(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: - delete reinterpret_cast(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: delete reinterpret_cast(header); break; @@ -4018,6 +4033,9 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: delete reinterpret_cast(header); break; @@ -4253,6 +4271,9 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + delete reinterpret_cast(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: delete reinterpret_cast(header); break; @@ -4802,6 +4823,9 @@ void FreePnextChain(const void *pNext) { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: delete reinterpret_cast(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + 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 b953d68..305bc03 100644 --- a/src/vulkan/vk_safe_struct_vendor.cpp +++ b/src/vulkan/vk_safe_struct_vendor.cpp @@ -8196,6 +8196,150 @@ void safe_VkDeviceDiagnosticsConfigCreateInfoNV::initialize(const safe_VkDeviceD flags = copy_src->flags; pNext = SafePnextCopy(copy_src->pNext); } + +safe_VkPerfHintInfoQCOM::safe_VkPerfHintInfoQCOM(const VkPerfHintInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), type(in_struct->type), scale(in_struct->scale) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPerfHintInfoQCOM::safe_VkPerfHintInfoQCOM() + : sType(VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM), pNext(nullptr), type(), scale() {} + +safe_VkPerfHintInfoQCOM::safe_VkPerfHintInfoQCOM(const safe_VkPerfHintInfoQCOM& copy_src) { + sType = copy_src.sType; + type = copy_src.type; + scale = copy_src.scale; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPerfHintInfoQCOM& safe_VkPerfHintInfoQCOM::operator=(const safe_VkPerfHintInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + type = copy_src.type; + scale = copy_src.scale; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPerfHintInfoQCOM::~safe_VkPerfHintInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkPerfHintInfoQCOM::initialize(const VkPerfHintInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + type = in_struct->type; + scale = in_struct->scale; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPerfHintInfoQCOM::initialize(const safe_VkPerfHintInfoQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + type = copy_src->type; + scale = copy_src->scale; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM( + const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), queuePerfHint(in_struct->queuePerfHint) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM), pNext(nullptr), queuePerfHint() {} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM( + const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src) { + sType = copy_src.sType; + queuePerfHint = copy_src.queuePerfHint; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::operator=( + const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + queuePerfHint = copy_src.queuePerfHint; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::~safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::initialize(const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + queuePerfHint = in_struct->queuePerfHint; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::initialize(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + queuePerfHint = copy_src->queuePerfHint; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM( + const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), supportedQueues(in_struct->supportedQueues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM), pNext(nullptr), supportedQueues() {} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM( + const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src) { + sType = copy_src.sType; + supportedQueues = copy_src.supportedQueues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::operator=( + const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + supportedQueues = copy_src.supportedQueues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::~safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::initialize(const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + supportedQueues = in_struct->supportedQueues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::initialize(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + supportedQueues = copy_src->supportedQueues; + pNext = SafePnextCopy(copy_src->pNext); +} #ifdef VK_ENABLE_BETA_EXTENSIONS safe_VkCudaModuleCreateInfoNV::safe_VkCudaModuleCreateInfoNV(const VkCudaModuleCreateInfoNV* in_struct, @@ -11539,6 +11683,140 @@ void safe_VkPhysicalDeviceSchedulingControlsPropertiesARM::initialize( pNext = SafePnextCopy(copy_src->pNext); } +safe_VkDispatchParametersARM::safe_VkDispatchParametersARM(const VkDispatchParametersARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + workGroupBatchSize(in_struct->workGroupBatchSize), + maxQueuedWorkGroupBatches(in_struct->maxQueuedWorkGroupBatches), + maxWarpsPerShaderCore(in_struct->maxWarpsPerShaderCore) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDispatchParametersARM::safe_VkDispatchParametersARM() + : sType(VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM), + pNext(nullptr), + workGroupBatchSize(), + maxQueuedWorkGroupBatches(), + maxWarpsPerShaderCore() {} + +safe_VkDispatchParametersARM::safe_VkDispatchParametersARM(const safe_VkDispatchParametersARM& copy_src) { + sType = copy_src.sType; + workGroupBatchSize = copy_src.workGroupBatchSize; + maxQueuedWorkGroupBatches = copy_src.maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = copy_src.maxWarpsPerShaderCore; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDispatchParametersARM& safe_VkDispatchParametersARM::operator=(const safe_VkDispatchParametersARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + workGroupBatchSize = copy_src.workGroupBatchSize; + maxQueuedWorkGroupBatches = copy_src.maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = copy_src.maxWarpsPerShaderCore; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDispatchParametersARM::~safe_VkDispatchParametersARM() { FreePnextChain(pNext); } + +void safe_VkDispatchParametersARM::initialize(const VkDispatchParametersARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + workGroupBatchSize = in_struct->workGroupBatchSize; + maxQueuedWorkGroupBatches = in_struct->maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = in_struct->maxWarpsPerShaderCore; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDispatchParametersARM::initialize(const safe_VkDispatchParametersARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + workGroupBatchSize = copy_src->workGroupBatchSize; + maxQueuedWorkGroupBatches = copy_src->maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = copy_src->maxWarpsPerShaderCore; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + schedulingControlsMaxWarpsCount(in_struct->schedulingControlsMaxWarpsCount), + schedulingControlsMaxQueuedBatchesCount(in_struct->schedulingControlsMaxQueuedBatchesCount), + schedulingControlsMaxWorkGroupBatchSize(in_struct->schedulingControlsMaxWorkGroupBatchSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM), + pNext(nullptr), + schedulingControlsMaxWarpsCount(), + schedulingControlsMaxQueuedBatchesCount(), + schedulingControlsMaxWorkGroupBatchSize() {} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src) { + sType = copy_src.sType; + schedulingControlsMaxWarpsCount = copy_src.schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = copy_src.schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = copy_src.schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM::operator=( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + schedulingControlsMaxWarpsCount = copy_src.schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = copy_src.schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = copy_src.schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + ~safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM::initialize( + const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + schedulingControlsMaxWarpsCount = in_struct->schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = in_struct->schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = in_struct->schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM::initialize( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + schedulingControlsMaxWarpsCount = copy_src->schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = copy_src->schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = copy_src->schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE::safe_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -13983,8 +14261,12 @@ safe_VkTensorDependencyInfoARM::safe_VkTensorDependencyInfoARM(const VkTensorDep if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - if (in_struct->pTensorMemoryBarriers) - pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM(in_struct->pTensorMemoryBarriers); + if (tensorMemoryBarrierCount && in_struct->pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(&in_struct->pTensorMemoryBarriers[i]); + } + } } safe_VkTensorDependencyInfoARM::safe_VkTensorDependencyInfoARM() @@ -13998,39 +14280,53 @@ safe_VkTensorDependencyInfoARM::safe_VkTensorDependencyInfoARM(const safe_VkTens tensorMemoryBarrierCount = copy_src.tensorMemoryBarrierCount; pTensorMemoryBarriers = nullptr; pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pTensorMemoryBarriers) pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM(*copy_src.pTensorMemoryBarriers); + if (tensorMemoryBarrierCount && copy_src.pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(©_src.pTensorMemoryBarriers[i]); + } + } } safe_VkTensorDependencyInfoARM& safe_VkTensorDependencyInfoARM::operator=(const safe_VkTensorDependencyInfoARM& copy_src) { if (©_src == this) return *this; - if (pTensorMemoryBarriers) delete pTensorMemoryBarriers; + if (pTensorMemoryBarriers) delete[] pTensorMemoryBarriers; FreePnextChain(pNext); sType = copy_src.sType; tensorMemoryBarrierCount = copy_src.tensorMemoryBarrierCount; pTensorMemoryBarriers = nullptr; pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pTensorMemoryBarriers) pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM(*copy_src.pTensorMemoryBarriers); + if (tensorMemoryBarrierCount && copy_src.pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(©_src.pTensorMemoryBarriers[i]); + } + } return *this; } safe_VkTensorDependencyInfoARM::~safe_VkTensorDependencyInfoARM() { - if (pTensorMemoryBarriers) delete pTensorMemoryBarriers; + if (pTensorMemoryBarriers) delete[] pTensorMemoryBarriers; FreePnextChain(pNext); } void safe_VkTensorDependencyInfoARM::initialize(const VkTensorDependencyInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pTensorMemoryBarriers) delete pTensorMemoryBarriers; + if (pTensorMemoryBarriers) delete[] pTensorMemoryBarriers; FreePnextChain(pNext); sType = in_struct->sType; tensorMemoryBarrierCount = in_struct->tensorMemoryBarrierCount; pTensorMemoryBarriers = nullptr; pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (in_struct->pTensorMemoryBarriers) - pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM(in_struct->pTensorMemoryBarriers); + if (tensorMemoryBarrierCount && in_struct->pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(&in_struct->pTensorMemoryBarriers[i]); + } + } } void safe_VkTensorDependencyInfoARM::initialize(const safe_VkTensorDependencyInfoARM* copy_src, @@ -14039,8 +14335,12 @@ void safe_VkTensorDependencyInfoARM::initialize(const safe_VkTensorDependencyInf tensorMemoryBarrierCount = copy_src->tensorMemoryBarrierCount; pTensorMemoryBarriers = nullptr; pNext = SafePnextCopy(copy_src->pNext); - if (copy_src->pTensorMemoryBarriers) - pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM(*copy_src->pTensorMemoryBarriers); + if (tensorMemoryBarrierCount && copy_src->pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(©_src->pTensorMemoryBarriers[i]); + } + } } safe_VkPhysicalDeviceTensorFeaturesARM::safe_VkPhysicalDeviceTensorFeaturesARM(const VkPhysicalDeviceTensorFeaturesARM* in_struct, @@ -18881,6 +19181,140 @@ void safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM::initia pNext = SafePnextCopy(copy_src->pNext); } +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::safe_VkQueueFamilyDataGraphTOSAPropertiesARM( + const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + profileCount(in_struct->profileCount), + pProfiles(nullptr), + extensionCount(in_struct->extensionCount), + pExtensions(nullptr), + level(in_struct->level) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[in_struct->profileCount]; + memcpy((void*)pProfiles, (void*)in_struct->pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * in_struct->profileCount); + } + + if (in_struct->pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[in_struct->extensionCount]; + memcpy((void*)pExtensions, (void*)in_struct->pExtensions, + sizeof(VkDataGraphTOSANameQualityARM) * in_struct->extensionCount); + } +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::safe_VkQueueFamilyDataGraphTOSAPropertiesARM() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM), + pNext(nullptr), + profileCount(), + pProfiles(nullptr), + extensionCount(), + pExtensions(nullptr), + level() {} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::safe_VkQueueFamilyDataGraphTOSAPropertiesARM( + const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src) { + sType = copy_src.sType; + profileCount = copy_src.profileCount; + pProfiles = nullptr; + extensionCount = copy_src.extensionCount; + pExtensions = nullptr; + level = copy_src.level; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[copy_src.profileCount]; + memcpy((void*)pProfiles, (void*)copy_src.pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.profileCount); + } + + if (copy_src.pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[copy_src.extensionCount]; + memcpy((void*)pExtensions, (void*)copy_src.pExtensions, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.extensionCount); + } +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM& safe_VkQueueFamilyDataGraphTOSAPropertiesARM::operator=( + const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src) { + if (©_src == this) return *this; + + if (pProfiles) delete[] pProfiles; + if (pExtensions) delete[] pExtensions; + FreePnextChain(pNext); + + sType = copy_src.sType; + profileCount = copy_src.profileCount; + pProfiles = nullptr; + extensionCount = copy_src.extensionCount; + pExtensions = nullptr; + level = copy_src.level; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[copy_src.profileCount]; + memcpy((void*)pProfiles, (void*)copy_src.pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.profileCount); + } + + if (copy_src.pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[copy_src.extensionCount]; + memcpy((void*)pExtensions, (void*)copy_src.pExtensions, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.extensionCount); + } + + return *this; +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::~safe_VkQueueFamilyDataGraphTOSAPropertiesARM() { + if (pProfiles) delete[] pProfiles; + if (pExtensions) delete[] pExtensions; + FreePnextChain(pNext); +} + +void safe_VkQueueFamilyDataGraphTOSAPropertiesARM::initialize(const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pProfiles) delete[] pProfiles; + if (pExtensions) delete[] pExtensions; + FreePnextChain(pNext); + sType = in_struct->sType; + profileCount = in_struct->profileCount; + pProfiles = nullptr; + extensionCount = in_struct->extensionCount; + pExtensions = nullptr; + level = in_struct->level; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[in_struct->profileCount]; + memcpy((void*)pProfiles, (void*)in_struct->pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * in_struct->profileCount); + } + + if (in_struct->pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[in_struct->extensionCount]; + memcpy((void*)pExtensions, (void*)in_struct->pExtensions, + sizeof(VkDataGraphTOSANameQualityARM) * in_struct->extensionCount); + } +} + +void safe_VkQueueFamilyDataGraphTOSAPropertiesARM::initialize(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + profileCount = copy_src->profileCount; + pProfiles = nullptr; + extensionCount = copy_src->extensionCount; + pExtensions = nullptr; + level = copy_src->level; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[copy_src->profileCount]; + memcpy((void*)pProfiles, (void*)copy_src->pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * copy_src->profileCount); + } + + if (copy_src->pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[copy_src->extensionCount]; + memcpy((void*)pExtensions, (void*)copy_src->pExtensions, sizeof(VkDataGraphTOSANameQualityARM) * copy_src->extensionCount); + } +} + safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM::safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext)