aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/gpu/GrContextFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gpu/GrContextFactory.cpp')
-rw-r--r--tools/gpu/GrContextFactory.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/gpu/GrContextFactory.cpp b/tools/gpu/GrContextFactory.cpp
index 9c124bffa2..bd745bcfcd 100644
--- a/tools/gpu/GrContextFactory.cpp
+++ b/tools/gpu/GrContextFactory.cpp
@@ -191,6 +191,15 @@ ContextInfo GrContextFactory::getContextInfo(ContextType type, ContextOptions op
return ContextInfo();
}
+ // There is some bug (either in Skia or the NV Vulkan driver) where VkDevice
+ // destruction will hang occaisonally. For some reason having an existing GL
+ // context fixes this.
+ if (!fSentinelGLContext) {
+ fSentinelGLContext.reset(CreatePlatformGLTestContext(kGL_GrGLStandard));
+ if (!fSentinelGLContext) {
+ fSentinelGLContext.reset(CreatePlatformGLTestContext(kGLES_GrGLStandard));
+ }
+ }
backendContext = testCtx->backendContext();
break;
#endif