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