-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Add OpenGL debugging utilities. #56515
Conversation
* CheckFramebufferStatus needs to be called with the enum for the target type and not the target itself. * Fix dumping the framebuffer type and object name.
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
|
@lyceel: I added another debugging utility. You can now set log_calls on any proc table entry. So something like: BindFramebuffer.log_calls = true;
Clear.log_calls = true;will log all calls to glBindFramebuffer and glClear along with their arguments (decimal encoded). Only works in The following will be dumped to the log: That should help you trace what Impeller is doing along with the embedder. |
jonahwilliams
left a comment
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
…158506) flutter/engine@b0a4ca9...877abb9 2024-11-12 [email protected] Roll Skia from 75230dbc93e6 to aa099ff91e2f (3 revisions) (flutter/engine#56525) 2024-11-12 [email protected] [Impeller] Add OpenGL debugging utilities. (flutter/engine#56515) 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] 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
* CheckFramebufferStatus needs to be called with the enum for the target type and not the target itself. * Fix dumping the framebuffer type and object name. The results should be the following for the default FBO0. ``` [IMPORTANT:flutter/impeller/renderer/backend/gles/render_pass_gles.cc(281)] The default framebuffer (FBO0) was bound. ``` and the following for an offscreen framebuffer: ``` [IMPORTANT:flutter/impeller/renderer/backend/gles/render_pass_gles.cc(281)] The default framebuffer (FBO0) was bound. [IMPORTANT:flutter/impeller/renderer/backend/gles/render_pass_gles.cc(281)] FBO 1: GL_FRAMEBUFFER_COMPLETE Framebuffer is complete. Description: Color Attachment: GL_TEXTURE(5) Depth Attachment: GL_RENDERBUFFER(1) Stencil Attachment: GL_RENDERBUFFER(1) ``` cc @lyceel
The results should be the following for the default FBO0.
and the following for an offscreen framebuffer:
cc @lyceel