Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

[Impeller] Conditionally set command debug info. #44274

Merged
merged 5 commits into from
Aug 14, 2023

Conversation

jonahwilliams
Copy link
Member

@jonahwilliams jonahwilliams commented Aug 2, 2023

If IMPELLER_DEBUG is not defined (release mode), then remove the cmd label strings and additional encoding debug info.

@jonahwilliams jonahwilliams marked this pull request as ready for review August 2, 2023 19:07
@bdero bdero requested a review from chinmaygarde August 2, 2023 19:51
Copy link
Member

@bdero bdero left a comment

Choose a reason for hiding this comment

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

I recall this coming up before, and we decided to keep the labels at the time. But that was at a time when none of the labels were dynamically generated.

I don't have a strong opinion about this, but @chinmaygarde might have thoughts.

@@ -25,6 +25,12 @@

namespace impeller {

#ifdef IMPELLER_DEBUG
#define DEBUG_COMMAND_INFO(obj, arg) obj.label = arg;
Copy link
Member

Choose a reason for hiding this comment

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

Prefix with Impeller?

@chinmaygarde
Copy link
Member

Perhaps we can have something like impeller::DebugLabel or something that turns itself off in certain modes. That way, we won't have to use macros everywhere.

@jonahwilliams
Copy link
Member Author

TBH I kind of like the macros because its guaranteed to work, otherwise we get a compile time warning, plus command size is fully shrunk.

We could create a impeller::DebugLabel class that discards its string on construction. Maybe that would be more useful if we want to toggle this on or off?

@chinmaygarde
Copy link
Member

Yeah, I was thinking of something similar https://godbolt.org/z/cGzWT418G. Also, the debug label could only copy the string out for dynamically allocated strings. When we want absolutely no debug labels, we can ifdef out everything and the struct size is zero.

To be clear, we can do this later. Just want to make sure we are utilizing all tricks we can to ensure we have maximum debuggability. If we get into the habit of getting rid of these labels, we'll find these are too expensive when we need them.

@chinmaygarde chinmaygarde changed the title [Impeller] conditionally set command debug info. [Impeller] Conditionally set command debug info. Aug 4, 2023
Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

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

Just LGTMing this now to unblock. We can rework debug labels later at any point.

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 14, 2023
@auto-submit auto-submit bot merged commit 4b27e57 into flutter:main Aug 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 14, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 14, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 14, 2023
…132522)

flutter/engine@56a0e27...785b249

2023-08-14 [email protected] Update CompositionAwareMixin to correctly compute composingBase in Web engine (flutter/engine#44139)
2023-08-14 [email protected] Add application:openURLs: forwarding on macOS (flutter/engine#44689)
2023-08-14 [email protected] Roll Skia from a4377099b25a to 69ea58157190 (1 revision) (flutter/engine#44692)
2023-08-14 [email protected] Update embedder_semantics_update.h imports to include flutter namespace (flutter/engine#44670)
2023-08-14 [email protected] Roll Dart SDK from 3295a353980a to d445f5a18876 (1 revision) (flutter/engine#44691)
2023-08-14 [email protected] Revert "Make run_tests.py assert that the ios test dylib is at least as new as libFlutter.dylib" (flutter/engine#44690)
2023-08-14 [email protected] Roll Skia from 1cf6f71c8120 to a4377099b25a (1 revision) (flutter/engine#44688)
2023-08-14 [email protected] Roll Fuchsia Mac SDK from JKTVoxVrHjZjBaxG4... to uIGMbDkXoIcpqWjgR... (flutter/engine#44687)
2023-08-14 [email protected] [Impeller] Conditionally set command debug info. (flutter/engine#44274)
2023-08-14 [email protected] Migrate more GL calls of GrBackend* (flutter/engine#44682)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from JKTVoxVrHjZj to uIGMbDkXoIcp

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
gaaclarke pushed a commit to gaaclarke/engine that referenced this pull request Aug 30, 2023
If IMPELLER_DEBUG is not defined (release mode), then remove the cmd label strings and additional encoding debug info.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants