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

Side by Side Diff: ui/gl/gpu_timing.h

Issue 1545113002: Switch to standard integer types in ui/gl/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/gl/gpu_switching_manager.cc ('k') | ui/gl/gpu_timing.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_GL_GPU_TIMING_H_ 5 #ifndef UI_GL_GPU_TIMING_H_
6 #define UI_GL_GPU_TIMING_H_ 6 #define UI_GL_GPU_TIMING_H_
7 7
8 #include <stdint.h>
9
8 #include <memory> 10 #include <memory>
9 #include <queue> 11 #include <queue>
10 12
11 #include "base/callback.h" 13 #include "base/callback.h"
14 #include "base/macros.h"
12 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
13 #include "ui/gl/gl_export.h" 16 #include "ui/gl/gl_export.h"
14 17
15 // The gpu_timing classes handles the abstraction of GL GPU Timing extensions 18 // The gpu_timing classes handles the abstraction of GL GPU Timing extensions
16 // into a common set of functions. Currently the different timer extensions that 19 // into a common set of functions. Currently the different timer extensions that
17 // are supported are EXT_timer_query, ARB_timer_query and 20 // are supported are EXT_timer_query, ARB_timer_query and
18 // EXT_disjoint_timer_query. 21 // EXT_disjoint_timer_query.
19 // 22 //
20 // Explanation of Classes: 23 // Explanation of Classes:
21 // GPUTiming - GPU Timing is a private class which is only owned by the 24 // GPUTiming - GPU Timing is a private class which is only owned by the
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 92
90 // Start an instant timer, start and end will be equal. 93 // Start an instant timer, start and end will be equal.
91 void QueryTimeStamp(); 94 void QueryTimeStamp();
92 95
93 // Start a timer range. 96 // Start a timer range.
94 void Start(); 97 void Start();
95 void End(); 98 void End();
96 99
97 bool IsAvailable(); 100 bool IsAvailable();
98 101
99 void GetStartEndTimestamps(int64* start, int64* end); 102 void GetStartEndTimestamps(int64_t* start, int64_t* end);
100 int64 GetDeltaElapsed(); 103 int64_t GetDeltaElapsed();
101 104
102 private: 105 private:
103 friend class GPUTimingClient; 106 friend class GPUTimingClient;
104 107
105 explicit GPUTimer(scoped_refptr<GPUTimingClient> gpu_timing_client, 108 explicit GPUTimer(scoped_refptr<GPUTimingClient> gpu_timing_client,
106 bool use_elapsed_timer); 109 bool use_elapsed_timer);
107 110
108 bool use_elapsed_timer_ = false; 111 bool use_elapsed_timer_ = false;
109 enum TimerState { 112 enum TimerState {
110 kTimerState_Ready, 113 kTimerState_Ready,
(...skipping 20 matching lines...) Expand all
131 134
132 const char* GetTimerTypeName() const; 135 const char* GetTimerTypeName() const;
133 136
134 // CheckAndResetTimerErrors has to be called before reading timestamps 137 // CheckAndResetTimerErrors has to be called before reading timestamps
135 // from GPUTimers instances and after making sure all the timers 138 // from GPUTimers instances and after making sure all the timers
136 // were available. 139 // were available.
137 // If the returned value is false, all the previous timers should be 140 // If the returned value is false, all the previous timers should be
138 // discarded. 141 // discarded.
139 bool CheckAndResetTimerErrors(); 142 bool CheckAndResetTimerErrors();
140 143
141 int64 GetCurrentCPUTime(); 144 int64_t GetCurrentCPUTime();
142 void SetCpuTimeForTesting(const base::Callback<int64(void)>& cpu_time); 145 void SetCpuTimeForTesting(const base::Callback<int64_t(void)>& cpu_time);
143 146
144 bool IsForceTimeElapsedQuery(); 147 bool IsForceTimeElapsedQuery();
145 void ForceTimeElapsedQuery(); 148 void ForceTimeElapsedQuery();
146 149
147 private: 150 private:
148 friend class base::RefCounted<GPUTimingClient>; 151 friend class base::RefCounted<GPUTimingClient>;
149 friend class GPUTimer; 152 friend class GPUTimer;
150 153
151 virtual ~GPUTimingClient(); 154 virtual ~GPUTimingClient();
152 155
153 GPUTimingImpl* gpu_timing_; 156 GPUTimingImpl* gpu_timing_;
154 GPUTiming::TimerType timer_type_ = GPUTiming::kTimerTypeInvalid; 157 GPUTiming::TimerType timer_type_ = GPUTiming::kTimerTypeInvalid;
155 uint32_t disjoint_counter_ = 0; 158 uint32_t disjoint_counter_ = 0;
156 159
157 DISALLOW_COPY_AND_ASSIGN(GPUTimingClient); 160 DISALLOW_COPY_AND_ASSIGN(GPUTimingClient);
158 }; 161 };
159 162
160 } // namespace gfx 163 } // namespace gfx
161 164
162 #endif // UI_GL_GPU_TIMING_H_ 165 #endif // UI_GL_GPU_TIMING_H_
OLDNEW
« no previous file with comments | « ui/gl/gpu_switching_manager.cc ('k') | ui/gl/gpu_timing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698