1/*
2 * Copyright (C) 2010 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef ANDROID_HWUI_DEBUG_H
18#define ANDROID_HWUI_DEBUG_H
19
20// Turn on to check for OpenGL errors on each frame
21#define DEBUG_OPENGL 1
22
23// Turn on to display informations about the GPU
24#define DEBUG_EXTENSIONS 0
25
26// Turn on to enable initialization information
27#define DEBUG_INIT 0
28
29// Turn on to enable memory usage summary on each frame
30#define DEBUG_MEMORY_USAGE 0
31
32// Turn on to enable debugging of cache flushes
33#define DEBUG_CACHE_FLUSH 0
34
35// Turn on to enable layers debugging when rendered as regions
36#define DEBUG_LAYERS_AS_REGIONS 0
37
38// Turn on to enable debugging when the clip is not a rect
39#define DEBUG_CLIP_REGIONS 0
40
41// Turn on to display debug info about vertex/fragment shaders
42#define DEBUG_PROGRAMS 0
43
44// Turn on to display info about layers
45#define DEBUG_LAYERS 0
46
47// Turn on to display info about render buffers
48#define DEBUG_RENDER_BUFFERS 0
49
50// Turn on to make stencil operations easier to debug
51// (writes 255 instead of 1 in the buffer, forces 8 bit stencil)
52#define DEBUG_STENCIL 0
53
54// Turn on to display debug info about 9patch objects
55#define DEBUG_PATCHES 0
56// Turn on to display vertex and tex coords data about 9patch objects
57// This flag requires DEBUG_PATCHES to be turned on
58#define DEBUG_PATCHES_VERTICES 0
59// Turn on to display vertex and tex coords data used by empty quads
60// in 9patch objects
61// This flag requires DEBUG_PATCHES to be turned on
62#define DEBUG_PATCHES_EMPTY_VERTICES 0
63
64// Turn on to display debug info about shapes
65#define DEBUG_PATHS 0
66
67// Turn on to display debug info about textures
68#define DEBUG_TEXTURES 0
69
70// Turn on to display debug info about the layer renderer
71#define DEBUG_LAYER_RENDERER 0
72
73// Turn on to enable additional debugging in the font renderers
74#define DEBUG_FONT_RENDERER 0
75
76// Turn on to log draw operation batching and deferral information
77#define DEBUG_DEFER 0
78
79// Turn on to dump display list state
80#define DEBUG_DISPLAY_LIST 0
81
82// Turn on to insert an event marker for each display list op
83#define DEBUG_DISPLAY_LIST_OPS_AS_EVENTS 0
84
85// Turn on to insert detailed event markers
86#define DEBUG_DETAILED_EVENTS 0
87
88// Turn on to highlight drawing batches and merged batches with different colors
89#define DEBUG_MERGE_BEHAVIOR 0
90
91// Turn on to enable debugging shadow
92#define DEBUG_SHADOW 0
93
94#if DEBUG_INIT
95    #define INIT_LOGD(...) ALOGD(__VA_ARGS__)
96#else
97    #define INIT_LOGD(...)
98#endif
99
100#endif // ANDROID_HWUI_DEBUG_H
101