diff options
Diffstat (limited to 'tools/viewer/sk_app/GLWindowContext.cpp')
-rw-r--r-- | tools/viewer/sk_app/GLWindowContext.cpp | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/tools/viewer/sk_app/GLWindowContext.cpp b/tools/viewer/sk_app/GLWindowContext.cpp index 6195199ce0..ff56ce8668 100644 --- a/tools/viewer/sk_app/GLWindowContext.cpp +++ b/tools/viewer/sk_app/GLWindowContext.cpp @@ -6,18 +6,19 @@ * found in the LICENSE file. */ -#include "GrBackendSurface.h" #include "GrContext.h" -#include "GrRenderTarget.h" +#include "SkSurface.h" #include "GLWindowContext.h" #include "gl/GrGLDefines.h" + #include "gl/GrGLUtil.h" +#include "GrRenderTarget.h" +#include "GrContext.h" #include "SkCanvas.h" #include "SkImage_Base.h" #include "SkMathPriv.h" -#include "SkSurface.h" namespace sk_app { @@ -63,7 +64,7 @@ void GLWindowContext::destroyContext() { fContext->unref(); fContext = nullptr; } - + fBackendContext.reset(nullptr); this->onDestroyContext(); @@ -72,21 +73,18 @@ void GLWindowContext::destroyContext() { sk_sp<SkSurface> GLWindowContext::getBackbufferSurface() { if (nullptr == fSurface) { if (fContext) { - GrGLFramebufferInfo fbInfo; + GrBackendRenderTargetDesc desc; + desc.fWidth = this->fWidth; + desc.fHeight = this->fHeight; + desc.fConfig = fPixelConfig; + desc.fOrigin = kBottomLeft_GrSurfaceOrigin; + desc.fSampleCnt = fSampleCount; + desc.fStencilBits = fStencilBits; GrGLint buffer; - GR_GL_CALL(fBackendContext.get(), GetIntegerv(GR_GL_FRAMEBUFFER_BINDING, - &buffer)); - fbInfo.fFBOID = buffer; - - GrBackendRenderTarget backendRT(fWidth, - fHeight, - fSampleCount, - fStencilBits, - fPixelConfig, - fbInfo); - - fSurface = SkSurface::MakeFromBackendRenderTarget(fContext, backendRT, - kBottomLeft_GrSurfaceOrigin, + GR_GL_CALL(fBackendContext.get(), GetIntegerv(GR_GL_FRAMEBUFFER_BINDING, &buffer)); + desc.fRenderTargetHandle = buffer; + + fSurface = SkSurface::MakeFromBackendRenderTarget(fContext, desc, fDisplayParams.fColorSpace, &fSurfaceProps); } |