summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/VulkanManager.h
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-03-12 03:58:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-03-12 03:58:01 +0000
commitf296a878bf57fc483cf660be01488d53ff21b6ea (patch)
treea80e59ee1f727dee3fb749b1f5baa4c2add7b644 /libs/hwui/renderthread/VulkanManager.h
parent54626bf41f24e7543cf57165eb93b7be3cd9a774 (diff)
parent74ace839e01801ee01cf841bf27762947a70d8b1 (diff)
Merge "Copy extension names to an owning container to prevent use-after-free"
Diffstat (limited to 'libs/hwui/renderthread/VulkanManager.h')
-rw-r--r--libs/hwui/renderthread/VulkanManager.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/VulkanManager.h b/libs/hwui/renderthread/VulkanManager.h
index c3d289176576..c2d18029c731 100644
--- a/libs/hwui/renderthread/VulkanManager.h
+++ b/libs/hwui/renderthread/VulkanManager.h
@@ -76,6 +76,8 @@ public:
status_t createReleaseFence(sp<Fence>& nativeFence);
// Returned pointers are owned by VulkanManager.
+ // An instance of VkFunctorInitParams returned from getVkFunctorInitParams refers to
+ // the internal state of VulkanManager: VulkanManager must be alive to use the returned value.
VkFunctorInitParams getVkFunctorInitParams() const;
sk_sp<GrContext> createContext(const GrContextOptions& options);
@@ -164,7 +166,9 @@ private:
// Variables saved to populate VkFunctorInitParams.
static const uint32_t mAPIVersion = VK_MAKE_VERSION(1, 1, 0);
+ std::vector<VkExtensionProperties> mInstanceExtensionsOwner;
std::vector<const char*> mInstanceExtensions;
+ std::vector<VkExtensionProperties> mDeviceExtensionsOwner;
std::vector<const char*> mDeviceExtensions;
VkPhysicalDeviceFeatures2 mPhysicalDeviceFeatures2{};