aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrPreFlushResourceProvider.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrPreFlushResourceProvider.h')
-rw-r--r--src/gpu/GrPreFlushResourceProvider.h77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/gpu/GrPreFlushResourceProvider.h b/src/gpu/GrPreFlushResourceProvider.h
deleted file mode 100644
index 86a299a422..0000000000
--- a/src/gpu/GrPreFlushResourceProvider.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrPreFlushResourceProvider_DEFINED
-#define GrPreFlushResourceProvider_DEFINED
-
-#include "GrTypes.h"
-#include "GrNonAtomicRef.h"
-
-// These two are just for GrPreFlushCallbackObject
-#include "SkRefCnt.h"
-#include "SkTDArray.h"
-
-class GrDrawingManager;
-class GrOpList;
-class GrPreFlushResourceProvider;
-class GrRenderTargetOpList;
-class GrRenderTargetContext;
-class GrSurfaceProxy;
-
-class SkColorSpace;
-class SkSurfaceProps;
-
-/*
- * This is the base class from which all per-flush callback objects must be derived. It
- * provides the "preFlush" interface.
- */
-class GrPreFlushCallbackObject : public GrNonAtomicRef<GrPreFlushCallbackObject> {
-public:
- virtual ~GrPreFlushCallbackObject() { }
-
- /*
- * The preFlush callback allows subsystems (e.g., text, path renderers) to create atlases
- * for a specific flush. All the GrOpList IDs required for the flush are passed into the
- * callback. The callback should return the render target contexts used to render the atlases
- * in 'results'.
- */
- virtual void preFlush(GrPreFlushResourceProvider*,
- const uint32_t* opListIDs, int numOpListIDs,
- SkTArray<sk_sp<GrRenderTargetContext>>* results) = 0;
-
-private:
- typedef SkRefCnt INHERITED;
-};
-
-/*
- * This class is a shallow wrapper around the drawing manager. It is passed into the
- * preFlush callbacks and is intended to limit the functionality available to them.
- * It should never have additional data members or virtual methods.
- */
-class GrPreFlushResourceProvider {
-public:
- sk_sp<GrRenderTargetContext> makeRenderTargetContext(const GrSurfaceDesc& desc,
- sk_sp<SkColorSpace> colorSpace,
- const SkSurfaceProps* props);
-
- // TODO: we only need this entry point as long as we have to pre-allocate the atlas.
- // Remove it ASAP.
- sk_sp<GrRenderTargetContext> makeRenderTargetContext(sk_sp<GrSurfaceProxy> proxy,
- sk_sp<SkColorSpace> colorSpace,
- const SkSurfaceProps* props);
-
-private:
- explicit GrPreFlushResourceProvider(GrDrawingManager* drawingMgr) : fDrawingMgr(drawingMgr) {}
- GrPreFlushResourceProvider(const GrPreFlushResourceProvider&); // unimpl
- GrPreFlushResourceProvider& operator=(const GrPreFlushResourceProvider&); // unimpl
-
- GrDrawingManager* fDrawingMgr;
-
- friend class GrDrawingManager; // to construct this type.
-};
-
-#endif