-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] use blit pass to resize decoded images. #54606
[Impeller] use blit pass to resize decoded images. #54606
Conversation
@@ -421,43 +440,6 @@ ImageDecoderImpeller::UploadTextureToStorage( | |||
} | |||
|
|||
texture->SetLabel(impeller::SPrintF("ui.Image(%p)", texture.get()).c_str()); | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this function is only used for gifs now we don't need to worry about mip support.
We actually need to keep the CPU resize if the image exceeds the device max texture size. |
@@ -323,59 +298,104 @@ static std::pair<sk_sp<DlImage>, std::string> UnsafeUploadTextureToPrivate( | |||
blit_pass->SetLabel("Mipmap Blit Pass"); | |||
blit_pass->AddCopy(impeller::DeviceBuffer::AsBufferView(buffer), | |||
dest_texture); | |||
if (texture_descriptor.size.MipCount() > 1) { | |||
if (texture_descriptor.mip_count > 1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, oops.
tasks_awaiting_gpu_.pop_front(); | ||
} | ||
} | ||
|
||
void ContextMTL::FlushTasksAwaitingGPU() { | ||
for (const auto& task : tasks_awaiting_gpu_) { | ||
task(); | ||
task.task(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perform null checks here or wrap a null ptr in a do-nothing fml::closure in StoreTaskForCPU
perhaps?
@@ -149,6 +150,11 @@ class ContextMTL final : public Context, | |||
ContextMTL& parent_; | |||
}; | |||
|
|||
struct PendingTasks { | |||
std::function<void()> task; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: fml::closure?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oops, missed this one.
if (!context->GetCommandQueue()->Submit({command_buffer}).ok()) { | ||
std::string decode_error("Failed to submit blit pass command buffer."); | ||
std::string decode_error("Failed to submit image deocding command buffer."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: typo in "decoding"
@@ -323,59 +298,104 @@ static std::pair<sk_sp<DlImage>, std::string> UnsafeUploadTextureToPrivate( | |||
blit_pass->SetLabel("Mipmap Blit Pass"); | |||
blit_pass->AddCopy(impeller::DeviceBuffer::AsBufferView(buffer), | |||
dest_texture); | |||
if (texture_descriptor.size.MipCount() > 1) { | |||
if (texture_descriptor.mip_count > 1) { | |||
blit_pass->GenerateMipmap(dest_texture); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is unnecessary and wasteful. The mip chain needs to be generated for the resize texture after the base level from the dest texture has been used as the blit source. Generating a mip chain for the dest texture does nothing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might be misunderstanding how this works. I think what I actually need to do is blit starting from the closest larger size mip level, otherwise I'm going to drop rows of data, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I think I need to do is change blit_pass_vk.cc to check if the dst size is smaller than src and if src has mipmaps. If so, for the https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCopy.html specify the src mip level better.
Also if we have mips, we should copy the mips too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I may be misunderstanding this now. Can you not use the blit pass to resize? From the docs: "The textures can be different sizes as long as the larger texture has a mipmap level that’s the same size as the smaller texture’s level 0 mipmap.".
In that case, the resize must happen via a draw call.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And then you can use a any sampling mode you want.
So, draw from the source to the dest and then generate the mips just once.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These coordinates are used to sample from the source image, as described in Image Operations chapter, with the filter mode equal to that of filter, a mipmap mode of VK_SAMPLER_MIPMAP_MODE_NEAREST and an address mode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE. Implementations must clamp at the edge of the source image, and may additionally clamp to the edge of the source region.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just need to specify a filter in blit_pass_vk. But since I only copy mip level 0 I still need to regenerate the mip chain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh but we use vkcopyImage hmmm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can detect that the sizes don't match and do the full blit. Unknown if https://developer.apple.com/documentation/metal/mtlblitcommandencoder/1400754-copyfromtexture supports resizing but I could use a MPS instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spoiler: it does not, switched to use MPS
The exisiting metal blit pass does not seem to handle resizing so I've updated this logic to do the resize via the MPS bilinear filter. |
Filled flutter/flutter#153788 to remove this logic from TextureToTexture and add it to a new blit pass command. |
Going to split the resize logic out of blit texture to texture, too error prone since they support different arguments. |
And done. |
@chinmaygarde PTAL |
// emulate the blit when it's not available in the driver. | ||
if (!gl.BlitFramebuffer.IsAvailable()) { | ||
// TODO(135818): Emulate the blit using a raster draw call here. | ||
FML_LOG(ERROR) << "Texture blit fallback not implemented yet for GLES2."; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VALIDATION_LOG instead? Those trip tests too but are otherwise identical.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
…153884) flutter/engine@b94e009...f493c21 2024-08-21 [email protected] [iOS] Tweak note about OpenGL support on mac in a user facing log. (flutter/engine#54690) 2024-08-21 [email protected] [Impeller] use blit pass to resize decoded images. (flutter/engine#54606) 2024-08-21 [email protected] Remove spammy warning message on `FlutterView` (flutter/engine#54686) 2024-08-21 [email protected] [Impeller] Perform integrity checks for Vulkan pipeline caches. (flutter/engine#54654) 2024-08-21 [email protected] docs: use test: all rather than editing .ci.yaml (flutter/engine#54667) 2024-08-21 [email protected] Reland "[DisplayList] Allow random access to ops through indexing" (flutter/engine#54676) 2024-08-21 [email protected] Roll Skia from 51ac9d93850c to 249d3f07c4d5 (2 revisions) (flutter/engine#54684) 2024-08-21 [email protected] iOS,macOS: Don't archive extra framework metadata (flutter/engine#54674) 2024-08-21 [email protected] Roll Dart SDK from 48f9b96d71e7 to 060e40916514 (1 revision) (flutter/engine#54682) 2024-08-21 [email protected] [web] annotate obscured text fields as passwords (flutter/engine#54664) 2024-08-21 [email protected] Roll Skia from c31e2ca59bd9 to 51ac9d93850c (2 revisions) (flutter/engine#54681) 2024-08-21 [email protected] [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core (flutter/engine#54616) 2024-08-21 [email protected] Roll Skia from c00866df101a to c31e2ca59bd9 (2 revisions) (flutter/engine#54680) 2024-08-21 [email protected] Roll Skia from 39e5118034f4 to c00866df101a (1 revision) (flutter/engine#54678) 2024-08-21 [email protected] Roll Skia from 221ada80b174 to 39e5118034f4 (1 revision) (flutter/engine#54677) 2024-08-21 [email protected] Roll Skia from d576296091e0 to 221ada80b174 (2 revisions) (flutter/engine#54675) 2024-08-21 [email protected] Roll Dart SDK from 49f655b526c7 to 48f9b96d71e7 (1 revision) (flutter/engine#54672) 2024-08-21 [email protected] Roll Fuchsia Linux SDK from 3a16kOsyFmJh3lo7e... to XGzE3idakwfQZ68pb... (flutter/engine#54671) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 3a16kOsyFmJh to XGzE3idakwfQ If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…visions) (#153884)" (#153899) Reverts: #153884 Initiated by: jason-simmons Reason for reverting: flutter/engine@f8d553a introduced a log message that is not expected by the `run_debug_test_android` devicelab test Reverting until an engine build is available with the log removed (see flutter/engine#54699) Original PR Author: engine-flutter-autoroll Reviewed By: {fluttergithubbot} This change reverts the following previous change: flutter/engine@b94e009...f493c21 2024-08-21 [email protected] [iOS] Tweak note about OpenGL support on mac in a user facing log. (flutter/engine#54690) 2024-08-21 [email protected] [Impeller] use blit pass to resize decoded images. (flutter/engine#54606) 2024-08-21 [email protected] Remove spammy warning message on `FlutterView` (flutter/engine#54686) 2024-08-21 [email protected] [Impeller] Perform integrity checks for Vulkan pipeline caches. (flutter/engine#54654) 2024-08-21 [email protected] docs: use test: all rather than editing .ci.yaml (flutter/engine#54667) 2024-08-21 [email protected] Reland "[DisplayList] Allow random access to ops through indexing" (flutter/engine#54676) 2024-08-21 [email protected] Roll Skia from 51ac9d93850c to 249d3f07c4d5 (2 revisions) (flutter/engine#54684) 2024-08-21 [email protected] iOS,macOS: Don't archive extra framework metadata (flutter/engine#54674) 2024-08-21 [email protected] Roll Dart SDK from 48f9b96d71e7 to 060e40916514 (1 revision) (flutter/engine#54682) 2024-08-21 [email protected] [web] annotate obscured text fields as passwords (flutter/engine#54664) 2024-08-21 [email protected] Roll Skia from c31e2ca59bd9 to 51ac9d93850c (2 revisions) (flutter/engine#54681) 2024-08-21 [email protected] [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core (flutter/engine#54616) 2024-08-21 [email protected] Roll Skia from c00866df101a to c31e2ca59bd9 (2 revisions) (flutter/engine#54680) 2024-08-21 [email protected] Roll Skia from 39e5118034f4 to c00866df101a (1 revision) (flutter/engine#54678) 2024-08-21 [email protected] Roll Skia from 221ada80b174 to 39e5118034f4 (1 revision) (flutter/engine#54677) 2024-08-21 [email protected] Roll Skia from d576296091e0 to 221ada80b174 (2 revisions) (flutter/engine#54675) 2024-08-21 [email protected] Roll Dart SDK from 49f655b526c7 to 48f9b96d71e7 (1 revision) (flutter/engine#54672) 2024-08-21 [email protected] Roll Fuchsia Linux SDK from 3a16kOsyFmJh3lo7e... to XGzE3idakwfQZ68pb... (flutter/engine#54671) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 3a16kOsyFmJh to XGzE3idakwfQ If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…153902) flutter/engine@b94e009...85d4be0 2024-08-22 [email protected] Export GPU symbols for embedder (flutter/engine#54662) 2024-08-22 [email protected] [Impeller] Remove a log message in the Vulkan back end that is visible during engine startup (flutter/engine#54699) 2024-08-22 [email protected] Roll Skia from 3cd00377cefc to 34aa8ce13af6 (3 revisions) (flutter/engine#54698) 2024-08-21 [email protected] macOS: Make framework creation consistent with iOS (flutter/engine#54685) 2024-08-21 [email protected] Roll Skia from 69f4bd859025 to 3cd00377cefc (8 revisions) (flutter/engine#54693) 2024-08-21 [email protected] Roll Dart SDK from 060e40916514 to 025bf8d376d3 (1 revision) (flutter/engine#54692) 2024-08-21 [email protected] Split tests out of Linux Android artifact creation builds (flutter/engine#54683) 2024-08-21 [email protected] Roll Skia from 249d3f07c4d5 to 69f4bd859025 (5 revisions) (flutter/engine#54691) 2024-08-21 [email protected] [iOS] Tweak note about OpenGL support on mac in a user facing log. (flutter/engine#54690) 2024-08-21 [email protected] [Impeller] use blit pass to resize decoded images. (flutter/engine#54606) 2024-08-21 [email protected] Remove spammy warning message on `FlutterView` (flutter/engine#54686) 2024-08-21 [email protected] [Impeller] Perform integrity checks for Vulkan pipeline caches. (flutter/engine#54654) 2024-08-21 [email protected] docs: use test: all rather than editing .ci.yaml (flutter/engine#54667) 2024-08-21 [email protected] Reland "[DisplayList] Allow random access to ops through indexing" (flutter/engine#54676) 2024-08-21 [email protected] Roll Skia from 51ac9d93850c to 249d3f07c4d5 (2 revisions) (flutter/engine#54684) 2024-08-21 [email protected] iOS,macOS: Don't archive extra framework metadata (flutter/engine#54674) 2024-08-21 [email protected] Roll Dart SDK from 48f9b96d71e7 to 060e40916514 (1 revision) (flutter/engine#54682) 2024-08-21 [email protected] [web] annotate obscured text fields as passwords (flutter/engine#54664) 2024-08-21 [email protected] Roll Skia from c31e2ca59bd9 to 51ac9d93850c (2 revisions) (flutter/engine#54681) 2024-08-21 [email protected] [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core (flutter/engine#54616) 2024-08-21 [email protected] Roll Skia from c00866df101a to c31e2ca59bd9 (2 revisions) (flutter/engine#54680) 2024-08-21 [email protected] Roll Skia from 39e5118034f4 to c00866df101a (1 revision) (flutter/engine#54678) 2024-08-21 [email protected] Roll Skia from 221ada80b174 to 39e5118034f4 (1 revision) (flutter/engine#54677) 2024-08-21 [email protected] Roll Skia from d576296091e0 to 221ada80b174 (2 revisions) (flutter/engine#54675) 2024-08-21 [email protected] Roll Dart SDK from 49f655b526c7 to 48f9b96d71e7 (1 revision) (flutter/engine#54672) 2024-08-21 [email protected] Roll Fuchsia Linux SDK from 3a16kOsyFmJh3lo7e... to XGzE3idakwfQZ68pb... (flutter/engine#54671) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 3a16kOsyFmJh to XGzE3idakwfQ If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#153884) flutter/engine@b94e009...f493c21 2024-08-21 [email protected] [iOS] Tweak note about OpenGL support on mac in a user facing log. (flutter/engine#54690) 2024-08-21 [email protected] [Impeller] use blit pass to resize decoded images. (flutter/engine#54606) 2024-08-21 [email protected] Remove spammy warning message on `FlutterView` (flutter/engine#54686) 2024-08-21 [email protected] [Impeller] Perform integrity checks for Vulkan pipeline caches. (flutter/engine#54654) 2024-08-21 [email protected] docs: use test: all rather than editing .ci.yaml (flutter/engine#54667) 2024-08-21 [email protected] Reland "[DisplayList] Allow random access to ops through indexing" (flutter/engine#54676) 2024-08-21 [email protected] Roll Skia from 51ac9d93850c to 249d3f07c4d5 (2 revisions) (flutter/engine#54684) 2024-08-21 [email protected] iOS,macOS: Don't archive extra framework metadata (flutter/engine#54674) 2024-08-21 [email protected] Roll Dart SDK from 48f9b96d71e7 to 060e40916514 (1 revision) (flutter/engine#54682) 2024-08-21 [email protected] [web] annotate obscured text fields as passwords (flutter/engine#54664) 2024-08-21 [email protected] Roll Skia from c31e2ca59bd9 to 51ac9d93850c (2 revisions) (flutter/engine#54681) 2024-08-21 [email protected] [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core (flutter/engine#54616) 2024-08-21 [email protected] Roll Skia from c00866df101a to c31e2ca59bd9 (2 revisions) (flutter/engine#54680) 2024-08-21 [email protected] Roll Skia from 39e5118034f4 to c00866df101a (1 revision) (flutter/engine#54678) 2024-08-21 [email protected] Roll Skia from 221ada80b174 to 39e5118034f4 (1 revision) (flutter/engine#54677) 2024-08-21 [email protected] Roll Skia from d576296091e0 to 221ada80b174 (2 revisions) (flutter/engine#54675) 2024-08-21 [email protected] Roll Dart SDK from 49f655b526c7 to 48f9b96d71e7 (1 revision) (flutter/engine#54672) 2024-08-21 [email protected] Roll Fuchsia Linux SDK from 3a16kOsyFmJh3lo7e... to XGzE3idakwfQZ68pb... (flutter/engine#54671) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 3a16kOsyFmJh to XGzE3idakwfQ If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…visions) (flutter#153884)" (flutter#153899) Reverts: flutter#153884 Initiated by: jason-simmons Reason for reverting: flutter/engine@f8d553a introduced a log message that is not expected by the `run_debug_test_android` devicelab test Reverting until an engine build is available with the log removed (see flutter/engine#54699) Original PR Author: engine-flutter-autoroll Reviewed By: {fluttergithubbot} This change reverts the following previous change: flutter/engine@b94e009...f493c21 2024-08-21 [email protected] [iOS] Tweak note about OpenGL support on mac in a user facing log. (flutter/engine#54690) 2024-08-21 [email protected] [Impeller] use blit pass to resize decoded images. (flutter/engine#54606) 2024-08-21 [email protected] Remove spammy warning message on `FlutterView` (flutter/engine#54686) 2024-08-21 [email protected] [Impeller] Perform integrity checks for Vulkan pipeline caches. (flutter/engine#54654) 2024-08-21 [email protected] docs: use test: all rather than editing .ci.yaml (flutter/engine#54667) 2024-08-21 [email protected] Reland "[DisplayList] Allow random access to ops through indexing" (flutter/engine#54676) 2024-08-21 [email protected] Roll Skia from 51ac9d93850c to 249d3f07c4d5 (2 revisions) (flutter/engine#54684) 2024-08-21 [email protected] iOS,macOS: Don't archive extra framework metadata (flutter/engine#54674) 2024-08-21 [email protected] Roll Dart SDK from 48f9b96d71e7 to 060e40916514 (1 revision) (flutter/engine#54682) 2024-08-21 [email protected] [web] annotate obscured text fields as passwords (flutter/engine#54664) 2024-08-21 [email protected] Roll Skia from c31e2ca59bd9 to 51ac9d93850c (2 revisions) (flutter/engine#54681) 2024-08-21 [email protected] [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core (flutter/engine#54616) 2024-08-21 [email protected] Roll Skia from c00866df101a to c31e2ca59bd9 (2 revisions) (flutter/engine#54680) 2024-08-21 [email protected] Roll Skia from 39e5118034f4 to c00866df101a (1 revision) (flutter/engine#54678) 2024-08-21 [email protected] Roll Skia from 221ada80b174 to 39e5118034f4 (1 revision) (flutter/engine#54677) 2024-08-21 [email protected] Roll Skia from d576296091e0 to 221ada80b174 (2 revisions) (flutter/engine#54675) 2024-08-21 [email protected] Roll Dart SDK from 49f655b526c7 to 48f9b96d71e7 (1 revision) (flutter/engine#54672) 2024-08-21 [email protected] Roll Fuchsia Linux SDK from 3a16kOsyFmJh3lo7e... to XGzE3idakwfQZ68pb... (flutter/engine#54671) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 3a16kOsyFmJh to XGzE3idakwfQ If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#153902) flutter/engine@b94e009...85d4be0 2024-08-22 [email protected] Export GPU symbols for embedder (flutter/engine#54662) 2024-08-22 [email protected] [Impeller] Remove a log message in the Vulkan back end that is visible during engine startup (flutter/engine#54699) 2024-08-22 [email protected] Roll Skia from 3cd00377cefc to 34aa8ce13af6 (3 revisions) (flutter/engine#54698) 2024-08-21 [email protected] macOS: Make framework creation consistent with iOS (flutter/engine#54685) 2024-08-21 [email protected] Roll Skia from 69f4bd859025 to 3cd00377cefc (8 revisions) (flutter/engine#54693) 2024-08-21 [email protected] Roll Dart SDK from 060e40916514 to 025bf8d376d3 (1 revision) (flutter/engine#54692) 2024-08-21 [email protected] Split tests out of Linux Android artifact creation builds (flutter/engine#54683) 2024-08-21 [email protected] Roll Skia from 249d3f07c4d5 to 69f4bd859025 (5 revisions) (flutter/engine#54691) 2024-08-21 [email protected] [iOS] Tweak note about OpenGL support on mac in a user facing log. (flutter/engine#54690) 2024-08-21 [email protected] [Impeller] use blit pass to resize decoded images. (flutter/engine#54606) 2024-08-21 [email protected] Remove spammy warning message on `FlutterView` (flutter/engine#54686) 2024-08-21 [email protected] [Impeller] Perform integrity checks for Vulkan pipeline caches. (flutter/engine#54654) 2024-08-21 [email protected] docs: use test: all rather than editing .ci.yaml (flutter/engine#54667) 2024-08-21 [email protected] Reland "[DisplayList] Allow random access to ops through indexing" (flutter/engine#54676) 2024-08-21 [email protected] Roll Skia from 51ac9d93850c to 249d3f07c4d5 (2 revisions) (flutter/engine#54684) 2024-08-21 [email protected] iOS,macOS: Don't archive extra framework metadata (flutter/engine#54674) 2024-08-21 [email protected] Roll Dart SDK from 48f9b96d71e7 to 060e40916514 (1 revision) (flutter/engine#54682) 2024-08-21 [email protected] [web] annotate obscured text fields as passwords (flutter/engine#54664) 2024-08-21 [email protected] Roll Skia from c31e2ca59bd9 to 51ac9d93850c (2 revisions) (flutter/engine#54681) 2024-08-21 [email protected] [engine] reland weaken affinity of raster/ui to non-e core instead of only fast core (flutter/engine#54616) 2024-08-21 [email protected] Roll Skia from c00866df101a to c31e2ca59bd9 (2 revisions) (flutter/engine#54680) 2024-08-21 [email protected] Roll Skia from 39e5118034f4 to c00866df101a (1 revision) (flutter/engine#54678) 2024-08-21 [email protected] Roll Skia from 221ada80b174 to 39e5118034f4 (1 revision) (flutter/engine#54677) 2024-08-21 [email protected] Roll Skia from d576296091e0 to 221ada80b174 (2 revisions) (flutter/engine#54675) 2024-08-21 [email protected] Roll Dart SDK from 49f655b526c7 to 48f9b96d71e7 (1 revision) (flutter/engine#54672) 2024-08-21 [email protected] Roll Fuchsia Linux SDK from 3a16kOsyFmJh3lo7e... to XGzE3idakwfQZ68pb... (flutter/engine#54671) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 3a16kOsyFmJh to XGzE3idakwfQ If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Fixes flutter/flutter#153623
Fixes flutter/flutter#153788
Also changes the single frame codec upload to either use the device private storage path or to defer upload until the GPU returns. This allows us to ensure that mips are always constructed and makes sure that we don't need to keep around the CPU texture reisze that depends on the Skia software backend.
Separately, I updated the deferred task system to allow separate success/failure tasks to make it easier to track the final state.