Skip to content

Reverts caching render passes for non-msaa passes#167360

Closed
gaaclarke wants to merge 2 commits into
flutter:masterfrom
gaaclarke:revert-cache-non-msaa-pass
Closed

Reverts caching render passes for non-msaa passes#167360
gaaclarke wants to merge 2 commits into
flutter:masterfrom
gaaclarke:revert-cache-non-msaa-pass

Conversation

@gaaclarke

Copy link
Copy Markdown
Member

fixes #167316
partial revert of #165497

This disables the render pass caching of non-msaa passes. This seems to have broken vulkan playgrounds locally. I believe this is because of the imgui pass that is present locally but not on CI.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@gaaclarke gaaclarke requested a review from flar April 17, 2025 17:12
@github-actions github-actions Bot added engine flutter/engine related. See also e: labels. e: impeller Impeller rendering backend issues and features requests labels Apr 17, 2025
@gaaclarke gaaclarke requested a review from jonahwilliams April 17, 2025 17:12

@flar flar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks functionally harmless, but should probably also be (post?) reviewed by @jonahwilliams for potential loss of performance.

@gaaclarke

Copy link
Copy Markdown
Member Author

Yea, i'm hoping to work with Jonah when he gets back to come up with a fix. Right now I just want to unblock work on playgrounds.

@gaaclarke gaaclarke added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2025
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2025
@auto-submit

auto-submit Bot commented Apr 17, 2025

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/167360, because - The status or check suite Windows windows_android_aot_engine has failed. Please fix the issues identified (or deflake) before re-applying this label.

@gaaclarke gaaclarke added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2025

@jonahwilliams jonahwilliams left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You shouldn't land a change that has a (large) performance impact on production applications to work a round a bug in a non-production system (imgui playground component).

If you're not sure how to fix the validation error, then we can look at it on monday.

@jonahwilliams jonahwilliams removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2025
@gaaclarke

Copy link
Copy Markdown
Member Author

You shouldn't land a change that has a (large) performance impact on production applications to work a round a bug in a non-production system (imgui playground component).

That's the protocol we follow, if a PR is blocking development it is reverted. I think we all agree that ideally this would have been blocked from landing by CI. We should come up with a fix when you are back in town but in the meantime we shouldn't be impeding development on the main branch.

@jonahwilliams

Copy link
Copy Markdown
Contributor

do not revert this PR.

@gaaclarke

Copy link
Copy Markdown
Member Author

The problem with addressing this is that TextureVK is caching a vk::RenderPass. That texture will be used for a regular rendering with a depth buffer. When we use it with imgui the render texture will not have that and so the vk::RenderPass will be invalid.

Options as I see it:

  1. Make caching renderpasses be a combination of f(texture, render_target) instead of just f(texture).
  2. Pass contextual information about the fact we are using imgui to avoid using the render pass cache in that case.

@chinmaygarde

Copy link
Copy Markdown
Contributor

@jonahwilliams says the underlying bug is fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

e: impeller Impeller rendering backend issues and features requests engine flutter/engine related. See also e: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vulkan playgrounds failing with vulkan validation

4 participants