xref: /aosp_15_r20/external/skia/src/gpu/graphite/Log.h (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker /*
2*c8dee2aaSAndroid Build Coastguard Worker  * Copyright 2022 Google LLC
3*c8dee2aaSAndroid Build Coastguard Worker  *
4*c8dee2aaSAndroid Build Coastguard Worker  * Use of this source code is governed by a BSD-style license that can be
5*c8dee2aaSAndroid Build Coastguard Worker  * found in the LICENSE file.
6*c8dee2aaSAndroid Build Coastguard Worker  */
7*c8dee2aaSAndroid Build Coastguard Worker 
8*c8dee2aaSAndroid Build Coastguard Worker #ifndef skgpu_graphite_Log_DEFINED
9*c8dee2aaSAndroid Build Coastguard Worker #define skgpu_graphite_Log_DEFINED
10*c8dee2aaSAndroid Build Coastguard Worker 
11*c8dee2aaSAndroid Build Coastguard Worker #include "include/gpu/graphite/LogPriority.h"
12*c8dee2aaSAndroid Build Coastguard Worker 
13*c8dee2aaSAndroid Build Coastguard Worker // Ensure SkUserConfig.h is loaded, as clients may define SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY
14*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkTypes.h" // IWYU pragma: keep
15*c8dee2aaSAndroid Build Coastguard Worker 
16*c8dee2aaSAndroid Build Coastguard Worker #if !defined(SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY)
17*c8dee2aaSAndroid Build Coastguard Worker #ifdef SK_DEBUG
18*c8dee2aaSAndroid Build Coastguard Worker     #define SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY skgpu::graphite::LogPriority::kWarning
19*c8dee2aaSAndroid Build Coastguard Worker #else
20*c8dee2aaSAndroid Build Coastguard Worker     #define SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY skgpu::graphite::LogPriority::kError
21*c8dee2aaSAndroid Build Coastguard Worker #endif
22*c8dee2aaSAndroid Build Coastguard Worker #endif
23*c8dee2aaSAndroid Build Coastguard Worker 
24*c8dee2aaSAndroid Build Coastguard Worker #define SKGPU_LOG(priority, fmt, ...)                                           \
25*c8dee2aaSAndroid Build Coastguard Worker     do {                                                                        \
26*c8dee2aaSAndroid Build Coastguard Worker         if (priority <= SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY) {            \
27*c8dee2aaSAndroid Build Coastguard Worker             if (priority == skgpu::graphite::LogPriority::kFatal) {             \
28*c8dee2aaSAndroid Build Coastguard Worker                 SK_ABORT("[graphite] " fmt, ##__VA_ARGS__);                     \
29*c8dee2aaSAndroid Build Coastguard Worker             }                                                                   \
30*c8dee2aaSAndroid Build Coastguard Worker             else {                                                              \
31*c8dee2aaSAndroid Build Coastguard Worker                 SkDebugf("[graphite] " fmt "\n", ##__VA_ARGS__);                \
32*c8dee2aaSAndroid Build Coastguard Worker             }                                                                   \
33*c8dee2aaSAndroid Build Coastguard Worker         }                                                                       \
34*c8dee2aaSAndroid Build Coastguard Worker     } while (0)
35*c8dee2aaSAndroid Build Coastguard Worker 
36*c8dee2aaSAndroid Build Coastguard Worker #define SKGPU_LOG_F(fmt, ...) SKGPU_LOG(skgpu::graphite::LogPriority::kFatal, "** ERROR ** " fmt, \
37*c8dee2aaSAndroid Build Coastguard Worker                                         ##__VA_ARGS__)
38*c8dee2aaSAndroid Build Coastguard Worker #define SKGPU_LOG_E(fmt, ...) SKGPU_LOG(skgpu::graphite::LogPriority::kError, "** ERROR ** " fmt, \
39*c8dee2aaSAndroid Build Coastguard Worker                                         ##__VA_ARGS__)
40*c8dee2aaSAndroid Build Coastguard Worker #define SKGPU_LOG_W(fmt, ...) SKGPU_LOG(skgpu::graphite::LogPriority::kWarning, "WARNING - " fmt, \
41*c8dee2aaSAndroid Build Coastguard Worker                                         ##__VA_ARGS__)
42*c8dee2aaSAndroid Build Coastguard Worker #define SKGPU_LOG_D(fmt, ...) SKGPU_LOG(skgpu::graphite::LogPriority::kDebug, fmt, \
43*c8dee2aaSAndroid Build Coastguard Worker                                         ##__VA_ARGS__)
44*c8dee2aaSAndroid Build Coastguard Worker 
45*c8dee2aaSAndroid Build Coastguard Worker #endif // skgpu_graphite_Log_DEFINED
46