diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2017-03-14 10:12:43 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2017-03-14 15:13:15 -0600 |
| commit | 313e72964eeef60871cb50d8cff81e2ab37be3ec (patch) | |
| tree | e0dbcbebf39910fba4041e8cedb4b5efd8a5f3d5 /layers/object_tracker.cpp | |
| parent | a6449dd2ce7ba5660aed30a675555b84323f03db (diff) | |
| download | usermoji-313e72964eeef60871cb50d8cff81e2ab37be3ec.tar.xz | |
header: Update to 1.0.43 header version
- updated include/vulkan/vulkan.h
- updated scripts/cgenerator.py
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated loader SOVERSION
- updated include/vulkan/vulkan.hpp
- updated parameter_validation.cpp with new APIs
- updated object_tracker.cpp with new APIs
Change-Id: I1fd812cb376d5cddee5ab4acf2e4f8fe6d33b761
Diffstat (limited to 'layers/object_tracker.cpp')
| -rw-r--r-- | layers/object_tracker.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/layers/object_tracker.cpp b/layers/object_tracker.cpp index 62d9e044..8949cca5 100644 --- a/layers/object_tracker.cpp +++ b/layers/object_tracker.cpp @@ -5146,6 +5146,64 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceGeneratedCommandsPropertiesNVX(VkPhy } } +VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE(VkDevice device, VkSwapchainKHR swapchain, + uint32_t *pPresentationTimingCount, + VkPastPresentationTimingGOOGLE *pPresentationTimings) { + VkResult result = VK_ERROR_VALIDATION_FAILED_EXT; + bool skip = false; + { + std::unique_lock<std::mutex> lock(global_lock); + skip |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); + skip |= ValidateObject(device, swapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); + } + + if (!skip) { + result = get_dispatch_table(ot_device_table_map, device) + ->GetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings); + } + return result; +} + +VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE(VkDevice device, VkSwapchainKHR swapchain, + VkRefreshCycleDurationGOOGLE *pDisplayTimingProperties) { + VkResult result = VK_ERROR_VALIDATION_FAILED_EXT; + bool skip = false; + { + std::unique_lock<std::mutex> lock(global_lock); + skip |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); + skip |= ValidateObject(device, swapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); + } + + if (!skip) { + result = get_dispatch_table(ot_device_table_map, device) + ->GetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties); + } + return result; +} + +VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR *pSwapchains, + const VkHdrMetadataEXT *pMetadata) { + bool skip = false; + { + std::lock_guard<std::mutex> lock(global_lock); + if (pSwapchains) { + for (uint32_t idx0 = 0; idx0 < swapchainCount; ++idx0) { + skip |= ValidateObject(device, pSwapchains[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); + } + } + skip |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); + } + if (!skip) { + get_dispatch_table(ot_device_table_map, device)->SetHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata); + } +} + static inline PFN_vkVoidFunction InterceptCoreDeviceCommand(const char *name) { if (!name || name[0] != 'v' || name[1] != 'k') return NULL; @@ -5281,6 +5339,9 @@ static inline PFN_vkVoidFunction InterceptCoreDeviceCommand(const char *name) { #endif // VK_USE_PLATFORM_WIN32_KHR if (!strcmp(name, "CmdDrawIndirectCountAMD")) return (PFN_vkVoidFunction)CmdDrawIndirectCountAMD; if (!strcmp(name, "CmdDrawIndexedIndirectCountAMD")) return (PFN_vkVoidFunction)CmdDrawIndexedIndirectCountAMD; + if (!strcmp(name, "GetPastPresentationTimingGOOGLE")) return (PFN_vkVoidFunction)GetPastPresentationTimingGOOGLE; + if (!strcmp(name, "GetRefreshCycleDurationGOOGLE")) return (PFN_vkVoidFunction)GetRefreshCycleDurationGOOGLE; + if (!strcmp(name, "SetHdrMetadataEXT")) return (PFN_vkVoidFunction)SetHdrMetadataEXT; return NULL; } |
