blob: 3ada05c73c75415f6c7162596ab0807d942eeaf3 [file] [log] [blame]
Sahil Dhanjua05cafa2016-07-29 09:37:48 -07001syntax = "proto2";
Colin Cross63549382016-10-26 12:52:53 -07002option optimize_for = LITE_RUNTIME;
Robert Delgadocb129942019-07-23 16:28:20 -07003package android.surfaceflinger;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -07004
5message Trace {
6 repeated Increment increment = 1;
7}
8
9message Increment {
Irvel31ab9d02016-07-18 08:42:29 -070010 required int64 time_stamp = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070011
12 oneof increment {
Irvel31ab9d02016-07-18 08:42:29 -070013 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;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070021 }
22}
23
24message Transaction {
Irvel31ab9d02016-07-18 08:42:29 -070025 repeated SurfaceChange surface_change = 1;
26 repeated DisplayChange display_change = 2;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070027
Pablo Gamito3e8f0e62020-06-22 15:55:39 +000028 required bool synchronous = 3;
29 required bool animation = 4;
30 optional Origin origin = 5;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070031}
32
Irvel31ab9d02016-07-18 08:42:29 -070033message SurfaceChange {
34 required int32 id = 1;
Vishnu Nairdcce0e22018-08-23 08:35:19 -070035 reserved 7;
Irvel31ab9d02016-07-18 08:42:29 -070036 oneof SurfaceChange {
37 PositionChange position = 2;
38 SizeChange size = 3;
39 AlphaChange alpha = 4;
40 LayerChange layer = 5;
41 CropChange crop = 6;
Irvel31ab9d02016-07-18 08:42:29 -070042 MatrixChange matrix = 8;
43 OverrideScalingModeChange override_scaling_mode = 9;
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 DeferredTransactionChange deferred_transaction = 15;
Lucas Dupin1b6531c2018-07-05 17:18:21 -070050 CornerRadiusChange corner_radius = 16;
Vishnu Nair456bbb22019-07-18 16:02:00 -070051 ReparentChange reparent = 17;
52 RelativeParentChange relative_parent = 18;
53 DetachChildrenChange detach_children = 19;
54 ReparentChildrenChange reparent_children = 20;
Lucas Dupin19c8f0e2019-11-25 17:55:44 -080055 BackgroundBlurRadiusChange background_blur_radius = 21;
Vishnu Nair95a1ed42019-12-06 12:25:11 -080056 ShadowRadiusChange shadow_radius = 22;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070057 }
58}
59
60message PositionChange {
61 required float x = 1;
62 required float y = 2;
63}
64
65message SizeChange {
66 required uint32 w = 1;
67 required uint32 h = 2;
68}
69
70message AlphaChange {
71 required float alpha = 1;
72}
73
Lucas Dupin1b6531c2018-07-05 17:18:21 -070074message CornerRadiusChange {
75 required float corner_radius = 1;
76}
77
Lucas Dupin19c8f0e2019-11-25 17:55:44 -080078message BackgroundBlurRadiusChange {
79 required float background_blur_radius = 1;
80}
81
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070082message LayerChange {
83 required uint32 layer = 1;
84}
85
86message CropChange {
87 required Rectangle rectangle = 1;
88}
89
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070090message MatrixChange {
91 required float dsdx = 1;
92 required float dtdx = 2;
93 required float dsdy = 3;
94 required float dtdy = 4;
95}
96
97message OverrideScalingModeChange {
98 required int32 override_scaling_mode = 1;
99}
100
101message TransparentRegionHintChange {
102 repeated Rectangle region = 1;
103}
104
105message LayerStackChange {
106 required uint32 layer_stack = 1;
107}
108
109message HiddenFlagChange {
110 required bool hidden_flag = 1;
111}
112
113message OpaqueFlagChange {
114 required bool opaque_flag = 1;
115}
116
117message SecureFlagChange {
118 required bool secure_flag = 1;
119}
120
121message DeferredTransactionChange {
Irvel31ab9d02016-07-18 08:42:29 -0700122 required int32 layer_id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700123 required uint64 frame_number = 2;
124}
125
Irvel31ab9d02016-07-18 08:42:29 -0700126message DisplayChange {
127 required int32 id = 1;
128
129 oneof DisplayChange {
130 DispSurfaceChange surface = 2;
131 LayerStackChange layer_stack = 3;
132 SizeChange size = 4;
133 ProjectionChange projection = 5;
134 }
135}
136
137message DispSurfaceChange {
138 required uint64 buffer_queue_id = 1;
139 required string buffer_queue_name = 2;
140}
141
142message ProjectionChange {
143 required int32 orientation = 1;
144 required Rectangle viewport = 2;
145 required Rectangle frame = 3;
146}
147
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700148message Rectangle {
149 required int32 left = 1;
150 required int32 top = 2;
151 required int32 right = 3;
152 required int32 bottom = 4;
153}
154
Irvel31ab9d02016-07-18 08:42:29 -0700155message SurfaceCreation {
156 required int32 id = 1;
157 required string name = 2;
158 required uint32 w = 3;
159 required uint32 h = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700160}
161
Irvel31ab9d02016-07-18 08:42:29 -0700162message SurfaceDeletion {
163 required int32 id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700164}
165
166message BufferUpdate {
Irvel31ab9d02016-07-18 08:42:29 -0700167 required int32 id = 1;
168 required uint32 w = 2;
169 required uint32 h = 3;
170 required uint64 frame_number = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700171}
172
173message VSyncEvent {
174 required int64 when = 1;
175}
Irvel31ab9d02016-07-18 08:42:29 -0700176
177message DisplayCreation {
178 required int32 id = 1;
179 required string name = 2;
Dominik Laskowski075d3172018-05-24 15:50:06 -0700180 optional uint64 display_id = 3;
Irvel31ab9d02016-07-18 08:42:29 -0700181 required bool is_secure = 4;
182}
183
184message DisplayDeletion {
185 required int32 id = 1;
186}
187
188message PowerModeUpdate {
189 required int32 id = 1;
190 required int32 mode = 2;
191}
Vishnu Nair456bbb22019-07-18 16:02:00 -0700192
193message ReparentChange {
194 required int32 parent_id = 1;
195}
196
197message ReparentChildrenChange {
198 required int32 parent_id = 1;
199}
200
201message RelativeParentChange {
202 required int32 relative_parent_id = 1;
203 required int32 z = 2;
204}
205
206message DetachChildrenChange {
207 required bool detach_children = 1;
208}
Vishnu Nair95a1ed42019-12-06 12:25:11 -0800209
210message ShadowRadiusChange {
211 required float radius = 1;
Pablo Gamito3e8f0e62020-06-22 15:55:39 +0000212}
213
214message Origin {
215 required int32 pid = 1;
216 required int32 uid = 2;
Vishnu Nair95a1ed42019-12-06 12:25:11 -0800217}