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

Issue 940633004: Added disjoint context class which manages disjoints within gpu timing. (Closed)

Created:
5 years, 10 months ago by David Yen
Modified:
5 years, 10 months ago
CC:
chromium-reviews, Ken Russell (switch to Gerrit), 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

Added disjoint context class which manages disjoints within gpu timing. In preperation of supporting tracing within WebGL, it is necessary to support multiple disjoint states within a single GL context. This way, the disjoint state will be separate from the traces we do internally and the disjoint state to a WebGL user. R=vmiura@chromium.org BUG=451211

Patch Set 1 #

Patch Set 2 : Removed reference to check and reset timer errors #

Patch Set 3 : Initialize disjoint value to proper value #

Total comments: 25

Patch Set 4 : Modified GPUTiming so it can be initialized multiple times, fixed some expectations #

Patch Set 5 : Applied comments from dcastagna #

Patch Set 6 : Added gpu_timing lifetime unit test, modified remove disjoint context function #

Patch Set 7 : Added specific reason why DisjointContext needs to outlive parent #

Patch Set 8 : Simplified DisjointContext to simply be an ID instead of an object #

Total comments: 4

Patch Set 9 : Added releases and DCHECK in gpu_timing #

Total comments: 11
Unified diffs Side-by-side diffs Delta from patch set Stats (+172 lines, -79 lines) Patch
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 3 chunks +4 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gpu_timing.h View 1 2 3 4 5 6 7 8 3 chunks +23 lines, -6 lines 3 comments Download
M gpu/command_buffer/service/gpu_timing.cc View 1 2 3 4 5 6 7 8 3 chunks +77 lines, -33 lines 6 comments Download
M gpu/command_buffer/service/gpu_tracer.h View 1 2 3 4 5 6 7 3 chunks +4 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/gpu_tracer.cc View 1 2 3 4 5 6 7 8 6 chunks +14 lines, -11 lines 1 comment Download
M gpu/command_buffer/service/gpu_tracer_unittest.cc View 1 2 3 4 5 6 7 12 chunks +48 lines, -23 lines 0 comments Download
M gpu/perftests/texture_upload_perftest.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 1 comment Download

Messages

Total messages: 21 (5 generated)
David Yen
5 years, 10 months ago (2015-02-19 00:42:47 UTC) #1
Daniele Castagna
https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode66 gpu/command_buffer/service/gpu_timing.cc:66: : gpu_timing_(gpu_timing), Can gpu_timing be null? I'd add a ...
5 years, 10 months ago (2015-02-19 18:15:32 UTC) #3
David Yen
Thanks for the quick review! https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode66 gpu/command_buffer/service/gpu_timing.cc:66: : gpu_timing_(gpu_timing), On 2015/02/19 ...
5 years, 10 months ago (2015-02-19 19:00:48 UTC) #4
Daniele Castagna
https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode98 gpu/command_buffer/service/gpu_timing.cc:98: for (DisjointContext* context_iter : disjoint_contexts_) { On 2015/02/19 at ...
5 years, 10 months ago (2015-02-19 20:55:53 UTC) #5
David Yen
https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode98 gpu/command_buffer/service/gpu_timing.cc:98: for (DisjointContext* context_iter : disjoint_contexts_) { On 2015/02/19 20:55:52, ...
5 years, 10 months ago (2015-02-19 22:48:03 UTC) #6
Daniele Castagna
LGTM https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode71 gpu/command_buffer/service/gpu_timing.cc:71: if (gpu_timing_) { Should we make sure that ...
5 years, 10 months ago (2015-02-20 01:38:19 UTC) #7
David Yen
https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode98 gpu/command_buffer/service/gpu_timing.cc:98: for (DisjointContext* context_iter : disjoint_contexts_) { On 2015/02/20 01:38:18, ...
5 years, 10 months ago (2015-02-20 02:02:57 UTC) #8
David Yen
On 2015/02/20 02:02:57, David Yen wrote: > https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc > File gpu/command_buffer/service/gpu_timing.cc (right): > > https://codereview.chromium.org/940633004/diff/40001/gpu/command_buffer/service/gpu_timing.cc#newcode98 ...
5 years, 10 months ago (2015-02-20 03:02:20 UTC) #10
Daniele Castagna
On 2015/02/20 at 03:02:20, dyen wrote: > On 2015/02/20 02:02:57, David Yen wrote: > > ...
5 years, 10 months ago (2015-02-23 20:05:54 UTC) #11
David Yen
On 2015/02/23 20:05:54, dcastagna wrote: > On 2015/02/20 at 03:02:20, dyen wrote: > > On ...
5 years, 10 months ago (2015-02-23 20:16:11 UTC) #12
David Yen
+piman for review of gpu/perftests/texture_upload_perftest.cc
5 years, 10 months ago (2015-02-23 21:43:22 UTC) #14
Daniele Castagna
https://codereview.chromium.org/940633004/diff/140001/gpu/command_buffer/service/gpu_timing.cc File gpu/command_buffer/service/gpu_timing.cc (right): https://codereview.chromium.org/940633004/diff/140001/gpu/command_buffer/service/gpu_timing.cc#newcode117 gpu/command_buffer/service/gpu_timing.cc:117: disjoint_contexts_[disjoint_context_id].valid_ = false; Why do you want to reuse ...
5 years, 10 months ago (2015-02-23 22:21:19 UTC) #16
Daniele Castagna
On 2015/02/23 at 22:21:19, dcastagna wrote: > https://codereview.chromium.org/940633004/diff/140001/gpu/command_buffer/service/gpu_timing.cc > File gpu/command_buffer/service/gpu_timing.cc (right): > > https://codereview.chromium.org/940633004/diff/140001/gpu/command_buffer/service/gpu_timing.cc#newcode117 ...
5 years, 10 months ago (2015-02-23 22:23:02 UTC) #17
piman
this review says "closed", do you need me to review it?
5 years, 10 months ago (2015-02-24 02:00:45 UTC) #19
vmiura
On 2015/02/24 02:00:45, piman (Very slow to review) wrote: > this review says "closed", do ...
5 years, 10 months ago (2015-02-24 02:17:42 UTC) #20
piman
5 years, 10 months ago (2015-02-24 02:51:55 UTC) #21
Message was sent while issue was closed.
On Mon, Feb 23, 2015 at 6:17 PM, <vmiura@chromium.org> wrote:

> On 2015/02/24 02:00:45, piman (Very slow to review) wrote:
>
>> this review says "closed", do you need me to review it?
>>
>
> We had a discussion about handling virtual contexts, something we really
> overlooked here.  The disjoint status needs to be virtualized, not only for
> GpuTracing, but also for multiple GLContextVirtual instances hosted on a
> real
> GLContext.
>
> I think David is refactoring things so it'll look like:
>   GLContext -> one GpuTiming instance -> multiple GpuTimingClients.
>

Ok, I'll wait for another CL or a ping on this one then.

>
>
> https://codereview.chromium.org/940633004/
>

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698