Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Unified Diff: include/gpu/GrContext.h

Issue 715333003: Revert of Replace GrResourceCache with GrResourceCache2. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/gpu/GrConfig.h ('k') | include/gpu/GrGpuResource.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/gpu/GrContext.h
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index fcfcb775ce709d7501dd76f62aea3afb2730b15a..97acda1e795a4cc540525d65c805b5d3fd18c3c3 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -33,6 +33,7 @@
class GrPath;
class GrPathRenderer;
class GrResourceEntry;
+class GrResourceCache;
class GrResourceCache2;
class GrStencilBuffer;
class GrTestTarget;
@@ -882,6 +883,7 @@
GrDrawTarget* getTextTarget();
const GrIndexBuffer* getQuadIndexBuffer() const;
GrAARectRenderer* getAARectRenderer() { return fAARectRenderer; }
+ GrResourceCache* getResourceCache() { return fResourceCache; }
GrResourceCache2* getResourceCache2() { return fResourceCache2; }
// Called by tests that draw directly to the context via GrDrawTarget
@@ -946,6 +948,7 @@
const GrClipData* fClip; // TODO: make this ref counted
GrDrawState* fDrawState;
+ GrResourceCache* fResourceCache;
GrResourceCache2* fResourceCache2;
GrFontCache* fFontCache;
SkAutoTDelete<GrLayerCache> fLayerCache;
@@ -956,6 +959,9 @@
GrVertexBufferAllocPool* fDrawBufferVBAllocPool;
GrIndexBufferAllocPool* fDrawBufferIBAllocPool;
GrInOrderDrawBuffer* fDrawBuffer;
+
+ // Set by OverbudgetCB() to request that GrContext flush before exiting a draw.
+ bool fFlushToReduceCacheSize;
GrAARectRenderer* fAARectRenderer;
GrOvalRenderer* fOvalRenderer;
@@ -983,9 +989,10 @@
void setupDrawBuffer();
class AutoRestoreEffects;
+ class AutoCheckFlush;
/// Sets the paint and returns the target to draw into. The paint can be NULL in which case the
/// draw state is left unmodified.
- GrDrawTarget* prepareToDraw(const GrPaint*, AutoRestoreEffects*);
+ GrDrawTarget* prepareToDraw(const GrPaint*, AutoRestoreEffects*, AutoCheckFlush*);
void internalDrawPath(GrDrawTarget* target, bool useAA, const SkPath& path,
const GrStrokeInfo& stroke);
@@ -996,6 +1003,8 @@
size_t rowBytes,
bool filter);
+ GrTexture* createNewScratchTexture(const GrSurfaceDesc& desc);
+
/**
* These functions create premul <-> unpremul effects if it is possible to generate a pair
* of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. Otherwise, they
@@ -1006,9 +1015,9 @@
/**
* This callback allows the resource cache to callback into the GrContext
- * when the cache is still over budget after a purge.
- */
- static void OverBudgetCB(void* data);
+ * when the cache is still overbudget after a purge.
+ */
+ static bool OverbudgetCB(void* data);
typedef SkRefCnt INHERITED;
};
« no previous file with comments | « include/gpu/GrConfig.h ('k') | include/gpu/GrGpuResource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698