• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1syntax = "proto2";
2option optimize_for = LITE_RUNTIME;
3package android.surfaceflinger;
4
5message Trace {
6    repeated Increment increment = 1;
7}
8
9message Increment {
10    required int64 time_stamp = 1;
11
12    oneof increment {
13        Transaction        transaction          = 2;
14        SurfaceCreation    surface_creation     = 3;
15        SurfaceDeletion    surface_deletion     = 4;
16        BufferUpdate       buffer_update        = 5;
17        VSyncEvent         vsync_event          = 6;
18        DisplayCreation    display_creation     = 7;
19        DisplayDeletion    display_deletion     = 8;
20        PowerModeUpdate    power_mode_update    = 9;
21    }
22}
23
24message Transaction {
25    repeated SurfaceChange surface_change = 1;
26    repeated DisplayChange display_change = 2;
27
28    required bool   synchronous      = 3;
29    required bool   animation        = 4;
30    optional Origin origin           = 5;
31    optional uint64 id               = 6;
32}
33
34message SurfaceChange {
35    required int32 id = 1;
36    reserved 7;
37    oneof SurfaceChange {
38        PositionChange              position                = 2;
39        SizeChange                  size                    = 3;
40        AlphaChange                 alpha                   = 4;
41        LayerChange                 layer                   = 5;
42        CropChange                  crop                    = 6;
43        MatrixChange                matrix                  = 8;
44        TransparentRegionHintChange transparent_region_hint = 10;
45        LayerStackChange            layer_stack             = 11;
46        HiddenFlagChange            hidden_flag             = 12;
47        OpaqueFlagChange            opaque_flag             = 13;
48        SecureFlagChange            secure_flag             = 14;
49        CornerRadiusChange          corner_radius           = 16;
50        ReparentChange              reparent                = 17;
51        RelativeParentChange        relative_parent         = 18;
52        BackgroundBlurRadiusChange  background_blur_radius  = 20;
53        ShadowRadiusChange          shadow_radius           = 21;
54        BlurRegionsChange           blur_regions            = 22;
55        TrustedOverlayChange        trusted_overlay         = 23;
56    }
57}
58
59message PositionChange {
60    required float x = 1;
61    required float y = 2;
62}
63
64message SizeChange {
65    required uint32 w = 1;
66    required uint32 h = 2;
67}
68
69message AlphaChange {
70    required float alpha = 1;
71}
72
73message CornerRadiusChange {
74    required float corner_radius = 1;
75}
76
77message BackgroundBlurRadiusChange {
78    required float background_blur_radius = 1;
79}
80
81message LayerChange {
82    required uint32 layer = 1;
83}
84
85message CropChange {
86    required Rectangle rectangle = 1;
87}
88
89message MatrixChange {
90    required float dsdx = 1;
91    required float dtdx = 2;
92    required float dsdy = 3;
93    required float dtdy = 4;
94}
95
96message TransparentRegionHintChange {
97    repeated Rectangle region = 1;
98}
99
100message LayerStackChange {
101    required uint32 layer_stack = 1;
102}
103
104message HiddenFlagChange {
105    required bool hidden_flag = 1;
106}
107
108message OpaqueFlagChange {
109    required bool opaque_flag = 1;
110}
111
112message SecureFlagChange {
113    required bool secure_flag = 1;
114}
115
116message DisplayChange {
117    required int32 id = 1;
118
119    oneof DisplayChange {
120        DispSurfaceChange surface     = 2;
121        LayerStackChange  layer_stack = 3;
122        SizeChange        size        = 4;
123        ProjectionChange  projection  = 5;
124    }
125}
126
127message DispSurfaceChange {
128    required uint64 buffer_queue_id   = 1;
129    required string buffer_queue_name = 2;
130}
131
132message ProjectionChange {
133    required int32     orientation = 1;
134    required Rectangle viewport    = 2;
135    required Rectangle frame       = 3;
136}
137
138message Rectangle {
139    required int32 left   = 1;
140    required int32 top    = 2;
141    required int32 right  = 3;
142    required int32 bottom = 4;
143}
144
145message SurfaceCreation {
146    required int32  id   = 1;
147    required string name = 2;
148    required uint32 w    = 3;
149    required uint32 h    = 4;
150}
151
152message SurfaceDeletion {
153    required int32 id = 1;
154}
155
156message BufferUpdate {
157    required int32  id           = 1;
158    required uint32 w            = 2;
159    required uint32 h            = 3;
160    required uint64 frame_number = 4;
161}
162
163message VSyncEvent {
164    required int64 when = 1;
165}
166
167message DisplayCreation {
168    required int32     id                = 1;
169    required string    name              = 2;
170    optional uint64    display_id        = 3;
171    required bool      is_secure         = 4;
172}
173
174message DisplayDeletion {
175    required int32 id = 1;
176}
177
178message PowerModeUpdate {
179    required int32  id   = 1;
180    required int32  mode = 2;
181}
182
183message ReparentChange {
184    required int32 parent_id = 1;
185}
186
187message RelativeParentChange {
188    required int32 relative_parent_id = 1;
189    required int32 z = 2;
190}
191
192message ShadowRadiusChange {
193    required float radius = 1;
194}
195
196message TrustedOverlayChange {
197    required float is_trusted_overlay = 1;
198}
199
200message BlurRegionsChange {
201    repeated BlurRegionChange blur_regions = 1;
202}
203
204message BlurRegionChange {
205    required uint32 blur_radius = 1;
206    required float corner_radius_tl = 2;
207    required float corner_radius_tr = 3;
208    required float corner_radius_bl = 4;
209    required float corner_radius_br = 5;
210    required float alpha = 6;
211    required int32 left = 7;
212    required int32 top = 8;
213    required int32 right = 9;
214    required int32 bottom = 10;
215}
216
217message Origin {
218    required int32 pid = 1;
219    required int32 uid = 2;
220}