blob: 792ff91dfa1d3452e8497597261aa54c52e91abb [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
Irvel31ab9d02016-07-18 08:42:29 -070028 required bool synchronous = 3;
29 required bool animation = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070030}
31
Irvel31ab9d02016-07-18 08:42:29 -070032message SurfaceChange {
33 required int32 id = 1;
Vishnu Nairdcce0e22018-08-23 08:35:19 -070034 reserved 7;
Irvel31ab9d02016-07-18 08:42:29 -070035 oneof SurfaceChange {
36 PositionChange position = 2;
37 SizeChange size = 3;
38 AlphaChange alpha = 4;
39 LayerChange layer = 5;
40 CropChange crop = 6;
Irvel31ab9d02016-07-18 08:42:29 -070041 MatrixChange matrix = 8;
42 OverrideScalingModeChange override_scaling_mode = 9;
43 TransparentRegionHintChange transparent_region_hint = 10;
44 LayerStackChange layer_stack = 11;
45 HiddenFlagChange hidden_flag = 12;
46 OpaqueFlagChange opaque_flag = 13;
47 SecureFlagChange secure_flag = 14;
48 DeferredTransactionChange deferred_transaction = 15;
Lucas Dupin1b6531c2018-07-05 17:18:21 -070049 CornerRadiusChange corner_radius = 16;
Vishnu Nair456bbb22019-07-18 16:02:00 -070050 ReparentChange reparent = 17;
51 RelativeParentChange relative_parent = 18;
52 DetachChildrenChange detach_children = 19;
53 ReparentChildrenChange reparent_children = 20;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070054 }
55}
56
57message PositionChange {
58 required float x = 1;
59 required float y = 2;
60}
61
62message SizeChange {
63 required uint32 w = 1;
64 required uint32 h = 2;
65}
66
67message AlphaChange {
68 required float alpha = 1;
69}
70
Lucas Dupin1b6531c2018-07-05 17:18:21 -070071message CornerRadiusChange {
72 required float corner_radius = 1;
73}
74
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070075message LayerChange {
76 required uint32 layer = 1;
77}
78
79message CropChange {
80 required Rectangle rectangle = 1;
81}
82
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070083message MatrixChange {
84 required float dsdx = 1;
85 required float dtdx = 2;
86 required float dsdy = 3;
87 required float dtdy = 4;
88}
89
90message OverrideScalingModeChange {
91 required int32 override_scaling_mode = 1;
92}
93
94message TransparentRegionHintChange {
95 repeated Rectangle region = 1;
96}
97
98message LayerStackChange {
99 required uint32 layer_stack = 1;
100}
101
102message HiddenFlagChange {
103 required bool hidden_flag = 1;
104}
105
106message OpaqueFlagChange {
107 required bool opaque_flag = 1;
108}
109
110message SecureFlagChange {
111 required bool secure_flag = 1;
112}
113
114message DeferredTransactionChange {
Irvel31ab9d02016-07-18 08:42:29 -0700115 required int32 layer_id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700116 required uint64 frame_number = 2;
117}
118
Irvel31ab9d02016-07-18 08:42:29 -0700119message DisplayChange {
120 required int32 id = 1;
121
122 oneof DisplayChange {
123 DispSurfaceChange surface = 2;
124 LayerStackChange layer_stack = 3;
125 SizeChange size = 4;
126 ProjectionChange projection = 5;
127 }
128}
129
130message DispSurfaceChange {
131 required uint64 buffer_queue_id = 1;
132 required string buffer_queue_name = 2;
133}
134
135message ProjectionChange {
136 required int32 orientation = 1;
137 required Rectangle viewport = 2;
138 required Rectangle frame = 3;
139}
140
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700141message Rectangle {
142 required int32 left = 1;
143 required int32 top = 2;
144 required int32 right = 3;
145 required int32 bottom = 4;
146}
147
Irvel31ab9d02016-07-18 08:42:29 -0700148message SurfaceCreation {
149 required int32 id = 1;
150 required string name = 2;
151 required uint32 w = 3;
152 required uint32 h = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700153}
154
Irvel31ab9d02016-07-18 08:42:29 -0700155message SurfaceDeletion {
156 required int32 id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700157}
158
159message BufferUpdate {
Irvel31ab9d02016-07-18 08:42:29 -0700160 required int32 id = 1;
161 required uint32 w = 2;
162 required uint32 h = 3;
163 required uint64 frame_number = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700164}
165
166message VSyncEvent {
167 required int64 when = 1;
168}
Irvel31ab9d02016-07-18 08:42:29 -0700169
170message DisplayCreation {
171 required int32 id = 1;
172 required string name = 2;
Dominik Laskowski075d3172018-05-24 15:50:06 -0700173 optional uint64 display_id = 3;
Irvel31ab9d02016-07-18 08:42:29 -0700174 required bool is_secure = 4;
175}
176
177message DisplayDeletion {
178 required int32 id = 1;
179}
180
181message PowerModeUpdate {
182 required int32 id = 1;
183 required int32 mode = 2;
184}
Vishnu Nair456bbb22019-07-18 16:02:00 -0700185
186message ReparentChange {
187 required int32 parent_id = 1;
188}
189
190message ReparentChildrenChange {
191 required int32 parent_id = 1;
192}
193
194message RelativeParentChange {
195 required int32 relative_parent_id = 1;
196 required int32 z = 2;
197}
198
199message DetachChildrenChange {
200 required bool detach_children = 1;
201}