Check if Vulkan layers have a valid looking GIPA
Bug: 137862180
Test: flash, remove vkGetInstanceProcAddr from layer symbols, run
Change-Id: I4d4d75585623d2c15c57b4d8ad0243a2fc347fce
diff --git a/vulkan/libvulkan/api.cpp b/vulkan/libvulkan/api.cpp
index 71048db..368130d 100644
--- a/vulkan/libvulkan/api.cpp
+++ b/vulkan/libvulkan/api.cpp
@@ -664,6 +664,12 @@
return VK_ERROR_LAYER_NOT_PRESENT;
}
+ if (!layer.ref.GetGetInstanceProcAddr()) {
+ ALOGW("Failed to locate vkGetInstanceProcAddr in layer %s", name);
+ layer.ref.~LayerRef();
+ return VK_ERROR_LAYER_NOT_PRESENT;
+ }
+
ALOGI("Loaded layer %s", name);
return VK_SUCCESS;