blob: 7f2f94912e79e992b9dc05a48e12fa616297f728 [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;
Vishnu Nair95a1ed42019-12-06 12:25:11 -080054 ShadowRadiusChange shadow_radius = 22;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070055 }
56}
57
58message PositionChange {
59 required float x = 1;
60 required float y = 2;
61}
62
63message SizeChange {
64 required uint32 w = 1;
65 required uint32 h = 2;
66}
67
68message AlphaChange {
69 required float alpha = 1;
70}
71
Lucas Dupin1b6531c2018-07-05 17:18:21 -070072message CornerRadiusChange {
73 required float corner_radius = 1;
74}
75
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070076message LayerChange {
77 required uint32 layer = 1;
78}
79
80message CropChange {
81 required Rectangle rectangle = 1;
82}
83
Sahil Dhanjua05cafa2016-07-29 09:37:48 -070084message MatrixChange {
85 required float dsdx = 1;
86 required float dtdx = 2;
87 required float dsdy = 3;
88 required float dtdy = 4;
89}
90
91message OverrideScalingModeChange {
92 required int32 override_scaling_mode = 1;
93}
94
95message TransparentRegionHintChange {
96 repeated Rectangle region = 1;
97}
98
99message LayerStackChange {
100 required uint32 layer_stack = 1;
101}
102
103message HiddenFlagChange {
104 required bool hidden_flag = 1;
105}
106
107message OpaqueFlagChange {
108 required bool opaque_flag = 1;
109}
110
111message SecureFlagChange {
112 required bool secure_flag = 1;
113}
114
115message DeferredTransactionChange {
Irvel31ab9d02016-07-18 08:42:29 -0700116 required int32 layer_id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700117 required uint64 frame_number = 2;
118}
119
Irvel31ab9d02016-07-18 08:42:29 -0700120message DisplayChange {
121 required int32 id = 1;
122
123 oneof DisplayChange {
124 DispSurfaceChange surface = 2;
125 LayerStackChange layer_stack = 3;
126 SizeChange size = 4;
127 ProjectionChange projection = 5;
128 }
129}
130
131message DispSurfaceChange {
132 required uint64 buffer_queue_id = 1;
133 required string buffer_queue_name = 2;
134}
135
136message ProjectionChange {
137 required int32 orientation = 1;
138 required Rectangle viewport = 2;
139 required Rectangle frame = 3;
140}
141
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700142message Rectangle {
143 required int32 left = 1;
144 required int32 top = 2;
145 required int32 right = 3;
146 required int32 bottom = 4;
147}
148
Irvel31ab9d02016-07-18 08:42:29 -0700149message SurfaceCreation {
150 required int32 id = 1;
151 required string name = 2;
152 required uint32 w = 3;
153 required uint32 h = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700154}
155
Irvel31ab9d02016-07-18 08:42:29 -0700156message SurfaceDeletion {
157 required int32 id = 1;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700158}
159
160message BufferUpdate {
Irvel31ab9d02016-07-18 08:42:29 -0700161 required int32 id = 1;
162 required uint32 w = 2;
163 required uint32 h = 3;
164 required uint64 frame_number = 4;
Sahil Dhanjua05cafa2016-07-29 09:37:48 -0700165}
166
167message VSyncEvent {
168 required int64 when = 1;
169}
Irvel31ab9d02016-07-18 08:42:29 -0700170
171message DisplayCreation {
172 required int32 id = 1;
173 required string name = 2;
Dominik Laskowski075d3172018-05-24 15:50:06 -0700174 optional uint64 display_id = 3;
Irvel31ab9d02016-07-18 08:42:29 -0700175 required bool is_secure = 4;
176}
177
178message DisplayDeletion {
179 required int32 id = 1;
180}
181
182message PowerModeUpdate {
183 required int32 id = 1;
184 required int32 mode = 2;
185}
Vishnu Nair456bbb22019-07-18 16:02:00 -0700186
187message ReparentChange {
188 required int32 parent_id = 1;
189}
190
191message ReparentChildrenChange {
192 required int32 parent_id = 1;
193}
194
195message RelativeParentChange {
196 required int32 relative_parent_id = 1;
197 required int32 z = 2;
198}
199
200message DetachChildrenChange {
201 required bool detach_children = 1;
202}
Vishnu Nair95a1ed42019-12-06 12:25:11 -0800203
204message ShadowRadiusChange {
205 required float radius = 1;
206}