Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Issue 2612023002: cc: Implement overdraw feedback debugging feature. (Closed)

Created:
3 years, 11 months ago by reveman
Modified:
3 years, 11 months ago
CC:
asvitkine+watch_chromium.org, cc-bugs_chromium.org, chromium-reviews, danakj+watch_chromium.org, jbauman+watch_chromium.org, kalyank, piman+watch_chromium.org, Ian Vollick
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Implement overdraw feedback debugging feature. This adds a overdraw feedback debug flag to the GL renderer. This feature is inspired by the GPU overdraw debug feature that exists on Android and developers familiar with that feature will feel at home using this flag when debugging overdraw in web-pages or in the ChromeOS UI. When enabled, this flag visualize overdraw by color-coding areas of the output based on how much overdraw is taking place. The colors are hinting at the amount of overdraw on the screen for each pixel, as follows: True color: No overdraw Blue: Overdrawn once Green: Overdrawn twice Pink: Overdrawn three times Red: Overdrawn four or more times This also adds an overdraw tracing category (cc.debug.overdraw) that provides a trace counter for the current amount overdraw. The --ui-disable-partial-swap flag is also added to about:flags in this patch. Disabling of partial swap is not required for overdraw feedback but often what you want to make the output easier to diagnose. BUG=678234 TEST=chrome --show-overdraw-feedback, cc_unittests --gtest_filter=GLRendererPixelTestWithOverdrawFeedback.TranslucentRectangles CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2612023002 Cr-Commit-Position: refs/heads/master@{#444256} Committed: https://chromium.googlesource.com/chromium/src/+/9413cffb4fdc7dbcfc40a8da0530942e2f6ae0f2

Patch Set 1 #

Patch Set 2 : tracing support #

Total comments: 8

Patch Set 3 : feedback #

Patch Set 4 : fix partial swap behavior #

Patch Set 5 : fix typo in comment #

Total comments: 42

Patch Set 6 : pixel test #

Patch Set 7 : const& #

Patch Set 8 : rebase #

Total comments: 2

Patch Set 9 : tracing cleanup #

Total comments: 17

Patch Set 10 : address feedback #

Patch Set 11 : address more feedback #

Patch Set 12 : rebase #

Patch Set 13 : fix android build #

Patch Set 14 : fix buffer queue unit test and renderer pixel test build on android #

Patch Set 15 : fix partial swap resource #

Patch Set 16 : fix another android build issue #

Patch Set 17 : another android build fix #

Patch Set 18 : make sure overdraw_feedback_ is initialized and reset properly #

Unified diffs Side-by-side diffs Delta from patch set Stats (+408 lines, -59 lines) Patch
M android_webview/browser/parent_output_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -1 line 0 comments Download
M android_webview/browser/parent_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -1 line 0 comments Download
M cc/base/switches.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/base/switches.cc View 1 2 1 chunk +12 lines, -0 lines 0 comments Download
M cc/output/direct_renderer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +6 lines, -0 lines 0 comments Download
M cc/output/direct_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +25 lines, -4 lines 0 comments Download
M cc/output/gl_renderer.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +14 lines, -0 lines 0 comments Download
M cc/output/gl_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 11 chunks +157 lines, -7 lines 0 comments Download
M cc/output/gl_renderer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -3 lines 0 comments Download
M cc/output/output_surface.h View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -1 line 0 comments Download
M cc/output/overlay_unittest.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M cc/output/renderer_pixeltest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +57 lines, -2 lines 0 comments Download
M cc/output/renderer_settings.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/output/renderer_settings.cc View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
A cc/test/data/translucent_rectangles.png View 1 2 3 4 5 Binary file 0 comments Download
M cc/test/fake_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/fake_output_surface.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/pixel_test_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/pixel_test_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -2 lines 0 comments Download
M chrome/app/generated_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +12 lines, -0 lines 0 comments Download
M chrome/browser/about_flags.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +7 lines, -0 lines 0 comments Download
M components/display_compositor/buffer_queue.h View 1 3 chunks +5 lines, -1 line 0 comments Download
M components/display_compositor/buffer_queue.cc View 1 7 chunks +25 lines, -4 lines 0 comments Download
M components/display_compositor/buffer_queue_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 8 chunks +8 lines, -8 lines 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc View 1 2 chunks +6 lines, -4 lines 0 comments Download
M content/browser/compositor/offscreen_browser_compositor_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/offscreen_browser_compositor_output_surface.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/reflector_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -2 lines 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/android/synchronous_compositor_frame_sink.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -1 line 0 comments Download
M services/ui/surfaces/display_output_surface.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M services/ui/surfaces/display_output_surface.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M services/ui/surfaces/display_output_surface_ozone.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M services/ui/surfaces/display_output_surface_ozone.cc View 1 2 chunks +4 lines, -2 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download
M ui/compositor/compositor.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M ui/compositor/test/in_process_context_factory.cc View 1 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 67 (32 generated)
reveman
3 years, 11 months ago (2017-01-09 11:07:25 UTC) #3
Daniele Castagna
Can you mentioned the tracing support in the CL description? https://codereview.chromium.org/2612023002/diff/20001/cc/base/switches.cc File cc/base/switches.cc (right): https://codereview.chromium.org/2612023002/diff/20001/cc/base/switches.cc#newcode111 ...
3 years, 11 months ago (2017-01-09 18:53:06 UTC) #4
reveman
On 2017/01/09 at 18:53:06, dcastagna wrote: > Can you mentioned the tracing support in the ...
3 years, 11 months ago (2017-01-10 23:52:01 UTC) #6
Daniele Castagna
lgtm
3 years, 11 months ago (2017-01-10 23:52:52 UTC) #7
reveman
https://codereview.chromium.org/2612023002/diff/20001/cc/output/gl_renderer.h File cc/output/gl_renderer.h (right): https://codereview.chromium.org/2612023002/diff/20001/cc/output/gl_renderer.h#newcode556 cc/output/gl_renderer.h:556: std::set<int> current_overdraw_; On 2017/01/10 at 23:52:01, reveman wrote: > ...
3 years, 11 months ago (2017-01-11 03:22:02 UTC) #9
reveman
+dtrainor for blimp/ +danakj for cc/, components/display_compositor/ and ui/compositor/ +asvitkine for tools/metrics/histograms/ +fsamuel for services/ui/surfaces/ ...
3 years, 11 months ago (2017-01-11 03:46:41 UTC) #11
Fady Samuel
services/ui/surfaces lgtm
3 years, 11 months ago (2017-01-11 16:12:01 UTC) #12
Alexei Svitkine (slow)
lgtm
3 years, 11 months ago (2017-01-11 16:41:30 UTC) #13
David Trainor- moved to gerrit
blimp/ lgtm
3 years, 11 months ago (2017-01-11 18:22:37 UTC) #14
danakj
How can we unit test the code in DirectRenderer/GLRenderer? Can we look at what we ...
3 years, 11 months ago (2017-01-12 00:42:57 UTC) #15
reveman
On 2017/01/12 at 00:42:57, danakj wrote: > How can we unit test the code in ...
3 years, 11 months ago (2017-01-13 01:27:43 UTC) #17
danakj
Moving to the new patchset some first comments https://codereview.chromium.org/2612023002/diff/80001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/2612023002/diff/80001/cc/output/gl_renderer.cc#newcode3029 cc/output/gl_renderer.cc:3029: if ...
3 years, 11 months ago (2017-01-16 16:02:58 UTC) #18
danakj
https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc#newcode90 cc/output/direct_renderer.cc:90: LOG_IF(WARNING, settings_->show_overdraw_feedback && On 2017/01/13 01:27:42, reveman wrote: > ...
3 years, 11 months ago (2017-01-16 16:22:01 UTC) #19
reveman
https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc#newcode90 cc/output/direct_renderer.cc:90: LOG_IF(WARNING, settings_->show_overdraw_feedback && On 2017/01/16 at 16:22:01, danakj (slow) ...
3 years, 11 months ago (2017-01-16 18:02:27 UTC) #20
danakj
https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc#newcode90 cc/output/direct_renderer.cc:90: LOG_IF(WARNING, settings_->show_overdraw_feedback && On 2017/01/16 18:02:26, reveman wrote: > ...
3 years, 11 months ago (2017-01-16 18:17:57 UTC) #21
reveman
https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc File cc/output/direct_renderer.cc (right): https://codereview.chromium.org/2612023002/diff/80001/cc/output/direct_renderer.cc#newcode90 cc/output/direct_renderer.cc:90: LOG_IF(WARNING, settings_->show_overdraw_feedback && On 2017/01/16 at 18:17:52, danakj (slow) ...
3 years, 11 months ago (2017-01-16 22:46:19 UTC) #22
danakj
LGTM https://codereview.chromium.org/2612023002/diff/160001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/2612023002/diff/160001/cc/output/gl_renderer.cc#newcode3635 cc/output/gl_renderer.cc:3635: *std::max_element(overdraw->begin(), overdraw->end())); On 2017/01/16 22:46:18, reveman wrote: > ...
3 years, 11 months ago (2017-01-17 15:36:38 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/200001
3 years, 11 months ago (2017-01-17 17:02:30 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/136911) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 11 months ago (2017-01-17 17:04:30 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/220001
3 years, 11 months ago (2017-01-17 17:24:48 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_android/builds/194617)
3 years, 11 months ago (2017-01-17 17:37:42 UTC) #33
reveman
+boliu for content/renderer/android
3 years, 11 months ago (2017-01-17 17:54:50 UTC) #35
boliu
lgtm
3 years, 11 months ago (2017-01-17 17:56:23 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/240001
3 years, 11 months ago (2017-01-17 17:57:01 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/304331)
3 years, 11 months ago (2017-01-17 18:11:29 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/260001
3 years, 11 months ago (2017-01-17 20:42:39 UTC) #44
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/294341)
3 years, 11 months ago (2017-01-17 21:00:33 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/280001
3 years, 11 months ago (2017-01-17 21:10:14 UTC) #49
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/214493)
3 years, 11 months ago (2017-01-17 21:33:34 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/300001
3 years, 11 months ago (2017-01-17 22:15:18 UTC) #54
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/101681) linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, ...
3 years, 11 months ago (2017-01-17 22:39:55 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/310001
3 years, 11 months ago (2017-01-17 22:48:44 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/294524)
3 years, 11 months ago (2017-01-18 00:52:48 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2612023002/330001
3 years, 11 months ago (2017-01-18 01:58:14 UTC) #64
commit-bot: I haz the power
3 years, 11 months ago (2017-01-18 03:06:42 UTC) #67
Message was sent while issue was closed.
Committed patchset #18 (id:330001) as
https://chromium.googlesource.com/chromium/src/+/9413cffb4fdc7dbcfc40a8da0530...

Powered by Google App Engine
This is Rietveld 408576698