diff options
Diffstat (limited to 'experimental/iOSSampleApp/SkSampleUIView.mm')
-rw-r--r-- | experimental/iOSSampleApp/SkSampleUIView.mm | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/experimental/iOSSampleApp/SkSampleUIView.mm b/experimental/iOSSampleApp/SkSampleUIView.mm index 2ed5402ba6..9fc95bd152 100644 --- a/experimental/iOSSampleApp/SkSampleUIView.mm +++ b/experimental/iOSSampleApp/SkSampleUIView.mm @@ -61,8 +61,8 @@ public: SkASSERT(false); break; } - - bool result = win->attach(fBackend, msaaSampleCount); + SkOSWindow::AttachmentInfo info; + bool result = win->attach(fBackend, msaaSampleCount, &info); if (!result) { SkDebugf("Failed to initialize GL"); return; @@ -165,7 +165,9 @@ public: virtual void windowSizeChanged(SampleWindow* win) SK_OVERRIDE { #if SK_SUPPORT_GPU if (NULL != fCurContext) { - win->attach(fBackend, fMSAASampleCount); + SkOSWindow::AttachmentInfo info; + + win->attach(fBackend, fMSAASampleCount, &info); glBindFramebuffer(GL_FRAMEBUFFER, fLayerFBO); GrBackendRenderTargetDesc desc; @@ -173,9 +175,9 @@ public: desc.fHeight = SkScalarRound(win->height()); desc.fConfig = kSkia8888_GrPixelConfig; desc.fRenderTargetHandle = fLayerFBO; - glGetIntegerv(GL_SAMPLES, &desc.fSampleCnt); - glGetIntegerv(GL_STENCIL_BITS, &desc.fStencilBits); - + desc.fSampleCnt = info.fSampleCount; + desc.fStencilBits = info.fStencilBits; + SkSafeUnref(fCurRenderTarget); fCurRenderTarget = fCurContext->wrapBackendRenderTarget(desc); } @@ -480,4 +482,14 @@ static FPSState gFPS; } } +- (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info { + glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer); + glGetRenderbufferParameteriv(GL_RENDERBUFFER, + GL_RENDERBUFFER_STENCIL_SIZE, + &info->fStencilBits); + glGetRenderbufferParameteriv(GL_RENDERBUFFER, + GL_RENDERBUFFER_SAMPLES_APPLE, + &info->fSampleCount); +} + @end |