| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "GrContextFactory.h" | 9 #include "GrContextFactory.h" |
| 10 | 10 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 context.fGLContext->makeCurrent(); | 53 context.fGLContext->makeCurrent(); |
| 54 context.fGLContext->testAbandon(); | 54 context.fGLContext->testAbandon(); |
| 55 delete(context.fGLContext); | 55 delete(context.fGLContext); |
| 56 context.fGLContext = nullptr; | 56 context.fGLContext = nullptr; |
| 57 } | 57 } |
| 58 context.fGrContext->abandonContext(); | 58 context.fGrContext->abandonContext(); |
| 59 } | 59 } |
| 60 } | 60 } |
| 61 | 61 |
| 62 GrContextFactory::ContextInfo GrContextFactory::getContextInfo(GLContextType typ
e, | 62 GrContextFactory::ContextInfo GrContextFactory::getContextInfo(GLContextType typ
e, |
| 63 GLContextOptions
options) { | 63 GLContextOptions
options, |
| 64 SkGLContext* shar
eList) { |
| 64 for (int i = 0; i < fContexts.count(); ++i) { | 65 for (int i = 0; i < fContexts.count(); ++i) { |
| 65 Context& context = fContexts[i]; | 66 Context& context = fContexts[i]; |
| 66 if (!context.fGLContext) { | 67 if (!context.fGLContext) { |
| 67 continue; | 68 continue; |
| 68 } | 69 } |
| 69 if (context.fType == type && | 70 if (context.fType == type && |
| 70 context.fOptions == options) { | 71 context.fOptions == options) { |
| 71 context.fGLContext->makeCurrent(); | 72 context.fGLContext->makeCurrent(); |
| 72 return ContextInfo(context.fGrContext, context.fGLContext); | 73 return ContextInfo(context.fGrContext, context.fGLContext); |
| 73 } | 74 } |
| 74 } | 75 } |
| 75 SkAutoTDelete<SkGLContext> glCtx; | 76 SkAutoTDelete<SkGLContext> glCtx; |
| 76 SkAutoTUnref<GrContext> grCtx; | 77 SkAutoTUnref<GrContext> grCtx; |
| 77 switch (type) { | 78 switch (type) { |
| 78 case kNative_GLContextType: | 79 case kNative_GLContextType: |
| 79 glCtx.reset(SkCreatePlatformGLContext(kNone_GrGLStandard)); | 80 glCtx.reset(SkCreatePlatformGLContext(kNone_GrGLStandard, shareList)
); |
| 80 break; | 81 break; |
| 81 case kGL_GLContextType: | 82 case kGL_GLContextType: |
| 82 glCtx.reset(SkCreatePlatformGLContext(kGL_GrGLStandard)); | 83 glCtx.reset(SkCreatePlatformGLContext(kGL_GrGLStandard, shareList)); |
| 83 break; | 84 break; |
| 84 case kGLES_GLContextType: | 85 case kGLES_GLContextType: |
| 85 glCtx.reset(SkCreatePlatformGLContext(kGLES_GrGLStandard)); | 86 glCtx.reset(SkCreatePlatformGLContext(kGLES_GrGLStandard, shareList)
); |
| 86 break; | 87 break; |
| 87 #if SK_ANGLE | 88 #if SK_ANGLE |
| 88 #ifdef SK_BUILD_FOR_WIN | 89 #ifdef SK_BUILD_FOR_WIN |
| 89 case kANGLE_GLContextType: | 90 case kANGLE_GLContextType: |
| 90 glCtx.reset(SkANGLEGLContext::CreateDirectX()); | 91 glCtx.reset(SkANGLEGLContext::CreateDirectX()); |
| 91 break; | 92 break; |
| 92 #endif | 93 #endif |
| 93 case kANGLE_GL_GLContextType: | 94 case kANGLE_GL_GLContextType: |
| 94 glCtx.reset(SkANGLEGLContext::CreateOpenGL()); | 95 glCtx.reset(SkANGLEGLContext::CreateOpenGL()); |
| 95 break; | 96 break; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 } | 143 } |
| 143 } | 144 } |
| 144 | 145 |
| 145 Context& context = fContexts.push_back(); | 146 Context& context = fContexts.push_back(); |
| 146 context.fGLContext = glCtx.detach(); | 147 context.fGLContext = glCtx.detach(); |
| 147 context.fGrContext = SkRef(grCtx.get()); | 148 context.fGrContext = SkRef(grCtx.get()); |
| 148 context.fType = type; | 149 context.fType = type; |
| 149 context.fOptions = options; | 150 context.fOptions = options; |
| 150 return ContextInfo(context.fGrContext, context.fGLContext); | 151 return ContextInfo(context.fGrContext, context.fGLContext); |
| 151 } | 152 } |
| OLD | NEW |