1 /* 2 * Copyright 2019 Google LLC 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef GrTextureResolveManager_DEFINED 9 #define GrTextureResolveManager_DEFINED 10 11 #include "include/core/SkRefCnt.h" 12 #include "src/gpu/GrDrawingManager.h" 13 14 class GrCaps; 15 class GrDrawingManager; 16 class GrRenderTask; 17 18 /* 19 * This class is a shallow view of the drawing manager. It is passed to render tasks when setting up 20 * the dependency DAG, and gives them limited access to functionality for making new tasks that 21 * regenerate mipmaps and/or resolve MSAA. 22 */ 23 class GrTextureResolveManager { 24 public: GrTextureResolveManager(GrDrawingManager * drawingManager)25 explicit GrTextureResolveManager(GrDrawingManager* drawingManager) 26 : fDrawingManager(drawingManager) {} 27 newTextureResolveRenderTask(const GrCaps & caps)28 GrTextureResolveRenderTask* newTextureResolveRenderTask(const GrCaps& caps) const { 29 SkASSERT(fDrawingManager); 30 return fDrawingManager->newTextureResolveRenderTask(caps); 31 } 32 33 private: 34 GrDrawingManager* fDrawingManager; 35 }; 36 37 #endif 38