-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Patch the compiler to account for subpass inputs and PSO metadata. #45739
Conversation
…etadata. Towards flutter/flutter#128911 Drive by fixes flutter/flutter#123795
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.
LGTM
Would a reflection test for this in compiler_unittests.cc
make sense?
@@ -1636,7 +1636,7 @@ TEST_P(AiksTest, ColorWheel) { | |||
auto callback = [&](AiksContext& renderer) -> std::optional<Picture> { | |||
// UI state. | |||
static bool cache_the_wheel = true; | |||
static int current_blend_index = 3; | |||
static int current_blend_index = 14; |
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: Keep default to SourceOver? Although advanced blends are more contentious, so maybe someone flipping through is more likely to notice a problem with Screen as the default.
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.
Yeah, just thought defaulting to the advanced ones was more likely to throw up issues.
@@ -261,6 +262,19 @@ std::optional<nlohmann::json> Reflector::GenerateTemplateArguments() const { | |||
} | |||
} | |||
|
|||
{ | |||
if (auto inputs = ReflectResources(shader_resources.subpass_inputs); |
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, convenient!
My hope is that the pipeline creation itself would be the ultimate fix. Another patch incoming that wires up the advanced blend libraries. |
return CreateMSLCompiler( | ||
ir, source_options, | ||
spirv_cross::CompilerMSL::Options::make_msl_version(3, 0, 0)); | ||
auto vk_compiler = std::make_shared<spirv_cross::CompilerGLSL>(ir); |
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.
Do we know how this change had previously broken GLES and how this changed fixed it?
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.
The original issue was light on details but there is now a separate CreateGLSLCompiler
which is probably what's used. So this change shouldn't affect GLSL at all. I believe earlier there used to be a common compiler instance creation and I can believe was hard to configure just right for one backend without causing unintended consequences elsewhere. But again, the issue was light on details so its hard to say. I'll keep an eye out for repercussions.
…134597) flutter/engine@c90fadf...7c78ea2 2023-09-12 [email protected] Revert "Lazily allocate RasterCacheItems only when caching is enabled" (flutter/engine#45734) 2023-09-12 [email protected] Revert "Use a single OffscreenCanvas for rendering in CanvasKit" (flutter/engine#45744) 2023-09-12 [email protected] [Impeller] Patch the compiler to account for subpass inputs and PSO metadata. (flutter/engine#45739) 2023-09-12 [email protected] [Impeller] Fix swapchain recreation for non-polling cases. (flutter/engine#45740) 2023-09-12 [email protected] Roll Fuchsia Mac SDK from QgAHx3BtJfN3TmodS... to UCa49z8fu0hD9cypj... (flutter/engine#45738) 2023-09-12 [email protected] [ios] upload extension safe artifacts (flutter/engine#45664) 2023-09-12 [email protected] Added test to assert the vulkan embedder threadsafe vkqueue usage (flutter/engine#45732) 2023-09-12 [email protected] [Impeller] If validations are enabled but not found, still create the VK context. (flutter/engine#45674) 2023-09-12 [email protected] Roll Skia from 211d63b1e1f5 to 2d295711337c (7 revisions) (flutter/engine#45729) 2023-09-12 [email protected] Use a single OffscreenCanvas for rendering in CanvasKit (flutter/engine#42672) Also rolling transitive DEPS: fuchsia/sdk/core/mac-amd64 from QgAHx3BtJfN3 to UCa49z8fu0hD 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…nd PSO metadata." (#45777) Reverts #45739 fixes flutter/flutter#134666
…lutter#134597) flutter/engine@c90fadf...7c78ea2 2023-09-12 [email protected] Revert "Lazily allocate RasterCacheItems only when caching is enabled" (flutter/engine#45734) 2023-09-12 [email protected] Revert "Use a single OffscreenCanvas for rendering in CanvasKit" (flutter/engine#45744) 2023-09-12 [email protected] [Impeller] Patch the compiler to account for subpass inputs and PSO metadata. (flutter/engine#45739) 2023-09-12 [email protected] [Impeller] Fix swapchain recreation for non-polling cases. (flutter/engine#45740) 2023-09-12 [email protected] Roll Fuchsia Mac SDK from QgAHx3BtJfN3TmodS... to UCa49z8fu0hD9cypj... (flutter/engine#45738) 2023-09-12 [email protected] [ios] upload extension safe artifacts (flutter/engine#45664) 2023-09-12 [email protected] Added test to assert the vulkan embedder threadsafe vkqueue usage (flutter/engine#45732) 2023-09-12 [email protected] [Impeller] If validations are enabled but not found, still create the VK context. (flutter/engine#45674) 2023-09-12 [email protected] Roll Skia from 211d63b1e1f5 to 2d295711337c (7 revisions) (flutter/engine#45729) 2023-09-12 [email protected] Use a single OffscreenCanvas for rendering in CanvasKit (flutter/engine#42672) Also rolling transitive DEPS: fuchsia/sdk/core/mac-amd64 from QgAHx3BtJfN3 to UCa49z8fu0hD 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Towards flutter/flutter#128911
Drive by fixes flutter/flutter#123795