28 static sk_sp<DlDeferredImageGPUImpeller>
Make(
29 std::unique_ptr<LayerTree> layer_tree,
33 static sk_sp<DlDeferredImageGPUImpeller>
Make(
34 sk_sp<DisplayList> display_list,
45 const std::shared_ptr<impeller::Context>& context)
const override;
68 FML_FRIEND_TEST(testing::DlDeferredImageGPUImpeller, TrashesDisplayList);
70 class ImageWrapper final :
public std::enable_shared_from_this<ImageWrapper>,
75 static std::shared_ptr<ImageWrapper> Make(
76 sk_sp<DisplayList> display_list,
82 static std::shared_ptr<ImageWrapper> Make(
83 std::unique_ptr<LayerTree> layer_tree,
87 std::shared_ptr<impeller::Texture>
texture()
const;
91 std::optional<std::string> get_error();
94 FML_FRIEND_TEST(testing::DlDeferredImageGPUImpeller, TrashesDisplayList);
97 std::shared_ptr<impeller::Texture> texture_;
101 mutable std::mutex error_mutex_;
102 std::optional<std::string> error_;
112 void SnapshotDisplayList(
113 std::variant<sk_sp<DisplayList>, std::unique_ptr<LayerTree>>
content);
116 void OnGrContextCreated()
override;
119 void OnGrContextDestroyed()
override;
124 const std::shared_ptr<ImageWrapper> wrapper_;
126 explicit DlDeferredImageGPUImpeller(std::shared_ptr<ImageWrapper> wrapper);