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 DisplayFlagsChange { 105 required uint32 flags = 1; 106} 107 108message HiddenFlagChange { 109 required bool hidden_flag = 1; 110} 111 112message OpaqueFlagChange { 113 required bool opaque_flag = 1; 114} 115 116message SecureFlagChange { 117 required bool secure_flag = 1; 118} 119 120message 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 DisplayFlagsChange flags = 6; 129 } 130} 131 132message DispSurfaceChange { 133 required uint64 buffer_queue_id = 1; 134 required string buffer_queue_name = 2; 135} 136 137message ProjectionChange { 138 required int32 orientation = 1; 139 required Rectangle viewport = 2; 140 required Rectangle frame = 3; 141} 142 143message Rectangle { 144 required int32 left = 1; 145 required int32 top = 2; 146 required int32 right = 3; 147 required int32 bottom = 4; 148} 149 150message SurfaceCreation { 151 required int32 id = 1; 152 required string name = 2; 153 required uint32 w = 3; 154 required uint32 h = 4; 155} 156 157message SurfaceDeletion { 158 required int32 id = 1; 159} 160 161message BufferUpdate { 162 required int32 id = 1; 163 required uint32 w = 2; 164 required uint32 h = 3; 165 required uint64 frame_number = 4; 166} 167 168message VSyncEvent { 169 required int64 when = 1; 170} 171 172message DisplayCreation { 173 required int32 id = 1; 174 required string name = 2; 175 optional uint64 display_id = 3; 176 required bool is_secure = 4; 177} 178 179message DisplayDeletion { 180 required int32 id = 1; 181} 182 183message PowerModeUpdate { 184 required int32 id = 1; 185 required int32 mode = 2; 186} 187 188message ReparentChange { 189 required int32 parent_id = 1; 190} 191 192message RelativeParentChange { 193 required int32 relative_parent_id = 1; 194 required int32 z = 2; 195} 196 197message ShadowRadiusChange { 198 required float radius = 1; 199} 200 201message TrustedOverlayChange { 202 required float is_trusted_overlay = 1; 203} 204 205message BlurRegionsChange { 206 repeated BlurRegionChange blur_regions = 1; 207} 208 209message BlurRegionChange { 210 required uint32 blur_radius = 1; 211 required float corner_radius_tl = 2; 212 required float corner_radius_tr = 3; 213 required float corner_radius_bl = 4; 214 required float corner_radius_br = 5; 215 required float alpha = 6; 216 required int32 left = 7; 217 required int32 top = 8; 218 required int32 right = 9; 219 required int32 bottom = 10; 220} 221 222message Origin { 223 required int32 pid = 1; 224 required int32 uid = 2; 225} 226