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

Issue 11416117: Hookup the GPUTrace events. (Closed)

Created:
8 years, 1 month ago by dsinclair
Modified:
7 years, 10 months ago
CC:
chromium-reviews, apatrick_chromium
Visibility:
Public.

Description

Hookup the GPUTrace events. Add a factory to GPUTrace to produce either a GL_ARB_timer_query GPUTrace object or a SystemTime GPUTrace object. Hookup GPUTraceController to GLES2DecoderImpl to process any received traces. BUG=111509 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=183648

Patch Set 1 #

Patch Set 2 : Cleanup interface based on feedback. #

Patch Set 3 : #

Patch Set 4 : Don't allow nesting of begin/end traces. #

Patch Set 5 : #

Total comments: 14

Patch Set 6 : #

Patch Set 7 : Store CPU time per trace to correct for timer drift. #

Patch Set 8 : #

Patch Set 9 : #

Total comments: 2

Patch Set 10 : #

Patch Set 11 : #

Total comments: 28

Patch Set 12 : #

Total comments: 32

Patch Set 13 : #

Patch Set 14 : Re-calculate drift. #

Total comments: 10

Patch Set 15 : #

Total comments: 6

Patch Set 16 : #

Patch Set 17 : Issue tracing call. #

Patch Set 18 : Process traces from a delayed task instead of on SwapBuffer. #

Patch Set 19 : Skip processing of no-op traces. #

Total comments: 24

Patch Set 20 : Cleanup thread changes based on review feedback. #

Patch Set 21 : Fixup TraceEnd test #

Total comments: 12

Patch Set 22 : Rebased #

Patch Set 23 : #

Patch Set 24 : #

Total comments: 4

Patch Set 25 : Correct method name. #

Total comments: 4

Patch Set 26 : Rename kOutputterThread to g_outputter_thread. #

Patch Set 27 : Add todo for timer wrap. #

Patch Set 28 : Updates based on other patch changes. #

Patch Set 29 : #

Patch Set 30 : Update the autogen'd files. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+427 lines, -99 lines) Patch
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +20 lines, -1 line 0 comments Download
M gpu/command_buffer/client/gles2_implementation_impl_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +0 lines, -7 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +0 lines, -11 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +0 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 4 chunks +13 lines, -12 lines 0 comments Download
M gpu/command_buffer/service/gpu_trace.h View 1 1 chunk +0 lines, -35 lines 0 comments Download
M gpu/command_buffer/service/gpu_trace.cc View 1 1 chunk +0 lines, -30 lines 0 comments Download
A gpu/command_buffer/service/gpu_tracer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +42 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/gpu_tracer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +345 lines, -0 lines 0 comments Download
M gpu/command_buffer_service.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
dsinclair
8 years, 1 month ago (2012-11-20 19:35:18 UTC) #1
jonathan.backer
https://codereview.chromium.org/11416117/diff/2006/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11416117/diff/2006/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9364 gpu/command_buffer/service/gles2_cmd_decoder.cc:9364: return error::kNoError; Do we return an error here? https://codereview.chromium.org/11416117/diff/2006/gpu/command_buffer/service/gpu_tracer.cc ...
8 years, 1 month ago (2012-11-23 18:55:41 UTC) #2
dsinclair
PTAL https://codereview.chromium.org/11416117/diff/2006/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11416117/diff/2006/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9364 gpu/command_buffer/service/gles2_cmd_decoder.cc:9364: return error::kNoError; On 2012/11/23 18:55:41, jonathan.backer wrote: > ...
8 years, 1 month ago (2012-11-23 21:13:55 UTC) #3
dsinclair
PTAL
8 years ago (2012-11-30 16:54:18 UTC) #4
jonathan.backer
https://codereview.chromium.org/11416117/diff/5003/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/5003/gpu/command_buffer/service/gpu_tracer.cc#newcode212 gpu/command_buffer/service/gpu_tracer.cc:212: trace->end_time() + timer_offset_)); Can't we have the |trace| do ...
8 years ago (2012-11-30 17:59:04 UTC) #5
dsinclair
https://codereview.chromium.org/11416117/diff/5003/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/5003/gpu/command_buffer/service/gpu_tracer.cc#newcode212 gpu/command_buffer/service/gpu_tracer.cc:212: trace->end_time() + timer_offset_)); On 2012/11/30 17:59:04, jonathan.backer wrote: > ...
8 years ago (2012-11-30 19:45:15 UTC) #6
jonathan.backer
https://codereview.chromium.org/11416117/diff/15002/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/15002/gpu/command_buffer/service/gpu_tracer.cc#newcode35 gpu/command_buffer/service/gpu_tracer.cc:35: protected: private? https://codereview.chromium.org/11416117/diff/15002/gpu/command_buffer/service/gpu_tracer.cc#newcode50 gpu/command_buffer/service/gpu_tracer.cc:50: Outputter* Outputter::g_outputter_thread = NULL; nit: ...
8 years ago (2012-11-30 20:25:45 UTC) #7
dsinclair
PTAL. I've added the modifications to GLES2Implementation and GLES2DecoderImpl to output the passed name instead ...
8 years ago (2012-11-30 21:51:41 UTC) #8
jonathan.backer
Just nits. https://codereview.chromium.org/11416117/diff/4008/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/11416117/diff/4008/gpu/command_buffer/client/gles2_implementation.cc#newcode3616 gpu/command_buffer/client/gles2_implementation.cc:3616: current_trace_name_.reset(new std::string(name)); Can we do a client ...
8 years ago (2012-12-03 14:23:13 UTC) #9
dsinclair
PTAL. I've also updated to re-calculate the drift each second when tracing is enabled. https://codereview.chromium.org/11416117/diff/4008/gpu/command_buffer/client/gles2_implementation.cc ...
8 years ago (2012-12-03 16:47:41 UTC) #10
jonathan.backer
Just a few more nits. https://codereview.chromium.org/11416117/diff/10014/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/11416117/diff/10014/gpu/command_buffer/client/gles2_implementation.cc#newcode3612 gpu/command_buffer/client/gles2_implementation.cc:3612: if (current_trace_name_.get() != NULL) ...
8 years ago (2012-12-03 18:29:32 UTC) #11
dsinclair
https://codereview.chromium.org/11416117/diff/10014/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/11416117/diff/10014/gpu/command_buffer/client/gles2_implementation.cc#newcode3612 gpu/command_buffer/client/gles2_implementation.cc:3612: if (current_trace_name_.get() != NULL) { On 2012/12/03 18:29:32, jonathan.backer ...
8 years ago (2012-12-03 21:40:04 UTC) #12
dsinclair
@apatrick_chromium Can you please take a look for GPU OWNERS? Thanks, dan
8 years ago (2012-12-03 21:47:33 UTC) #13
apatrick
https://codereview.chromium.org/11416117/diff/10027/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11416117/diff/10027/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode6452 gpu/command_buffer/service/gles2_cmd_decoder.cc:6452: gpu_tracer_->Process(); How about contexts that we never call SwapBuffers ...
8 years ago (2012-12-03 22:05:41 UTC) #14
dsinclair
Al, thanks for pointing out the issue with WebGL. I'm going to go back and ...
8 years ago (2012-12-04 15:59:27 UTC) #15
jonathan.backer
https://codereview.chromium.org/11416117/diff/10027/gpu/command_buffer/service/gpu_tracer.h > File gpu/command_buffer/service/gpu_tracer.h (right): > > https://codereview.chromium.org/11416117/diff/10027/gpu/command_buffer/service/gpu_tracer.h#newcode23 > gpu/command_buffer/service/gpu_tracer.h:23: virtual ~GPUTracer() {} > On ...
8 years ago (2012-12-04 16:44:38 UTC) #16
dsinclair
On 2012/12/04 16:44:38, jonathan.backer wrote: > Have you been using the chromium clang plugins as ...
8 years ago (2012-12-04 19:25:22 UTC) #17
jonathan.backer
https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.cc#newcode26 gpu/command_buffer/service/gpu_tracer.cc:26: : public base::Thread, nit: just an idea. maybe you ...
8 years ago (2012-12-07 15:38:11 UTC) #18
dsinclair
PTAL. https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.cc#newcode26 gpu/command_buffer/service/gpu_tracer.cc:26: : public base::Thread, On 2012/12/07 15:38:11, jonathan.backer wrote: ...
8 years ago (2012-12-10 16:59:02 UTC) #19
jonathan.backer
https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.h File gpu/command_buffer/service/gpu_tracer.h (right): https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.h#newcode35 gpu/command_buffer/service/gpu_tracer.h:35: virtual std::string CurrentName() const = 0; On 2012/12/10 16:59:03, ...
8 years ago (2012-12-10 21:31:02 UTC) #20
dsinclair
https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/30001/gpu/command_buffer/service/gpu_tracer.cc#newcode222 gpu/command_buffer/service/gpu_tracer.cc:222: if (current_trace_.get()) On 2012/12/10 16:59:03, dsinclair wrote: > On ...
8 years ago (2012-12-14 16:06:22 UTC) #21
jonathan.backer
lgtm. You'll need owners. https://codereview.chromium.org/11416117/diff/52001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11416117/diff/52001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9656 gpu/command_buffer/service/gles2_cmd_decoder.cc:9656: return error::kNoError; Why return here ...
8 years ago (2012-12-14 20:48:28 UTC) #22
dsinclair
https://codereview.chromium.org/11416117/diff/52001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/11416117/diff/52001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9656 gpu/command_buffer/service/gles2_cmd_decoder.cc:9656: return error::kNoError; On 2012/12/14 20:48:29, jonathan.backer wrote: > Why ...
8 years ago (2012-12-14 21:26:04 UTC) #23
apatrick_chromium
https://codereview.chromium.org/11416117/diff/55001/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/55001/gpu/command_buffer/service/gpu_tracer.cc#newcode24 gpu/command_buffer/service/gpu_tracer.cc:24: static Outputter* kOutputterThread = NULL; nit: style for non-const ...
8 years ago (2012-12-14 23:28:54 UTC) #24
dsinclair
https://codereview.chromium.org/11416117/diff/55001/gpu/command_buffer/service/gpu_tracer.cc File gpu/command_buffer/service/gpu_tracer.cc (right): https://codereview.chromium.org/11416117/diff/55001/gpu/command_buffer/service/gpu_tracer.cc#newcode24 gpu/command_buffer/service/gpu_tracer.cc:24: static Outputter* kOutputterThread = NULL; On 2012/12/14 23:28:54, apatrick_chromium ...
8 years ago (2012-12-17 14:56:23 UTC) #25
apatrick_chromium
LGTM.
8 years ago (2012-12-17 20:03:46 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dsinclair@chromium.org/11416117/74004
7 years, 10 months ago (2013-02-20 19:55:01 UTC) #27
commit-bot: I haz the power
7 years, 10 months ago (2013-02-20 23:02:16 UTC) #28
Message was sent while issue was closed.
Change committed as 183648

Powered by Google App Engine
This is Rietveld 408576698