aboutsummaryrefslogtreecommitdiff
path: root/layers/parameter_validation.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2016-09-29 15:01:28 -0600
committerMark Lobodzinski <mark@lunarg.com>2016-09-30 09:29:17 -0600
commit0f603598cac80990080aadea08f815835d78e3fd (patch)
tree18ff07e39a2c335feb1d13a564eafdb4b3f25964 /layers/parameter_validation.cpp
parentce43a618ad0d1e20dd5b1e004990174dc3a2bd55 (diff)
downloadusermoji-0f603598cac80990080aadea08f815835d78e3fd.tar.xz
layers: Add VK_NV_external_memory_win32 ext to PV
Added GetMemoryWin32HandleNV function for this extension to the parameter validation layer. Change-Id: Ib1b870ab2b0433a19fcdca6bb6e0bffbeda74a13
Diffstat (limited to 'layers/parameter_validation.cpp')
-rw-r--r--layers/parameter_validation.cpp22
1 files changed, 22 insertions, 0 deletions
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<PFN_vkVoidFunction>(DebugMarkerSetObjectNameEXT) },
{"vkCmdDebugMarkerBeginEXT", reinterpret_cast<PFN_vkVoidFunction>(CmdDebugMarkerBeginEXT) },
{"vkCmdDebugMarkerInsertEXT", reinterpret_cast<PFN_vkVoidFunction>(CmdDebugMarkerInsertEXT) },
+#ifdef VK_USE_PLATFORM_WIN32_KHR
+ {"vkGetMemoryWin32HandleNV", reinterpret_cast<PFN_vkVoidFunction>(GetMemoryWin32HandleNV) },
+#endif // VK_USE_PLATFORM_WIN32_KHR
};