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 14class GrCaps; 15class GrDrawingManager; 16class 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 */ 23class GrTextureResolveManager { 24public: 25 explicit GrTextureResolveManager(GrDrawingManager* drawingManager) 26 : fDrawingManager(drawingManager) {} 27 28 GrTextureResolveRenderTask* newTextureResolveRenderTask(const GrCaps& caps) const { 29 SkASSERT(fDrawingManager); 30 return fDrawingManager->newTextureResolveRenderTask(caps); 31 } 32 33private: 34 GrDrawingManager* fDrawingManager; 35}; 36 37#endif 38