| /* | |
| * Copyright 2022 Google LLC | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef skgpu_graphite_Log_DEFINED | |
| #define skgpu_graphite_Log_DEFINED | |
| namespace skgpu::graphite { | |
| enum class Priority : int { | |
| kFatal = 0, | |
| kError = 1, | |
| kWarning = 2, | |
| kDebug = 3, | |
| }; | |
| }; // namespace skgpu::graphite | |
| #if !defined(SKGPU_LOWEST_ACTIVE_PRIORITY) | |
| #ifdef SK_DEBUG | |
| #define SKGPU_LOWEST_ACTIVE_PRIORITY skgpu::graphite::Priority::kWarning | |
| #else | |
| #define SKGPU_LOWEST_ACTIVE_PRIORITY skgpu::graphite::Priority::kError | |
| #endif | |
| #endif | |
| #define SKGPU_LOG(priority, fmt, ...) \ | |
| do { \ | |
| if (priority <= SKGPU_LOWEST_ACTIVE_PRIORITY) { \ | |
| SkDebugf("[graphite] " fmt "\n", ##__VA_ARGS__); \ | |
| if (priority == skgpu::graphite::Priority::kFatal) { \ | |
| SK_ABORT("Fatal log call"); \ | |
| } \ | |
| } \ | |
| } while (0) | |
| #define SKGPU_LOG_F(fmt, ...) SKGPU_LOG(skgpu::graphite::Priority::kFatal, "** ERROR ** " fmt, \ | |
| ##__VA_ARGS__) | |
| #define SKGPU_LOG_E(fmt, ...) SKGPU_LOG(skgpu::graphite::Priority::kError, "** ERROR ** " fmt, \ | |
| ##__VA_ARGS__) | |
| #define SKGPU_LOG_W(fmt, ...) SKGPU_LOG(skgpu::graphite::Priority::kWarning, "WARNING - " fmt, \ | |
| ##__VA_ARGS__) | |
| #define SKGPU_LOG_D(fmt, ...) SKGPU_LOG(skgpu::graphite::Priority::kDebug, fmt, \ | |
| ##__VA_ARGS__) | |
| #endif // skgpu_graphite_Log_DEFINED |