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

Issue 1256613002: Add tracing for GL texture objects (Closed)

Created:
5 years, 5 months ago by ericrk
Modified:
5 years, 4 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, darin-cc_chromium.org, jam, petrcermak, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@browser_process_id
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Adds tracing support for GL textures in both CC (via ResourceProvider) and GPU (via TextureManager). Does not currently log all renderer textures, as we still need a follow up patch to account for Skia allocations. BUG=512534 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/f08855b468d24b9cc4752107b50e5763daecbf56 Cr-Commit-Position: refs/heads/master@{#342020}

Patch Set 1 : #

Total comments: 16

Patch Set 2 : rebase #

Patch Set 3 : review feedback #

Total comments: 56

Patch Set 4 : review feedback #

Total comments: 8

Patch Set 5 : rebase #

Patch Set 6 : Nits + Service_id > client_id relationship in TextureManager #

Total comments: 2

Patch Set 7 : remove unneeded explicit #

Total comments: 7

Patch Set 8 : address nits #

Patch Set 9 : build fixes #

Total comments: 2

Patch Set 10 : #

Patch Set 11 : Use helper function. #

Total comments: 2

Patch Set 12 : nit: remove blank line #

Patch Set 13 : rebase #

Patch Set 14 : webview workaround + crbug #

Patch Set 15 : Key texture manager memory dump provider registration off of memory_tracker_ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+282 lines, -22 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M cc/resources/resource_provider.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +8 lines, -2 lines 0 comments Download
M cc/resources/resource_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +60 lines, -0 lines 0 comments Download
M cc/resources/shared_bitmap.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M cc/resources/shared_bitmap.cc View 1 2 3 2 chunks +9 lines, -0 lines 0 comments Download
M components/view_manager/gles2/command_buffer_driver.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/compositor/buffer_queue_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M content/browser/gpu/browser_gpu_channel_host_factory.cc View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/gpu/browser_gpu_memory_buffer_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +5 lines, -1 line 0 comments Download
M content/browser/gpu/browser_gpu_memory_buffer_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +19 lines, -4 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +12 lines, -4 lines 0 comments Download
M content/common/gpu/gpu_memory_manager_unittest.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/host_shared_bitmap_manager.cc View 1 2 3 2 chunks +11 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/memory_tracking.h View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/mocks.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 4 chunks +10 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +75 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/BUILD.gn View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gl/gl.gyp View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
A ui/gl/trace_util.h View 1 2 3 4 5 1 chunk +19 lines, -0 lines 0 comments Download
A ui/gl/trace_util.cc View 1 2 3 4 5 1 chunk +19 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 75 (39 generated)
ericrk
Sending out a first pass of this to the tracing folks before broadening the CL ...
5 years, 5 months ago (2015-07-24 20:34:22 UTC) #11
reveman
https://codereview.chromium.org/1256613002/diff/130001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1256613002/diff/130001/cc/resources/resource_provider.cc#newcode1157 cc/resources/resource_provider.cc:1157: this); You'll need to provide a ThreadTaskRunnerHandle here to ...
5 years, 5 months ago (2015-07-24 21:16:36 UTC) #12
ericrk
Thanks for the feedback! let me know how this looks. https://codereview.chromium.org/1256613002/diff/130001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1256613002/diff/130001/cc/resources/resource_provider.cc#newcode1157 ...
5 years, 4 months ago (2015-07-28 21:02:33 UTC) #15
reveman
https://codereview.chromium.org/1256613002/diff/210001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1256613002/diff/210001/cc/resources/resource_provider.cc#newcode1976 cc/resources/resource_provider.cc:1976: base::StringPrintf("CC/resource_memory/resource_%d", id); nit: I'm using lower case "cc/..." in ...
5 years, 4 months ago (2015-07-28 21:38:50 UTC) #16
ssid
https://codereview.chromium.org/1256613002/diff/210001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1256613002/diff/210001/cc/resources/resource_provider.cc#newcode2015 cc/resources/resource_provider.cc:2015: auto guid = gfx::GetSharedBitmapGUIDForTracing( On 2015/07/28 21:38:49, reveman wrote: ...
5 years, 4 months ago (2015-07-29 11:17:44 UTC) #19
petrcermak
https://codereview.chromium.org/1256613002/diff/210001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1256613002/diff/210001/cc/resources/resource_provider.cc#newcode2017 cc/resources/resource_provider.cc:2017: const int kImportance = 2; This constant is defined ...
5 years, 4 months ago (2015-07-29 16:13:35 UTC) #21
ericrk
Thanks for all the detailed feedback - cleaned things up quite a bit - let ...
5 years, 4 months ago (2015-07-29 18:46:47 UTC) #22
ericrk
Thanks for all the detailed feedback - cleaned things up quite a bit - let ...
5 years, 4 months ago (2015-07-29 18:46:48 UTC) #23
reveman
lgtm with nits https://codereview.chromium.org/1256613002/diff/270001/content/browser/gpu/browser_gpu_memory_buffer_manager.cc File content/browser/gpu/browser_gpu_memory_buffer_manager.cc (right): https://codereview.chromium.org/1256613002/diff/270001/content/browser/gpu/browser_gpu_memory_buffer_manager.cc#newcode600 content/browser/gpu/browser_gpu_memory_buffer_manager.cc:600: ->tracing_process_id(); nit: Please add a "const ...
5 years, 4 months ago (2015-07-29 19:41:20 UTC) #25
ericrk
Thanks for the feedback. Made the suggested changes. +piman for GPU portions https://codereview.chromium.org/1256613002/diff/270001/content/browser/gpu/browser_gpu_memory_buffer_manager.cc File content/browser/gpu/browser_gpu_memory_buffer_manager.cc ...
5 years, 4 months ago (2015-07-29 21:37:46 UTC) #28
reveman
https://codereview.chromium.org/1256613002/diff/320022/content/browser/gpu/browser_gpu_memory_buffer_manager.h File content/browser/gpu/browser_gpu_memory_buffer_manager.h (right): https://codereview.chromium.org/1256613002/diff/320022/content/browser/gpu/browser_gpu_memory_buffer_manager.h#newcode25 content/browser/gpu/browser_gpu_memory_buffer_manager.h:25: explicit BrowserGpuMemoryBufferManager(int gpu_client_id, nit: 'explicit' is no longer needed
5 years, 4 months ago (2015-07-29 21:59:04 UTC) #29
ericrk
https://codereview.chromium.org/1256613002/diff/320022/content/browser/gpu/browser_gpu_memory_buffer_manager.h File content/browser/gpu/browser_gpu_memory_buffer_manager.h (right): https://codereview.chromium.org/1256613002/diff/320022/content/browser/gpu/browser_gpu_memory_buffer_manager.h#newcode25 content/browser/gpu/browser_gpu_memory_buffer_manager.h:25: explicit BrowserGpuMemoryBufferManager(int gpu_client_id, On 2015/07/29 21:59:04, reveman wrote: > ...
5 years, 4 months ago (2015-07-29 22:50:15 UTC) #30
petrcermak
A few more drive-by nits. Thanks, Petr https://codereview.chromium.org/1256613002/diff/360001/content/common/gpu/gpu_memory_manager_unittest.cc File content/common/gpu/gpu_memory_manager_unittest.cc (right): https://codereview.chromium.org/1256613002/diff/360001/content/common/gpu/gpu_memory_manager_unittest.cc#newcode24 content/common/gpu/gpu_memory_manager_unittest.cc:24: uint64_t ClientTracingId() ...
5 years, 4 months ago (2015-07-30 08:03:11 UTC) #31
ericrk
https://codereview.chromium.org/1256613002/diff/360001/content/common/gpu/gpu_memory_manager_unittest.cc File content/common/gpu/gpu_memory_manager_unittest.cc (right): https://codereview.chromium.org/1256613002/diff/360001/content/common/gpu/gpu_memory_manager_unittest.cc#newcode24 content/common/gpu/gpu_memory_manager_unittest.cc:24: uint64_t ClientTracingId() override { return 0; } On 2015/07/30 ...
5 years, 4 months ago (2015-07-30 16:58:36 UTC) #32
ericrk
5 years, 4 months ago (2015-07-30 16:58:37 UTC) #33
ericrk
On 2015/07/30 16:58:37, ericrk wrote: ping for review of gpu/ ui/gl components - piman, can ...
5 years, 4 months ago (2015-07-31 20:30:04 UTC) #35
piman
lgtm https://codereview.chromium.org/1256613002/diff/420001/gpu/command_buffer/service/texture_manager.cc File gpu/command_buffer/service/texture_manager.cc (right): https://codereview.chromium.org/1256613002/diff/420001/gpu/command_buffer/service/texture_manager.cc#newcode2087 gpu/command_buffer/service/texture_manager.cc:2087: gfx::GetGLTextureGUIDForTracing(0, ref->texture()->service_id()); This is fine as a first ...
5 years, 4 months ago (2015-08-03 21:36:21 UTC) #36
ericrk
+erg for command_buffer_driver.cc. Just adding stub methods to the MemoryTrackerStub. Let me know if this ...
5 years, 4 months ago (2015-08-03 22:11:05 UTC) #38
Elliot Glaysher
redirecting to jam@, who has actually worked in this file.
5 years, 4 months ago (2015-08-03 22:14:33 UTC) #40
jam
lgtm https://codereview.chromium.org/1256613002/diff/460001/components/view_manager/gles2/command_buffer_driver.cc File components/view_manager/gles2/command_buffer_driver.cc (right): https://codereview.chromium.org/1256613002/diff/460001/components/view_manager/gles2/command_buffer_driver.cc#newcode47 components/view_manager/gles2/command_buffer_driver.cc:47: nit: no blank line since these are all ...
5 years, 4 months ago (2015-08-04 15:18:06 UTC) #41
ericrk
https://codereview.chromium.org/1256613002/diff/460001/components/view_manager/gles2/command_buffer_driver.cc File components/view_manager/gles2/command_buffer_driver.cc (right): https://codereview.chromium.org/1256613002/diff/460001/components/view_manager/gles2/command_buffer_driver.cc#newcode47 components/view_manager/gles2/command_buffer_driver.cc:47: On 2015/08/04 15:18:06, jam wrote: > nit: no blank ...
5 years, 4 months ago (2015-08-04 19:06:00 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/480001
5 years, 4 months ago (2015-08-04 19:06:56 UTC) #45
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/86207)
5 years, 4 months ago (2015-08-04 20:07:27 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/480001
5 years, 4 months ago (2015-08-04 20:53:32 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/480001
5 years, 4 months ago (2015-08-05 03:15:09 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/52044)
5 years, 4 months ago (2015-08-05 07:05:48 UTC) #54
ericrk
Workaround for Android WebView.
5 years, 4 months ago (2015-08-05 18:58:26 UTC) #58
ericrk
re-did TextureManager memory dump registration to key off of memory_tracker_, per offline conversation with Bo.
5 years, 4 months ago (2015-08-05 19:08:54 UTC) #59
boliu
On 2015/08/05 19:08:54, ericrk wrote: > re-did TextureManager memory dump registration to key off of ...
5 years, 4 months ago (2015-08-05 19:11:33 UTC) #60
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/580001
5 years, 4 months ago (2015-08-05 19:28:44 UTC) #63
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/580001
5 years, 4 months ago (2015-08-05 20:31:20 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/580001
5 years, 4 months ago (2015-08-05 20:57:24 UTC) #69
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/89208)
5 years, 4 months ago (2015-08-05 23:27:55 UTC) #71
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1256613002/580001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1256613002/580001
5 years, 4 months ago (2015-08-05 23:38:16 UTC) #73
commit-bot: I haz the power
Committed patchset #15 (id:580001)
5 years, 4 months ago (2015-08-06 00:20:30 UTC) #74
commit-bot: I haz the power
5 years, 4 months ago (2015-08-06 00:21:12 UTC) #75
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/f08855b468d24b9cc4752107b50e5763daecbf56
Cr-Commit-Position: refs/heads/master@{#342020}

Powered by Google App Engine
This is Rietveld 408576698