Loading vulkan/api/vulkan.api +69 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,9 @@ define NULL_HANDLE 0 @extension("VK_ANDROID_native_buffer") define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 6 @extension("VK_ANDROID_native_buffer") define VK_ANDROID_NATIVE_BUFFER_NAME "VK_ANDROID_native_buffer" @extension("VK_GOOGLE_display_timing") define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 @extension("VK_GOOGLE_display_timing") define VK_GOOGLE_DISPLAY_TIMING_NAME "VK_GOOGLE_display_timing" @extension("VK_EXT_debug_report") define VK_EXT_DEBUG_REPORT_SPEC_VERSION 4 @extension("VK_EXT_debug_report") define VK_EXT_DEBUG_REPORT_NAME "VK_EXT_debug_report" Loading Loading @@ -753,6 +756,9 @@ enum VkStructureType { VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = 1000010000, VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID = 1000010001, //@extension("VK_GOOGLE_display_timing") VK_STRUCTURE_TYPE_PRESENT_TIMES_GOOGLE = 1000092000, //@extension("VK_EXT_debug_report") VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, Loading Loading @@ -2916,6 +2922,34 @@ class VkSwapchainImageCreateInfoANDROID { VkStructureType sType const void* pNext VkSwapchainImageUsageFlagBitsANDROID flags @extension("VK_GOOGLE_display_timing") class VkRefreshCycleDurationGOOGLE { uint64_t minRefreshDuration uint64_t maxRefreshDuration } @extension("VK_GOOGLE_display_timing") class VkPastPresentationTimingGOOGLE { uint32_t presentID uint64_t desiredPresentTime uint64_t actualPresentTime uint64_t earliestPresentTime uint64_t presentMargin } @extension("VK_GOOGLE_display_timing") class VkPresentTimeGOOGLE { uint32_t presentID uint64_t desiredPresentTime } @extension("VK_GOOGLE_display_timing") class VkPresentTimesInfoGOOGLE { VkStructureType sType const void* pNext uint32_t swapchainCount const VkPresentTimeGOOGLE* pTimes } @extension("VK_EXT_debug_report") Loading Loading @@ -5835,6 +5869,41 @@ cmd VkResult vkQueueSignalReleaseImageANDROID( return ? } @extension("VK_GOOGLE_display_timing") cmd VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) { deviceObject := GetDevice(device) swapchainObject := GetSwapchain(swapchain) displayTimingProperties := ? pDisplayTimingProperties[0] = displayTimingProperties return ? } @extension("VK_GOOGLE_display_timing") cmd VkResult vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, u32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) { deviceObject := GetDevice(device) count := as!u32(?) pPresentationTimingCount[0] = count presentationTimings := pPresentationTimings[0:count] for i in (0 .. count) { presentationTiming := ? presentationTimings[i] = presentationTiming State.Timings[presentationTiming] = new!PresentationTiming(device: device) } return ? } @extension("VK_EXT_debug_report") @external type void* PFN_vkDebugReportCallbackEXT @extension("VK_EXT_debug_report") Loading vulkan/include/vulkan/vulkan.h +47 −0 Original line number Diff line number Diff line Loading @@ -242,6 +242,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003, VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004, VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005, VK_STRUCTURE_TYPE_PRESENT_TIMES_GOOGLE = 1000092000, VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), Loading Loading @@ -4126,6 +4127,52 @@ typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { } VkDedicatedAllocationMemoryAllocateInfoNV; #define VK_GOOGLE_display_timing 1 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" typedef struct VkRefreshCycleDurationGOOGLE { uint64_t minRefreshDuration; uint64_t maxRefreshDuration; } VkRefreshCycleDurationGOOGLE; typedef struct VkPastPresentationTimingGOOGLE { uint32_t presentID; uint64_t desiredPresentTime; uint64_t actualPresentTime; uint64_t earliestPresentTime; uint64_t presentMargin; } VkPastPresentationTimingGOOGLE; typedef struct VkPresentTimeGOOGLE { uint32_t presentID; uint64_t desiredPresentTime; } VkPresentTimeGOOGLE; typedef struct VkPresentTimesInfoGOOGLE { VkStructureType sType; const void* pNext; uint32_t swapchainCount; const VkPresentTimeGOOGLE* pTimes; } VkPresentTimesInfoGOOGLE; typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); #ifndef VK_NO_PROTOTYPES VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); #endif #define VK_AMD_draw_indirect_count 1 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 Loading vulkan/libvulkan/api_gen.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,8 @@ VKAPI_ATTR VkResult GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapch VKAPI_ATTR VkResult AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); VKAPI_ATTR VkResult QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); VKAPI_ATTR VkResult CreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); VKAPI_ATTR VkResult GetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); VKAPI_ATTR VkResult GetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); VKAPI_ATTR VkResult EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) { return GetData(instance).dispatch.EnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices); Loading Loading @@ -1208,6 +1210,14 @@ VKAPI_ATTR VkResult CreateAndroidSurfaceKHR(VkInstance instance, const VkAndroid return GetData(instance).dispatch.CreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); } VKAPI_ATTR VkResult GetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) { return GetData(device).dispatch.GetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties); } VKAPI_ATTR VkResult GetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) { return GetData(device).dispatch.GetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings); } } // anonymous namespace Loading vulkan/libvulkan/api_gen.h +2 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,8 @@ struct DeviceDispatchTable { PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; PFN_vkAcquireNextImageKHR AcquireNextImageKHR; PFN_vkQueuePresentKHR QueuePresentKHR; PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE; PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE; // clang-format on }; Loading vulkan/libvulkan/code-generator.tmpl +3 −0 Original line number Diff line number Diff line Loading @@ -700,6 +700,8 @@ VK_KHR_android_surface VK_KHR_incremental_present VK_KHR_surface VK_KHR_swapchain VK_KHR_incremental_present VK_GOOGLE_display_timing {{end}} Loading Loading @@ -1147,6 +1149,7 @@ VK_KHR_swapchain {{else if eq $ext "VK_KHR_swapchain"}}true {{else if eq $ext "VK_KHR_android_surface"}}true {{else if eq $ext "VK_KHR_incremental_present"}}true {{else if eq $ext "VK_GOOGLE_display_timing"}}true {{end}} {{end}} Loading Loading
vulkan/api/vulkan.api +69 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,9 @@ define NULL_HANDLE 0 @extension("VK_ANDROID_native_buffer") define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 6 @extension("VK_ANDROID_native_buffer") define VK_ANDROID_NATIVE_BUFFER_NAME "VK_ANDROID_native_buffer" @extension("VK_GOOGLE_display_timing") define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 @extension("VK_GOOGLE_display_timing") define VK_GOOGLE_DISPLAY_TIMING_NAME "VK_GOOGLE_display_timing" @extension("VK_EXT_debug_report") define VK_EXT_DEBUG_REPORT_SPEC_VERSION 4 @extension("VK_EXT_debug_report") define VK_EXT_DEBUG_REPORT_NAME "VK_EXT_debug_report" Loading Loading @@ -753,6 +756,9 @@ enum VkStructureType { VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = 1000010000, VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID = 1000010001, //@extension("VK_GOOGLE_display_timing") VK_STRUCTURE_TYPE_PRESENT_TIMES_GOOGLE = 1000092000, //@extension("VK_EXT_debug_report") VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, Loading Loading @@ -2916,6 +2922,34 @@ class VkSwapchainImageCreateInfoANDROID { VkStructureType sType const void* pNext VkSwapchainImageUsageFlagBitsANDROID flags @extension("VK_GOOGLE_display_timing") class VkRefreshCycleDurationGOOGLE { uint64_t minRefreshDuration uint64_t maxRefreshDuration } @extension("VK_GOOGLE_display_timing") class VkPastPresentationTimingGOOGLE { uint32_t presentID uint64_t desiredPresentTime uint64_t actualPresentTime uint64_t earliestPresentTime uint64_t presentMargin } @extension("VK_GOOGLE_display_timing") class VkPresentTimeGOOGLE { uint32_t presentID uint64_t desiredPresentTime } @extension("VK_GOOGLE_display_timing") class VkPresentTimesInfoGOOGLE { VkStructureType sType const void* pNext uint32_t swapchainCount const VkPresentTimeGOOGLE* pTimes } @extension("VK_EXT_debug_report") Loading Loading @@ -5835,6 +5869,41 @@ cmd VkResult vkQueueSignalReleaseImageANDROID( return ? } @extension("VK_GOOGLE_display_timing") cmd VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) { deviceObject := GetDevice(device) swapchainObject := GetSwapchain(swapchain) displayTimingProperties := ? pDisplayTimingProperties[0] = displayTimingProperties return ? } @extension("VK_GOOGLE_display_timing") cmd VkResult vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, u32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) { deviceObject := GetDevice(device) count := as!u32(?) pPresentationTimingCount[0] = count presentationTimings := pPresentationTimings[0:count] for i in (0 .. count) { presentationTiming := ? presentationTimings[i] = presentationTiming State.Timings[presentationTiming] = new!PresentationTiming(device: device) } return ? } @extension("VK_EXT_debug_report") @external type void* PFN_vkDebugReportCallbackEXT @extension("VK_EXT_debug_report") Loading
vulkan/include/vulkan/vulkan.h +47 −0 Original line number Diff line number Diff line Loading @@ -242,6 +242,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003, VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004, VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005, VK_STRUCTURE_TYPE_PRESENT_TIMES_GOOGLE = 1000092000, VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO, VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO, VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1), Loading Loading @@ -4126,6 +4127,52 @@ typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { } VkDedicatedAllocationMemoryAllocateInfoNV; #define VK_GOOGLE_display_timing 1 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" typedef struct VkRefreshCycleDurationGOOGLE { uint64_t minRefreshDuration; uint64_t maxRefreshDuration; } VkRefreshCycleDurationGOOGLE; typedef struct VkPastPresentationTimingGOOGLE { uint32_t presentID; uint64_t desiredPresentTime; uint64_t actualPresentTime; uint64_t earliestPresentTime; uint64_t presentMargin; } VkPastPresentationTimingGOOGLE; typedef struct VkPresentTimeGOOGLE { uint32_t presentID; uint64_t desiredPresentTime; } VkPresentTimeGOOGLE; typedef struct VkPresentTimesInfoGOOGLE { VkStructureType sType; const void* pNext; uint32_t swapchainCount; const VkPresentTimeGOOGLE* pTimes; } VkPresentTimesInfoGOOGLE; typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); #ifndef VK_NO_PROTOTYPES VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); #endif #define VK_AMD_draw_indirect_count 1 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 Loading
vulkan/libvulkan/api_gen.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,8 @@ VKAPI_ATTR VkResult GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapch VKAPI_ATTR VkResult AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); VKAPI_ATTR VkResult QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); VKAPI_ATTR VkResult CreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); VKAPI_ATTR VkResult GetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); VKAPI_ATTR VkResult GetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); VKAPI_ATTR VkResult EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) { return GetData(instance).dispatch.EnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices); Loading Loading @@ -1208,6 +1210,14 @@ VKAPI_ATTR VkResult CreateAndroidSurfaceKHR(VkInstance instance, const VkAndroid return GetData(instance).dispatch.CreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); } VKAPI_ATTR VkResult GetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) { return GetData(device).dispatch.GetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties); } VKAPI_ATTR VkResult GetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) { return GetData(device).dispatch.GetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings); } } // anonymous namespace Loading
vulkan/libvulkan/api_gen.h +2 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,8 @@ struct DeviceDispatchTable { PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; PFN_vkAcquireNextImageKHR AcquireNextImageKHR; PFN_vkQueuePresentKHR QueuePresentKHR; PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE; PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE; // clang-format on }; Loading
vulkan/libvulkan/code-generator.tmpl +3 −0 Original line number Diff line number Diff line Loading @@ -700,6 +700,8 @@ VK_KHR_android_surface VK_KHR_incremental_present VK_KHR_surface VK_KHR_swapchain VK_KHR_incremental_present VK_GOOGLE_display_timing {{end}} Loading Loading @@ -1147,6 +1149,7 @@ VK_KHR_swapchain {{else if eq $ext "VK_KHR_swapchain"}}true {{else if eq $ext "VK_KHR_android_surface"}}true {{else if eq $ext "VK_KHR_incremental_present"}}true {{else if eq $ext "VK_GOOGLE_display_timing"}}true {{end}} {{end}} Loading