UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

829 lines (710 loc) 26.9 kB
// // Copyright (C) 2023 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // @generated by protoc-gen-es v2.2.2 with parameter "target=ts" // @generated from file protos/perfetto/trace/android/surfaceflinger_layers.proto (package perfetto.protos, syntax proto2) /* eslint-disable */ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; import type { BlurRegion, ColorProto, ColorTransformProto, InputWindowInfoProto, RegionProto, SizeProto, TransformProto, TrustedOverlay } from "./surfaceflinger_common_pb"; import { file_protos_perfetto_trace_android_surfaceflinger_common } from "./surfaceflinger_common_pb"; import type { RectProto } from "./graphics/rect_pb"; import { file_protos_perfetto_trace_android_graphics_rect } from "./graphics/rect_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/perfetto/trace/android/surfaceflinger_layers.proto. */ export const file_protos_perfetto_trace_android_surfaceflinger_layers: GenFile = /*@__PURE__*/ fileDesc("Cjlwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9zdXJmYWNlZmxpbmdlcl9sYXllcnMucHJvdG8SD3BlcmZldHRvLnByb3RvcyLYAQoUTGF5ZXJzVHJhY2VGaWxlUHJvdG8SFAoMbWFnaWNfbnVtYmVyGAEgASgGEjMKBWVudHJ5GAIgAygLMiQucGVyZmV0dG8ucHJvdG9zLkxheWVyc1NuYXBzaG90UHJvdG8SKQohcmVhbF90b19lbGFwc2VkX3RpbWVfb2Zmc2V0X25hbm9zGAMgASgGIkoKC01hZ2ljTnVtYmVyEgsKB0lOVkFMSUQQABIWCg5NQUdJQ19OVU1CRVJfTBDMssmiBRIWCg5NQUdJQ19OVU1CRVJfSBDSgo2qBCKDAgoTTGF5ZXJzU25hcHNob3RQcm90bxIeChZlbGFwc2VkX3JlYWx0aW1lX25hbm9zGAEgASgQEg0KBXdoZXJlGAIgASgJEiwKBmxheWVycxgDIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5MYXllcnNQcm90bxIQCghod2NfYmxvYhgEIAEoCRIiChpleGNsdWRlc19jb21wb3NpdGlvbl9zdGF0ZRgFIAEoCBIWCg5taXNzZWRfZW50cmllcxgGIAEoDRIvCghkaXNwbGF5cxgHIAMoCzIdLnBlcmZldHRvLnByb3Rvcy5EaXNwbGF5UHJvdG8SEAoIdnN5bmNfaWQYCCABKAMiOgoLTGF5ZXJzUHJvdG8SKwoGbGF5ZXJzGAEgAygLMhsucGVyZmV0dG8ucHJvdG9zLkxheWVyUHJvdG8iiQIKDERpc3BsYXlQcm90bxIKCgJpZBgBIAEoBBIMCgRuYW1lGAIgASgJEhMKC2xheWVyX3N0YWNrGAMgASgNEigKBHNpemUYBCABKAsyGi5wZXJmZXR0by5wcm90b3MuU2l6ZVByb3RvEjoKFmxheWVyX3N0YWNrX3NwYWNlX3JlY3QYBSABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEjIKCXRyYW5zZm9ybRgGIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5UcmFuc2Zvcm1Qcm90bxISCgppc192aXJ0dWFsGAcgASgIEg0KBWRwaV94GAggASgBEg0KBWRwaV95GAkgASgBIooSCgpMYXllclByb3RvEgoKAmlkGAEgASgFEgwKBG5hbWUYAiABKAkSFAoIY2hpbGRyZW4YAyADKAVCAhABEhUKCXJlbGF0aXZlcxgEIAMoBUICEAESDAoEdHlwZRgFIAEoCRI4ChJ0cmFuc3BhcmVudF9yZWdpb24YBiABKAsyHC5wZXJmZXR0by5wcm90b3MuUmVnaW9uUHJvdG8SNAoOdmlzaWJsZV9yZWdpb24YByABKAsyHC5wZXJmZXR0by5wcm90b3MuUmVnaW9uUHJvdG8SMwoNZGFtYWdlX3JlZ2lvbhgIIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5SZWdpb25Qcm90bxITCgtsYXllcl9zdGFjaxgJIAEoDRIJCgF6GAogASgFEjAKCHBvc2l0aW9uGAsgASgLMh4ucGVyZmV0dG8ucHJvdG9zLlBvc2l0aW9uUHJvdG8SOgoScmVxdWVzdGVkX3Bvc2l0aW9uGAwgASgLMh4ucGVyZmV0dG8ucHJvdG9zLlBvc2l0aW9uUHJvdG8SKAoEc2l6ZRgNIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5TaXplUHJvdG8SKAoEY3JvcBgOIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SMgoKZmluYWxfY3JvcBgPIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEhEKCWlzX29wYXF1ZRgQIAEoCBISCgppbnZhbGlkYXRlGBEgASgIEhEKCWRhdGFzcGFjZRgSIAEoCRIUCgxwaXhlbF9mb3JtYXQYEyABKAkSKgoFY29sb3IYFCABKAsyGy5wZXJmZXR0by5wcm90b3MuQ29sb3JQcm90bxI0Cg9yZXF1ZXN0ZWRfY29sb3IYFSABKAsyGy5wZXJmZXR0by5wcm90b3MuQ29sb3JQcm90bxINCgVmbGFncxgWIAEoDRIyCgl0cmFuc2Zvcm0YFyABKAsyHy5wZXJmZXR0by5wcm90b3MuVHJhbnNmb3JtUHJvdG8SPAoTcmVxdWVzdGVkX3RyYW5zZm9ybRgYIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5UcmFuc2Zvcm1Qcm90bxIOCgZwYXJlbnQYGSABKAUSGwoTel9vcmRlcl9yZWxhdGl2ZV9vZhgaIAEoBRI5Cg1hY3RpdmVfYnVmZmVyGBsgASgLMiIucGVyZmV0dG8ucHJvdG9zLkFjdGl2ZUJ1ZmZlclByb3RvEhUKDXF1ZXVlZF9mcmFtZXMYHCABKAUSFwoPcmVmcmVzaF9wZW5kaW5nGB0gASgIEi0KCWh3Y19mcmFtZRgeIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SMQoIaHdjX2Nyb3AYHyABKAsyHy5wZXJmZXR0by5wcm90b3MuRmxvYXRSZWN0UHJvdG8SFQoNaHdjX3RyYW5zZm9ybRggIAEoBRIXCgt3aW5kb3dfdHlwZRghIAEoBUICGAESEgoGYXBwX2lkGCIgASgFQgIYARJBChRod2NfY29tcG9zaXRpb25fdHlwZRgjIAEoDjIjLnBlcmZldHRvLnByb3Rvcy5Id2NDb21wb3NpdGlvblR5cGUSFAoMaXNfcHJvdGVjdGVkGCQgASgIEhIKCmN1cnJfZnJhbWUYJSABKAQSOQoNYmFycmllcl9sYXllchgmIAMoCzIiLnBlcmZldHRvLnByb3Rvcy5CYXJyaWVyTGF5ZXJQcm90bxI5ChBidWZmZXJfdHJhbnNmb3JtGCcgASgLMh8ucGVyZmV0dG8ucHJvdG9zLlRyYW5zZm9ybVByb3RvEh4KFmVmZmVjdGl2ZV9zY2FsaW5nX21vZGUYKCABKAUSFQoNY29ybmVyX3JhZGl1cxgpIAEoAhI7CghtZXRhZGF0YRgqIAMoCzIpLnBlcmZldHRvLnByb3Rvcy5MYXllclByb3RvLk1ldGFkYXRhRW50cnkSPAoTZWZmZWN0aXZlX3RyYW5zZm9ybRgrIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5UcmFuc2Zvcm1Qcm90bxI2Cg1zb3VyY2VfYm91bmRzGCwgASgLMh8ucGVyZmV0dG8ucHJvdG9zLkZsb2F0UmVjdFByb3RvEi8KBmJvdW5kcxgtIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5GbG9hdFJlY3RQcm90bxI2Cg1zY3JlZW5fYm91bmRzGC4gASgLMh8ucGVyZmV0dG8ucHJvdG9zLkZsb2F0UmVjdFByb3RvEkAKEWlucHV0X3dpbmRvd19pbmZvGC8gASgLMiUucGVyZmV0dG8ucHJvdG9zLklucHV0V2luZG93SW5mb1Byb3RvEjsKEmNvcm5lcl9yYWRpdXNfY3JvcBgwIAEoCzIfLnBlcmZldHRvLnByb3Rvcy5GbG9hdFJlY3RQcm90bxIVCg1zaGFkb3dfcmFkaXVzGDEgASgCEj0KD2NvbG9yX3RyYW5zZm9ybRgyIAEoCzIkLnBlcmZldHRvLnByb3Rvcy5Db2xvclRyYW5zZm9ybVByb3RvEhYKDmlzX3JlbGF0aXZlX29mGDMgASgIEh4KFmJhY2tncm91bmRfYmx1cl9yYWRpdXMYNCABKAUSEQoJb3duZXJfdWlkGDUgASgNEjEKDGJsdXJfcmVnaW9ucxg2IAMoCzIbLnBlcmZldHRvLnByb3Rvcy5CbHVyUmVnaW9uEhoKEmlzX3RydXN0ZWRfb3ZlcmxheRg3IAEoCBIfChdyZXF1ZXN0ZWRfY29ybmVyX3JhZGl1cxg4IAEoAhI1ChFkZXN0aW5hdGlvbl9mcmFtZRg5IAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SEwoLb3JpZ2luYWxfaWQYOiABKA0SOAoPdHJ1c3RlZF9vdmVybGF5GDsgASgOMh8ucGVyZmV0dG8ucHJvdG9zLlRydXN0ZWRPdmVybGF5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgJOgI4ASIlCg1Qb3NpdGlvblByb3RvEgkKAXgYASABKAISCQoBeRgCIAEoAiJKCg5GbG9hdFJlY3RQcm90bxIMCgRsZWZ0GAEgASgCEgsKA3RvcBgCIAEoAhINCgVyaWdodBgDIAEoAhIOCgZib3R0b20YBCABKAIiYQoRQWN0aXZlQnVmZmVyUHJvdG8SDQoFd2lkdGgYASABKA0SDgoGaGVpZ2h0GAIgASgNEg4KBnN0cmlkZRgDIAEoDRIOCgZmb3JtYXQYBCABKAUSDQoFdXNhZ2UYBSABKAQiNQoRQmFycmllckxheWVyUHJvdG8SCgoCaWQYASABKAUSFAoMZnJhbWVfbnVtYmVyGAIgASgEKr8BChJId2NDb21wb3NpdGlvblR5cGUSGAoUSFdDX1RZUEVfVU5TUEVDSUZJRUQQABITCg9IV0NfVFlQRV9DTElFTlQQARITCg9IV0NfVFlQRV9ERVZJQ0UQAhIYChRIV0NfVFlQRV9TT0xJRF9DT0xPUhADEhMKD0hXQ19UWVBFX0NVUlNPUhAEEhUKEUhXQ19UWVBFX1NJREVCQU5EEAUSHwobSFdDX1RZUEVfRElTUExBWV9ERUNPUkFUSU9OEAY", [file_protos_perfetto_trace_android_surfaceflinger_common, file_protos_perfetto_trace_android_graphics_rect]); /** * Message used by Winscope to process legacy trace files. * Represents a file full of surface flinger trace entries. * Encoded, it should start with 0x4c 0x59 0x52 0x54 0x52 0x41 0x43 0x45 * (.LYRTRACE), such that they can be easily identified. * * @generated from message perfetto.protos.LayersTraceFileProto */ export type LayersTraceFileProto = Message<"perfetto.protos.LayersTraceFileProto"> & { /** * Must be the first field, set to value in MagicNumber * * @generated from field: optional fixed64 magic_number = 1; */ magicNumber: bigint; /** * @generated from field: repeated perfetto.protos.LayersSnapshotProto entry = 2; */ entry: LayersSnapshotProto[]; /** * Offset between real-time clock and elapsed time clock in nanoseconds. * Calculated as: systemTime(SYSTEM_TIME_REALTIME) - * systemTime(SYSTEM_TIME_MONOTONIC) * * @generated from field: optional fixed64 real_to_elapsed_time_offset_nanos = 3; */ realToElapsedTimeOffsetNanos: bigint; }; /** * Describes the message perfetto.protos.LayersTraceFileProto. * Use `create(LayersTraceFileProtoSchema)` to create a new message. */ export const LayersTraceFileProtoSchema: GenMessage<LayersTraceFileProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 0); /** * constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 | * MagicNumber.MAGIC_NUMBER_L (this is needed because enums have to be 32 bits * and there's no nice way to put 64bit constants into .proto files. * * @generated from enum perfetto.protos.LayersTraceFileProto.MagicNumber */ export enum LayersTraceFileProto_MagicNumber { /** * @generated from enum value: INVALID = 0; */ INVALID = 0, /** * LYRT (little-endian ASCII) * * @generated from enum value: MAGIC_NUMBER_L = 1414682956; */ MAGIC_NUMBER_L = 1414682956, /** * RACE (little-endian ASCII) * * @generated from enum value: MAGIC_NUMBER_H = 1162035538; */ MAGIC_NUMBER_H = 1162035538, } /** * Describes the enum perfetto.protos.LayersTraceFileProto.MagicNumber. */ export const LayersTraceFileProto_MagicNumberSchema: GenEnum<LayersTraceFileProto_MagicNumber> = /*@__PURE__*/ enumDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 0, 0); /** * @generated from message perfetto.protos.LayersSnapshotProto */ export type LayersSnapshotProto = Message<"perfetto.protos.LayersSnapshotProto"> & { /** * elapsed realtime in nanos since boot of when this entry was logged * * @generated from field: optional sfixed64 elapsed_realtime_nanos = 1; */ elapsedRealtimeNanos: bigint; /** * SurfaceFlinger's stage where the snapshot was triggered. * Currently either "visibleRegionsDirty" or "bufferLatched". * * @generated from field: optional string where = 2; */ where: string; /** * @generated from field: optional perfetto.protos.LayersProto layers = 3; */ layers?: LayersProto; /** * Blob for the current HWC information for all layers, reported by dumpsys. * Example: * "maxDownScale: 4, maxFullWidth: 8192, HWState: 1, AssignedState: 3, ..." * * @generated from field: optional string hwc_blob = 4; */ hwcBlob: string; /** * Excludes state sent during composition like visible region and composition * type. * * @generated from field: optional bool excludes_composition_state = 5; */ excludesCompositionState: boolean; /** * Number of missed entries since the last entry was recorded. * * @generated from field: optional uint32 missed_entries = 6; */ missedEntries: number; /** * @generated from field: repeated perfetto.protos.DisplayProto displays = 7; */ displays: DisplayProto[]; /** * @generated from field: optional int64 vsync_id = 8; */ vsyncId: bigint; }; /** * Describes the message perfetto.protos.LayersSnapshotProto. * Use `create(LayersSnapshotProtoSchema)` to create a new message. */ export const LayersSnapshotProtoSchema: GenMessage<LayersSnapshotProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 1); /** * Contains a list of all layers. * * @generated from message perfetto.protos.LayersProto */ export type LayersProto = Message<"perfetto.protos.LayersProto"> & { /** * @generated from field: repeated perfetto.protos.LayerProto layers = 1; */ layers: LayerProto[]; }; /** * Describes the message perfetto.protos.LayersProto. * Use `create(LayersProtoSchema)` to create a new message. */ export const LayersProtoSchema: GenMessage<LayersProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 2); /** * @generated from message perfetto.protos.DisplayProto */ export type DisplayProto = Message<"perfetto.protos.DisplayProto"> & { /** * @generated from field: optional uint64 id = 1; */ id: bigint; /** * Display descriptor, e.g. "Built-In Screen" * * @generated from field: optional string name = 2; */ name: string; /** * @generated from field: optional uint32 layer_stack = 3; */ layerStack: number; /** * @generated from field: optional perfetto.protos.SizeProto size = 4; */ size?: SizeProto; /** * @generated from field: optional perfetto.protos.RectProto layer_stack_space_rect = 5; */ layerStackSpaceRect?: RectProto; /** * @generated from field: optional perfetto.protos.TransformProto transform = 6; */ transform?: TransformProto; /** * @generated from field: optional bool is_virtual = 7; */ isVirtual: boolean; /** * @generated from field: optional double dpi_x = 8; */ dpiX: number; /** * @generated from field: optional double dpi_y = 9; */ dpiY: number; }; /** * Describes the message perfetto.protos.DisplayProto. * Use `create(DisplayProtoSchema)` to create a new message. */ export const DisplayProtoSchema: GenMessage<DisplayProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 3); /** * Information about each layer. * * @generated from message perfetto.protos.LayerProto */ export type LayerProto = Message<"perfetto.protos.LayerProto"> & { /** * unique id per layer. * * @generated from field: optional int32 id = 1; */ id: number; /** * unique name per layer. * Example: "Wallpaper". * * @generated from field: optional string name = 2; */ name: string; /** * list of children this layer may have. May be empty. * * @generated from field: repeated int32 children = 3 [packed = true]; */ children: number[]; /** * list of layers that are z order relative to this layer. * * @generated from field: repeated int32 relatives = 4 [packed = true]; */ relatives: number[]; /** * The type of layer. * Examples: "ContainerLayer", "BufferStateLayer". * * @generated from field: optional string type = 5; */ type: string; /** * @generated from field: optional perfetto.protos.RegionProto transparent_region = 6; */ transparentRegion?: RegionProto; /** * @generated from field: optional perfetto.protos.RegionProto visible_region = 7; */ visibleRegion?: RegionProto; /** * @generated from field: optional perfetto.protos.RegionProto damage_region = 8; */ damageRegion?: RegionProto; /** * @generated from field: optional uint32 layer_stack = 9; */ layerStack: number; /** * The layer's z order. Can be z order in layer stack, relative to parent, * or relative to another layer specified in zOrderRelative. * * @generated from field: optional int32 z = 10; */ z: number; /** * The layer's position on the display. * * @generated from field: optional perfetto.protos.PositionProto position = 11; */ position?: PositionProto; /** * The layer's requested position. * * @generated from field: optional perfetto.protos.PositionProto requested_position = 12; */ requestedPosition?: PositionProto; /** * The layer's size. * * @generated from field: optional perfetto.protos.SizeProto size = 13; */ size?: SizeProto; /** * The layer's crop in its own bounds. * * @generated from field: optional perfetto.protos.RectProto crop = 14; */ crop?: RectProto; /** * The layer's crop in its parent's bounds. * * @generated from field: optional perfetto.protos.RectProto final_crop = 15 [deprecated = true]; * @deprecated */ finalCrop?: RectProto; /** * @generated from field: optional bool is_opaque = 16; */ isOpaque: boolean; /** * @generated from field: optional bool invalidate = 17; */ invalidate: boolean; /** * Composition states's dataspace. * Examples: "STANDARD_BT709", "STANDARD_BT601_625". * See full enum in * frameworks/native/libs/nativewindow/include/android/data_space.h * * @generated from field: optional string dataspace = 18; */ dataspace: string; /** * Buffer's pixel format * Examples: "PIXEL_FORMAT_TRANSLUCENT", "PIXEL_FORMAT_RGBA_8888". * See full enum in frameworks/native/libs/ui/include/ui/PixelFormat.h * * @generated from field: optional string pixel_format = 19; */ pixelFormat: string; /** * The layer's actual color. * * @generated from field: optional perfetto.protos.ColorProto color = 20; */ color?: ColorProto; /** * The layer's requested color. * * @generated from field: optional perfetto.protos.ColorProto requested_color = 21; */ requestedColor?: ColorProto; /** * Can be any combination of * hidden = 0x01 * opaque = 0x02, * secure = 0x80, * * @generated from field: optional uint32 flags = 22; */ flags: number; /** * The layer's actual transform * * @generated from field: optional perfetto.protos.TransformProto transform = 23; */ transform?: TransformProto; /** * The layer's requested transform. * * @generated from field: optional perfetto.protos.TransformProto requested_transform = 24; */ requestedTransform?: TransformProto; /** * The parent layer. This value can be null if there is no parent. * * @generated from field: optional int32 parent = 25; */ parent: number; /** * The layer that this layer has a z order relative to. This value can be * null. * * @generated from field: optional int32 z_order_relative_of = 26; */ zOrderRelativeOf: number; /** * This value can be null if there's nothing to draw. * * @generated from field: optional perfetto.protos.ActiveBufferProto active_buffer = 27; */ activeBuffer?: ActiveBufferProto; /** * The number of frames available. * * @generated from field: optional int32 queued_frames = 28; */ queuedFrames: number; /** * @generated from field: optional bool refresh_pending = 29; */ refreshPending: boolean; /** * The layer's composer backend destination frame * * @generated from field: optional perfetto.protos.RectProto hwc_frame = 30; */ hwcFrame?: RectProto; /** * The layer's composer backend source crop * * @generated from field: optional perfetto.protos.FloatRectProto hwc_crop = 31; */ hwcCrop?: FloatRectProto; /** * The layer's composer backend transform * * @generated from field: optional int32 hwc_transform = 32; */ hwcTransform: number; /** * @generated from field: optional int32 window_type = 33 [deprecated = true]; * @deprecated */ windowType: number; /** * @generated from field: optional int32 app_id = 34 [deprecated = true]; * @deprecated */ appId: number; /** * The layer's composition type * * @generated from field: optional perfetto.protos.HwcCompositionType hwc_composition_type = 35; */ hwcCompositionType: HwcCompositionType; /** * If it's a buffer layer, indicate if the content is protected * * @generated from field: optional bool is_protected = 36; */ isProtected: boolean; /** * Current frame number being rendered. * * @generated from field: optional uint64 curr_frame = 37; */ currFrame: bigint; /** * A list of barriers that the layer is waiting to update state. * * @generated from field: repeated perfetto.protos.BarrierLayerProto barrier_layer = 38; */ barrierLayer: BarrierLayerProto[]; /** * If active_buffer is not null, record its transform. * * @generated from field: optional perfetto.protos.TransformProto buffer_transform = 39; */ bufferTransform?: TransformProto; /** * @generated from field: optional int32 effective_scaling_mode = 40; */ effectiveScalingMode: number; /** * Layer's corner radius. * * @generated from field: optional float corner_radius = 41; */ cornerRadius: number; /** * Metadata map. May be empty. * * @generated from field: map<int32, string> metadata = 42; */ metadata: { [key: number]: string }; /** * @generated from field: optional perfetto.protos.TransformProto effective_transform = 43; */ effectiveTransform?: TransformProto; /** * @generated from field: optional perfetto.protos.FloatRectProto source_bounds = 44; */ sourceBounds?: FloatRectProto; /** * @generated from field: optional perfetto.protos.FloatRectProto bounds = 45; */ bounds?: FloatRectProto; /** * @generated from field: optional perfetto.protos.FloatRectProto screen_bounds = 46; */ screenBounds?: FloatRectProto; /** * @generated from field: optional perfetto.protos.InputWindowInfoProto input_window_info = 47; */ inputWindowInfo?: InputWindowInfoProto; /** * Crop used to draw the rounded corner. * * @generated from field: optional perfetto.protos.FloatRectProto corner_radius_crop = 48; */ cornerRadiusCrop?: FloatRectProto; /** * length of the shadow to draw around the layer, it may be set on the * layer or set by a parent layer. * * @generated from field: optional float shadow_radius = 49; */ shadowRadius: number; /** * @generated from field: optional perfetto.protos.ColorTransformProto color_transform = 50; */ colorTransform?: ColorTransformProto; /** * @generated from field: optional bool is_relative_of = 51; */ isRelativeOf: boolean; /** * Layer's background blur radius in pixels. * * @generated from field: optional int32 background_blur_radius = 52; */ backgroundBlurRadius: number; /** * @generated from field: optional uint32 owner_uid = 53; */ ownerUid: number; /** * Regions of a layer, where blur should be applied. * * @generated from field: repeated perfetto.protos.BlurRegion blur_regions = 54; */ blurRegions: BlurRegion[]; /** * @generated from field: optional bool is_trusted_overlay = 55; */ isTrustedOverlay: boolean; /** * Corner radius explicitly set on layer rather than inherited * * @generated from field: optional float requested_corner_radius = 56; */ requestedCornerRadius: number; /** * @generated from field: optional perfetto.protos.RectProto destination_frame = 57; */ destinationFrame?: RectProto; /** * @generated from field: optional uint32 original_id = 58; */ originalId: number; /** * @generated from field: optional perfetto.protos.TrustedOverlay trusted_overlay = 59; */ trustedOverlay: TrustedOverlay; }; /** * Describes the message perfetto.protos.LayerProto. * Use `create(LayerProtoSchema)` to create a new message. */ export const LayerProtoSchema: GenMessage<LayerProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 4); /** * @generated from message perfetto.protos.PositionProto */ export type PositionProto = Message<"perfetto.protos.PositionProto"> & { /** * @generated from field: optional float x = 1; */ x: number; /** * @generated from field: optional float y = 2; */ y: number; }; /** * Describes the message perfetto.protos.PositionProto. * Use `create(PositionProtoSchema)` to create a new message. */ export const PositionProtoSchema: GenMessage<PositionProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 5); /** * @generated from message perfetto.protos.FloatRectProto */ export type FloatRectProto = Message<"perfetto.protos.FloatRectProto"> & { /** * @generated from field: optional float left = 1; */ left: number; /** * @generated from field: optional float top = 2; */ top: number; /** * @generated from field: optional float right = 3; */ right: number; /** * @generated from field: optional float bottom = 4; */ bottom: number; }; /** * Describes the message perfetto.protos.FloatRectProto. * Use `create(FloatRectProtoSchema)` to create a new message. */ export const FloatRectProtoSchema: GenMessage<FloatRectProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 6); /** * @generated from message perfetto.protos.ActiveBufferProto */ export type ActiveBufferProto = Message<"perfetto.protos.ActiveBufferProto"> & { /** * @generated from field: optional uint32 width = 1; */ width: number; /** * @generated from field: optional uint32 height = 2; */ height: number; /** * @generated from field: optional uint32 stride = 3; */ stride: number; /** * @generated from field: optional int32 format = 4; */ format: number; /** * @generated from field: optional uint64 usage = 5; */ usage: bigint; }; /** * Describes the message perfetto.protos.ActiveBufferProto. * Use `create(ActiveBufferProtoSchema)` to create a new message. */ export const ActiveBufferProtoSchema: GenMessage<ActiveBufferProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 7); /** * @generated from message perfetto.protos.BarrierLayerProto */ export type BarrierLayerProto = Message<"perfetto.protos.BarrierLayerProto"> & { /** * layer id the barrier is waiting on. * * @generated from field: optional int32 id = 1; */ id: number; /** * frame number the barrier is waiting on. * * @generated from field: optional uint64 frame_number = 2; */ frameNumber: bigint; }; /** * Describes the message perfetto.protos.BarrierLayerProto. * Use `create(BarrierLayerProtoSchema)` to create a new message. */ export const BarrierLayerProtoSchema: GenMessage<BarrierLayerProto> = /*@__PURE__*/ messageDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 8); /** * Must match definition in the IComposerClient HAL * * @generated from enum perfetto.protos.HwcCompositionType */ export enum HwcCompositionType { /** * Invalid composition type * * @generated from enum value: HWC_TYPE_UNSPECIFIED = 0; */ HWC_TYPE_UNSPECIFIED = 0, /** * Layer was composited by the client into the client target buffer * * @generated from enum value: HWC_TYPE_CLIENT = 1; */ HWC_TYPE_CLIENT = 1, /** * Layer was composited by the device through hardware overlays * * @generated from enum value: HWC_TYPE_DEVICE = 2; */ HWC_TYPE_DEVICE = 2, /** * Layer was composited by the device using a color * * @generated from enum value: HWC_TYPE_SOLID_COLOR = 3; */ HWC_TYPE_SOLID_COLOR = 3, /** * Similar to DEVICE, but the layer position may have been asynchronously set * through setCursorPosition * * @generated from enum value: HWC_TYPE_CURSOR = 4; */ HWC_TYPE_CURSOR = 4, /** * Layer was composited by the device via a sideband stream * * @generated from enum value: HWC_TYPE_SIDEBAND = 5; */ HWC_TYPE_SIDEBAND = 5, /** * Layer was composited by hardware optimized for display decoration * * @generated from enum value: HWC_TYPE_DISPLAY_DECORATION = 6; */ HWC_TYPE_DISPLAY_DECORATION = 6, } /** * Describes the enum perfetto.protos.HwcCompositionType. */ export const HwcCompositionTypeSchema: GenEnum<HwcCompositionType> = /*@__PURE__*/ enumDesc(file_protos_perfetto_trace_android_surfaceflinger_layers, 0);