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

Issue 937263006: Refactored GLContext to own GPUTiming which spawn GPUTimingClients. (Closed)

Created:
5 years, 10 months ago by David Yen
Modified:
5 years, 10 months ago
CC:
chromium-reviews, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Refactored GLContext to own GPUTiming which spawn GPUTimingClients. GPUTiming is our abstraction layer for various GL timing extensions. It makes more sense for this abstraction layer to be owned by GLContext instead. Clients that want to do GPU Timing calls (GPUTracer, eventual support of WebGL tracer calls). One of the main reasons for this differentiation is to support disjoint queries across multiple virtual contexts. The actual support of this will be completed in another CL. BUG=451211 TEST=trybots Committed: https://crrev.com/5b1c02ff50ebb8af95b50b4ea1658eef2bb89546 Cr-Commit-Position: refs/heads/master@{#318174}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Made GPUTimer only accessible from GPUTimingClient factory #

Patch Set 3 : Fixed MeasurementTimers #

Patch Set 4 : Merged with latest #

Total comments: 29

Patch Set 5 : GPUTiming now hidden in GLContextReal, GPUTiming now in gfx namespace #

Patch Set 6 : Merged with latest #

Patch Set 7 : GPUTiming now private to only GLContextReal, removed GL_EXPORT #

Patch Set 8 : Added GPUTiming descriptions for all 3 classes, refptr in GPUTimer #

Unified diffs Side-by-side diffs Delta from patch set Stats (+298 lines, -354 lines) Patch
M gpu/command_buffer/service/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/gl_context_virtual.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/gl_context_virtual.cc View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 2 chunks +3 lines, -1 line 0 comments Download
D gpu/command_buffer/service/gpu_timing.h View 1 chunk +0 lines, -87 lines 0 comments Download
D gpu/command_buffer/service/gpu_timing.cc View 1 chunk +0 lines, -146 lines 0 comments Download
M gpu/command_buffer/service/gpu_tracer.h View 1 2 3 4 5 chunks +8 lines, -4 lines 0 comments Download
M gpu/command_buffer/service/gpu_tracer.cc View 1 2 3 4 8 chunks +22 lines, -14 lines 0 comments Download
M gpu/command_buffer/service/gpu_tracer_unittest.cc View 1 2 3 4 5 6 13 chunks +32 lines, -34 lines 0 comments Download
M gpu/command_buffer_service.gypi View 1 chunk +0 lines, -2 lines 0 comments Download
M gpu/perftests/measurements.h View 1 2 3 4 5 6 3 chunks +8 lines, -4 lines 0 comments Download
M gpu/perftests/measurements.cc View 1 2 3 4 5 3 chunks +5 lines, -5 lines 0 comments Download
M gpu/perftests/texture_upload_perftest.cc View 1 2 3 4 5 6 8 chunks +12 lines, -11 lines 0 comments Download
M ui/gl/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gl/gl.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gl/gl_context.h View 1 2 3 4 4 chunks +8 lines, -0 lines 0 comments Download
M ui/gl/gl_context.cc View 1 2 3 4 2 chunks +8 lines, -0 lines 0 comments Download
A ui/gl/gpu_timing.h View 1 2 3 4 5 6 7 1 chunk +136 lines, -0 lines 0 comments Download
A + ui/gl/gpu_timing.cc View 1 2 3 4 5 6 7 5 chunks +46 lines, -44 lines 0 comments Download

Messages

Total messages: 25 (5 generated)
David Yen
This is the initial CL which replaces the last one which I had closed: https://codereview.chromium.org/940633004/ ...
5 years, 10 months ago (2015-02-24 19:46:48 UTC) #2
David Yen
piman@chromium.org: Please review changes in gpu/perftests/* Sorry for the confusion yesterday, please review this one ...
5 years, 10 months ago (2015-02-24 19:48:30 UTC) #4
vmiura
https://codereview.chromium.org/937263006/diff/1/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/937263006/diff/1/gpu/command_buffer/service/gpu_tracer.cc#newcode94 gpu/command_buffer/service/gpu_tracer.cc:94: gpu_timer_.reset(new GPUTimer(gpu_timing_client)); It would be nicer to make GpuTimingClient ...
5 years, 10 months ago (2015-02-24 20:51:07 UTC) #5
David Yen
https://codereview.chromium.org/937263006/diff/1/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/937263006/diff/1/gpu/command_buffer/service/gpu_tracer.cc#newcode94 gpu/command_buffer/service/gpu_tracer.cc:94: gpu_timer_.reset(new GPUTimer(gpu_timing_client)); On 2015/02/24 20:51:07, vmiura wrote: > It ...
5 years, 10 months ago (2015-02-24 22:13:01 UTC) #6
vmiura
https://codereview.chromium.org/937263006/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/937263006/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode2479 gpu/command_buffer/service/gles2_cmd_decoder.cc:2479: gpu_state_tracer_ = GPUStateTracer::Create(&state_); nit: I think GPUStateTracer is not ...
5 years, 10 months ago (2015-02-24 23:57:59 UTC) #7
vmiura
https://codereview.chromium.org/937263006/diff/60001/ui/gl/gl_context.h File ui/gl/gl_context.h (right): https://codereview.chromium.org/937263006/diff/60001/ui/gl/gl_context.h#newcode100 ui/gl/gl_context.h:100: gpu::GPUTiming* GetGPUTiming(); On 2015/02/24 23:57:59, vmiura wrote: > Do ...
5 years, 10 months ago (2015-02-25 00:10:38 UTC) #8
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h File ui/gl/gpu_timing.h (right): https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h#newcode71 ui/gl/gpu_timing.h:71: class GL_EXPORT GPUTimingClient I thought the design was going ...
5 years, 10 months ago (2015-02-25 00:55:17 UTC) #9
piman
Some nits https://codereview.chromium.org/937263006/diff/60001/ui/gl/gl_context.cc File ui/gl/gl_context.cc (right): https://codereview.chromium.org/937263006/diff/60001/ui/gl/gl_context.cc#newcode118 ui/gl/gl_context.cc:118: gpu_timing_ = make_scoped_ptr(new gpu::GPUTiming(this)); nit, shorter: gpu_timing_.reset(new ...
5 years, 10 months ago (2015-02-25 01:00:53 UTC) #10
David Yen
https://codereview.chromium.org/937263006/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/937263006/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode2479 gpu/command_buffer/service/gles2_cmd_decoder.cc:2479: gpu_state_tracer_ = GPUStateTracer::Create(&state_); On 2015/02/24 23:57:58, vmiura wrote: > ...
5 years, 10 months ago (2015-02-25 01:47:36 UTC) #11
Daniele Castagna
It'd be nice to have a few tests for the timers now that they live ...
5 years, 10 months ago (2015-02-25 17:42:02 UTC) #13
David Yen
https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h File ui/gl/gpu_timing.h (right): https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h#newcode20 ui/gl/gpu_timing.h:20: class GL_EXPORT GPUTiming { On 2015/02/25 17:42:02, Daniele Castagna ...
5 years, 10 months ago (2015-02-25 17:48:53 UTC) #15
piman
On Wed, Feb 25, 2015 at 9:48 AM, <dyen@chromium.org> wrote: > > https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h > File ...
5 years, 10 months ago (2015-02-25 19:19:10 UTC) #16
Daniele Castagna
https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h File ui/gl/gpu_timing.h (right): https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h#newcode20 ui/gl/gpu_timing.h:20: class GL_EXPORT GPUTiming { On 2015/02/25 at 17:48:53, David ...
5 years, 10 months ago (2015-02-25 19:46:24 UTC) #17
David Yen
https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h File ui/gl/gpu_timing.h (right): https://codereview.chromium.org/937263006/diff/60001/ui/gl/gpu_timing.h#newcode20 ui/gl/gpu_timing.h:20: class GL_EXPORT GPUTiming { On 2015/02/25 19:46:24, Daniele Castagna ...
5 years, 10 months ago (2015-02-25 23:02:31 UTC) #18
piman
LGTM when others are happy.
5 years, 10 months ago (2015-02-25 23:19:11 UTC) #19
vmiura
LGTM
5 years, 10 months ago (2015-02-26 00:16:21 UTC) #20
Daniele Castagna
LGTM.
5 years, 10 months ago (2015-02-26 01:35:39 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/937263006/140001
5 years, 10 months ago (2015-02-26 01:36:56 UTC) #23
commit-bot: I haz the power
Committed patchset #8 (id:140001)
5 years, 10 months ago (2015-02-26 01:54:16 UTC) #24
commit-bot: I haz the power
5 years, 10 months ago (2015-02-26 01:55:23 UTC) #25
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/5b1c02ff50ebb8af95b50b4ea1658eef2bb89546
Cr-Commit-Position: refs/heads/master@{#318174}

Powered by Google App Engine
This is Rietveld 408576698