Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reverts "[Impeller] Add interface for submitting multiple command buffers at once." #50174

Merged
merged 1 commit into from
Jan 30, 2024

Conversation

auto-submit[bot]
Copy link
Contributor

@auto-submit auto-submit bot commented Jan 30, 2024

Reverts #50139
Initiated by: jonahwilliams
This change reverts the following previous change:
Original Description:
The Impeller Vulkan backend benefits from batching submission to the vk graphics queue. Managing this automatically is non-trivial and adds surprising/fragile thread based behavior, see: #49870

Instead, introduce an impeller::CommandQueue object that command buffers must be submitted to in lieu of CommandBuffer->Submit, which has been made private.

TLDR

old

buffer->Submit();

new

context.GetQueue()->Submit({buffer});

The Metal and GLES implementations internally just call the private CommandBuffer->Submit, though there may be future opportunities to simplify here. The Vulkan implementation is where the meat is.

Aiks takes advantage of this by storing all command buffers on the aiks context while rendering a frame, and then performing one submit in aiks_context render. I don't think this will introduce any thread safety problems, as we don't guarantee much about aiks context - nor do we use it in a multithreaded context as far as I know.

Other tasks such as image upload still just directly submit their command buffers via the queue.

Fixes flutter/flutter#141123

@auto-submit auto-submit bot added the revert of Bot Only: Tracking label for bot. Tracks new revert of pull requests. label Jan 30, 2024
@auto-submit auto-submit bot merged commit 0e4342c into main Jan 30, 2024
6 checks passed
@auto-submit auto-submit bot deleted the revert_0e586d1c28c868d59f7fbe9402938fc5dc448b85 branch January 30, 2024 17:13
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 30, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jan 30, 2024
…142543)

flutter/engine@438e9b4...0e4342c

2024-01-30 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Add interface for submitting multiple command buffers at once." (flutter/engine#50174)
2024-01-30 skia-flutter-autoroll@skia.org Roll Skia from a3d46fac53be to 7df4d35e11cf (3 revisions) (flutter/engine#50173)
2024-01-30 skia-flutter-autoroll@skia.org Roll Skia from c2fada52fdc4 to a3d46fac53be (2 revisions) (flutter/engine#50171)
2024-01-30 skia-flutter-autoroll@skia.org Roll Skia from 7dc9ba2e8c90 to c2fada52fdc4 (1 revision) (flutter/engine#50170)
2024-01-30 skia-flutter-autoroll@skia.org Roll Skia from 1c0eae94fc09 to 7dc9ba2e8c90 (1 revision) (flutter/engine#50169)
2024-01-30 skia-flutter-autoroll@skia.org Roll Skia from 4e992fb3a9db to 1c0eae94fc09 (3 revisions) (flutter/engine#50167)
2024-01-30 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Hqi_x_A9lYsY58VSn... to Z-xFM2ILZJw22eU8q... (flutter/engine#50166)
2024-01-30 jonahwilliams@google.com [Impeller] Add interface for submitting multiple command buffers at once. (flutter/engine#50139)
2024-01-30 49699333+dependabot[bot]@users.noreply.github.com Bump actions/upload-artifact from 4.1.0 to 4.3.0 (flutter/engine#50165)
2024-01-30 skia-flutter-autoroll@skia.org Roll Skia from 083c1a4d9767 to 4e992fb3a9db (1 revision) (flutter/engine#50164)
2024-01-30 mbrase@google.com Use structured logging on Fuchsia (flutter/engine#49918)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from Hqi_x_A9lYsY to Z-xFM2ILZJw2

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 matanl@google.com,rmistry@google.com,zra@google.com 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e: impeller platform-android revert of Bot Only: Tracking label for bot. Tracks new revert of pull requests.
Projects
No open projects
Status: ✅ Done
2 participants