114 bool instrumentation_enabled,
128 return root_surface_transformation_;
138 bool ignore_raster_cache,
143 std::optional<DlRect> clip_rect,
144 bool needs_save_layer,
145 bool ignore_raster_cache);
148 std::optional<DlRect> clip_rect,
149 bool ignore_raster_cache);
152 GrDirectContext* gr_context_;
156 const DlMatrix root_surface_transformation_;
157 const bool instrumentation_enabled_;
158 const bool surface_supports_readback_;
171 GrDirectContext* gr_context,
174 const DlMatrix& root_surface_transformation,
175 bool instrumentation_enabled,
176 bool surface_supports_readback,
189 return texture_registry_;
198 std::shared_ptr<TextureRegistry> texture_registry_;
205 void BeginFrame(ScopedFrame& frame,
bool enable_instrumentation);
207 void EndFrame(ScopedFrame& frame,
bool enable_instrumentation);
212 static bool ShouldPerformPartialRepaint(std::optional<DlRect> damage_rect,
ExternalViewEmbedder * view_embedder()
GrDirectContext * gr_context() const
CompositorContext & context() const
virtual RasterStatus Raster(LayerTree &layer_tree, bool ignore_raster_cache, FrameDamage *frame_damage)
impeller::AiksContext * aiks_context() const
bool surface_supports_readback()
const DlMatrix & root_surface_transformation() const
const Stopwatch & raster_time() const
void OnGrContextCreated()
std::shared_ptr< TextureRegistry > texture_registry()
virtual std::unique_ptr< ScopedFrame > AcquireFrame(GrDirectContext *gr_context, DlCanvas *canvas, ExternalViewEmbedder *view_embedder, const DlMatrix &root_surface_transformation, bool instrumentation_enabled, bool surface_supports_readback, fml::RefPtr< fml::RasterThreadMerger > raster_thread_merger, impeller::AiksContext *aiks_context)
void OnGrContextDestroyed()
RasterCache & raster_cache()
virtual ~CompositorContext()