54 std::shared_ptr<fml::ConcurrentTaskRunner> concurrent_task_runner,
56 bool supports_wide_gamut,
57 const std::shared_ptr<fml::SyncSwitch>& gpu_disabled_switch);
63 uint32_t target_width,
64 uint32_t target_height,
71 bool supports_wide_gamut,
72 const std::shared_ptr<const impeller::Capabilities>& capabilities,
73 const std::shared_ptr<impeller::Allocator>& allocator);
86 const std::shared_ptr<impeller::Context>& context,
87 const std::shared_ptr<impeller::DeviceBuffer>& buffer,
88 const SkImageInfo& image_info,
89 const std::shared_ptr<SkBitmap>& bitmap,
90 const std::optional<SkImageInfo>& resize_info,
91 const std::shared_ptr<const fml::SyncSwitch>& gpu_disabled_switch);
98 const std::shared_ptr<impeller::Context>& context,
99 std::shared_ptr<SkBitmap> bitmap);
102 using FutureContext = std::shared_future<std::shared_ptr<impeller::Context>>;
103 FutureContext context_;
107 const bool wide_gamut_enabled_;
108 std::shared_ptr<fml::SyncSwitch> gpu_disabled_switch_;
111 static std::pair<sk_sp<DlImage>, std::string> UnsafeUploadTextureToPrivate(
112 const std::shared_ptr<impeller::Context>& context,
113 const std::shared_ptr<impeller::DeviceBuffer>& buffer,
114 const SkImageInfo& image_info,
115 const std::optional<SkImageInfo>& resize_info);
static DecompressResult DecompressTexture(ImageDescriptor *descriptor, SkISize target_size, impeller::ISize max_texture_size, bool supports_wide_gamut, const std::shared_ptr< const impeller::Capabilities > &capabilities, const std::shared_ptr< impeller::Allocator > &allocator)
static void UploadTextureToPrivate(ImageResult result, const std::shared_ptr< impeller::Context > &context, const std::shared_ptr< impeller::DeviceBuffer > &buffer, const SkImageInfo &image_info, const std::shared_ptr< SkBitmap > &bitmap, const std::optional< SkImageInfo > &resize_info, const std::shared_ptr< const fml::SyncSwitch > &gpu_disabled_switch)
Create a device private texture from the provided host buffer.