| OLD | NEW |
| 1 #import "SkSampleUIView.h" | 1 #import "SkSampleUIView.h" |
| 2 | 2 |
| 3 //#define SKWIND_CONFIG SkBitmap::kRGB_565_Config | 3 //#define SKWIND_CONFIG SkBitmap::kRGB_565_Config |
| 4 #define SKWIND_CONFIG SkBitmap::kARGB_8888_Config | 4 #define SKWIND_CONFIG SkBitmap::kARGB_8888_Config |
| 5 #define SKGL_CONFIG kEAGLColorFormatRGB565 | 5 #define SKGL_CONFIG kEAGLColorFormatRGB565 |
| 6 //#define SKGL_CONFIG kEAGLColorFormatRGBA8 | 6 //#define SKGL_CONFIG kEAGLColorFormatRGBA8 |
| 7 | 7 |
| 8 #define FORCE_REDRAW | 8 #define FORCE_REDRAW |
| 9 | 9 |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 break; | 54 break; |
| 55 // these guys use the native backend | 55 // these guys use the native backend |
| 56 case SampleWindow::kGPU_DeviceType: | 56 case SampleWindow::kGPU_DeviceType: |
| 57 case SampleWindow::kNullGPU_DeviceType: | 57 case SampleWindow::kNullGPU_DeviceType: |
| 58 fBackend = SkOSWindow::kNativeGL_BackEndType; | 58 fBackend = SkOSWindow::kNativeGL_BackEndType; |
| 59 break; | 59 break; |
| 60 default: | 60 default: |
| 61 SkASSERT(false); | 61 SkASSERT(false); |
| 62 break; | 62 break; |
| 63 } | 63 } |
| 64 | 64 SkOSWindow::AttachmentInfo info; |
| 65 bool result = win->attach(fBackend, msaaSampleCount); | 65 bool result = win->attach(fBackend, msaaSampleCount, &info); |
| 66 if (!result) { | 66 if (!result) { |
| 67 SkDebugf("Failed to initialize GL"); | 67 SkDebugf("Failed to initialize GL"); |
| 68 return; | 68 return; |
| 69 } | 69 } |
| 70 fMSAASampleCount = msaaSampleCount; | 70 fMSAASampleCount = msaaSampleCount; |
| 71 | 71 |
| 72 SkASSERT(NULL == fCurIntf); | 72 SkASSERT(NULL == fCurIntf); |
| 73 switch (win->getDeviceType()) { | 73 switch (win->getDeviceType()) { |
| 74 // these two don't use GL | 74 // these two don't use GL |
| 75 case SampleWindow::kRaster_DeviceType: | 75 case SampleWindow::kRaster_DeviceType: |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 if (NULL != fCurContext) { | 158 if (NULL != fCurContext) { |
| 159 fCurContext->flush(); | 159 fCurContext->flush(); |
| 160 } | 160 } |
| 161 #endif | 161 #endif |
| 162 win->present(); | 162 win->present(); |
| 163 } | 163 } |
| 164 | 164 |
| 165 virtual void windowSizeChanged(SampleWindow* win) SK_OVERRIDE { | 165 virtual void windowSizeChanged(SampleWindow* win) SK_OVERRIDE { |
| 166 #if SK_SUPPORT_GPU | 166 #if SK_SUPPORT_GPU |
| 167 if (NULL != fCurContext) { | 167 if (NULL != fCurContext) { |
| 168 win->attach(fBackend, fMSAASampleCount); | 168 SkOSWindow::AttachmentInfo info; |
| 169 |
| 170 win->attach(fBackend, fMSAASampleCount, &info); |
| 169 | 171 |
| 170 glBindFramebuffer(GL_FRAMEBUFFER, fLayerFBO); | 172 glBindFramebuffer(GL_FRAMEBUFFER, fLayerFBO); |
| 171 GrBackendRenderTargetDesc desc; | 173 GrBackendRenderTargetDesc desc; |
| 172 desc.fWidth = SkScalarRound(win->width()); | 174 desc.fWidth = SkScalarRound(win->width()); |
| 173 desc.fHeight = SkScalarRound(win->height()); | 175 desc.fHeight = SkScalarRound(win->height()); |
| 174 desc.fConfig = kSkia8888_GrPixelConfig; | 176 desc.fConfig = kSkia8888_GrPixelConfig; |
| 175 desc.fRenderTargetHandle = fLayerFBO; | 177 desc.fRenderTargetHandle = fLayerFBO; |
| 176 glGetIntegerv(GL_SAMPLES, &desc.fSampleCnt); | 178 desc.fSampleCnt = info.fSampleCount; |
| 177 glGetIntegerv(GL_STENCIL_BITS, &desc.fStencilBits); | 179 desc.fStencilBits = info.fStencilBits; |
| 178 | 180 |
| 179 SkSafeUnref(fCurRenderTarget); | 181 SkSafeUnref(fCurRenderTarget); |
| 180 fCurRenderTarget = fCurContext->wrapBackendRenderTarget(desc); | 182 fCurRenderTarget = fCurContext->wrapBackendRenderTarget(desc); |
| 181 } | 183 } |
| 182 #endif | 184 #endif |
| 183 } | 185 } |
| 184 | 186 |
| 185 virtual GrContext* getGrContext() SK_OVERRIDE { | 187 virtual GrContext* getGrContext() SK_OVERRIDE { |
| 186 #if SK_SUPPORT_GPU | 188 #if SK_SUPPORT_GPU |
| 187 return fCurContext; | 189 return fCurContext; |
| 188 #else | 190 #else |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 if (gl) { | 475 if (gl) { |
| 474 [self performSelector:@selector(drawInGL) withObject:nil afterDelay:
0]; | 476 [self performSelector:@selector(drawInGL) withObject:nil afterDelay:
0]; |
| 475 } | 477 } |
| 476 else { | 478 else { |
| 477 [self performSelector:@selector(drawInRaster) withObject:nil afterDe
lay:0]; | 479 [self performSelector:@selector(drawInRaster) withObject:nil afterDe
lay:0]; |
| 478 [self setNeedsDisplay]; | 480 [self setNeedsDisplay]; |
| 479 } | 481 } |
| 480 } | 482 } |
| 481 } | 483 } |
| 482 | 484 |
| 485 - (void)getAttachmentInfo:(SkOSWindow::AttachmentInfo*)info { |
| 486 glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer); |
| 487 glGetRenderbufferParameteriv(GL_RENDERBUFFER, |
| 488 GL_RENDERBUFFER_STENCIL_SIZE, |
| 489 &info->fStencilBits); |
| 490 glGetRenderbufferParameteriv(GL_RENDERBUFFER, |
| 491 GL_RENDERBUFFER_SAMPLES_APPLE, |
| 492 &info->fSampleCount); |
| 493 } |
| 494 |
| 483 @end | 495 @end |
| OLD | NEW |