1syntax = "proto2"; 2option optimize_for = LITE_RUNTIME; 3 4message Trace { 5 repeated Increment increment = 1; 6} 7 8message Increment { 9 required int64 time_stamp = 1; 10 11 oneof increment { 12 Transaction transaction = 2; 13 SurfaceCreation surface_creation = 3; 14 SurfaceDeletion surface_deletion = 4; 15 BufferUpdate buffer_update = 5; 16 VSyncEvent vsync_event = 6; 17 DisplayCreation display_creation = 7; 18 DisplayDeletion display_deletion = 8; 19 PowerModeUpdate power_mode_update = 9; 20 } 21} 22 23message Transaction { 24 repeated SurfaceChange surface_change = 1; 25 repeated DisplayChange display_change = 2; 26 27 required bool synchronous = 3; 28 required bool animation = 4; 29} 30 31message SurfaceChange { 32 required int32 id = 1; 33 reserved 7; 34 oneof SurfaceChange { 35 PositionChange position = 2; 36 SizeChange size = 3; 37 AlphaChange alpha = 4; 38 LayerChange layer = 5; 39 CropChange crop = 6; 40 MatrixChange matrix = 8; 41 OverrideScalingModeChange override_scaling_mode = 9; 42 TransparentRegionHintChange transparent_region_hint = 10; 43 LayerStackChange layer_stack = 11; 44 HiddenFlagChange hidden_flag = 12; 45 OpaqueFlagChange opaque_flag = 13; 46 SecureFlagChange secure_flag = 14; 47 DeferredTransactionChange deferred_transaction = 15; 48 CornerRadiusChange corner_radius = 16; 49 } 50} 51 52message PositionChange { 53 required float x = 1; 54 required float y = 2; 55} 56 57message SizeChange { 58 required uint32 w = 1; 59 required uint32 h = 2; 60} 61 62message AlphaChange { 63 required float alpha = 1; 64} 65 66message CornerRadiusChange { 67 required float corner_radius = 1; 68} 69 70message LayerChange { 71 required uint32 layer = 1; 72} 73 74message CropChange { 75 required Rectangle rectangle = 1; 76} 77 78message MatrixChange { 79 required float dsdx = 1; 80 required float dtdx = 2; 81 required float dsdy = 3; 82 required float dtdy = 4; 83} 84 85message OverrideScalingModeChange { 86 required int32 override_scaling_mode = 1; 87} 88 89message TransparentRegionHintChange { 90 repeated Rectangle region = 1; 91} 92 93message LayerStackChange { 94 required uint32 layer_stack = 1; 95} 96 97message HiddenFlagChange { 98 required bool hidden_flag = 1; 99} 100 101message OpaqueFlagChange { 102 required bool opaque_flag = 1; 103} 104 105message SecureFlagChange { 106 required bool secure_flag = 1; 107} 108 109message DeferredTransactionChange { 110 required int32 layer_id = 1; 111 required uint64 frame_number = 2; 112} 113 114message DisplayChange { 115 required int32 id = 1; 116 117 oneof DisplayChange { 118 DispSurfaceChange surface = 2; 119 LayerStackChange layer_stack = 3; 120 SizeChange size = 4; 121 ProjectionChange projection = 5; 122 } 123} 124 125message DispSurfaceChange { 126 required uint64 buffer_queue_id = 1; 127 required string buffer_queue_name = 2; 128} 129 130message ProjectionChange { 131 required int32 orientation = 1; 132 required Rectangle viewport = 2; 133 required Rectangle frame = 3; 134} 135 136message Rectangle { 137 required int32 left = 1; 138 required int32 top = 2; 139 required int32 right = 3; 140 required int32 bottom = 4; 141} 142 143message SurfaceCreation { 144 required int32 id = 1; 145 required string name = 2; 146 required uint32 w = 3; 147 required uint32 h = 4; 148} 149 150message SurfaceDeletion { 151 required int32 id = 1; 152} 153 154message BufferUpdate { 155 required int32 id = 1; 156 required uint32 w = 2; 157 required uint32 h = 3; 158 required uint64 frame_number = 4; 159} 160 161message VSyncEvent { 162 required int64 when = 1; 163} 164 165message DisplayCreation { 166 required int32 id = 1; 167 required string name = 2; 168 optional uint64 display_id = 3; 169 required bool is_secure = 4; 170} 171 172message DisplayDeletion { 173 required int32 id = 1; 174} 175 176message PowerModeUpdate { 177 required int32 id = 1; 178 required int32 mode = 2; 179} 180