Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 2b8d83f

Browse files
authored
Revert "Remove more calls to SkCanvas::flush() and SkSurface::flush()" (#43957)
Reverts #43902 Speculative revert for Fuchsia tests that began failing/timing-out on this commit: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20Fuchsia%20FEMU/16871/overview
1 parent 48b5466 commit 2b8d83f

File tree

4 files changed

+9
-24
lines changed

4 files changed

+9
-24
lines changed

display_list/testing/dl_rendering_unittests.cc

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4141,6 +4141,8 @@ class DisplayListNopTest : public DisplayListCanvas {
41414141
auto surface = SkSurfaces::Raster(SkImageInfo::MakeN32Premul(w, h));
41424142
SkCanvas* canvas = surface->getCanvas();
41434143
renderer(canvas);
4144+
canvas->flush();
4145+
surface->flushAndSubmit(true);
41444146
return std::make_unique<RenderResult>(surface, snapshot);
41454147
}
41464148

@@ -4256,11 +4258,8 @@ class DisplayListNopTest : public DisplayListCanvas {
42564258
result_canvas->clear(SK_ColorTRANSPARENT);
42574259
result_canvas->drawImage(test_image.get(), 0, 0);
42584260
result_canvas->drawRect(test_bounds, sk_paint);
4259-
if (GrDirectContext* direct_context = GrAsDirectContext(
4260-
result_surface->sk_surface()->recordingContext())) {
4261-
return direct_context->flushAndSubmit(result_surface->sk_surface(),
4262-
true);
4263-
}
4261+
result_canvas->flush();
4262+
result_surface->sk_surface()->flushAndSubmit(true);
42644263
auto result_pixels =
42654264
std::make_unique<RenderResult>(result_surface->sk_surface());
42664265

@@ -4317,11 +4316,8 @@ class DisplayListNopTest : public DisplayListCanvas {
43174316
result_canvas->drawImage(test_image_dst_data->image(), 0, 0);
43184317
result_canvas->drawImage(test_image_src_data->image(), 0, 0,
43194318
SkSamplingOptions(), &sk_paint);
4320-
if (GrDirectContext* direct_context = GrAsDirectContext(
4321-
result_surface->sk_surface()->recordingContext())) {
4322-
return direct_context->flushAndSubmit(result_surface->sk_surface(),
4323-
true);
4324-
}
4319+
result_canvas->flush();
4320+
result_surface->sk_surface()->flushAndSubmit(true);
43254321
auto result_pixels =
43264322
std::make_unique<RenderResult>(result_surface->sk_surface());
43274323

lib/web_ui/skwasm/surface.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#include "surface.h"
66

77
#include "third_party/skia/include/gpu/GrBackendSurface.h"
8-
#include "third_party/skia/include/gpu/GrDirectContext.h"
98

109
using namespace Skwasm;
1110

@@ -172,7 +171,7 @@ void Surface::_renderPicture(const SkPicture* picture) {
172171
makeCurrent(_glContext);
173172
auto canvas = _surface->getCanvas();
174173
canvas->drawPicture(picture);
175-
_grContext->flush(_surface);
174+
_surface->flush();
176175
}
177176

178177
void Surface::_rasterizeImage(SkImage* image,

shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
#include "flutter/fml/trace_event.h"
1010
#include "third_party/skia/include/core/SkPicture.h"
1111
#include "third_party/skia/include/core/SkSurface.h"
12-
#include "third_party/skia/include/gpu/GrDirectContext.h"
13-
#include "third_party/skia/include/gpu/GrRecordingContext.h"
1412

1513
namespace flutter_runner {
1614
namespace {
@@ -489,10 +487,7 @@ void FlatlandExternalViewEmbedder::SubmitFrame(
489487
canvas->setMatrix(SkMatrix::I());
490488
canvas->clear(SK_ColorTRANSPARENT);
491489
canvas->drawPicture(layer->second.picture);
492-
if (GrDirectContext* direct_context =
493-
GrAsDirectContext(canvas->recordingContext())) {
494-
return direct_context->flushAndSubmit();
495-
}
490+
canvas->flush();
496491
}
497492
}
498493

shell/platform/fuchsia/flutter/gfx_external_view_embedder.cc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
#include "flutter/fml/trace_event.h"
1515
#include "third_party/skia/include/core/SkPicture.h"
1616
#include "third_party/skia/include/core/SkSurface.h"
17-
#include "third_party/skia/include/gpu/GrDirectContext.h"
18-
#include "third_party/skia/include/gpu/GrRecordingContext.h"
1917

2018
namespace flutter_runner {
2119
namespace {
@@ -619,10 +617,7 @@ void GfxExternalViewEmbedder::SubmitFrame(
619617
canvas->setMatrix(SkMatrix::I());
620618
canvas->clear(SK_ColorTRANSPARENT);
621619
canvas->drawPicture(layer->second.picture);
622-
if (GrDirectContext* direct_context =
623-
GrAsDirectContext(canvas->recordingContext())) {
624-
return direct_context->flushAndSubmit();
625-
}
620+
canvas->flush();
626621
}
627622
}
628623

0 commit comments

Comments
 (0)