Skip to content

Commit 807ca85

Browse files
authored
More rename from GPU thread to raster thread (flutter#17408)
This PR touches variable names, class names, and file names so it's significantly more risky than its predecessor flutter/engine#17329 Due to file name changes, this PR is expected to change the license files. We haven't rename `shell/gpu` to `shell/raster` yet. It should be optional but I think it's better to have `raster_surface_software.cc` than `gpu_surface_software.cc`.
1 parent fc5b44c commit 807ca85

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+223
-213
lines changed

ci/licenses_golden/licenses_flutter

+3-3
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,6 @@ FILE: ../../../flutter/fml/eintr_wrapper.h
134134
FILE: ../../../flutter/fml/file.cc
135135
FILE: ../../../flutter/fml/file.h
136136
FILE: ../../../flutter/fml/file_unittest.cc
137-
FILE: ../../../flutter/fml/gpu_thread_merger.cc
138-
FILE: ../../../flutter/fml/gpu_thread_merger.h
139-
FILE: ../../../flutter/fml/gpu_thread_merger_unittests.cc
140137
FILE: ../../../flutter/fml/hash_combine.h
141138
FILE: ../../../flutter/fml/hash_combine_unittests.cc
142139
FILE: ../../../flutter/fml/icu_util.cc
@@ -229,6 +226,9 @@ FILE: ../../../flutter/fml/platform/win/paths_win.cc
229226
FILE: ../../../flutter/fml/platform/win/posix_wrappers_win.cc
230227
FILE: ../../../flutter/fml/platform/win/wstring_conversion.h
231228
FILE: ../../../flutter/fml/posix_wrappers.h
229+
FILE: ../../../flutter/fml/raster_thread_merger.cc
230+
FILE: ../../../flutter/fml/raster_thread_merger.h
231+
FILE: ../../../flutter/fml/raster_thread_merger_unittests.cc
232232
FILE: ../../../flutter/fml/size.h
233233
FILE: ../../../flutter/fml/status.h
234234
FILE: ../../../flutter/fml/synchronization/atomic_object.h

common/task_runners.cc

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ namespace flutter {
1010

1111
TaskRunners::TaskRunners(std::string label,
1212
fml::RefPtr<fml::TaskRunner> platform,
13-
fml::RefPtr<fml::TaskRunner> gpu,
13+
fml::RefPtr<fml::TaskRunner> raster,
1414
fml::RefPtr<fml::TaskRunner> ui,
1515
fml::RefPtr<fml::TaskRunner> io)
1616
: label_(std::move(label)),
1717
platform_(std::move(platform)),
18-
gpu_(std::move(gpu)),
18+
raster_(std::move(raster)),
1919
ui_(std::move(ui)),
2020
io_(std::move(io)) {}
2121

@@ -39,12 +39,12 @@ fml::RefPtr<fml::TaskRunner> TaskRunners::GetIOTaskRunner() const {
3939
return io_;
4040
}
4141

42-
fml::RefPtr<fml::TaskRunner> TaskRunners::GetGPUTaskRunner() const {
43-
return gpu_;
42+
fml::RefPtr<fml::TaskRunner> TaskRunners::GetRasterTaskRunner() const {
43+
return raster_;
4444
}
4545

4646
bool TaskRunners::IsValid() const {
47-
return platform_ && gpu_ && ui_ && io_;
47+
return platform_ && raster_ && ui_ && io_;
4848
}
4949

5050
} // namespace flutter

common/task_runners.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class TaskRunners {
1616
public:
1717
TaskRunners(std::string label,
1818
fml::RefPtr<fml::TaskRunner> platform,
19-
fml::RefPtr<fml::TaskRunner> gpu,
19+
fml::RefPtr<fml::TaskRunner> raster,
2020
fml::RefPtr<fml::TaskRunner> ui,
2121
fml::RefPtr<fml::TaskRunner> io);
2222

@@ -32,14 +32,14 @@ class TaskRunners {
3232

3333
fml::RefPtr<fml::TaskRunner> GetIOTaskRunner() const;
3434

35-
fml::RefPtr<fml::TaskRunner> GetGPUTaskRunner() const;
35+
fml::RefPtr<fml::TaskRunner> GetRasterTaskRunner() const;
3636

3737
bool IsValid() const;
3838

3939
private:
4040
const std::string label_;
4141
fml::RefPtr<fml::TaskRunner> platform_;
42-
fml::RefPtr<fml::TaskRunner> gpu_;
42+
fml::RefPtr<fml::TaskRunner> raster_;
4343
fml::RefPtr<fml::TaskRunner> ui_;
4444
fml::RefPtr<fml::TaskRunner> io_;
4545
};

flow/compositor_context.cc

+7-6
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ std::unique_ptr<CompositorContext::ScopedFrame> CompositorContext::AcquireFrame(
3737
const SkMatrix& root_surface_transformation,
3838
bool instrumentation_enabled,
3939
bool surface_supports_readback,
40-
fml::RefPtr<fml::GpuThreadMerger> gpu_thread_merger) {
40+
fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger) {
4141
return std::make_unique<ScopedFrame>(
4242
*this, gr_context, canvas, view_embedder, root_surface_transformation,
43-
instrumentation_enabled, surface_supports_readback, gpu_thread_merger);
43+
instrumentation_enabled, surface_supports_readback, raster_thread_merger);
4444
}
4545

4646
CompositorContext::ScopedFrame::ScopedFrame(
@@ -51,15 +51,15 @@ CompositorContext::ScopedFrame::ScopedFrame(
5151
const SkMatrix& root_surface_transformation,
5252
bool instrumentation_enabled,
5353
bool surface_supports_readback,
54-
fml::RefPtr<fml::GpuThreadMerger> gpu_thread_merger)
54+
fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger)
5555
: context_(context),
5656
gr_context_(gr_context),
5757
canvas_(canvas),
5858
view_embedder_(view_embedder),
5959
root_surface_transformation_(root_surface_transformation),
6060
instrumentation_enabled_(instrumentation_enabled),
6161
surface_supports_readback_(surface_supports_readback),
62-
gpu_thread_merger_(gpu_thread_merger) {
62+
raster_thread_merger_(raster_thread_merger) {
6363
context_.BeginFrame(*this, instrumentation_enabled_);
6464
}
6565

@@ -74,8 +74,9 @@ RasterStatus CompositorContext::ScopedFrame::Raster(
7474
bool root_needs_readback = layer_tree.Preroll(*this, ignore_raster_cache);
7575
bool needs_save_layer = root_needs_readback && !surface_supports_readback();
7676
PostPrerollResult post_preroll_result = PostPrerollResult::kSuccess;
77-
if (view_embedder_ && gpu_thread_merger_) {
78-
post_preroll_result = view_embedder_->PostPrerollAction(gpu_thread_merger_);
77+
if (view_embedder_ && raster_thread_merger_) {
78+
post_preroll_result =
79+
view_embedder_->PostPrerollAction(raster_thread_merger_);
7980
}
8081

8182
if (post_preroll_result == PostPrerollResult::kResubmitFrame) {

flow/compositor_context.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
#include "flutter/flow/instrumentation.h"
1313
#include "flutter/flow/raster_cache.h"
1414
#include "flutter/flow/texture.h"
15-
#include "flutter/fml/gpu_thread_merger.h"
1615
#include "flutter/fml/macros.h"
16+
#include "flutter/fml/raster_thread_merger.h"
1717
#include "third_party/skia/include/core/SkCanvas.h"
1818
#include "third_party/skia/include/core/SkPictureRecorder.h"
1919

@@ -46,7 +46,7 @@ class CompositorContext {
4646
const SkMatrix& root_surface_transformation,
4747
bool instrumentation_enabled,
4848
bool surface_supports_readback,
49-
fml::RefPtr<fml::GpuThreadMerger> gpu_thread_merger);
49+
fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger);
5050

5151
virtual ~ScopedFrame();
5252

@@ -75,7 +75,7 @@ class CompositorContext {
7575
const SkMatrix& root_surface_transformation_;
7676
const bool instrumentation_enabled_;
7777
const bool surface_supports_readback_;
78-
fml::RefPtr<fml::GpuThreadMerger> gpu_thread_merger_;
78+
fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger_;
7979

8080
FML_DISALLOW_COPY_AND_ASSIGN(ScopedFrame);
8181
};
@@ -91,7 +91,7 @@ class CompositorContext {
9191
const SkMatrix& root_surface_transformation,
9292
bool instrumentation_enabled,
9393
bool surface_supports_readback,
94-
fml::RefPtr<fml::GpuThreadMerger> gpu_thread_merger);
94+
fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger);
9595

9696
void OnGrContextCreated();
9797

flow/embedded_views.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
#include <vector>
99

10-
#include "flutter/fml/gpu_thread_merger.h"
1110
#include "flutter/fml/memory/ref_counted.h"
11+
#include "flutter/fml/raster_thread_merger.h"
1212
#include "third_party/skia/include/core/SkCanvas.h"
1313
#include "third_party/skia/include/core/SkPath.h"
1414
#include "third_party/skia/include/core/SkPoint.h"
@@ -239,7 +239,7 @@ class ExternalViewEmbedder {
239239
// after it does any requisite tasks needed to bring itself to a valid state.
240240
// Returns kSuccess if the view embedder is already in a valid state.
241241
virtual PostPrerollResult PostPrerollAction(
242-
fml::RefPtr<fml::GpuThreadMerger> gpu_thread_merger) {
242+
fml::RefPtr<fml::RasterThreadMerger> raster_thread_merger) {
243243
return PostPrerollResult::kSuccess;
244244
}
245245

fml/BUILD.gn

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ source_set("fml") {
2727
"eintr_wrapper.h",
2828
"file.cc",
2929
"file.h",
30-
"gpu_thread_merger.cc",
31-
"gpu_thread_merger.h",
3230
"hash_combine.h",
3331
"icu_util.cc",
3432
"icu_util.h",
@@ -61,6 +59,8 @@ source_set("fml") {
6159
"paths.cc",
6260
"paths.h",
6361
"posix_wrappers.h",
62+
"raster_thread_merger.cc",
63+
"raster_thread_merger.h",
6464
"size.h",
6565
"synchronization/atomic_object.h",
6666
"synchronization/count_down_latch.cc",
@@ -232,7 +232,6 @@ executable("fml_unittests") {
232232
"base32_unittest.cc",
233233
"command_line_unittest.cc",
234234
"file_unittest.cc",
235-
"gpu_thread_merger_unittests.cc",
236235
"hash_combine_unittests.cc",
237236
"memory/ref_counted_unittest.cc",
238237
"memory/weak_ptr_unittest.cc",
@@ -241,6 +240,7 @@ executable("fml_unittests") {
241240
"message_loop_unittests.cc",
242241
"message_unittests.cc",
243242
"paths_unittests.cc",
243+
"raster_thread_merger_unittests.cc",
244244
"synchronization/count_down_latch_unittests.cc",
245245
"synchronization/semaphore_unittest.cc",
246246
"synchronization/sync_switch_unittest.cc",

fml/gpu_thread_merger.cc renamed to fml/raster_thread_merger.cc

+13-13
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,31 @@
44

55
#define FML_USED_ON_EMBEDDER
66

7-
#include "flutter/fml/gpu_thread_merger.h"
7+
#include "flutter/fml/raster_thread_merger.h"
88
#include "flutter/fml/message_loop_impl.h"
99

1010
namespace fml {
1111

12-
const int GpuThreadMerger::kLeaseNotSet = -1;
12+
const int RasterThreadMerger::kLeaseNotSet = -1;
1313

14-
GpuThreadMerger::GpuThreadMerger(fml::TaskQueueId platform_queue_id,
15-
fml::TaskQueueId gpu_queue_id)
14+
RasterThreadMerger::RasterThreadMerger(fml::TaskQueueId platform_queue_id,
15+
fml::TaskQueueId gpu_queue_id)
1616
: platform_queue_id_(platform_queue_id),
1717
gpu_queue_id_(gpu_queue_id),
1818
task_queues_(fml::MessageLoopTaskQueues::GetInstance()),
1919
lease_term_(kLeaseNotSet) {
2020
is_merged_ = task_queues_->Owns(platform_queue_id_, gpu_queue_id_);
2121
}
2222

23-
void GpuThreadMerger::MergeWithLease(size_t lease_term) {
23+
void RasterThreadMerger::MergeWithLease(size_t lease_term) {
2424
FML_DCHECK(lease_term > 0) << "lease_term should be positive.";
2525
if (!is_merged_) {
2626
is_merged_ = task_queues_->Merge(platform_queue_id_, gpu_queue_id_);
2727
lease_term_ = lease_term;
2828
}
2929
}
3030

31-
bool GpuThreadMerger::IsOnRasterizingThread() {
31+
bool RasterThreadMerger::IsOnRasterizingThread() {
3232
const auto current_queue_id = MessageLoop::GetCurrentTaskQueueId();
3333
if (is_merged_) {
3434
return current_queue_id == platform_queue_id_;
@@ -37,25 +37,25 @@ bool GpuThreadMerger::IsOnRasterizingThread() {
3737
}
3838
}
3939

40-
void GpuThreadMerger::ExtendLeaseTo(size_t lease_term) {
40+
void RasterThreadMerger::ExtendLeaseTo(size_t lease_term) {
4141
FML_DCHECK(lease_term > 0) << "lease_term should be positive.";
4242
if (lease_term_ != kLeaseNotSet && (int)lease_term > lease_term_) {
4343
lease_term_ = lease_term;
4444
}
4545
}
4646

47-
bool GpuThreadMerger::IsMerged() const {
47+
bool RasterThreadMerger::IsMerged() const {
4848
return is_merged_;
4949
}
5050

51-
GpuThreadStatus GpuThreadMerger::DecrementLease() {
51+
RasterThreadStatus RasterThreadMerger::DecrementLease() {
5252
if (!is_merged_) {
53-
return GpuThreadStatus::kRemainsUnmerged;
53+
return RasterThreadStatus::kRemainsUnmerged;
5454
}
5555

5656
// we haven't been set to merge.
5757
if (lease_term_ == kLeaseNotSet) {
58-
return GpuThreadStatus::kRemainsUnmerged;
58+
return RasterThreadStatus::kRemainsUnmerged;
5959
}
6060

6161
FML_DCHECK(lease_term_ > 0)
@@ -65,10 +65,10 @@ GpuThreadStatus GpuThreadMerger::DecrementLease() {
6565
bool success = task_queues_->Unmerge(platform_queue_id_);
6666
FML_CHECK(success) << "Unable to un-merge the GPU and platform threads.";
6767
is_merged_ = false;
68-
return GpuThreadStatus::kUnmergedNow;
68+
return RasterThreadStatus::kUnmergedNow;
6969
}
7070

71-
return GpuThreadStatus::kRemainsMerged;
71+
return RasterThreadStatus::kRemainsMerged;
7272
}
7373

7474
} // namespace fml

fml/gpu_thread_merger.h renamed to fml/raster_thread_merger.h

+15-10
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,14 @@ namespace fml {
1313

1414
class MessageLoopImpl;
1515

16-
enum class GpuThreadStatus { kRemainsMerged, kRemainsUnmerged, kUnmergedNow };
16+
enum class RasterThreadStatus {
17+
kRemainsMerged,
18+
kRemainsUnmerged,
19+
kUnmergedNow
20+
};
1721

18-
class GpuThreadMerger : public fml::RefCountedThreadSafe<GpuThreadMerger> {
22+
class RasterThreadMerger
23+
: public fml::RefCountedThreadSafe<RasterThreadMerger> {
1924
public:
2025
// Merges the raster thread into platform thread for the duration of
2126
// the lease term. Lease is managed by the caller by either calling
@@ -27,14 +32,14 @@ class GpuThreadMerger : public fml::RefCountedThreadSafe<GpuThreadMerger> {
2732

2833
void ExtendLeaseTo(size_t lease_term);
2934

30-
// Returns |GpuThreadStatus::kUnmergedNow| if this call resulted in splitting
31-
// the GPU and platform threads. Reduces the lease term by 1.
32-
GpuThreadStatus DecrementLease();
35+
// Returns |RasterThreadStatus::kUnmergedNow| if this call resulted in
36+
// splitting the GPU and platform threads. Reduces the lease term by 1.
37+
RasterThreadStatus DecrementLease();
3338

3439
bool IsMerged() const;
3540

36-
GpuThreadMerger(fml::TaskQueueId platform_queue_id,
37-
fml::TaskQueueId gpu_queue_id);
41+
RasterThreadMerger(fml::TaskQueueId platform_queue_id,
42+
fml::TaskQueueId gpu_queue_id);
3843

3944
// Returns true if the current thread owns rasterizing.
4045
// When the threads are merged, platform thread owns rasterizing.
@@ -49,9 +54,9 @@ class GpuThreadMerger : public fml::RefCountedThreadSafe<GpuThreadMerger> {
4954
std::atomic_int lease_term_;
5055
bool is_merged_;
5156

52-
FML_FRIEND_REF_COUNTED_THREAD_SAFE(GpuThreadMerger);
53-
FML_FRIEND_MAKE_REF_COUNTED(GpuThreadMerger);
54-
FML_DISALLOW_COPY_AND_ASSIGN(GpuThreadMerger);
57+
FML_FRIEND_REF_COUNTED_THREAD_SAFE(RasterThreadMerger);
58+
FML_FRIEND_MAKE_REF_COUNTED(RasterThreadMerger);
59+
FML_DISALLOW_COPY_AND_ASSIGN(RasterThreadMerger);
5560
};
5661

5762
} // namespace fml

0 commit comments

Comments
 (0)