diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index 51a6189460c..70f9e861938 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -66,7 +66,7 @@ extern "C" {
//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 333
+#define VK_HEADER_VERSION 335
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
@@ -177,6 +177,7 @@ typedef enum VkResult {
VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
+ VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT = -1000208000,
VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
VK_THREAD_IDLE_KHR = 1000268000,
VK_THREAD_DONE_KHR = 1000268001,
@@ -746,6 +747,16 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT = 1000208000,
+ VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT = 1000208001,
+ VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT = 1000208002,
+ VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT = 1000208003,
+ VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT = 1000208004,
+ VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT = 1000208005,
+ VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT = 1000208006,
+ VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT = 1000208007,
+ VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT = 1000208008,
+ VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT = 1000208009,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
@@ -1134,6 +1145,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR = 1000275004,
VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR = 1000275005,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV = 1000491000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491001,
@@ -1609,7 +1621,6 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO,
VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
@@ -8881,6 +8892,7 @@ typedef enum VkSwapchainCreateFlagBitsKHR {
VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
+ VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT = 0x00000200,
VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR = 0x00000040,
VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR = 0x00000080,
VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR = 0x00000008,
@@ -13376,6 +13388,8 @@ typedef enum VkTimeDomainKHR {
VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1,
VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2,
VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3,
+ VK_TIME_DOMAIN_PRESENT_STAGE_LOCAL_EXT = 1000208000,
+ VK_TIME_DOMAIN_SWAPCHAIN_LOCAL_EXT = 1000208001,
VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR,
VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR,
VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR,
@@ -16812,6 +16826,161 @@ VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
#endif
+// VK_EXT_present_timing is a preprocessor guard. Do not pass it to API calls.
+#define VK_EXT_present_timing 1
+#define VK_EXT_PRESENT_TIMING_SPEC_VERSION 3
+#define VK_EXT_PRESENT_TIMING_EXTENSION_NAME "VK_EXT_present_timing"
+typedef VkFlags VkPresentStageFlagsEXT;
+
+typedef enum VkPresentStageFlagBitsEXT {
+ VK_PRESENT_STAGE_QUEUE_OPERATIONS_END_BIT_EXT = 0x00000001,
+ VK_PRESENT_STAGE_REQUEST_DEQUEUED_BIT_EXT = 0x00000002,
+ VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_OUT_BIT_EXT = 0x00000004,
+ VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT = 0x00000008,
+ VK_PRESENT_STAGE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkPresentStageFlagBitsEXT;
+typedef VkFlags VkPastPresentationTimingFlagsEXT;
+
+typedef enum VkPastPresentationTimingFlagBitsEXT {
+ VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT = 0x00000001,
+ VK_PAST_PRESENTATION_TIMING_ALLOW_OUT_OF_ORDER_RESULTS_BIT_EXT = 0x00000002,
+ VK_PAST_PRESENTATION_TIMING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkPastPresentationTimingFlagBitsEXT;
+typedef VkFlags VkPresentTimingInfoFlagsEXT;
+
+typedef enum VkPresentTimingInfoFlagBitsEXT {
+ VK_PRESENT_TIMING_INFO_PRESENT_AT_RELATIVE_TIME_BIT_EXT = 0x00000001,
+ VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT = 0x00000002,
+ VK_PRESENT_TIMING_INFO_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkPresentTimingInfoFlagBitsEXT;
+typedef struct VkPhysicalDevicePresentTimingFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 presentTiming;
+ VkBool32 presentAtAbsoluteTime;
+ VkBool32 presentAtRelativeTime;
+} VkPhysicalDevicePresentTimingFeaturesEXT;
+
+typedef struct VkPresentTimingSurfaceCapabilitiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 presentTimingSupported;
+ VkBool32 presentAtAbsoluteTimeSupported;
+ VkBool32 presentAtRelativeTimeSupported;
+ VkPresentStageFlagsEXT presentStageQueries;
+} VkPresentTimingSurfaceCapabilitiesEXT;
+
+typedef struct VkSwapchainCalibratedTimestampInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkSwapchainKHR swapchain;
+ VkPresentStageFlagsEXT presentStage;
+ uint64_t timeDomainId;
+} VkSwapchainCalibratedTimestampInfoEXT;
+
+typedef struct VkSwapchainTimingPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ uint64_t refreshDuration;
+ uint64_t refreshInterval;
+} VkSwapchainTimingPropertiesEXT;
+
+typedef struct VkSwapchainTimeDomainPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ uint32_t timeDomainCount;
+ VkTimeDomainKHR* pTimeDomains;
+ uint64_t* pTimeDomainIds;
+} VkSwapchainTimeDomainPropertiesEXT;
+
+typedef struct VkPastPresentationTimingInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkPastPresentationTimingFlagsEXT flags;
+ VkSwapchainKHR swapchain;
+} VkPastPresentationTimingInfoEXT;
+
+typedef struct VkPresentStageTimeEXT {
+ VkPresentStageFlagsEXT stage;
+ uint64_t time;
+} VkPresentStageTimeEXT;
+
+typedef struct VkPastPresentationTimingEXT {
+ VkStructureType sType;
+ void* pNext;
+ uint64_t presentId;
+ uint64_t targetTime;
+ uint32_t presentStageCount;
+ VkPresentStageTimeEXT* pPresentStages;
+ VkTimeDomainKHR timeDomain;
+ uint64_t timeDomainId;
+ VkBool32 reportComplete;
+} VkPastPresentationTimingEXT;
+
+typedef struct VkPastPresentationTimingPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ uint64_t timingPropertiesCounter;
+ uint64_t timeDomainsCounter;
+ uint32_t presentationTimingCount;
+ VkPastPresentationTimingEXT* pPresentationTimings;
+} VkPastPresentationTimingPropertiesEXT;
+
+typedef struct VkPresentTimingInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkPresentTimingInfoFlagsEXT flags;
+ uint64_t targetTime;
+ uint64_t timeDomainId;
+ VkPresentStageFlagsEXT presentStageQueries;
+ VkPresentStageFlagsEXT targetTimeDomainPresentStage;
+} VkPresentTimingInfoEXT;
+
+typedef struct VkPresentTimingsInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t swapchainCount;
+ const VkPresentTimingInfoEXT* pTimingInfos;
+} VkPresentTimingsInfoEXT;
+
+typedef VkResult (VKAPI_PTR *PFN_vkSetSwapchainPresentTimingQueueSizeEXT)(VkDevice device, VkSwapchainKHR swapchain, uint32_t size);
+typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainTimingPropertiesEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSwapchainTimingPropertiesEXT* pSwapchainTimingProperties, uint64_t* pSwapchainTimingPropertiesCounter);
+typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainTimeDomainPropertiesEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSwapchainTimeDomainPropertiesEXT* pSwapchainTimeDomainProperties, uint64_t* pTimeDomainsCounter);
+typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingEXT)(VkDevice device, const VkPastPresentationTimingInfoEXT* pPastPresentationTimingInfo, VkPastPresentationTimingPropertiesEXT* pPastPresentationTimingProperties);
+
+#ifndef VK_NO_PROTOTYPES
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkSetSwapchainPresentTimingQueueSizeEXT(
+ VkDevice device,
+ VkSwapchainKHR swapchain,
+ uint32_t size);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainTimingPropertiesEXT(
+ VkDevice device,
+ VkSwapchainKHR swapchain,
+ VkSwapchainTimingPropertiesEXT* pSwapchainTimingProperties,
+ uint64_t* pSwapchainTimingPropertiesCounter);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainTimeDomainPropertiesEXT(
+ VkDevice device,
+ VkSwapchainKHR swapchain,
+ VkSwapchainTimeDomainPropertiesEXT* pSwapchainTimeDomainProperties,
+ uint64_t* pTimeDomainsCounter);
+#endif
+
+#ifndef VK_ONLY_EXPORTED_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingEXT(
+ VkDevice device,
+ const VkPastPresentationTimingInfoEXT* pPastPresentationTimingInfo,
+ VkPastPresentationTimingPropertiesEXT* pPastPresentationTimingProperties);
+#endif
+#endif
+
+
// VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls.
#define VK_INTEL_shader_integer_functions2 1
#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
@@ -21866,13 +22035,11 @@ typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV {
VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint;
} VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV;
-typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
+typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
VkStructureType sType;
void* pNext;
VkBool32 rayTracingInvocationReorder;
-} VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
-
-typedef VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV;
+} VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV;
@@ -23657,6 +23824,12 @@ typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
uint32_t maxShaderBindingTableRecordIndex;
} VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
+typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 rayTracingInvocationReorder;
+} VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
+
// VK_EXT_depth_clamp_control is a preprocessor guard. Do not pass it to API calls.
diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml
index 065b5d0f102..5f55ebba2a3 100644
--- a/src/vulkan/registry/vk.xml
+++ b/src/vulkan/registry/vk.xml
@@ -183,7 +183,7 @@ branch of the member gitlab server.
#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 333
+#define VK_HEADER_VERSION 335
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
// Version of this file
@@ -522,6 +522,9 @@ typedef void* MTLSharedEvent_id;
typedef VkFlags VkTileShadingRenderPassFlagsQCOM;
typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM;
typedef VkFlags VkSurfaceCreateFlagsOHOS;
+ typedef VkFlags VkPresentStageFlagsEXT;
+ typedef VkFlags VkPastPresentationTimingFlagsEXT;
+ typedef VkFlags VkPresentTimingInfoFlagsEXT;
typedef VkFlags VkSwapchainImageUsageFlagsOHOS;
typedef VkFlags VkPerformanceCounterDescriptionFlagsARM;
@@ -985,6 +988,9 @@ typedef void* MTLSharedEvent_id;
+
+
+
@@ -3589,6 +3595,85 @@ typedef void* MTLSharedEvent_id;
void* pNext
VkBool32 presentWait2vkWaitForPresent2KHR is supported
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 presentTimingvkGetPastPresentationTimingEXT is supported
+ VkBool32 presentAtAbsoluteTimeAbsolute time can be used to specify present time
+ VkBool32 presentAtRelativeTimeRelative time can be used to specify present duration
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 presentTimingSupportedpresentation timings of the surface can be queried using vkGetPastPresentationTimingEXT
+ VkBool32 presentAtAbsoluteTimeSupportedsurface can be presented using absolute times
+ VkBool32 presentAtRelativeTimeSupportedsurface can be presented using relative times
+ VkPresentStageFlagsEXT presentStageQueriespresent stages that can be queried
+
+
+ VkStructureType sType
+ void* pNext
+ uint64_t refreshDurationNumber of nanoseconds from the start of one refresh cycle to the next
+ uint64_t refreshIntervalInterval in nanoseconds between refresh cycles durations
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t timeDomainCount
+ VkTimeDomainKHR* pTimeDomainsAvailable time domains to use with the swapchain
+ uint64_t* pTimeDomainIdsUnique identifier for a time domain
+
+
+ VkPresentStageFlagsEXT stage
+ uint64_t timeTime in nanoseconds of the associated stage
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPastPresentationTimingFlagsEXT flags
+ VkSwapchainKHR swapchain
+
+
+ VkStructureType sType
+ void* pNext
+ uint64_t timingPropertiesCounter
+ uint64_t timeDomainsCounter
+ uint32_t presentationTimingCount
+ VkPastPresentationTimingEXT* pPresentationTimings
+
+
+ VkStructureType sType
+ void* pNext
+ uint64_t presentIdApplication-provided identifier, previously given to vkQueuePresentKHR
+ uint64_t targetTimeApplication-provided present time
+ uint32_t presentStageCountNumber of present stages results available in pPresentStages
+ VkPresentStageTimeEXT* pPresentStagesReported timings for each present stage
+ VkTimeDomainKHR timeDomainTime domain of the present stages
+ uint64_t timeDomainIdTime domain id of the present stages
+ VkBool32 reportCompleteVK_TRUE if all the present stages have been reported
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount
+ const VkPresentTimingInfoEXT* pTimingInfosPresent timing details for each swapchain
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPresentTimingInfoFlagsEXT flags
+ uint64_t targetTime
+ uint64_t timeDomainIdTime domain to interpret the target present time and collect present stages timings with
+ VkPresentStageFlagsEXT presentStageQueriesPresent stages to collect timing information for
+ VkPresentStageFlagsEXT targetTimeDomainPresentStageTarget stage-local time domain's stage
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSwapchainKHR swapchain
+ VkPresentStageFlagsEXT presentStage
+ uint64_t timeDomainId
+
Display primary in chromaticity coordinates
VkStructureType sType
@@ -9752,7 +9837,11 @@ typedef void* MTLSharedEvent_id;
void* pNext
VkBool32 rayTracingInvocationReorder
-
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 rayTracingInvocationReorder
+
VkStructureType sType
void* pNext
@@ -12791,7 +12880,20 @@ typedef void* MTLSharedEvent_id;
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -14674,7 +14776,7 @@ typedef void* MTLSharedEvent_id;
VkFence fence
uint32_t* pImageIndex
-
+
VkResult vkQueuePresentKHR
VkQueue queue
const VkPresentInfoKHR* pPresentInfo
@@ -14813,16 +14915,16 @@ typedef void* MTLSharedEvent_id;
VkDevice device
const VkDebugMarkerObjectTagInfoEXT* pTagInfo
-
+
void vkCmdDebugMarkerBeginEXT
VkCommandBuffer commandBuffer
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo
-
+
void vkCmdDebugMarkerEndEXT
VkCommandBuffer commandBuffer
-
+
void vkCmdDebugMarkerInsertEXT
VkCommandBuffer commandBuffer
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo
@@ -15666,16 +15768,16 @@ typedef void* MTLSharedEvent_id;
VkQueue queue
const VkDebugUtilsLabelEXT* pLabelInfo
-
+
void vkCmdBeginDebugUtilsLabelEXT
VkCommandBuffer commandBuffer
const VkDebugUtilsLabelEXT* pLabelInfo
-
+
void vkCmdEndDebugUtilsLabelEXT
VkCommandBuffer commandBuffer
-
+
void vkCmdInsertDebugUtilsLabelEXT
VkCommandBuffer commandBuffer
const VkDebugUtilsLabelEXT* pLabelInfo
@@ -17584,6 +17686,32 @@ typedef void* MTLSharedEvent_id;
const VkShaderStageFlagBits* pStages
const VkShaderEXT* pShaders
+
+ VkResult vkSetSwapchainPresentTimingQueueSizeEXT
+ VkDevice device
+ VkSwapchainKHR swapchain
+ uint32_t size
+
+
+ VkResult vkGetSwapchainTimingPropertiesEXT
+ VkDevice device
+ VkSwapchainKHR swapchain
+ VkSwapchainTimingPropertiesEXT* pSwapchainTimingProperties
+ uint64_t* pSwapchainTimingPropertiesCounter
+
+
+ VkResult vkGetSwapchainTimeDomainPropertiesEXT
+ VkDevice device
+ VkSwapchainKHR swapchain
+ VkSwapchainTimeDomainPropertiesEXT* pSwapchainTimeDomainProperties
+ uint64_t* pTimeDomainsCounter
+
+
+ VkResult vkGetPastPresentationTimingEXT
+ VkDevice device
+ const VkPastPresentationTimingInfoEXT* pPastPresentationTimingInfo
+ VkPastPresentationTimingPropertiesEXT* pPastPresentationTimingProperties
+
VkResult vkGetScreenBufferPropertiesQNX
VkDevice device
@@ -23147,11 +23275,46 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -27432,7 +27595,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -29468,6 +29631,27 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/vulkan/util/vk_physical_device_features_gen.py b/src/vulkan/util/vk_physical_device_features_gen.py
index 9a17b59813d..aaa5b4337f5 100644
--- a/src/vulkan/util/vk_physical_device_features_gen.py
+++ b/src/vulkan/util/vk_physical_device_features_gen.py
@@ -45,6 +45,8 @@ RENAMED_FEATURES = {
('CooperativeMatrixFeaturesNV', 'cooperativeMatrixRobustBufferAccess'): 'cooperativeMatrixRobustBufferAccessNV',
('DeviceGeneratedCommandsFeaturesNV', 'deviceGeneratedCommands'): 'deviceGeneratedCommandsNV',
+
+ ("RayTracingInvocationReorderFeaturesNV", "rayTracingInvocationReorder"): "rayTracingInvocationReorderNV",
}
KNOWN_ALIASES = [