| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #import "SkSampleUIView.h" | 8 #import "SkSampleUIView.h" |
| 9 | 9 |
| 10 //#define SKGL_CONFIG kEAGLColorFormatRGB565 | 10 //#define SKGL_CONFIG kEAGLColorFormatRGB565 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 } | 40 } |
| 41 | 41 |
| 42 virtual ~SkiOSDeviceManager() { | 42 virtual ~SkiOSDeviceManager() { |
| 43 #if SK_SUPPORT_GPU | 43 #if SK_SUPPORT_GPU |
| 44 SkSafeUnref(fCurContext); | 44 SkSafeUnref(fCurContext); |
| 45 SkSafeUnref(fCurIntf); | 45 SkSafeUnref(fCurIntf); |
| 46 SkSafeUnref(fCurRenderTarget); | 46 SkSafeUnref(fCurRenderTarget); |
| 47 #endif | 47 #endif |
| 48 } | 48 } |
| 49 | 49 |
| 50 void setUpBackend(SampleWindow* win, int msaaSampleCount) override { | 50 void setUpBackend(SampleWindow* win, int msaaSampleCount, bool deepColor) ov
erride { |
| 51 SkASSERT(SkOSWindow::kNone_BackEndType == fBackend); | 51 SkASSERT(SkOSWindow::kNone_BackEndType == fBackend); |
| 52 | 52 |
| 53 fBackend = SkOSWindow::kNone_BackEndType; | 53 fBackend = SkOSWindow::kNone_BackEndType; |
| 54 | 54 |
| 55 #if SK_SUPPORT_GPU | 55 #if SK_SUPPORT_GPU |
| 56 switch (win->getDeviceType()) { | 56 switch (win->getDeviceType()) { |
| 57 case SampleWindow::kRaster_DeviceType: | 57 case SampleWindow::kRaster_DeviceType: |
| 58 break; | 58 break; |
| 59 // these guys use the native backend | 59 // these guys use the native backend |
| 60 case SampleWindow::kGPU_DeviceType: | 60 case SampleWindow::kGPU_DeviceType: |
| 61 fBackend = SkOSWindow::kNativeGL_BackEndType; | 61 fBackend = SkOSWindow::kNativeGL_BackEndType; |
| 62 break; | 62 break; |
| 63 default: | 63 default: |
| 64 SkASSERT(false); | 64 SkASSERT(false); |
| 65 break; | 65 break; |
| 66 } | 66 } |
| 67 SkOSWindow::AttachmentInfo info; | 67 SkOSWindow::AttachmentInfo info; |
| 68 bool result = win->attach(fBackend, msaaSampleCount, &info); | 68 bool result = win->attach(fBackend, msaaSampleCount, false, &info); |
| 69 if (!result) { | 69 if (!result) { |
| 70 SkDebugf("Failed to initialize GL"); | 70 SkDebugf("Failed to initialize GL"); |
| 71 return; | 71 return; |
| 72 } | 72 } |
| 73 fMSAASampleCount = msaaSampleCount; | 73 fMSAASampleCount = msaaSampleCount; |
| 74 | 74 |
| 75 SkASSERT(NULL == fCurIntf); | 75 SkASSERT(NULL == fCurIntf); |
| 76 switch (win->getDeviceType()) { | 76 switch (win->getDeviceType()) { |
| 77 case SampleWindow::kRaster_DeviceType: | 77 case SampleWindow::kRaster_DeviceType: |
| 78 fCurIntf = NULL; | 78 fCurIntf = NULL; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 } | 138 } |
| 139 #endif | 139 #endif |
| 140 win->present(); | 140 win->present(); |
| 141 } | 141 } |
| 142 | 142 |
| 143 void windowSizeChanged(SampleWindow* win) override { | 143 void windowSizeChanged(SampleWindow* win) override { |
| 144 #if SK_SUPPORT_GPU | 144 #if SK_SUPPORT_GPU |
| 145 if (NULL != fCurContext) { | 145 if (NULL != fCurContext) { |
| 146 SkOSWindow::AttachmentInfo info; | 146 SkOSWindow::AttachmentInfo info; |
| 147 | 147 |
| 148 win->attach(fBackend, fMSAASampleCount, &info); | 148 win->attach(fBackend, fMSAASampleCount, false, &info); |
| 149 | 149 |
| 150 glBindFramebuffer(GL_FRAMEBUFFER, fLayerFBO); | 150 glBindFramebuffer(GL_FRAMEBUFFER, fLayerFBO); |
| 151 GrBackendRenderTargetDesc desc; | 151 GrBackendRenderTargetDesc desc; |
| 152 desc.fWidth = SkScalarRoundToInt(win->width()); | 152 desc.fWidth = SkScalarRoundToInt(win->width()); |
| 153 desc.fHeight = SkScalarRoundToInt(win->height()); | 153 desc.fHeight = SkScalarRoundToInt(win->height()); |
| 154 desc.fConfig = kSkia8888_GrPixelConfig; | 154 desc.fConfig = kSkia8888_GrPixelConfig; |
| 155 desc.fRenderTargetHandle = fLayerFBO; | 155 desc.fRenderTargetHandle = fLayerFBO; |
| 156 desc.fSampleCnt = info.fSampleCount; | 156 desc.fSampleCnt = info.fSampleCount; |
| 157 desc.fStencilBits = info.fStencilBits; | 157 desc.fStencilBits = info.fStencilBits; |
| 158 | 158 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 170 #endif | 170 #endif |
| 171 } | 171 } |
| 172 | 172 |
| 173 GrRenderTarget* getGrRenderTarget() override { | 173 GrRenderTarget* getGrRenderTarget() override { |
| 174 #if SK_SUPPORT_GPU | 174 #if SK_SUPPORT_GPU |
| 175 return fCurRenderTarget; | 175 return fCurRenderTarget; |
| 176 #else | 176 #else |
| 177 return NULL; | 177 return NULL; |
| 178 #endif | 178 #endif |
| 179 } | 179 } |
| 180 | 180 |
| 181 int getColorBits() override { |
| 182 return 24; |
| 183 } |
| 184 |
| 181 bool isUsingGL() const { return SkOSWindow::kNone_BackEndType != fBackend; } | 185 bool isUsingGL() const { return SkOSWindow::kNone_BackEndType != fBackend; } |
| 182 | 186 |
| 183 private: | 187 private: |
| 184 | 188 |
| 185 #if SK_SUPPORT_GPU | 189 #if SK_SUPPORT_GPU |
| 186 GrContext* fCurContext; | 190 GrContext* fCurContext; |
| 187 const GrGLInterface* fCurIntf; | 191 const GrGLInterface* fCurIntf; |
| 188 GrRenderTarget* fCurRenderTarget; | 192 GrRenderTarget* fCurRenderTarget; |
| 189 int fMSAASampleCount; | 193 int fMSAASampleCount; |
| 190 GLint fLayerFBO; | 194 GLint fLayerFBO; |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer); | 485 glBindRenderbuffer(GL_RENDERBUFFER, fGL.fRenderbuffer); |
| 482 glGetRenderbufferParameteriv(GL_RENDERBUFFER, | 486 glGetRenderbufferParameteriv(GL_RENDERBUFFER, |
| 483 GL_RENDERBUFFER_STENCIL_SIZE, | 487 GL_RENDERBUFFER_STENCIL_SIZE, |
| 484 &info->fStencilBits); | 488 &info->fStencilBits); |
| 485 glGetRenderbufferParameteriv(GL_RENDERBUFFER, | 489 glGetRenderbufferParameteriv(GL_RENDERBUFFER, |
| 486 GL_RENDERBUFFER_SAMPLES_APPLE, | 490 GL_RENDERBUFFER_SAMPLES_APPLE, |
| 487 &info->fSampleCount); | 491 &info->fSampleCount); |
| 488 } | 492 } |
| 489 | 493 |
| 490 @end | 494 @end |
| OLD | NEW |