/* * 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(); }