28 fuchsia::ui::composition::AllocatorPtr& flatland_allocator,
45 SkISize
GetSize()
const override;
49 const std::function<
void(
void)>& on_surface_read_finished)
override;
61 fuchsia::ui::composition::BufferCollectionImportToken
75 void OnSurfaceReadFinished(async_dispatcher_t* dispatcher,
76 async::WaitBase* wait,
78 const zx_packet_signal_t* signal);
80 bool SetupSkiaSurface(
81 fuchsia::sysmem2::AllocatorSyncPtr& sysmem_allocator,
82 fuchsia::ui::composition::AllocatorPtr& flatland_allocator,
88 uint32_t image_id_ = 0;
90 sk_sp<SkSurface> sk_surface_;
95 async::WaitMethod<SoftwareSurface, &SoftwareSurface::OnSurfaceReadFinished>
96 wait_for_surface_read_finished_;
99 std::function<void()> surface_read_finished_callback_;
105 fuchsia::ui::composition::BufferCollectionImportToken import_token_;
106 zx::event acquire_event_;
107 zx::event release_event_;
108 zx::vmo surface_vmo_;
110 uint32_t surface_size_bytes_;
113 bool needs_cache_clean_{
false};