/* * Copyright (C) 2019 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. */ syntax = "proto2"; package perfetto.protos; // Generated by Android's SurfaceFlinger. message GraphicsFrameEvent { enum BufferEventType { UNSPECIFIED = 0; DEQUEUE = 1; QUEUE = 2; POST = 3; ACQUIRE_FENCE = 4; LATCH = 5; // HWC will compose this buffer HWC_COMPOSITION_QUEUED = 6; // renderEngine composition FALLBACK_COMPOSITION = 7; PRESENT_FENCE = 8; RELEASE_FENCE = 9; MODIFY = 10; DETACH = 11; ATTACH = 12; CANCEL = 13; } message BufferEvent { optional uint32 frame_number = 1; optional BufferEventType type = 2; optional string layer_name = 3; // If no duration is set, the event is an instant event. optional uint64 duration_ns = 4; // Unique buffer identifier. optional uint32 buffer_id = 5; } optional BufferEvent buffer_event = 1; }