23 bool support_thread_merging);
46 void CancelFrame()
override;
49 void BeginFrame(GrDirectContext* context,
51 raster_thread_merger)
override;
54 void PrepareFlutterView(
DlISize frame_size,
55 double device_pixel_ratio)
override;
58 void PrerollCompositeEmbeddedView(
60 std::unique_ptr<EmbeddedViewParams>
params)
override;
71 void PushVisitedPlatformView(int64_t
view_id)
override;
74 void PushFilterToVisitedPlatformViews(
75 const std::shared_ptr<DlImageFilter>& filter,
76 const DlRect& filter_rect)
override;
79 void SubmitFlutterView(
80 int64_t flutter_view_id,
81 GrDirectContext* context,
82 const std::shared_ptr<impeller::AiksContext>& aiks_context,
83 std::unique_ptr<SurfaceFrame> frame)
override;
86 void EndFrame(
bool should_resubmit_frame,
88 raster_thread_merger)
override;
94 bool SupportsDynamicThreadMerging()
override;
100 bool support_thread_merging_;
102 std::map<int64_t, std::unique_ptr<EmbedderViewSlice>> slices_;
103 std::map<int64_t, MutatorsStack> mutators_stacks_;
104 std::map<int64_t, EmbeddedViewParams> current_composition_params_;
105 std::vector<int64_t> visited_platform_views_;
106 std::atomic<int> submitted_frame_count_;
107 std::atomic<DlISize> last_submitted_frame_size_;