1*90c8c64dSAndroid Build Coastguard Worker/* 2*90c8c64dSAndroid Build Coastguard Worker * Copyright (C) 2021 The Android Open Source Project 3*90c8c64dSAndroid Build Coastguard Worker * 4*90c8c64dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*90c8c64dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*90c8c64dSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*90c8c64dSAndroid Build Coastguard Worker * 8*90c8c64dSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*90c8c64dSAndroid Build Coastguard Worker * 10*90c8c64dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*90c8c64dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*90c8c64dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*90c8c64dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*90c8c64dSAndroid Build Coastguard Worker * limitations under the License. 15*90c8c64dSAndroid Build Coastguard Worker */ 16*90c8c64dSAndroid Build Coastguard Worker 17*90c8c64dSAndroid Build Coastguard Workersyntax = "proto3"; 18*90c8c64dSAndroid Build Coastguard Workeroption optimize_for = LITE_RUNTIME; 19*90c8c64dSAndroid Build Coastguard Worker 20*90c8c64dSAndroid Build Coastguard Workerimport "protos/surfaceflinger/udc/common.proto"; 21*90c8c64dSAndroid Build Coastguard Worker 22*90c8c64dSAndroid Build Coastguard Workerpackage android.surfaceflinger.proto; 23*90c8c64dSAndroid Build Coastguard Worker 24*90c8c64dSAndroid Build Coastguard Worker/* Represents a file full of surface flinger transactions. 25*90c8c64dSAndroid Build Coastguard Worker Encoded, it should start with 0x54 0x4E 0x58 0x54 0x52 0x41 0x43 0x45 (.TNXTRACE), such 26*90c8c64dSAndroid Build Coastguard Worker that they can be easily identified. */ 27*90c8c64dSAndroid Build Coastguard Workermessage TransactionTraceFile { 28*90c8c64dSAndroid Build Coastguard Worker /* constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 | MagicNumber.MAGIC_NUMBER_L 29*90c8c64dSAndroid Build Coastguard Worker (this is needed because enums have to be 32 bits and there's no nice way to put 64bit 30*90c8c64dSAndroid Build Coastguard Worker constants into .proto files. */ 31*90c8c64dSAndroid Build Coastguard Worker enum MagicNumber { 32*90c8c64dSAndroid Build Coastguard Worker INVALID = 0; 33*90c8c64dSAndroid Build Coastguard Worker MAGIC_NUMBER_L = 0x54584E54; /* TNXT (little-endian ASCII) */ 34*90c8c64dSAndroid Build Coastguard Worker MAGIC_NUMBER_H = 0x45434152; /* RACE (little-endian ASCII) */ 35*90c8c64dSAndroid Build Coastguard Worker } 36*90c8c64dSAndroid Build Coastguard Worker 37*90c8c64dSAndroid Build Coastguard Worker fixed64 magic_number = 1; /* Must be the first field, set to value in MagicNumber */ 38*90c8c64dSAndroid Build Coastguard Worker repeated TransactionTraceEntry entry = 2; 39*90c8c64dSAndroid Build Coastguard Worker 40*90c8c64dSAndroid Build Coastguard Worker /* offset between real-time clock and elapsed time clock in nanoseconds. 41*90c8c64dSAndroid Build Coastguard Worker Calculated as: systemTime(SYSTEM_TIME_REALTIME) - systemTime(SYSTEM_TIME_MONOTONIC) */ 42*90c8c64dSAndroid Build Coastguard Worker fixed64 real_to_elapsed_time_offset_nanos = 3; 43*90c8c64dSAndroid Build Coastguard Worker uint32 version = 4; 44*90c8c64dSAndroid Build Coastguard Worker} 45*90c8c64dSAndroid Build Coastguard Worker 46*90c8c64dSAndroid Build Coastguard Workermessage TransactionTraceEntry { 47*90c8c64dSAndroid Build Coastguard Worker int64 elapsed_realtime_nanos = 1; 48*90c8c64dSAndroid Build Coastguard Worker int64 vsync_id = 2; 49*90c8c64dSAndroid Build Coastguard Worker repeated TransactionState transactions = 3; 50*90c8c64dSAndroid Build Coastguard Worker repeated LayerCreationArgs added_layers = 4; 51*90c8c64dSAndroid Build Coastguard Worker repeated uint32 destroyed_layers = 5; 52*90c8c64dSAndroid Build Coastguard Worker repeated DisplayState added_displays = 6; 53*90c8c64dSAndroid Build Coastguard Worker repeated int32 removed_displays = 7; 54*90c8c64dSAndroid Build Coastguard Worker repeated uint32 destroyed_layer_handles = 8; 55*90c8c64dSAndroid Build Coastguard Worker bool displays_changed = 9; 56*90c8c64dSAndroid Build Coastguard Worker repeated DisplayInfo displays = 10; 57*90c8c64dSAndroid Build Coastguard Worker} 58*90c8c64dSAndroid Build Coastguard Worker 59*90c8c64dSAndroid Build Coastguard Workermessage DisplayInfo { 60*90c8c64dSAndroid Build Coastguard Worker uint32 layer_stack = 1; 61*90c8c64dSAndroid Build Coastguard Worker int32 display_id = 2; 62*90c8c64dSAndroid Build Coastguard Worker int32 logical_width = 3; 63*90c8c64dSAndroid Build Coastguard Worker int32 logical_height = 4; 64*90c8c64dSAndroid Build Coastguard Worker Transform transform_inverse = 5; 65*90c8c64dSAndroid Build Coastguard Worker Transform transform = 6; 66*90c8c64dSAndroid Build Coastguard Worker bool receives_input = 7; 67*90c8c64dSAndroid Build Coastguard Worker bool is_secure = 8; 68*90c8c64dSAndroid Build Coastguard Worker bool is_primary = 9; 69*90c8c64dSAndroid Build Coastguard Worker bool is_virtual = 10; 70*90c8c64dSAndroid Build Coastguard Worker int32 rotation_flags = 11; 71*90c8c64dSAndroid Build Coastguard Worker int32 transform_hint = 12; 72*90c8c64dSAndroid Build Coastguard Worker 73*90c8c64dSAndroid Build Coastguard Worker} 74*90c8c64dSAndroid Build Coastguard Worker 75*90c8c64dSAndroid Build Coastguard Workermessage LayerCreationArgs { 76*90c8c64dSAndroid Build Coastguard Worker uint32 layer_id = 1; 77*90c8c64dSAndroid Build Coastguard Worker string name = 2; 78*90c8c64dSAndroid Build Coastguard Worker uint32 flags = 3; 79*90c8c64dSAndroid Build Coastguard Worker uint32 parent_id = 4; 80*90c8c64dSAndroid Build Coastguard Worker uint32 mirror_from_id = 5; 81*90c8c64dSAndroid Build Coastguard Worker bool add_to_root = 6; 82*90c8c64dSAndroid Build Coastguard Worker uint32 layer_stack_to_mirror = 7; 83*90c8c64dSAndroid Build Coastguard Worker} 84*90c8c64dSAndroid Build Coastguard Worker 85*90c8c64dSAndroid Build Coastguard Workermessage Transform { 86*90c8c64dSAndroid Build Coastguard Worker float dsdx = 1; 87*90c8c64dSAndroid Build Coastguard Worker float dtdx = 2; 88*90c8c64dSAndroid Build Coastguard Worker float dtdy = 3; 89*90c8c64dSAndroid Build Coastguard Worker float dsdy = 4; 90*90c8c64dSAndroid Build Coastguard Worker float tx = 5; 91*90c8c64dSAndroid Build Coastguard Worker float ty = 6; 92*90c8c64dSAndroid Build Coastguard Worker} 93*90c8c64dSAndroid Build Coastguard Worker 94*90c8c64dSAndroid Build Coastguard Workermessage TransactionState { 95*90c8c64dSAndroid Build Coastguard Worker int32 pid = 1; 96*90c8c64dSAndroid Build Coastguard Worker int32 uid = 2; 97*90c8c64dSAndroid Build Coastguard Worker int64 vsync_id = 3; 98*90c8c64dSAndroid Build Coastguard Worker int32 input_event_id = 4; 99*90c8c64dSAndroid Build Coastguard Worker int64 post_time = 5; 100*90c8c64dSAndroid Build Coastguard Worker uint64 transaction_id = 6; 101*90c8c64dSAndroid Build Coastguard Worker repeated LayerState layer_changes = 7; 102*90c8c64dSAndroid Build Coastguard Worker repeated DisplayState display_changes = 8; 103*90c8c64dSAndroid Build Coastguard Worker repeated uint64 merged_transaction_ids = 9; 104*90c8c64dSAndroid Build Coastguard Worker} 105*90c8c64dSAndroid Build Coastguard Worker 106*90c8c64dSAndroid Build Coastguard Worker// Keep insync with layer_state_t 107*90c8c64dSAndroid Build Coastguard Workermessage LayerState { 108*90c8c64dSAndroid Build Coastguard Worker uint32 layer_id = 1; 109*90c8c64dSAndroid Build Coastguard Worker // Changes are split into ChangesLsb and ChangesMsb. First 32 bits are in ChangesLsb 110*90c8c64dSAndroid Build Coastguard Worker // and the next 32 bits are in ChangesMsb. This is needed because enums have to be 111*90c8c64dSAndroid Build Coastguard Worker // 32 bits and there's no nice way to put 64bit constants into .proto files. 112*90c8c64dSAndroid Build Coastguard Worker enum ChangesLsb { 113*90c8c64dSAndroid Build Coastguard Worker eChangesLsbNone = 0; 114*90c8c64dSAndroid Build Coastguard Worker ePositionChanged = 0x00000001; 115*90c8c64dSAndroid Build Coastguard Worker eLayerChanged = 0x00000002; 116*90c8c64dSAndroid Build Coastguard Worker // unused = 0x00000004; 117*90c8c64dSAndroid Build Coastguard Worker eAlphaChanged = 0x00000008; 118*90c8c64dSAndroid Build Coastguard Worker 119*90c8c64dSAndroid Build Coastguard Worker eMatrixChanged = 0x00000010; 120*90c8c64dSAndroid Build Coastguard Worker eTransparentRegionChanged = 0x00000020; 121*90c8c64dSAndroid Build Coastguard Worker eFlagsChanged = 0x00000040; 122*90c8c64dSAndroid Build Coastguard Worker eLayerStackChanged = 0x00000080; 123*90c8c64dSAndroid Build Coastguard Worker 124*90c8c64dSAndroid Build Coastguard Worker eReleaseBufferListenerChanged = 0x00000400; 125*90c8c64dSAndroid Build Coastguard Worker eShadowRadiusChanged = 0x00000800; 126*90c8c64dSAndroid Build Coastguard Worker 127*90c8c64dSAndroid Build Coastguard Worker eBufferCropChanged = 0x00002000; 128*90c8c64dSAndroid Build Coastguard Worker eRelativeLayerChanged = 0x00004000; 129*90c8c64dSAndroid Build Coastguard Worker eReparent = 0x00008000; 130*90c8c64dSAndroid Build Coastguard Worker 131*90c8c64dSAndroid Build Coastguard Worker eColorChanged = 0x00010000; 132*90c8c64dSAndroid Build Coastguard Worker eBufferTransformChanged = 0x00040000; 133*90c8c64dSAndroid Build Coastguard Worker eTransformToDisplayInverseChanged = 0x00080000; 134*90c8c64dSAndroid Build Coastguard Worker 135*90c8c64dSAndroid Build Coastguard Worker eCropChanged = 0x00100000; 136*90c8c64dSAndroid Build Coastguard Worker eBufferChanged = 0x00200000; 137*90c8c64dSAndroid Build Coastguard Worker eAcquireFenceChanged = 0x00400000; 138*90c8c64dSAndroid Build Coastguard Worker eDataspaceChanged = 0x00800000; 139*90c8c64dSAndroid Build Coastguard Worker 140*90c8c64dSAndroid Build Coastguard Worker eHdrMetadataChanged = 0x01000000; 141*90c8c64dSAndroid Build Coastguard Worker eSurfaceDamageRegionChanged = 0x02000000; 142*90c8c64dSAndroid Build Coastguard Worker eApiChanged = 0x04000000; 143*90c8c64dSAndroid Build Coastguard Worker eSidebandStreamChanged = 0x08000000; 144*90c8c64dSAndroid Build Coastguard Worker 145*90c8c64dSAndroid Build Coastguard Worker eColorTransformChanged = 0x10000000; 146*90c8c64dSAndroid Build Coastguard Worker eHasListenerCallbacksChanged = 0x20000000; 147*90c8c64dSAndroid Build Coastguard Worker eInputInfoChanged = 0x40000000; 148*90c8c64dSAndroid Build Coastguard Worker eCornerRadiusChanged = -2147483648; // 0x80000000; (proto stores enums as signed int) 149*90c8c64dSAndroid Build Coastguard Worker }; 150*90c8c64dSAndroid Build Coastguard Worker enum ChangesMsb { 151*90c8c64dSAndroid Build Coastguard Worker eChangesMsbNone = 0; 152*90c8c64dSAndroid Build Coastguard Worker eDestinationFrameChanged = 0x1; 153*90c8c64dSAndroid Build Coastguard Worker eCachedBufferChanged = 0x2; 154*90c8c64dSAndroid Build Coastguard Worker eBackgroundColorChanged = 0x4; 155*90c8c64dSAndroid Build Coastguard Worker eMetadataChanged = 0x8; 156*90c8c64dSAndroid Build Coastguard Worker eColorSpaceAgnosticChanged = 0x10; 157*90c8c64dSAndroid Build Coastguard Worker eFrameRateSelectionPriority = 0x20; 158*90c8c64dSAndroid Build Coastguard Worker eFrameRateChanged = 0x40; 159*90c8c64dSAndroid Build Coastguard Worker eBackgroundBlurRadiusChanged = 0x80; 160*90c8c64dSAndroid Build Coastguard Worker eProducerDisconnect = 0x100; 161*90c8c64dSAndroid Build Coastguard Worker eFixedTransformHintChanged = 0x200; 162*90c8c64dSAndroid Build Coastguard Worker eFrameNumberChanged = 0x400; 163*90c8c64dSAndroid Build Coastguard Worker eBlurRegionsChanged = 0x800; 164*90c8c64dSAndroid Build Coastguard Worker eAutoRefreshChanged = 0x1000; 165*90c8c64dSAndroid Build Coastguard Worker eStretchChanged = 0x2000; 166*90c8c64dSAndroid Build Coastguard Worker eTrustedOverlayChanged = 0x4000; 167*90c8c64dSAndroid Build Coastguard Worker eDropInputModeChanged = 0x8000; 168*90c8c64dSAndroid Build Coastguard Worker }; 169*90c8c64dSAndroid Build Coastguard Worker uint64 what = 2; 170*90c8c64dSAndroid Build Coastguard Worker float x = 3; 171*90c8c64dSAndroid Build Coastguard Worker float y = 4; 172*90c8c64dSAndroid Build Coastguard Worker int32 z = 5; 173*90c8c64dSAndroid Build Coastguard Worker uint32 w = 6; 174*90c8c64dSAndroid Build Coastguard Worker uint32 h = 7; 175*90c8c64dSAndroid Build Coastguard Worker uint32 layer_stack = 8; 176*90c8c64dSAndroid Build Coastguard Worker 177*90c8c64dSAndroid Build Coastguard Worker enum Flags { 178*90c8c64dSAndroid Build Coastguard Worker eFlagsNone = 0; 179*90c8c64dSAndroid Build Coastguard Worker eLayerHidden = 0x01; 180*90c8c64dSAndroid Build Coastguard Worker eLayerOpaque = 0x02; 181*90c8c64dSAndroid Build Coastguard Worker eLayerSkipScreenshot = 0x40; 182*90c8c64dSAndroid Build Coastguard Worker eLayerSecure = 0x80; 183*90c8c64dSAndroid Build Coastguard Worker eEnableBackpressure = 0x100; 184*90c8c64dSAndroid Build Coastguard Worker eLayerIsDisplayDecoration = 0x200; 185*90c8c64dSAndroid Build Coastguard Worker }; 186*90c8c64dSAndroid Build Coastguard Worker uint32 flags = 9; 187*90c8c64dSAndroid Build Coastguard Worker uint32 mask = 10; 188*90c8c64dSAndroid Build Coastguard Worker 189*90c8c64dSAndroid Build Coastguard Worker message Matrix22 { 190*90c8c64dSAndroid Build Coastguard Worker float dsdx = 1; 191*90c8c64dSAndroid Build Coastguard Worker float dtdx = 2; 192*90c8c64dSAndroid Build Coastguard Worker float dtdy = 3; 193*90c8c64dSAndroid Build Coastguard Worker float dsdy = 4; 194*90c8c64dSAndroid Build Coastguard Worker }; 195*90c8c64dSAndroid Build Coastguard Worker Matrix22 matrix = 11; 196*90c8c64dSAndroid Build Coastguard Worker float corner_radius = 12; 197*90c8c64dSAndroid Build Coastguard Worker uint32 background_blur_radius = 13; 198*90c8c64dSAndroid Build Coastguard Worker uint32 parent_id = 14; 199*90c8c64dSAndroid Build Coastguard Worker uint32 relative_parent_id = 15; 200*90c8c64dSAndroid Build Coastguard Worker 201*90c8c64dSAndroid Build Coastguard Worker float alpha = 16; 202*90c8c64dSAndroid Build Coastguard Worker message Color3 { 203*90c8c64dSAndroid Build Coastguard Worker float r = 1; 204*90c8c64dSAndroid Build Coastguard Worker float g = 2; 205*90c8c64dSAndroid Build Coastguard Worker float b = 3; 206*90c8c64dSAndroid Build Coastguard Worker } 207*90c8c64dSAndroid Build Coastguard Worker Color3 color = 17; 208*90c8c64dSAndroid Build Coastguard Worker RegionProto transparent_region = 18; 209*90c8c64dSAndroid Build Coastguard Worker uint32 transform = 19; 210*90c8c64dSAndroid Build Coastguard Worker bool transform_to_display_inverse = 20; 211*90c8c64dSAndroid Build Coastguard Worker RectProto crop = 21; 212*90c8c64dSAndroid Build Coastguard Worker 213*90c8c64dSAndroid Build Coastguard Worker message BufferData { 214*90c8c64dSAndroid Build Coastguard Worker uint64 buffer_id = 1; 215*90c8c64dSAndroid Build Coastguard Worker uint32 width = 2; 216*90c8c64dSAndroid Build Coastguard Worker uint32 height = 3; 217*90c8c64dSAndroid Build Coastguard Worker uint64 frame_number = 4; 218*90c8c64dSAndroid Build Coastguard Worker 219*90c8c64dSAndroid Build Coastguard Worker enum BufferDataChange { 220*90c8c64dSAndroid Build Coastguard Worker BufferDataChangeNone = 0; 221*90c8c64dSAndroid Build Coastguard Worker fenceChanged = 0x01; 222*90c8c64dSAndroid Build Coastguard Worker frameNumberChanged = 0x02; 223*90c8c64dSAndroid Build Coastguard Worker cachedBufferChanged = 0x04; 224*90c8c64dSAndroid Build Coastguard Worker } 225*90c8c64dSAndroid Build Coastguard Worker uint32 flags = 5; 226*90c8c64dSAndroid Build Coastguard Worker uint64 cached_buffer_id = 6; 227*90c8c64dSAndroid Build Coastguard Worker 228*90c8c64dSAndroid Build Coastguard Worker enum PixelFormat { 229*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_UNKNOWN = 0; 230*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_CUSTOM = -4; 231*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_TRANSLUCENT = -3; 232*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_TRANSPARENT = -2; 233*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_OPAQUE = -1; 234*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGBA_8888 = 1; 235*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGBX_8888 = 2; 236*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGB_888 = 3; 237*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGB_565 = 4; 238*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_BGRA_8888 = 5; 239*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGBA_5551 = 6; 240*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGBA_4444 = 7; 241*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGBA_FP16 = 22; 242*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_RGBA_1010102 = 43; 243*90c8c64dSAndroid Build Coastguard Worker PIXEL_FORMAT_R_8 = 0x38; 244*90c8c64dSAndroid Build Coastguard Worker } 245*90c8c64dSAndroid Build Coastguard Worker PixelFormat pixel_format = 7; 246*90c8c64dSAndroid Build Coastguard Worker uint64 usage = 8; 247*90c8c64dSAndroid Build Coastguard Worker } 248*90c8c64dSAndroid Build Coastguard Worker BufferData buffer_data = 22; 249*90c8c64dSAndroid Build Coastguard Worker int32 api = 23; 250*90c8c64dSAndroid Build Coastguard Worker bool has_sideband_stream = 24; 251*90c8c64dSAndroid Build Coastguard Worker ColorTransformProto color_transform = 25; 252*90c8c64dSAndroid Build Coastguard Worker repeated BlurRegion blur_regions = 26; 253*90c8c64dSAndroid Build Coastguard Worker 254*90c8c64dSAndroid Build Coastguard Worker message WindowInfo { 255*90c8c64dSAndroid Build Coastguard Worker uint32 layout_params_flags = 1; 256*90c8c64dSAndroid Build Coastguard Worker int32 layout_params_type = 2; 257*90c8c64dSAndroid Build Coastguard Worker RegionProto touchable_region = 3; 258*90c8c64dSAndroid Build Coastguard Worker int32 surface_inset = 4; 259*90c8c64dSAndroid Build Coastguard Worker bool focusable = 5; 260*90c8c64dSAndroid Build Coastguard Worker bool has_wallpaper = 6; 261*90c8c64dSAndroid Build Coastguard Worker float global_scale_factor = 7; 262*90c8c64dSAndroid Build Coastguard Worker uint32 crop_layer_id = 8; 263*90c8c64dSAndroid Build Coastguard Worker bool replace_touchable_region_with_crop = 9; 264*90c8c64dSAndroid Build Coastguard Worker RectProto touchable_region_crop = 10; 265*90c8c64dSAndroid Build Coastguard Worker Transform transform = 11; 266*90c8c64dSAndroid Build Coastguard Worker } 267*90c8c64dSAndroid Build Coastguard Worker WindowInfo window_info_handle = 27; 268*90c8c64dSAndroid Build Coastguard Worker float bg_color_alpha = 28; 269*90c8c64dSAndroid Build Coastguard Worker int32 bg_color_dataspace = 29; 270*90c8c64dSAndroid Build Coastguard Worker bool color_space_agnostic = 30; 271*90c8c64dSAndroid Build Coastguard Worker float shadow_radius = 31; 272*90c8c64dSAndroid Build Coastguard Worker int32 frame_rate_selection_priority = 32; 273*90c8c64dSAndroid Build Coastguard Worker float frame_rate = 33; 274*90c8c64dSAndroid Build Coastguard Worker int32 frame_rate_compatibility = 34; 275*90c8c64dSAndroid Build Coastguard Worker int32 change_frame_rate_strategy = 35; 276*90c8c64dSAndroid Build Coastguard Worker uint32 fixed_transform_hint = 36; 277*90c8c64dSAndroid Build Coastguard Worker uint64 frame_number = 37; 278*90c8c64dSAndroid Build Coastguard Worker bool auto_refresh = 38; 279*90c8c64dSAndroid Build Coastguard Worker bool is_trusted_overlay = 39; 280*90c8c64dSAndroid Build Coastguard Worker RectProto buffer_crop = 40; 281*90c8c64dSAndroid Build Coastguard Worker RectProto destination_frame = 41; 282*90c8c64dSAndroid Build Coastguard Worker 283*90c8c64dSAndroid Build Coastguard Worker enum DropInputMode { 284*90c8c64dSAndroid Build Coastguard Worker NONE = 0; 285*90c8c64dSAndroid Build Coastguard Worker ALL = 1; 286*90c8c64dSAndroid Build Coastguard Worker OBSCURED = 2; 287*90c8c64dSAndroid Build Coastguard Worker }; 288*90c8c64dSAndroid Build Coastguard Worker DropInputMode drop_input_mode = 42; 289*90c8c64dSAndroid Build Coastguard Worker} 290*90c8c64dSAndroid Build Coastguard Worker 291*90c8c64dSAndroid Build Coastguard Workermessage DisplayState { 292*90c8c64dSAndroid Build Coastguard Worker enum Changes { 293*90c8c64dSAndroid Build Coastguard Worker eChangesNone = 0; 294*90c8c64dSAndroid Build Coastguard Worker eSurfaceChanged = 0x01; 295*90c8c64dSAndroid Build Coastguard Worker eLayerStackChanged = 0x02; 296*90c8c64dSAndroid Build Coastguard Worker eDisplayProjectionChanged = 0x04; 297*90c8c64dSAndroid Build Coastguard Worker eDisplaySizeChanged = 0x08; 298*90c8c64dSAndroid Build Coastguard Worker eFlagsChanged = 0x10; 299*90c8c64dSAndroid Build Coastguard Worker }; 300*90c8c64dSAndroid Build Coastguard Worker int32 id = 1; 301*90c8c64dSAndroid Build Coastguard Worker uint32 what = 2; 302*90c8c64dSAndroid Build Coastguard Worker uint32 flags = 3; 303*90c8c64dSAndroid Build Coastguard Worker uint32 layer_stack = 4; 304*90c8c64dSAndroid Build Coastguard Worker uint32 orientation = 5; 305*90c8c64dSAndroid Build Coastguard Worker RectProto layer_stack_space_rect = 6; 306*90c8c64dSAndroid Build Coastguard Worker RectProto oriented_display_space_rect = 7; 307*90c8c64dSAndroid Build Coastguard Worker uint32 width = 8; 308*90c8c64dSAndroid Build Coastguard Worker uint32 height = 9; 309*90c8c64dSAndroid Build Coastguard Worker} 310