diff options
-rw-r--r-- | gpu/src/GrGpuGL.cpp | 10 | ||||
-rw-r--r-- | src/utils/mac/SkEGLContext_mac.cpp | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp index 3d86d1b5e5..d366953d86 100644 --- a/gpu/src/GrGpuGL.cpp +++ b/gpu/src/GrGpuGL.cpp @@ -271,7 +271,7 @@ GrGpuGL::GrGpuGL() { // these a preprocess that generate some compile time constants. // sanity check to make sure we can at least create an FBO from a POT texture - + bool simpleFBOSuccess = fbo_test(fExts, 128, 128); if (gPrintStartupSpew) { if (!simpleFBOSuccess) { @@ -293,7 +293,7 @@ GrGpuGL::GrGpuGL() { if (fNPOTTextureSupport) { fNPOTRenderTargetSupport = fbo_test(fExts, 200, 200); } - + if (gPrintStartupSpew) { if (fNPOTTextureSupport) { GrPrintf("NPOT textures supported\n"); @@ -1053,7 +1053,11 @@ bool GrGpuGL::readPixels(int left, int top, int width, int height, return false; } - GrAssert(NULL != fCurrDrawState.fRenderTarget); + if (NULL == fCurrDrawState.fRenderTarget) { + return false; + } + flushRenderTarget(); + const GrIRect& vp = ((GrGLRenderTarget*)fCurrDrawState.fRenderTarget)->viewport(); // Brian says that viewport rects are already upside down (grrrrr) diff --git a/src/utils/mac/SkEGLContext_mac.cpp b/src/utils/mac/SkEGLContext_mac.cpp index 8ac721b439..14ab14bc5d 100644 --- a/src/utils/mac/SkEGLContext_mac.cpp +++ b/src/utils/mac/SkEGLContext_mac.cpp @@ -58,7 +58,10 @@ bool SkEGLContext::init(int width, int height) { glBindRenderbuffer(GL_RENDERBUFFER, dsID); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_STENCIL, width, height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, dsID); - + glViewport(0, 0, width, height); + glClearStencil(0); + glClear(GL_STENCIL_BUFFER_BIT); + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); return GL_FRAMEBUFFER_COMPLETE == status; } |