diff --git a/CMakeLists.txt b/CMakeLists.txt index 86208b32..49517e16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.5...3.30) project(volk VERSION # VOLK_GENERATE_VERSION -347 +348 # VOLK_GENERATE_VERSION LANGUAGES C ) diff --git a/generate.py b/generate.py index 14c494dc..eebffc94 100755 --- a/generate.py +++ b/generate.py @@ -15,8 +15,9 @@ "vkCmdSetExclusiveScissorEnableNV": 2, "vkGetImageViewAddressNVX": 2, "vkGetImageViewHandle64NVX": 3, - "vkGetDeviceCombinedImageSamplerIndexNVX": 4, + "vkGetDeviceCombinedImageSamplerIndexNVX": 4, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI": 2, + "vkCmdSetDispatchParametersARM": 2, } def parse_xml(path): diff --git a/volk.c b/volk.c index 9ce52e58..79d3cfa8 100644 --- a/volk.c +++ b/volk.c @@ -279,6 +279,9 @@ static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)load(context, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)load(context, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_data_graph_instruction_set_tosa) + vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM)load(context, "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM"); +#endif /* defined(VK_ARM_data_graph_instruction_set_tosa) */ #if defined(VK_ARM_performance_counters_by_region) vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)load(context, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM"); #endif /* defined(VK_ARM_performance_counters_by_region) */ @@ -745,6 +748,9 @@ static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, c vkGetDataGraphPipelineSessionBindPointRequirementsARM = (PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)load(context, "vkGetDataGraphPipelineSessionBindPointRequirementsARM"); vkGetDataGraphPipelineSessionMemoryRequirementsARM = (PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)load(context, "vkGetDataGraphPipelineSessionMemoryRequirementsARM"); #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 + vkCmdSetDispatchParametersARM = (PFN_vkCmdSetDispatchParametersARM)load(context, "vkCmdSetDispatchParametersARM"); +#endif /* defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 */ #if defined(VK_ARM_shader_instrumentation) vkClearShaderInstrumentationMetricsARM = (PFN_vkClearShaderInstrumentationMetricsARM)load(context, "vkClearShaderInstrumentationMetricsARM"); vkCmdBeginShaderInstrumentationARM = (PFN_vkCmdBeginShaderInstrumentationARM)load(context, "vkCmdBeginShaderInstrumentationARM"); @@ -934,6 +940,9 @@ static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, c vkGetSwapchainTimingPropertiesEXT = (PFN_vkGetSwapchainTimingPropertiesEXT)load(context, "vkGetSwapchainTimingPropertiesEXT"); vkSetSwapchainPresentTimingQueueSizeEXT = (PFN_vkSetSwapchainPresentTimingQueueSizeEXT)load(context, "vkSetSwapchainPresentTimingQueueSizeEXT"); #endif /* defined(VK_EXT_present_timing) */ +#if defined(VK_EXT_primitive_restart_index) + vkCmdSetPrimitiveRestartIndexEXT = (PFN_vkCmdSetPrimitiveRestartIndexEXT)load(context, "vkCmdSetPrimitiveRestartIndexEXT"); +#endif /* defined(VK_EXT_primitive_restart_index) */ #if defined(VK_EXT_private_data) vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT"); vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT"); @@ -1428,6 +1437,9 @@ static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, c vkGetMemoryNativeBufferOHOS = (PFN_vkGetMemoryNativeBufferOHOS)load(context, "vkGetMemoryNativeBufferOHOS"); vkGetNativeBufferPropertiesOHOS = (PFN_vkGetNativeBufferPropertiesOHOS)load(context, "vkGetNativeBufferPropertiesOHOS"); #endif /* defined(VK_OHOS_external_memory) */ +#if defined(VK_QCOM_queue_perf_hint) + vkQueueSetPerfHintQCOM = (PFN_vkQueueSetPerfHintQCOM)load(context, "vkQueueSetPerfHintQCOM"); +#endif /* defined(VK_QCOM_queue_perf_hint) */ #if defined(VK_QCOM_tile_memory_heap) vkCmdBindTileMemoryQCOM = (PFN_vkCmdBindTileMemoryQCOM)load(context, "vkCmdBindTileMemoryQCOM"); #endif /* defined(VK_QCOM_tile_memory_heap) */ @@ -1593,6 +1605,9 @@ static void volkGenLoadInstanceTable(struct VolkInstanceTable* table, void* cont table->vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)load(context, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); table->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)load(context, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_data_graph_instruction_set_tosa) + table->vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM)load(context, "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM"); +#endif /* defined(VK_ARM_data_graph_instruction_set_tosa) */ #if defined(VK_ARM_performance_counters_by_region) table->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)load(context, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM"); #endif /* defined(VK_ARM_performance_counters_by_region) */ @@ -2059,6 +2074,9 @@ static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, table->vkGetDataGraphPipelineSessionBindPointRequirementsARM = (PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)load(context, "vkGetDataGraphPipelineSessionBindPointRequirementsARM"); table->vkGetDataGraphPipelineSessionMemoryRequirementsARM = (PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)load(context, "vkGetDataGraphPipelineSessionMemoryRequirementsARM"); #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 + table->vkCmdSetDispatchParametersARM = (PFN_vkCmdSetDispatchParametersARM)load(context, "vkCmdSetDispatchParametersARM"); +#endif /* defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 */ #if defined(VK_ARM_shader_instrumentation) table->vkClearShaderInstrumentationMetricsARM = (PFN_vkClearShaderInstrumentationMetricsARM)load(context, "vkClearShaderInstrumentationMetricsARM"); table->vkCmdBeginShaderInstrumentationARM = (PFN_vkCmdBeginShaderInstrumentationARM)load(context, "vkCmdBeginShaderInstrumentationARM"); @@ -2248,6 +2266,9 @@ static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, table->vkGetSwapchainTimingPropertiesEXT = (PFN_vkGetSwapchainTimingPropertiesEXT)load(context, "vkGetSwapchainTimingPropertiesEXT"); table->vkSetSwapchainPresentTimingQueueSizeEXT = (PFN_vkSetSwapchainPresentTimingQueueSizeEXT)load(context, "vkSetSwapchainPresentTimingQueueSizeEXT"); #endif /* defined(VK_EXT_present_timing) */ +#if defined(VK_EXT_primitive_restart_index) + table->vkCmdSetPrimitiveRestartIndexEXT = (PFN_vkCmdSetPrimitiveRestartIndexEXT)load(context, "vkCmdSetPrimitiveRestartIndexEXT"); +#endif /* defined(VK_EXT_primitive_restart_index) */ #if defined(VK_EXT_private_data) table->vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT"); table->vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT"); @@ -2742,6 +2763,9 @@ static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, table->vkGetMemoryNativeBufferOHOS = (PFN_vkGetMemoryNativeBufferOHOS)load(context, "vkGetMemoryNativeBufferOHOS"); table->vkGetNativeBufferPropertiesOHOS = (PFN_vkGetNativeBufferPropertiesOHOS)load(context, "vkGetNativeBufferPropertiesOHOS"); #endif /* defined(VK_OHOS_external_memory) */ +#if defined(VK_QCOM_queue_perf_hint) + table->vkQueueSetPerfHintQCOM = (PFN_vkQueueSetPerfHintQCOM)load(context, "vkQueueSetPerfHintQCOM"); +#endif /* defined(VK_QCOM_queue_perf_hint) */ #if defined(VK_QCOM_tile_memory_heap) table->vkCmdBindTileMemoryQCOM = (PFN_vkCmdBindTileMemoryQCOM)load(context, "vkCmdBindTileMemoryQCOM"); #endif /* defined(VK_QCOM_tile_memory_heap) */ @@ -3167,9 +3191,15 @@ PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM vkGetDataGraphPipelineSes PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_data_graph_instruction_set_tosa) +PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM; +#endif /* defined(VK_ARM_data_graph_instruction_set_tosa) */ #if defined(VK_ARM_performance_counters_by_region) PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM; #endif /* defined(VK_ARM_performance_counters_by_region) */ +#if defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 +PFN_vkCmdSetDispatchParametersARM vkCmdSetDispatchParametersARM; +#endif /* defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 */ #if defined(VK_ARM_shader_instrumentation) PFN_vkClearShaderInstrumentationMetricsARM vkClearShaderInstrumentationMetricsARM; PFN_vkCmdBeginShaderInstrumentationARM vkCmdBeginShaderInstrumentationARM; @@ -3406,6 +3436,9 @@ PFN_vkGetSwapchainTimeDomainPropertiesEXT vkGetSwapchainTimeDomainPropertiesEXT; PFN_vkGetSwapchainTimingPropertiesEXT vkGetSwapchainTimingPropertiesEXT; PFN_vkSetSwapchainPresentTimingQueueSizeEXT vkSetSwapchainPresentTimingQueueSizeEXT; #endif /* defined(VK_EXT_present_timing) */ +#if defined(VK_EXT_primitive_restart_index) +PFN_vkCmdSetPrimitiveRestartIndexEXT vkCmdSetPrimitiveRestartIndexEXT; +#endif /* defined(VK_EXT_primitive_restart_index) */ #if defined(VK_EXT_private_data) PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; @@ -4016,6 +4049,9 @@ PFN_vkGetNativeBufferPropertiesOHOS vkGetNativeBufferPropertiesOHOS; #if defined(VK_OHOS_surface) PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS; #endif /* defined(VK_OHOS_surface) */ +#if defined(VK_QCOM_queue_perf_hint) +PFN_vkQueueSetPerfHintQCOM vkQueueSetPerfHintQCOM; +#endif /* defined(VK_QCOM_queue_perf_hint) */ #if defined(VK_QCOM_tile_memory_heap) PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM; #endif /* defined(VK_QCOM_tile_memory_heap) */ diff --git a/volk.h b/volk.h index fdf0d759..662d9fae 100644 --- a/volk.h +++ b/volk.h @@ -19,7 +19,7 @@ #endif /* VOLK_GENERATE_VERSION_DEFINE */ -#define VOLK_HEADER_VERSION 347 +#define VOLK_HEADER_VERSION 348 /* VOLK_GENERATE_VERSION_DEFINE */ #ifndef VK_NO_PROTOTYPES @@ -278,6 +278,11 @@ struct VolkInstanceTable #else PFN_vkVoidFunction padding_15920a35[2]; #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_data_graph_instruction_set_tosa) + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM; +#else + PFN_vkVoidFunction padding_d3dcb1f3[1]; +#endif /* defined(VK_ARM_data_graph_instruction_set_tosa) */ #if defined(VK_ARM_performance_counters_by_region) PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM; #else @@ -881,6 +886,11 @@ struct VolkDeviceTable #else PFN_vkVoidFunction padding_894d85d8[9]; #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 + PFN_vkCmdSetDispatchParametersARM vkCmdSetDispatchParametersARM; +#else + PFN_vkVoidFunction padding_4702b278[1]; +#endif /* defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 */ #if defined(VK_ARM_shader_instrumentation) PFN_vkClearShaderInstrumentationMetricsARM vkClearShaderInstrumentationMetricsARM; PFN_vkCmdBeginShaderInstrumentationARM vkCmdBeginShaderInstrumentationARM; @@ -1150,6 +1160,11 @@ struct VolkDeviceTable #else PFN_vkVoidFunction padding_8751feb5[4]; #endif /* defined(VK_EXT_present_timing) */ +#if defined(VK_EXT_primitive_restart_index) + PFN_vkCmdSetPrimitiveRestartIndexEXT vkCmdSetPrimitiveRestartIndexEXT; +#else + PFN_vkVoidFunction padding_a1770b32[1]; +#endif /* defined(VK_EXT_primitive_restart_index) */ #if defined(VK_EXT_private_data) PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; @@ -1852,6 +1867,11 @@ struct VolkDeviceTable #else PFN_vkVoidFunction padding_9c703846[2]; #endif /* defined(VK_OHOS_external_memory) */ +#if defined(VK_QCOM_queue_perf_hint) + PFN_vkQueueSetPerfHintQCOM vkQueueSetPerfHintQCOM; +#else + PFN_vkVoidFunction padding_98b80534[1]; +#endif /* defined(VK_QCOM_queue_perf_hint) */ #if defined(VK_QCOM_tile_memory_heap) PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM; #else @@ -2080,6 +2100,9 @@ extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_data_graph_instruction_set_tosa) +extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM; +#endif /* defined(VK_ARM_data_graph_instruction_set_tosa) */ #if defined(VK_ARM_performance_counters_by_region) extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM; #endif /* defined(VK_ARM_performance_counters_by_region) */ @@ -2544,6 +2567,9 @@ extern PFN_vkGetDataGraphPipelinePropertiesARM vkGetDataGraphPipelinePropertiesA extern PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM vkGetDataGraphPipelineSessionBindPointRequirementsARM; extern PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM vkGetDataGraphPipelineSessionMemoryRequirementsARM; #endif /* defined(VK_ARM_data_graph) */ +#if defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 +extern PFN_vkCmdSetDispatchParametersARM vkCmdSetDispatchParametersARM; +#endif /* defined(VK_ARM_scheduling_controls) && VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION >= 2 */ #if defined(VK_ARM_shader_instrumentation) extern PFN_vkClearShaderInstrumentationMetricsARM vkClearShaderInstrumentationMetricsARM; extern PFN_vkCmdBeginShaderInstrumentationARM vkCmdBeginShaderInstrumentationARM; @@ -2733,6 +2759,9 @@ extern PFN_vkGetSwapchainTimeDomainPropertiesEXT vkGetSwapchainTimeDomainPropert extern PFN_vkGetSwapchainTimingPropertiesEXT vkGetSwapchainTimingPropertiesEXT; extern PFN_vkSetSwapchainPresentTimingQueueSizeEXT vkSetSwapchainPresentTimingQueueSizeEXT; #endif /* defined(VK_EXT_present_timing) */ +#if defined(VK_EXT_primitive_restart_index) +extern PFN_vkCmdSetPrimitiveRestartIndexEXT vkCmdSetPrimitiveRestartIndexEXT; +#endif /* defined(VK_EXT_primitive_restart_index) */ #if defined(VK_EXT_private_data) extern PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; extern PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; @@ -3227,6 +3256,9 @@ extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePalet extern PFN_vkGetMemoryNativeBufferOHOS vkGetMemoryNativeBufferOHOS; extern PFN_vkGetNativeBufferPropertiesOHOS vkGetNativeBufferPropertiesOHOS; #endif /* defined(VK_OHOS_external_memory) */ +#if defined(VK_QCOM_queue_perf_hint) +extern PFN_vkQueueSetPerfHintQCOM vkQueueSetPerfHintQCOM; +#endif /* defined(VK_QCOM_queue_perf_hint) */ #if defined(VK_QCOM_tile_memory_heap) extern PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM; #endif /* defined(VK_QCOM_tile_memory_heap) */