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

Unified Diff: src/core/SkMultiPictureDraw.cpp

Issue 1950523002: Remove GrLayerHoister (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Forgot to remove some files Created 4 years, 5 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 | « src/core/SkLayerInfo.h ('k') | src/core/SkPictureRecorder.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkMultiPictureDraw.cpp
diff --git a/src/core/SkMultiPictureDraw.cpp b/src/core/SkMultiPictureDraw.cpp
index 40d93b1dd74a102f8659058dfd40b887a8362d03..b3c6368767cd8d959be008c014ece1ab260d6028 100644
--- a/src/core/SkMultiPictureDraw.cpp
+++ b/src/core/SkMultiPictureDraw.cpp
@@ -5,23 +5,12 @@
* found in the LICENSE file.
*/
-// Need to include something before #if SK_SUPPORT_GPU so that the Android
-// framework build, which gets its defines from SkTypes rather than a makefile,
-// has the definition before checking it.
#include "SkCanvas.h"
#include "SkCanvasPriv.h"
#include "SkMultiPictureDraw.h"
#include "SkPicture.h"
#include "SkTaskGroup.h"
-#if SK_SUPPORT_GPU
-#include "GrContext.h"
-#include "GrDrawContext.h"
-#include "GrLayerHoister.h"
-#include "GrRecordReplaceDraw.h"
-#include "GrRenderTarget.h"
-#endif
-
void SkMultiPictureDraw::DrawData::draw() {
fCanvas->drawPicture(fPicture, &fMatrix, fPaint);
}
@@ -108,102 +97,14 @@ void SkMultiPictureDraw::draw(bool flush) {
return;
}
-#if !defined(SK_IGNORE_GPU_LAYER_HOISTING) && SK_SUPPORT_GPU
- GrContext* context = fGPUDrawData[0].fCanvas->getGrContext();
- SkASSERT(context);
-
- // Start by collecting all the layers that are going to be atlased and render
- // them (if necessary). Hoisting the free floating layers is deferred until
- // drawing the canvas that requires them.
- SkTDArray<GrHoistedLayer> atlasedNeedRendering, atlasedRecycled;
-
- GrLayerHoister::Begin(context);
-
- for (int i = 0; i < count; ++i) {
- const DrawData& data = fGPUDrawData[i];
- // we only expect 1 context for all the canvases
- SkASSERT(data.fCanvas->getGrContext() == context);
-
- if (!data.fPaint &&
- (kRGBA_8888_SkColorType == data.fCanvas->imageInfo().colorType() ||
- kBGRA_8888_SkColorType == data.fCanvas->imageInfo().colorType())) {
- SkRect clipBounds;
- if (!data.fCanvas->getClipBounds(&clipBounds)) {
- continue;
- }
-
- SkMatrix initialMatrix = data.fCanvas->getTotalMatrix();
- initialMatrix.preConcat(data.fMatrix);
-
- GrDrawContext* dc = data.fCanvas->internal_private_accessTopLayerDrawContext();
- SkASSERT(dc);
-
- // TODO: sorting the cacheable layers from smallest to largest
- // would improve the packing and reduce the number of swaps
- // TODO: another optimization would be to make a first pass to
- // lock any required layer that is already in the atlas
- GrLayerHoister::FindLayersToAtlas(context, data.fPicture, initialMatrix,
- clipBounds,
- &atlasedNeedRendering, &atlasedRecycled,
- dc->numColorSamples());
- }
- }
-
- GrLayerHoister::DrawLayersToAtlas(context, atlasedNeedRendering);
-
- SkTDArray<GrHoistedLayer> needRendering, recycled;
-#endif
-
for (int i = 0; i < count; ++i) {
const DrawData& data = fGPUDrawData[i];
SkCanvas* canvas = data.fCanvas;
const SkPicture* picture = data.fPicture;
-#if !defined(SK_IGNORE_GPU_LAYER_HOISTING) && SK_SUPPORT_GPU
- if (!data.fPaint) {
-
- SkRect clipBounds;
- if (!canvas->getClipBounds(&clipBounds)) {
- continue;
- }
-
- SkAutoCanvasMatrixPaint acmp(canvas, &data.fMatrix, data.fPaint, picture->cullRect());
-
- const SkMatrix initialMatrix = canvas->getTotalMatrix();
-
- GrDrawContext* dc = data.fCanvas->internal_private_accessTopLayerDrawContext();
- SkASSERT(dc);
-
- // Find the layers required by this canvas. It will return atlased
- // layers in the 'recycled' list since they have already been drawn.
- GrLayerHoister::FindLayersToHoist(context, picture, initialMatrix,
- clipBounds, &needRendering, &recycled,
- dc->numColorSamples());
-
- GrLayerHoister::DrawLayers(context, needRendering);
-
- // Render the entire picture using new layers
- GrRecordReplaceDraw(picture, canvas, context->getLayerCache(),
- initialMatrix, nullptr);
-
- GrLayerHoister::UnlockLayers(context, needRendering);
- GrLayerHoister::UnlockLayers(context, recycled);
-
- needRendering.rewind();
- recycled.rewind();
- } else
-#endif
- {
- canvas->drawPicture(picture, &data.fMatrix, data.fPaint);
- }
+ canvas->drawPicture(picture, &data.fMatrix, data.fPaint);
if (flush) {
canvas->flush();
}
}
-
-#if !defined(SK_IGNORE_GPU_LAYER_HOISTING) && SK_SUPPORT_GPU
- GrLayerHoister::UnlockLayers(context, atlasedNeedRendering);
- GrLayerHoister::UnlockLayers(context, atlasedRecycled);
- GrLayerHoister::End(context);
-#endif
}
« no previous file with comments | « src/core/SkLayerInfo.h ('k') | src/core/SkPictureRecorder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698