From 0f603598cac80990080aadea08f815835d78e3fd Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Thu, 29 Sep 2016 15:01:28 -0600 Subject: layers: Add VK_NV_external_memory_win32 ext to PV Added GetMemoryWin32HandleNV function for this extension to the parameter validation layer. Change-Id: Ib1b870ab2b0433a19fcdca6bb6e0bffbeda74a13 --- layers/parameter_validation.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'layers/parameter_validation.cpp') diff --git a/layers/parameter_validation.cpp b/layers/parameter_validation.cpp index 0f8bda61..59df9d85 100644 --- a/layers/parameter_validation.cpp +++ b/layers/parameter_validation.cpp @@ -5161,6 +5161,25 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV( return result; } +#ifdef VK_USE_PLATFORM_WIN32_KHR +// VK_NV_external_memory_win32 Extension +VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(VkDevice device, VkDeviceMemory memory, + VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle) { + + VkResult result = VK_ERROR_VALIDATION_FAILED_EXT; + bool skip_call = false; + layer_data *my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); + assert(my_data != NULL); + + skip_call |= parameter_validation_vkGetMemoryWin32HandleNV(my_data->report_data, memory, handleType, pHandle); + + if (!skip_call) { + result = get_dispatch_table(pc_device_table_map, device)->GetMemoryWin32HandleNV(device, memory, handleType, pHandle); + } + + return result; +} +#endif // VK_USE_PLATFORM_WIN32_KHR @@ -5380,6 +5399,9 @@ static PFN_vkVoidFunction intercept_core_device_command(const char *name) { {"vkDebugMarkerSetObjectNameEXT", reinterpret_cast(DebugMarkerSetObjectNameEXT) }, {"vkCmdDebugMarkerBeginEXT", reinterpret_cast(CmdDebugMarkerBeginEXT) }, {"vkCmdDebugMarkerInsertEXT", reinterpret_cast(CmdDebugMarkerInsertEXT) }, +#ifdef VK_USE_PLATFORM_WIN32_KHR + {"vkGetMemoryWin32HandleNV", reinterpret_cast(GetMemoryWin32HandleNV) }, +#endif // VK_USE_PLATFORM_WIN32_KHR }; -- cgit v1.2.3