From 87edb95cbba91c28fb9c0bc4977b50c5e1c04940 Mon Sep 17 00:00:00 2001 From: Adam Bodnar Date: Wed, 17 Jul 2019 12:35:53 -0700 Subject: Check if Vulkan layers have a valid looking GIPA Bug: 137862180 Test: flash, remove vkGetInstanceProcAddr from layer symbols, run Change-Id: I4d4d75585623d2c15c57b4d8ad0243a2fc347fce --- vulkan/libvulkan/api.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'vulkan/libvulkan/api.cpp') diff --git a/vulkan/libvulkan/api.cpp b/vulkan/libvulkan/api.cpp index 71048db920..368130d13b 100644 --- a/vulkan/libvulkan/api.cpp +++ b/vulkan/libvulkan/api.cpp @@ -664,6 +664,12 @@ VkResult LayerChain::LoadLayer(ActiveLayer& layer, const char* name) { 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; -- cgit v1.2.3-59-g8ed1b