blob: 6c3b79b2b904f2c92b7140858267fc9b5a434f47 [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 Gamito7eb7ee72020-08-05 10:57:05 +000028 required bool synchronous = 3;
29 required bool animation = 4;
30 optional Origin origin = 5;
31 optional uint64 id = 6;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070032}
33
Irvel31ab9d02016-07-18 08:42:29 -070034message SurfaceChange {
35 required int32 id = 1;
Vishnu Nairdcce0e22018-08-23 08:35:19 -070036 reserved 7;
Irvel31ab9d02016-07-18 08:42:29 -070037 oneof SurfaceChange {
38 PositionChange position = 2;
39 SizeChange size = 3;
40 AlphaChange alpha = 4;
41 LayerChange layer = 5;
42 CropChange crop = 6;
Irvel31ab9d02016-07-18 08:42:29 -070043 MatrixChange matrix = 8;
44 OverrideScalingModeChange override_scaling_mode = 9;
45 TransparentRegionHintChange transparent_region_hint = 10;
46 LayerStackChange layer_stack = 11;
47 HiddenFlagChange hidden_flag = 12;
48 OpaqueFlagChange opaque_flag = 13;
49 SecureFlagChange secure_flag = 14;
50 DeferredTransactionChange deferred_transaction = 15;
Lucas Dupin1b6531c2018-07-05 17:18:21 -070051 CornerRadiusChange corner_radius = 16;
Vishnu Nair456bbb22019-07-18 16:02:00 -070052 ReparentChange reparent = 17;
53 RelativeParentChange relative_parent = 18;
54 DetachChildrenChange detach_children = 19;
55 ReparentChildrenChange reparent_children = 20;
Lucas Dupin19c8f0e2019-11-25 17:55:44 -080056 BackgroundBlurRadiusChange background_blur_radius = 21;
Vishnu Nair95a1ed42019-12-06 12:25:11 -080057 ShadowRadiusChange shadow_radius = 22;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070058 }
59}
60
61message PositionChange {
62 required float x = 1;
63 required float y = 2;
64}
65
66message SizeChange {
67 required uint32 w = 1;
68 required uint32 h = 2;
69}
70
71message AlphaChange {
72 required float alpha = 1;
73}
74
Lucas Dupin1b6531c2018-07-05 17:18:21 -070075message CornerRadiusChange {
76 required float corner_radius = 1;
77}
78
Lucas Dupin19c8f0e2019-11-25 17:55:44 -080079message BackgroundBlurRadiusChange {
80 required float background_blur_radius = 1;
81}
82
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070083message LayerChange {
84 required uint32 layer = 1;
85}
86
87message CropChange {
88 required Rectangle rectangle = 1;
89}
90
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070091message MatrixChange {
92 required float dsdx = 1;
93 required float dtdx = 2;
94 required float dsdy = 3;
95 required float dtdy = 4;
96}
97
98message OverrideScalingModeChange {
99 required int32 override_scaling_mode = 1;
100}
101
102message TransparentRegionHintChange {
103 repeated Rectangle region = 1;
104}
105
106message LayerStackChange {
107 required uint32 layer_stack = 1;
108}
109
110message HiddenFlagChange {
111 required bool hidden_flag = 1;
112}
113
114message OpaqueFlagChange {
115 required bool opaque_flag = 1;
116}
117
118message SecureFlagChange {
119 required bool secure_flag = 1;
120}
121
122message DeferredTransactionChange {
Irvel31ab9d02016-07-18 08:42:29 -0700123 required int32 layer_id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700124 required uint64 frame_number = 2;
125}
126
Irvel31ab9d02016-07-18 08:42:29 -0700127message DisplayChange {
128 required int32 id = 1;
129
130 oneof DisplayChange {
131 DispSurfaceChange surface = 2;
132 LayerStackChange layer_stack = 3;
133 SizeChange size = 4;
134 ProjectionChange projection = 5;
135 }
136}
137
138message DispSurfaceChange {
139 required uint64 buffer_queue_id = 1;
140 required string buffer_queue_name = 2;
141}
142
143message ProjectionChange {
144 required int32 orientation = 1;
145 required Rectangle viewport = 2;
146 required Rectangle frame = 3;
147}
148
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700149message Rectangle {
150 required int32 left = 1;
151 required int32 top = 2;
152 required int32 right = 3;
153 required int32 bottom = 4;
154}
155
Irvel31ab9d02016-07-18 08:42:29 -0700156message SurfaceCreation {
157 required int32 id = 1;
158 required string name = 2;
159 required uint32 w = 3;
160 required uint32 h = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700161}
162
Irvel31ab9d02016-07-18 08:42:29 -0700163message SurfaceDeletion {
164 required int32 id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700165}
166
167message BufferUpdate {
Irvel31ab9d02016-07-18 08:42:29 -0700168 required int32 id = 1;
169 required uint32 w = 2;
170 required uint32 h = 3;
171 required uint64 frame_number = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700172}
173
174message VSyncEvent {
175 required int64 when = 1;
176}
Irvel31ab9d02016-07-18 08:42:29 -0700177
178message DisplayCreation {
179 required int32 id = 1;
180 required string name = 2;
Dominik Laskowski075d3172018-05-24 15:50:06 -0700181 optional uint64 display_id = 3;
Irvel31ab9d02016-07-18 08:42:29 -0700182 required bool is_secure = 4;
183}
184
185message DisplayDeletion {
186 required int32 id = 1;
187}
188
189message PowerModeUpdate {
190 required int32 id = 1;
191 required int32 mode = 2;
192}
Vishnu Nair456bbb22019-07-18 16:02:00 -0700193
194message ReparentChange {
195 required int32 parent_id = 1;
196}
197
198message ReparentChildrenChange {
199 required int32 parent_id = 1;
200}
201
202message RelativeParentChange {
203 required int32 relative_parent_id = 1;
204 required int32 z = 2;
205}
206
207message DetachChildrenChange {
208 required bool detach_children = 1;
209}
Vishnu Nair95a1ed42019-12-06 12:25:11 -0800210
211message ShadowRadiusChange {
212 required float radius = 1;
Pablo Gamito3e8f0e62020-06-22 15:55:39 +0000213}
214
215message Origin {
216 required int32 pid = 1;
217 required int32 uid = 2;
Vishnu Nair95a1ed42019-12-06 12:25:11 -0800218}