UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

681 lines 20.9 kB
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import type { BlurRegion, ColorProto, ColorTransformProto, InputWindowInfoProto, RegionProto, SizeProto, TransformProto, TrustedOverlay } from "./surfaceflinger_common_pb"; import type { RectProto } from "./graphics/rect_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/perfetto/trace/android/surfaceflinger_layers.proto. */ export declare const file_protos_perfetto_trace_android_surfaceflinger_layers: GenFile; /** * 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 declare const LayersTraceFileProtoSchema: GenMessage<LayersTraceFileProto>; /** * 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 declare 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 declare const LayersTraceFileProto_MagicNumberSchema: GenEnum<LayersTraceFileProto_MagicNumber>; /** * @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 declare const LayersSnapshotProtoSchema: GenMessage<LayersSnapshotProto>; /** * 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 declare const LayersProtoSchema: GenMessage<LayersProto>; /** * @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 declare const DisplayProtoSchema: GenMessage<DisplayProto>; /** * 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 declare const LayerProtoSchema: GenMessage<LayerProto>; /** * @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 declare const PositionProtoSchema: GenMessage<PositionProto>; /** * @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 declare const FloatRectProtoSchema: GenMessage<FloatRectProto>; /** * @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 declare const ActiveBufferProtoSchema: GenMessage<ActiveBufferProto>; /** * @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 declare const BarrierLayerProtoSchema: GenMessage<BarrierLayerProto>; /** * Must match definition in the IComposerClient HAL * * @generated from enum perfetto.protos.HwcCompositionType */ export declare 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 declare const HwcCompositionTypeSchema: GenEnum<HwcCompositionType>; //# sourceMappingURL=surfaceflinger_layers_pb.d.ts.map