diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2016-09-28 14:04:29 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2016-09-30 09:29:17 -0600 |
| commit | ce43a618ad0d1e20dd5b1e004990174dc3a2bd55 (patch) | |
| tree | c65d06ed8be634e41c0b2f124a672e1b5e9a88a9 /layers/parameter_validation.cpp | |
| parent | 08dcf42bc295262e95ab0e17907e16fb914cf32d (diff) | |
| download | usermoji-ce43a618ad0d1e20dd5b1e004990174dc3a2bd55.tar.xz | |
layers: Add VK_NV_external_memory_caps ext to PV
Added GetPhysicalDeviceExternalImageFormatPropertiesNV API for the
VK_NV_external_memory_capabilities extension to parameter_validation.
Change-Id: I5011fcf33efffc8c432cde03e2ae4957766488b4
Diffstat (limited to 'layers/parameter_validation.cpp')
| -rw-r--r-- | layers/parameter_validation.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/layers/parameter_validation.cpp b/layers/parameter_validation.cpp index 8329bf44..0f8bda61 100644 --- a/layers/parameter_validation.cpp +++ b/layers/parameter_validation.cpp @@ -5136,6 +5136,33 @@ VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer } } +// VK_NV_external_memory_capabilities Extension +VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV( + VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, + VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, + VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties) { + + VkResult result = VK_ERROR_VALIDATION_FAILED_EXT; + bool skip_call = false; + layer_data *my_data = get_my_data_ptr(get_dispatch_key(physicalDevice), layer_data_map); + assert(my_data != NULL); + + skip_call |= parameter_validation_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( + my_data->report_data, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties); + + if (!skip_call) { + result = get_dispatch_table(pc_instance_table_map, physicalDevice) + ->GetPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice, format, type, tiling, usage, flags, + externalHandleType, pExternalImageFormatProperties); + + validate_result(my_data->report_data, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV", result); + } + + return result; +} + + + static PFN_vkVoidFunction intercept_core_instance_command(const char *name); @@ -5216,6 +5243,7 @@ static PFN_vkVoidFunction intercept_core_instance_command(const char *name) { {"vkEnumerateDeviceLayerProperties", reinterpret_cast<PFN_vkVoidFunction>(EnumerateDeviceLayerProperties)}, {"vkEnumerateInstanceExtensionProperties", reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceExtensionProperties)}, {"vkEnumerateDeviceExtensionProperties", reinterpret_cast<PFN_vkVoidFunction>(EnumerateDeviceExtensionProperties)}, + {"vkGetPhysicalDeviceExternalImageFormatPropertiesNV", reinterpret_cast<PFN_vkVoidFunction>(GetPhysicalDeviceExternalImageFormatPropertiesNV) }, }; for (size_t i = 0; i < ARRAY_SIZE(core_instance_commands); i++) { |
