aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkGpu.cpp
diff options
context:
space:
mode:
authorGravatar egdaniel <egdaniel@google.com>2016-09-20 08:54:23 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-20 08:54:23 -0700
commitbe9d82161d8347929a66ef942dabbe56abf592a4 (patch)
tree2a90ef981c6427bada15c20af059522ac69d8f68 /src/gpu/vk/GrVkGpu.cpp
parent388127f1927ec6ba699a925969fd38a86cf56b3a (diff)
Workaround for Adreno INITIALIZATION_FAILED bug
Diffstat (limited to 'src/gpu/vk/GrVkGpu.cpp')
-rw-r--r--src/gpu/vk/GrVkGpu.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index 82e7394330..4d410a7b3a 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -177,8 +177,15 @@ GrVkGpu::~GrVkGpu() {
#endif
#endif
- // VK_ERROR_DEVICE_LOST is acceptable when tearing down (see 4.2.4 in spec)
- SkASSERT(VK_SUCCESS == res || VK_ERROR_DEVICE_LOST == res);
+#ifdef SK_DEBUG
+ if (this->vkCaps().allowInitializationErrorOnTearDown()) {
+ SkASSERT(VK_SUCCESS == res ||
+ VK_ERROR_DEVICE_LOST == res ||
+ VK_ERROR_INITIALIZATION_FAILED == res);
+ } else {
+ SkASSERT(VK_SUCCESS == res || VK_ERROR_DEVICE_LOST == res);
+ }
+#endif
// must call this just before we destroy the VkDevice
fResourceProvider.destroyResources();