summaryrefslogtreecommitdiff
path: root/chromium/third_party/skia/tools/DDLTileHelper.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/third_party/skia/tools/DDLTileHelper.cpp
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/skia/tools/DDLTileHelper.cpp')
-rw-r--r--chromium/third_party/skia/tools/DDLTileHelper.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/chromium/third_party/skia/tools/DDLTileHelper.cpp b/chromium/third_party/skia/tools/DDLTileHelper.cpp
index 7771a6ec961..6333ded6219 100644
--- a/chromium/third_party/skia/tools/DDLTileHelper.cpp
+++ b/chromium/third_party/skia/tools/DDLTileHelper.cpp
@@ -109,6 +109,7 @@ void DDLTileHelper::createComposeDDL() {
}
fComposeDDL = recorder.detach();
+ SkASSERT(fComposeDDL);
}
void DDLTileHelper::TileData::precompile(GrContext* context) {
@@ -287,6 +288,11 @@ static void do_gpu_stuff(GrContext* context, DDLTileHelper::TileData* tile) {
tile->precompile(context);
tile->draw(context);
+
+ // TODO: remove this flush once DDLs are reffed by the drawing manager
+ context->flushAndSubmit();
+
+ tile->dropDDL();
}
// We expect to have more than one recording thread but just one gpu thread
@@ -315,6 +321,7 @@ void DDLTileHelper::kickOffThreadedWork(SkTaskGroup* recordingTaskGroup,
recordingTaskGroup->add([this] { this->createComposeDDL(); });
}
+// Only called from ViaDDL
void DDLTileHelper::precompileAndDrawAllTiles(GrContext* context) {
for (int i = 0; i < this->numTiles(); ++i) {
fTiles[i].precompile(context);
@@ -322,6 +329,7 @@ void DDLTileHelper::precompileAndDrawAllTiles(GrContext* context) {
}
}
+// Only called from skpbench
void DDLTileHelper::interleaveDDLCreationAndDraw(GrContext* context) {
for (int i = 0; i < this->numTiles(); ++i) {
fTiles[i].createDDL();
@@ -329,6 +337,7 @@ void DDLTileHelper::interleaveDDLCreationAndDraw(GrContext* context) {
}
}
+// Only called from skpbench
void DDLTileHelper::drawAllTilesDirectly(GrContext* context) {
for (int i = 0; i < this->numTiles(); ++i) {
fTiles[i].drawSKPDirectly(context);