Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 | |
|
apatrick_chromium
2011/10/13 18:14:13
This could just be:
#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()) \ | |
|
apatrick_chromium
2011/10/13 18:14:13
Chromium code style would be:
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_ |
| OLD | NEW |