From: robertphillips Date: Thu, 21 Apr 2016 18:27:43 +0000 (-0700) Subject: Guard against FramebufferStatus checks in GrGLRenderTarget X-Git-Tag: accepted/tizen/5.0/unified/20181102.025319~129^2~866 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fa7ff470a83183ba0d22a8b83a022e2e3122e851;p=platform%2Fupstream%2FlibSkiaSharp.git Guard against FramebufferStatus checks in GrGLRenderTarget BUG=skia:5200 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1905063002 Review URL: https://codereview.chromium.org/1905063002 --- diff --git a/src/gpu/gl/GrGLRenderTarget.cpp b/src/gpu/gl/GrGLRenderTarget.cpp index d4585f6..b77ec4b 100644 --- a/src/gpu/gl/GrGLRenderTarget.cpp +++ b/src/gpu/gl/GrGLRenderTarget.cpp @@ -84,9 +84,13 @@ bool GrGLRenderTarget::completeStencilAttachment() { GR_GL_DEPTH_ATTACHMENT, GR_GL_RENDERBUFFER, 0)); #ifdef SK_DEBUG - GrGLenum status; - GR_GL_CALL_RET(interface, status, CheckFramebufferStatus(GR_GL_FRAMEBUFFER)); - SkASSERT(GR_GL_FRAMEBUFFER_COMPLETE == status); + if (kChromium_GrGLDriver != gpu->glContext().driver()) { + // This check can cause problems in Chromium if the context has been asynchronously + // abandoned (see skbug.com/5200) + GrGLenum status; + GR_GL_CALL_RET(interface, status, CheckFramebufferStatus(GR_GL_FRAMEBUFFER)); + SkASSERT(GR_GL_FRAMEBUFFER_COMPLETE == status); + } #endif return true; } else { @@ -110,9 +114,13 @@ bool GrGLRenderTarget::completeStencilAttachment() { } #ifdef SK_DEBUG - GrGLenum status; - GR_GL_CALL_RET(interface, status, CheckFramebufferStatus(GR_GL_FRAMEBUFFER)); - SkASSERT(GR_GL_FRAMEBUFFER_COMPLETE == status); + if (kChromium_GrGLDriver != gpu->glContext().driver()) { + // This check can cause problems in Chromium if the context has been asynchronously + // abandoned (see skbug.com/5200) + GrGLenum status; + GR_GL_CALL_RET(interface, status, CheckFramebufferStatus(GR_GL_FRAMEBUFFER)); + SkASSERT(GR_GL_FRAMEBUFFER_COMPLETE == status); + } #endif return true; }