aboutsummaryrefslogtreecommitdiff
path: root/layers/parameter_validation.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2016-09-28 14:04:29 -0600
committerMark Lobodzinski <mark@lunarg.com>2016-09-30 09:29:17 -0600
commitce43a618ad0d1e20dd5b1e004990174dc3a2bd55 (patch)
treec65d06ed8be634e41c0b2f124a672e1b5e9a88a9 /layers/parameter_validation.cpp
parent08dcf42bc295262e95ab0e17907e16fb914cf32d (diff)
downloadusermoji-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.cpp28
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++) {