Vulkan: Implement robustness extensions.
Device recovery is not possible but device loss can be tracked.
BUG=angleproject:2787
Change-Id: Ib94dd557b6b005a560b7a64275b176f7b1777211
Reviewed-on: https://chromium-review.googlesource.com/1194458
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp
index cd474fd..dfb0619 100644
--- a/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -299,6 +299,7 @@
mDevice(VK_NULL_HANDLE),
mLastCompletedQueueSerial(mQueueSerialFactory.generate()),
mCurrentQueueSerial(mQueueSerialFactory.generate()),
+ mDeviceLost(false),
mPipelineCacheVkUpdateTimeout(kPipelineCacheVkUpdatePeriod)
{
}
@@ -355,6 +356,16 @@
mPhysicalDevice = VK_NULL_HANDLE;
}
+void RendererVk::markDeviceLost()
+{
+ mDeviceLost = true;
+}
+
+bool RendererVk::isDeviceLost() const
+{
+ return mDeviceLost;
+}
+
angle::Result RendererVk::initialize(DisplayVk *displayVk,
const egl::AttributeMap &attribs,
const char *wsiName)