diff options
Diffstat (limited to 'debugger/QT/SkGLWidget.cpp')
-rw-r--r-- | debugger/QT/SkGLWidget.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/debugger/QT/SkGLWidget.cpp b/debugger/QT/SkGLWidget.cpp index f80ffaf848..baee2bbdac 100644 --- a/debugger/QT/SkGLWidget.cpp +++ b/debugger/QT/SkGLWidget.cpp @@ -56,8 +56,14 @@ void SkGLWidget::createRenderTarget() { glClear(GL_STENCIL_BUFFER_BIT); fCurContext->resetContext(); GrBackendRenderTarget backendRenderTarget = this->getBackendRenderTarget(); + SkColorType colorType; + if (kRGBA_8888_GrPixelConfig == kSkia8888_GrPixelConfig) { + colorType = kRGBA_8888_SkColorType; + } else { + colorType = kBGRA_8888_SkColorType; + } fGpuSurface = SkSurface::MakeFromBackendRenderTarget(fCurContext.get(), backendRenderTarget, - kBottomLeft_GrSurfaceOrigin, + kBottomLeft_GrSurfaceOrigin, colorType, nullptr, nullptr); fCanvas = fGpuSurface->getCanvas(); } @@ -84,11 +90,12 @@ GrBackendRenderTarget SkGLWidget::getBackendRenderTarget() { GR_GL_GetIntegerv(fCurIntf.get(), GR_GL_FRAMEBUFFER_BINDING, &info.fFBOID); GR_GL_GetIntegerv(fCurIntf.get(), GR_GL_SAMPLES, &sampleCnt); GR_GL_GetIntegerv(fCurIntf.get(), GR_GL_STENCIL_BITS, &stencilBits); + // We are on desktop so we assume the internal config is RGBA + info.fFormat = GR_GL_RGBA8; return GrBackendRenderTarget(SkScalarRoundToInt(this->width()), SkScalarRoundToInt(this->height()), sampleCnt, stencilBits, - kSkia8888_GrPixelConfig, info); } |