diff options
author | 2016-09-20 08:54:23 -0700 | |
---|---|---|
committer | 2016-09-20 08:54:23 -0700 | |
commit | be9d82161d8347929a66ef942dabbe56abf592a4 (patch) | |
tree | 2a90ef981c6427bada15c20af059522ac69d8f68 /src/gpu/vk/GrVkGpu.cpp | |
parent | 388127f1927ec6ba699a925969fd38a86cf56b3a (diff) |
Workaround for Adreno INITIALIZATION_FAILED bug
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2352083002
Review-Url: https://codereview.chromium.org/2352083002
Diffstat (limited to 'src/gpu/vk/GrVkGpu.cpp')
-rw-r--r-- | src/gpu/vk/GrVkGpu.cpp | 11 |
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(); |