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

Side by Side Diff: gpu/command_buffer/common/logging.h

Issue 8271002: Make GPU_DCHECK* keep reference to passed variables (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: style fix Created 9 years, 2 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 | « no previous file | no next file » | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 GPU_COMMAND_BUFFER_COMMON_LOGGING_H_ 5 #ifndef GPU_COMMAND_BUFFER_COMMON_LOGGING_H_
6 #define GPU_COMMAND_BUFFER_COMMON_LOGGING_H_ 6 #define GPU_COMMAND_BUFFER_COMMON_LOGGING_H_
7 7
8 #include <assert.h> 8 #include <assert.h>
9 9
10 #include <ostream> 10 #include <ostream>
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 private: 149 private:
150 Logger(const Logger& logger) 150 Logger(const Logger& logger)
151 : condition_(logger.condition_), 151 : condition_(logger.condition_),
152 level_(logger.level_) { 152 level_(logger.level_) {
153 } 153 }
154 154
155 const bool condition_; 155 const bool condition_;
156 const LogLevel level_; 156 const LogLevel level_;
157 }; 157 };
158 158
159 // This is a logger that does not do anything for release builds.
160 class NoLogger {
161 public:
162 template <typename T>
163 NoLogger& operator<<(const T& value) {
164 return *this;
165 }
166 };
167
168 } // namespace gpu 159 } // namespace gpu
169 160
170 #define GPU_CHECK(X) ::gpu::Logger::CheckTrue( \ 161 #define GPU_CHECK(X) ::gpu::Logger::CheckTrue( \
171 (X), __FILE__, __LINE__, #X, "GPU_CHECK") 162 (X), __FILE__, __LINE__, #X, "GPU_CHECK")
172 #define GPU_CHECK_EQ(X, Y) ::gpu::Logger::CheckEqual( \ 163 #define GPU_CHECK_EQ(X, Y) ::gpu::Logger::CheckEqual( \
173 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_EQ") 164 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_EQ")
174 #define GPU_CHECK_NE(X, Y) ::gpu::Logger::CheckNotEqual( \ 165 #define GPU_CHECK_NE(X, Y) ::gpu::Logger::CheckNotEqual( \
175 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_NE") 166 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_NE")
176 #define GPU_CHECK_GT(X, Y) ::gpu::Logger::CheckGreaterThan( \ 167 #define GPU_CHECK_GT(X, Y) ::gpu::Logger::CheckGreaterThan( \
177 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_GT") 168 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_GT")
178 #define GPU_CHECK_LT(X, Y) ::gpu::Logger::CheckLessThan( \ 169 #define GPU_CHECK_LT(X, Y) ::gpu::Logger::CheckLessThan( \
179 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_LT") 170 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_LT")
180 #define GPU_CHECK_GE(X, Y) ::gpu::Logger::CheckGreaterEqual( \ 171 #define GPU_CHECK_GE(X, Y) ::gpu::Logger::CheckGreaterEqual( \
181 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_GE") 172 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_GE")
182 #define GPU_CHECK_LE(X, Y) ::gpu::Logger::CheckLessEqual( \ 173 #define GPU_CHECK_LE(X, Y) ::gpu::Logger::CheckLessEqual( \
183 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_LE") 174 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_CHECK_LE")
184 #define GPU_LOG(LEVEL) ::gpu::Logger(false, LEVEL) 175 #define GPU_LOG(LEVEL) ::gpu::Logger(false, LEVEL)
185 176
177
186 #if defined(NDEBUG) 178 #if defined(NDEBUG)
179 #define GPU_DEBUG_IS_ON false
180 #else
181 #define GPU_DEBUG_IS_ON true
182 #endif
187 183
188 #define GPU_DCHECK(X) ::gpu::NoLogger()
189 #define GPU_DCHECK_EQ(X, Y) ::gpu::NoLogger()
190 #define GPU_DCHECK_NE(X, Y) ::gpu::NoLogger()
191 #define GPU_DCHECK_GT(X, Y) ::gpu::NoLogger()
192 #define GPU_DCHECK_LT(X, Y) ::gpu::NoLogger()
193 #define GPU_DCHECK_GE(X, Y) ::gpu::NoLogger()
194 #define GPU_DCHECK_LE(X, Y) ::gpu::NoLogger()
195 #define GPU_DLOG(LEVEL) ::gpu::NoLogger()
196 184
197 #else // NDEBUG 185 #define GPU_DCHECK(X) \
186 if (GPU_DEBUG_IS_ON) \
187 ::gpu::Logger::CheckTrue( \
188 (X), __FILE__, __LINE__, #X, "GPU_DCHECK")
189 #define GPU_DCHECK_EQ(X, Y) \
190 if (GPU_DEBUG_IS_ON) \
191 ::gpu::Logger::CheckEqual( \
192 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_EQ")
193 #define GPU_DCHECK_NE(X, Y) \
194 if (GPU_DEBUG_IS_ON) \
195 ::gpu::Logger::CheckNotEqual( \
196 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_NE")
197 #define GPU_DCHECK_GT(X, Y) \
198 if (GPU_DEBUG_IS_ON) \
199 ::gpu::Logger::CheckGreaterThan( \
200 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_GT")
201 #define GPU_DCHECK_LT(X, Y) \
202 if (GPU_DEBUG_IS_ON) \
203 ::gpu::Logger::CheckLessThan( \
204 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_LT")
205 #define GPU_DCHECK_GE(X, Y) \
206 if (GPU_DEBUG_IS_ON) \
207 ::gpu::Logger::CheckGreaterEqual( \
208 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_GE")
209 #define GPU_DCHECK_LE(X, Y) \
210 if (GPU_DEBUG_IS_ON) \
211 ::gpu::Logger::CheckLessEqual( \
212 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_LE")
213 #define GPU_DLOG(LEVEL) if (GPU_DEBUG_IS_ON) ::gpu::Logger(true, LEVEL)
198 214
199 #define GPU_DCHECK(X) ::gpu::Logger::CheckTrue( \
200 (X), __FILE__, __LINE__, #X, "GPU_DCHECK")
201 #define GPU_DCHECK_EQ(X, Y) ::gpu::Logger::CheckEqual( \
202 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_EQ")
203 #define GPU_DCHECK_NE(X, Y) ::gpu::Logger::CheckNotEqual( \
204 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_NE")
205 #define GPU_DCHECK_GT(X, Y) ::gpu::Logger::CheckGreaterThan( \
206 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_GT")
207 #define GPU_DCHECK_LT(X, Y) ::gpu::Logger::CheckLessThan( \
208 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_LT")
209 #define GPU_DCHECK_GE(X, Y) ::gpu::Logger::CheckGreaterEqual( \
210 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_GE")
211 #define GPU_DCHECK_LE(X, Y) ::gpu::Logger::CheckLessEqual( \
212 (X), (Y), __FILE__, __LINE__, #X, #Y, "GPU_DCHECK_LE")
213 #define GPU_DLOG(LEVEL) ::gpu::Logger(true, LEVEL)
214 215
215 #endif // NDEBUG
216 216
217 #define GPU_NOTREACHED() GPU_DCHECK(false) 217 #define GPU_NOTREACHED() GPU_DCHECK(false)
218 218
219 #endif // GPU_COMMAND_BUFFER_COMMON_LOGGING_H_ 219 #endif // GPU_COMMAND_BUFFER_COMMON_LOGGING_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698