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

Unified Diff: src/gpu/GrLayerHoister.h

Issue 616023002: Allow previously-hoisted layers to be reused in the same draw (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Add comments Created 6 years, 3 months 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 | « no previous file | src/gpu/GrLayerHoister.cpp » ('j') | src/gpu/GrPictureUtils.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrLayerHoister.h
diff --git a/src/gpu/GrLayerHoister.h b/src/gpu/GrLayerHoister.h
index 6aff2ea32abe45965a49e298b12165e84edf75fa..58b3f4870ba2f809a1a3554a1b50216eebd22b5f 100644
--- a/src/gpu/GrLayerHoister.h
+++ b/src/gpu/GrLayerHoister.h
@@ -36,6 +36,7 @@ public:
@param query The rectangle that is about to be drawn.
@param atlased Out parameter storing the layers that should be hoisted to the atlas
@param nonAtlased Out parameter storing the layers that should be hoisted stand alone
+ @param recycled Out parameter storing layers that need hoisting but not rendering
@param layerCache The source of new layers
Return true if any layers are suitable for hoisting; false otherwise
*/
@@ -43,25 +44,31 @@ public:
const SkRect& query,
SkTDArray<HoistedLayer>* altased,
SkTDArray<HoistedLayer>* nonAtlased,
+ SkTDArray<HoistedLayer>* recycled,
GrLayerCache* layerCache);
/** Draw the specified layers into either the atlas or free floating textures.
@param atlased The layers to be drawn into the atlas
@param nonAtlased The layers to be drawn into their own textures
- @oaram replacements The replacement structure to fill in with the rendered layer info
+ @param recycled Layers that don't need rendering but do need to go into the
+ replacements object
+ @param replacements The replacement structure to fill in with the rendered layer info
*/
static void DrawLayers(const SkTDArray<HoistedLayer>& atlased,
const SkTDArray<HoistedLayer>& nonAtlased,
+ const SkTDArray<HoistedLayer>& recycled,
GrReplacements* replacements);
/** Unlock unneeded layers in the layer cache.
@param layerCache holder of the locked layers
@param atlased Unneeded layers in the atlas
@param nonAtlased Unneeded layers in their own textures
+ @param recycled Unneeded layers that did not require rendering
*/
static void UnlockLayers(GrLayerCache* layerCache,
const SkTDArray<HoistedLayer>& atlased,
- const SkTDArray<HoistedLayer>& nonAtlased);
+ const SkTDArray<HoistedLayer>& nonAtlased,
+ const SkTDArray<HoistedLayer>& recycled);
};
#endif
« no previous file with comments | « no previous file | src/gpu/GrLayerHoister.cpp » ('j') | src/gpu/GrPictureUtils.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698