Chromium Code Reviews| Index: gpu/command_buffer/service/gpu_tracer.h |
| diff --git a/gpu/command_buffer/service/gpu_tracer.h b/gpu/command_buffer/service/gpu_tracer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5aeab176ed6fef00217ee1b577770a253f0c1495 |
| --- /dev/null |
| +++ b/gpu/command_buffer/service/gpu_tracer.h |
| @@ -0,0 +1,57 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// This file contains the GPUTrace class. |
| +#ifndef GPU_COMMAND_BUFFER_SERVICE_GPU_TRACER_H_ |
| +#define GPU_COMMAND_BUFFER_SERVICE_GPU_TRACER_H_ |
| + |
| +#include <deque> |
| +#include <stack> |
| +#include <string> |
| + |
| +#include "base/basictypes.h" |
| +#include "base/memory/linked_ptr.h" |
| +#include "base/memory/scoped_ptr.h" |
| + |
| +namespace gpu { |
| +namespace gles2 { |
| + |
| +// Traces GPU Commands. |
| +class GPUTracer { |
| + public: |
| + class Outputter; |
| + class Trace; |
| + |
| + static scoped_ptr<GPUTracer> create(); |
|
jonathan.backer
2012/11/23 18:55:41
nit: Create()
I think that we only use C style fo
dsinclair
2012/11/23 21:13:56
Done.
|
| + |
| + virtual ~GPUTracer(); |
| + |
| + // Begin a trace. |
| + bool Begin(const std::string& name); |
|
jonathan.backer
2012/11/23 18:55:41
This is good. But eventually you'll want an interf
dsinclair
2012/11/23 21:13:56
Done.
|
| + |
| + // End the last started trace. |
| + bool End(); |
| + |
| + // Process any completed traces. |
| + void Process(); |
| + |
| + protected: |
| + GPUTracer(); |
| + |
| + // Create a new trace. |
| + virtual linked_ptr<GPUTracer::Trace> CreateTrace(const std::string& name) = 0; |
| + |
| + linked_ptr<GPUTracer::Outputter> output_; |
| + |
| + private: |
| + linked_ptr<Trace> current_trace_; |
| + std::deque<linked_ptr<Trace> > traces_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(GPUTracer); |
| +}; |
| + |
| +} // namespace gles2 |
| +} // namespace gpu |
| + |
| +#endif // GPU_COMMAND_BUFFER_SERVICE_GPU_TRACER_H_ |