29 fuchsia::ui::composition::AllocatorPtr& flatland_allocator,
50 const std::function<
void(
void)>& on_surface_read_finished)
override;
62 fuchsia::ui::composition::BufferCollectionImportToken
76 void OnSurfaceReadFinished(async_dispatcher_t* dispatcher,
77 async::WaitBase* wait,
79 const zx_packet_signal_t* signal);
81 bool SetupSkiaSurface(
82 fuchsia::sysmem::AllocatorSyncPtr& sysmem_allocator,
83 fuchsia::ui::composition::AllocatorPtr& flatland_allocator,
89 uint32_t image_id_ = 0;
96 async::WaitMethod<SoftwareSurface, &SoftwareSurface::OnSurfaceReadFinished>
97 wait_for_surface_read_finished_;
100 std::function<void()> surface_read_finished_callback_;
106 fuchsia::ui::composition::BufferCollectionImportToken import_token_;
107 zx::event acquire_event_;
108 zx::event release_event_;
109 zx::vmo surface_vmo_;
111 uint32_t surface_size_bytes_;
114 bool needs_cache_clean_{
false};