| /* | 
 |  * Copyright 2017 Google Inc. | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 | #include "src/gpu/GrOnFlushResourceProvider.h" | 
 |  | 
 | #include "include/gpu/GrDirectContext.h" | 
 | #include "include/gpu/GrRecordingContext.h" | 
 | #include "src/gpu/GrDirectContextPriv.h" | 
 | #include "src/gpu/GrDrawingManager.h" | 
 | #include "src/gpu/GrProxyProvider.h" | 
 | #include "src/gpu/GrRecordingContextPriv.h" | 
 | #include "src/gpu/GrResourceProvider.h" | 
 | #include "src/gpu/GrSurfaceProxy.h" | 
 | #include "src/gpu/GrSurfaceProxyPriv.h" | 
 | #include "src/gpu/GrTextureResolveRenderTask.h" | 
 |  | 
 | bool GrOnFlushResourceProvider::instatiateProxy(GrSurfaceProxy* proxy) { | 
 |     SkASSERT(proxy->canSkipResourceAllocator()); | 
 |  | 
 |     // TODO: this class should probably just get a GrDirectContext | 
 |     auto direct = fDrawingMgr->getContext()->asDirectContext(); | 
 |     if (!direct) { | 
 |         return false; | 
 |     } | 
 |  | 
 |     auto resourceProvider = direct->priv().resourceProvider(); | 
 |  | 
 |     if (proxy->isLazy()) { | 
 |         return proxy->priv().doLazyInstantiation(resourceProvider); | 
 |     } | 
 |  | 
 |     return proxy->instantiate(resourceProvider); | 
 | } | 
 |  | 
 | const GrCaps* GrOnFlushResourceProvider::caps() const { | 
 |     return fDrawingMgr->getContext()->priv().caps(); | 
 | } |