//
// 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_transactions.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, ColorTransformProto, RegionProto, 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_transactions.proto.
 */
export const file_protos_perfetto_trace_android_surfaceflinger_transactions: GenFile = /*@__PURE__*/
  fileDesc("Cj9wcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9zdXJmYWNlZmxpbmdlcl90cmFuc2FjdGlvbnMucHJvdG8SD3BlcmZldHRvLnByb3RvcyLrAQoUVHJhbnNhY3Rpb25UcmFjZUZpbGUSFAoMbWFnaWNfbnVtYmVyGAEgASgGEjUKBWVudHJ5GAIgAygLMiYucGVyZmV0dG8ucHJvdG9zLlRyYW5zYWN0aW9uVHJhY2VFbnRyeRIpCiFyZWFsX3RvX2VsYXBzZWRfdGltZV9vZmZzZXRfbmFub3MYAyABKAYSDwoHdmVyc2lvbhgEIAEoDSJKCgtNYWdpY051bWJlchILCgdJTlZBTElEEAASFgoOTUFHSUNfTlVNQkVSX0wQ1JzhogUSFgoOTUFHSUNfTlVNQkVSX0gQ0oKNqgQikgMKFVRyYW5zYWN0aW9uVHJhY2VFbnRyeRIeChZlbGFwc2VkX3JlYWx0aW1lX25hbm9zGAEgASgDEhAKCHZzeW5jX2lkGAIgASgDEjcKDHRyYW5zYWN0aW9ucxgDIAMoCzIhLnBlcmZldHRvLnByb3Rvcy5UcmFuc2FjdGlvblN0YXRlEjgKDGFkZGVkX2xheWVycxgEIAMoCzIiLnBlcmZldHRvLnByb3Rvcy5MYXllckNyZWF0aW9uQXJncxIYChBkZXN0cm95ZWRfbGF5ZXJzGAUgAygNEjUKDmFkZGVkX2Rpc3BsYXlzGAYgAygLMh0ucGVyZmV0dG8ucHJvdG9zLkRpc3BsYXlTdGF0ZRIYChByZW1vdmVkX2Rpc3BsYXlzGAcgAygFEh8KF2Rlc3Ryb3llZF9sYXllcl9oYW5kbGVzGAggAygNEhgKEGRpc3BsYXlzX2NoYW5nZWQYCSABKAgSLgoIZGlzcGxheXMYCiADKAsyHC5wZXJmZXR0by5wcm90b3MuRGlzcGxheUluZm8izgIKC0Rpc3BsYXlJbmZvEhMKC2xheWVyX3N0YWNrGAEgASgNEhIKCmRpc3BsYXlfaWQYAiABKAUSFQoNbG9naWNhbF93aWR0aBgDIAEoBRIWCg5sb2dpY2FsX2hlaWdodBgEIAEoBRI1ChF0cmFuc2Zvcm1faW52ZXJzZRgFIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5UcmFuc2Zvcm0SLQoJdHJhbnNmb3JtGAYgASgLMhoucGVyZmV0dG8ucHJvdG9zLlRyYW5zZm9ybRIWCg5yZWNlaXZlc19pbnB1dBgHIAEoCBIRCglpc19zZWN1cmUYCCABKAgSEgoKaXNfcHJpbWFyeRgJIAEoCBISCgppc192aXJ0dWFsGAogASgIEhYKDnJvdGF0aW9uX2ZsYWdzGAsgASgFEhYKDnRyYW5zZm9ybV9oaW50GAwgASgFIqEBChFMYXllckNyZWF0aW9uQXJncxIQCghsYXllcl9pZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWZsYWdzGAMgASgNEhEKCXBhcmVudF9pZBgEIAEoDRIWCg5taXJyb3JfZnJvbV9pZBgFIAEoDRITCgthZGRfdG9fcm9vdBgGIAEoCBIdChVsYXllcl9zdGFja190b19taXJyb3IYByABKA0iWwoJVHJhbnNmb3JtEgwKBGRzZHgYASABKAISDAoEZHRkeBgCIAEoAhIMCgRkdGR5GAMgASgCEgwKBGRzZHkYBCABKAISCgoCdHgYBSABKAISCgoCdHkYBiABKAIijQIKEFRyYW5zYWN0aW9uU3RhdGUSCwoDcGlkGAEgASgFEgsKA3VpZBgCIAEoBRIQCgh2c3luY19pZBgDIAEoAxIWCg5pbnB1dF9ldmVudF9pZBgEIAEoBRIRCglwb3N0X3RpbWUYBSABKAMSFgoOdHJhbnNhY3Rpb25faWQYBiABKAQSMgoNbGF5ZXJfY2hhbmdlcxgHIAMoCzIbLnBlcmZldHRvLnByb3Rvcy5MYXllclN0YXRlEjYKD2Rpc3BsYXlfY2hhbmdlcxgIIAMoCzIdLnBlcmZldHRvLnByb3Rvcy5EaXNwbGF5U3RhdGUSHgoWbWVyZ2VkX3RyYW5zYWN0aW9uX2lkcxgJIAMoBCLAIAoKTGF5ZXJTdGF0ZRIQCghsYXllcl9pZBgBIAEoDRIMCgR3aGF0GAIgASgEEgkKAXgYAyABKAISCQoBeRgEIAEoAhIJCgF6GAUgASgFEgkKAXcYBiABKA0SCQoBaBgHIAEoDRITCgtsYXllcl9zdGFjaxgIIAEoDRINCgVmbGFncxgJIAEoDRIMCgRtYXNrGAogASgNEjQKBm1hdHJpeBgLIAEoCzIkLnBlcmZldHRvLnByb3Rvcy5MYXllclN0YXRlLk1hdHJpeDIyEhUKDWNvcm5lcl9yYWRpdXMYDCABKAISHgoWYmFja2dyb3VuZF9ibHVyX3JhZGl1cxgNIAEoDRIRCglwYXJlbnRfaWQYDiABKA0SGgoScmVsYXRpdmVfcGFyZW50X2lkGA8gASgNEg0KBWFscGhhGBAgASgCEjEKBWNvbG9yGBEgASgLMiIucGVyZmV0dG8ucHJvdG9zLkxheWVyU3RhdGUuQ29sb3IzEjgKEnRyYW5zcGFyZW50X3JlZ2lvbhgSIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5SZWdpb25Qcm90bxIRCgl0cmFuc2Zvcm0YEyABKA0SJAocdHJhbnNmb3JtX3RvX2Rpc3BsYXlfaW52ZXJzZRgUIAEoCBIoCgRjcm9wGBUgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90bxI7CgtidWZmZXJfZGF0YRgWIAEoCzImLnBlcmZldHRvLnByb3Rvcy5MYXllclN0YXRlLkJ1ZmZlckRhdGESCwoDYXBpGBcgASgFEhsKE2hhc19zaWRlYmFuZF9zdHJlYW0YGCABKAgSPQoPY29sb3JfdHJhbnNmb3JtGBkgASgLMiQucGVyZmV0dG8ucHJvdG9zLkNvbG9yVHJhbnNmb3JtUHJvdG8SMQoMYmx1cl9yZWdpb25zGBogAygLMhsucGVyZmV0dG8ucHJvdG9zLkJsdXJSZWdpb24SQgoSd2luZG93X2luZm9faGFuZGxlGBsgASgLMiYucGVyZmV0dG8ucHJvdG9zLkxheWVyU3RhdGUuV2luZG93SW5mbxIWCg5iZ19jb2xvcl9hbHBoYRgcIAEoAhIaChJiZ19jb2xvcl9kYXRhc3BhY2UYHSABKAUSHAoUY29sb3Jfc3BhY2VfYWdub3N0aWMYHiABKAgSFQoNc2hhZG93X3JhZGl1cxgfIAEoAhIlCh1mcmFtZV9yYXRlX3NlbGVjdGlvbl9wcmlvcml0eRggIAEoBRISCgpmcmFtZV9yYXRlGCEgASgCEiAKGGZyYW1lX3JhdGVfY29tcGF0aWJpbGl0eRgiIAEoBRIiChpjaGFuZ2VfZnJhbWVfcmF0ZV9zdHJhdGVneRgjIAEoBRIcChRmaXhlZF90cmFuc2Zvcm1faGludBgkIAEoDRIUCgxmcmFtZV9udW1iZXIYJSABKAQSFAoMYXV0b19yZWZyZXNoGCYgASgIEhoKEmlzX3RydXN0ZWRfb3ZlcmxheRgnIAEoCBIvCgtidWZmZXJfY3JvcBgoIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SNQoRZGVzdGluYXRpb25fZnJhbWUYKSABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEkIKD2Ryb3BfaW5wdXRfbW9kZRgqIAEoDjIpLnBlcmZldHRvLnByb3Rvcy5MYXllclN0YXRlLkRyb3BJbnB1dE1vZGUSOAoPdHJ1c3RlZF9vdmVybGF5GCsgASgOMh8ucGVyZmV0dG8ucHJvdG9zLlRydXN0ZWRPdmVybGF5GkIKCE1hdHJpeDIyEgwKBGRzZHgYASABKAISDAoEZHRkeBgCIAEoAhIMCgRkdGR5GAMgASgCEgwKBGRzZHkYBCABKAIaKQoGQ29sb3IzEgkKAXIYASABKAISCQoBZxgCIAEoAhIJCgFiGAMgASgCGpQGCgpCdWZmZXJEYXRhEhEKCWJ1ZmZlcl9pZBgBIAEoBBINCgV3aWR0aBgCIAEoDRIOCgZoZWlnaHQYAyABKA0SFAoMZnJhbWVfbnVtYmVyGAQgASgEEg0KBWZsYWdzGAUgASgNEhgKEGNhY2hlZF9idWZmZXJfaWQYBiABKAQSSAoMcGl4ZWxfZm9ybWF0GAcgASgOMjIucGVyZmV0dG8ucHJvdG9zLkxheWVyU3RhdGUuQnVmZmVyRGF0YS5QaXhlbEZvcm1hdBINCgV1c2FnZRgIIAEoBCJvChBCdWZmZXJEYXRhQ2hhbmdlEhgKFEJ1ZmZlckRhdGFDaGFuZ2VOb25lEAASEAoMZmVuY2VDaGFuZ2VkEAESFgoSZnJhbWVOdW1iZXJDaGFuZ2VkEAISFwoTY2FjaGVkQnVmZmVyQ2hhbmdlZBAEIsoDCgtQaXhlbEZvcm1hdBIYChRQSVhFTF9GT1JNQVRfVU5LTk9XThAAEiAKE1BJWEVMX0ZPUk1BVF9DVVNUT00Q/P//////////ARIlChhQSVhFTF9GT1JNQVRfVFJBTlNMVUNFTlQQ/f//////////ARIlChhQSVhFTF9GT1JNQVRfVFJBTlNQQVJFTlQQ/v//////////ARIgChNQSVhFTF9GT1JNQVRfT1BBUVVFEP///////////wESGgoWUElYRUxfRk9STUFUX1JHQkFfODg4OBABEhoKFlBJWEVMX0ZPUk1BVF9SR0JYXzg4ODgQAhIYChRQSVhFTF9GT1JNQVRfUkdCXzg4OBADEhgKFFBJWEVMX0ZPUk1BVF9SR0JfNTY1EAQSGgoWUElYRUxfRk9STUFUX0JHUkFfODg4OBAFEhoKFlBJWEVMX0ZPUk1BVF9SR0JBXzU1NTEQBhIaChZQSVhFTF9GT1JNQVRfUkdCQV80NDQ0EAcSGgoWUElYRUxfRk9STUFUX1JHQkFfRlAxNhAWEh0KGVBJWEVMX0ZPUk1BVF9SR0JBXzEwMTAxMDIQKxIUChBQSVhFTF9GT1JNQVRfUl84EDgangMKCldpbmRvd0luZm8SGwoTbGF5b3V0X3BhcmFtc19mbGFncxgBIAEoDRIaChJsYXlvdXRfcGFyYW1zX3R5cGUYAiABKAUSNgoQdG91Y2hhYmxlX3JlZ2lvbhgDIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5SZWdpb25Qcm90bxIVCg1zdXJmYWNlX2luc2V0GAQgASgFEhEKCWZvY3VzYWJsZRgFIAEoCBIVCg1oYXNfd2FsbHBhcGVyGAYgASgIEhsKE2dsb2JhbF9zY2FsZV9mYWN0b3IYByABKAISFQoNY3JvcF9sYXllcl9pZBgIIAEoDRIqCiJyZXBsYWNlX3RvdWNoYWJsZV9yZWdpb25fd2l0aF9jcm9wGAkgASgIEjkKFXRvdWNoYWJsZV9yZWdpb25fY3JvcBgKIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SLQoJdHJhbnNmb3JtGAsgASgLMhoucGVyZmV0dG8ucHJvdG9zLlRyYW5zZm9ybRIUCgxpbnB1dF9jb25maWcYDCABKA0i+AUKCkNoYW5nZXNMc2ISEwoPZUNoYW5nZXNMc2JOb25lEAASFAoQZVBvc2l0aW9uQ2hhbmdlZBABEhEKDWVMYXllckNoYW5nZWQQAhIRCg1lQWxwaGFDaGFuZ2VkEAgSEgoOZU1hdHJpeENoYW5nZWQQEBIdChllVHJhbnNwYXJlbnRSZWdpb25DaGFuZ2VkECASEQoNZUZsYWdzQ2hhbmdlZBBAEhcKEmVMYXllclN0YWNrQ2hhbmdlZBCAARIiCh1lUmVsZWFzZUJ1ZmZlckxpc3RlbmVyQ2hhbmdlZBCACBIZChRlU2hhZG93UmFkaXVzQ2hhbmdlZBCAEBIXChJlQnVmZmVyQ3JvcENoYW5nZWQQgEASGwoVZVJlbGF0aXZlTGF5ZXJDaGFuZ2VkEICAARIPCgllUmVwYXJlbnQQgIACEhMKDWVDb2xvckNoYW5nZWQQgIAEEh0KF2VCdWZmZXJUcmFuc2Zvcm1DaGFuZ2VkEICAEBInCiFlVHJhbnNmb3JtVG9EaXNwbGF5SW52ZXJzZUNoYW5nZWQQgIAgEhIKDGVDcm9wQ2hhbmdlZBCAgEASFQoOZUJ1ZmZlckNoYW5nZWQQgICAARIbChRlQWNxdWlyZUZlbmNlQ2hhbmdlZBCAgIACEhgKEWVEYXRhc3BhY2VDaGFuZ2VkEICAgAQSGgoTZUhkck1ldGFkYXRhQ2hhbmdlZBCAgIAIEiIKG2VTdXJmYWNlRGFtYWdlUmVnaW9uQ2hhbmdlZBCAgIAQEhIKC2VBcGlDaGFuZ2VkEICAgCASHQoWZVNpZGViYW5kU3RyZWFtQ2hhbmdlZBCAgIBAEh4KFmVDb2xvclRyYW5zZm9ybUNoYW5nZWQQgICAgAESJAocZUhhc0xpc3RlbmVyQ2FsbGJhY2tzQ2hhbmdlZBCAgICAAhIZChFlSW5wdXRJbmZvQ2hhbmdlZBCAgICABBIhChRlQ29ybmVyUmFkaXVzQ2hhbmdlZBCAgICA+P////8BIuEDCgpDaGFuZ2VzTXNiEhMKD2VDaGFuZ2VzTXNiTm9uZRAAEhwKGGVEZXN0aW5hdGlvbkZyYW1lQ2hhbmdlZBABEhgKFGVDYWNoZWRCdWZmZXJDaGFuZ2VkEAISGwoXZUJhY2tncm91bmRDb2xvckNoYW5nZWQQBBIUChBlTWV0YWRhdGFDaGFuZ2VkEAgSHgoaZUNvbG9yU3BhY2VBZ25vc3RpY0NoYW5nZWQQEBIfChtlRnJhbWVSYXRlU2VsZWN0aW9uUHJpb3JpdHkQIBIVChFlRnJhbWVSYXRlQ2hhbmdlZBBAEiEKHGVCYWNrZ3JvdW5kQmx1clJhZGl1c0NoYW5nZWQQgAESGAoTZVByb2R1Y2VyRGlzY29ubmVjdBCAAhIfChplRml4ZWRUcmFuc2Zvcm1IaW50Q2hhbmdlZBCABBIYChNlRnJhbWVOdW1iZXJDaGFuZ2VkEIAIEhgKE2VCbHVyUmVnaW9uc0NoYW5nZWQQgBASGAoTZUF1dG9SZWZyZXNoQ2hhbmdlZBCAIBIUCg9lU3RyZXRjaENoYW5nZWQQgEASHAoWZVRydXN0ZWRPdmVybGF5Q2hhbmdlZBCAgAESGwoVZURyb3BJbnB1dE1vZGVDaGFuZ2VkEICAAiKiAQoFRmxhZ3MSDgoKZUZsYWdzTm9uZRAAEhAKDGVMYXllckhpZGRlbhABEhAKDGVMYXllck9wYXF1ZRACEhgKFGVMYXllclNraXBTY3JlZW5zaG90EEASEQoMZUxheWVyU2VjdXJlEIABEhgKE2VFbmFibGVCYWNrcHJlc3N1cmUQgAISHgoZZUxheWVySXNEaXNwbGF5RGVjb3JhdGlvbhCABCIwCg1Ecm9wSW5wdXRNb2RlEggKBE5PTkUQABIHCgNBTEwQARIMCghPQlNDVVJFRBACIpMDCgxEaXNwbGF5U3RhdGUSCgoCaWQYASABKAUSDAoEd2hhdBgCIAEoDRINCgVmbGFncxgDIAEoDRITCgtsYXllcl9zdGFjaxgEIAEoDRITCgtvcmllbnRhdGlvbhgFIAEoDRI6ChZsYXllcl9zdGFja19zcGFjZV9yZWN0GAYgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90bxI/ChtvcmllbnRlZF9kaXNwbGF5X3NwYWNlX3JlY3QYByABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEg0KBXdpZHRoGAggASgNEg4KBmhlaWdodBgJIAEoDSKTAQoHQ2hhbmdlcxIQCgxlQ2hhbmdlc05vbmUQABITCg9lU3VyZmFjZUNoYW5nZWQQARIWChJlTGF5ZXJTdGFja0NoYW5nZWQQAhIdChllRGlzcGxheVByb2plY3Rpb25DaGFuZ2VkEAQSFwoTZURpc3BsYXlTaXplQ2hhbmdlZBAIEhEKDWVGbGFnc0NoYW5nZWQQEA", [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 transactions.
 * Encoded, it should start with 0x54 0x4E 0x58 0x54 0x52 0x41 0x43 0x45
 * (.TNXTRACE), such that they can be easily identified.
 *
 * @generated from message perfetto.protos.TransactionTraceFile
 */
export type TransactionTraceFile = Message<"perfetto.protos.TransactionTraceFile"> & {
  /**
   * 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.TransactionTraceEntry entry = 2;
   */
  entry: TransactionTraceEntry[];

  /**
   * 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;

  /**
   * @generated from field: optional uint32 version = 4;
   */
  version: number;
};

/**
 * Describes the message perfetto.protos.TransactionTraceFile.
 * Use `create(TransactionTraceFileSchema)` to create a new message.
 */
export const TransactionTraceFileSchema: GenMessage<TransactionTraceFile> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 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.TransactionTraceFile.MagicNumber
 */
export enum TransactionTraceFile_MagicNumber {
  /**
   * @generated from enum value: INVALID = 0;
   */
  INVALID = 0,

  /**
   * TNXT (little-endian ASCII)
   *
   * @generated from enum value: MAGIC_NUMBER_L = 1415073364;
   */
  MAGIC_NUMBER_L = 1415073364,

  /**
   * RACE (little-endian ASCII)
   *
   * @generated from enum value: MAGIC_NUMBER_H = 1162035538;
   */
  MAGIC_NUMBER_H = 1162035538,
}

/**
 * Describes the enum perfetto.protos.TransactionTraceFile.MagicNumber.
 */
export const TransactionTraceFile_MagicNumberSchema: GenEnum<TransactionTraceFile_MagicNumber> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 0, 0);

/**
 * @generated from message perfetto.protos.TransactionTraceEntry
 */
export type TransactionTraceEntry = Message<"perfetto.protos.TransactionTraceEntry"> & {
  /**
   * @generated from field: optional int64 elapsed_realtime_nanos = 1;
   */
  elapsedRealtimeNanos: bigint;

  /**
   * @generated from field: optional int64 vsync_id = 2;
   */
  vsyncId: bigint;

  /**
   * @generated from field: repeated perfetto.protos.TransactionState transactions = 3;
   */
  transactions: TransactionState[];

  /**
   * @generated from field: repeated perfetto.protos.LayerCreationArgs added_layers = 4;
   */
  addedLayers: LayerCreationArgs[];

  /**
   * @generated from field: repeated uint32 destroyed_layers = 5;
   */
  destroyedLayers: number[];

  /**
   * @generated from field: repeated perfetto.protos.DisplayState added_displays = 6;
   */
  addedDisplays: DisplayState[];

  /**
   * @generated from field: repeated int32 removed_displays = 7;
   */
  removedDisplays: number[];

  /**
   * @generated from field: repeated uint32 destroyed_layer_handles = 8;
   */
  destroyedLayerHandles: number[];

  /**
   * @generated from field: optional bool displays_changed = 9;
   */
  displaysChanged: boolean;

  /**
   * @generated from field: repeated perfetto.protos.DisplayInfo displays = 10;
   */
  displays: DisplayInfo[];
};

/**
 * Describes the message perfetto.protos.TransactionTraceEntry.
 * Use `create(TransactionTraceEntrySchema)` to create a new message.
 */
export const TransactionTraceEntrySchema: GenMessage<TransactionTraceEntry> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 1);

/**
 * @generated from message perfetto.protos.DisplayInfo
 */
export type DisplayInfo = Message<"perfetto.protos.DisplayInfo"> & {
  /**
   * @generated from field: optional uint32 layer_stack = 1;
   */
  layerStack: number;

  /**
   * @generated from field: optional int32 display_id = 2;
   */
  displayId: number;

  /**
   * @generated from field: optional int32 logical_width = 3;
   */
  logicalWidth: number;

  /**
   * @generated from field: optional int32 logical_height = 4;
   */
  logicalHeight: number;

  /**
   * @generated from field: optional perfetto.protos.Transform transform_inverse = 5;
   */
  transformInverse?: Transform;

  /**
   * @generated from field: optional perfetto.protos.Transform transform = 6;
   */
  transform?: Transform;

  /**
   * @generated from field: optional bool receives_input = 7;
   */
  receivesInput: boolean;

  /**
   * @generated from field: optional bool is_secure = 8;
   */
  isSecure: boolean;

  /**
   * @generated from field: optional bool is_primary = 9;
   */
  isPrimary: boolean;

  /**
   * @generated from field: optional bool is_virtual = 10;
   */
  isVirtual: boolean;

  /**
   * @generated from field: optional int32 rotation_flags = 11;
   */
  rotationFlags: number;

  /**
   * @generated from field: optional int32 transform_hint = 12;
   */
  transformHint: number;
};

/**
 * Describes the message perfetto.protos.DisplayInfo.
 * Use `create(DisplayInfoSchema)` to create a new message.
 */
export const DisplayInfoSchema: GenMessage<DisplayInfo> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 2);

/**
 * @generated from message perfetto.protos.LayerCreationArgs
 */
export type LayerCreationArgs = Message<"perfetto.protos.LayerCreationArgs"> & {
  /**
   * @generated from field: optional uint32 layer_id = 1;
   */
  layerId: number;

  /**
   * @generated from field: optional string name = 2;
   */
  name: string;

  /**
   * @generated from field: optional uint32 flags = 3;
   */
  flags: number;

  /**
   * @generated from field: optional uint32 parent_id = 4;
   */
  parentId: number;

  /**
   * @generated from field: optional uint32 mirror_from_id = 5;
   */
  mirrorFromId: number;

  /**
   * @generated from field: optional bool add_to_root = 6;
   */
  addToRoot: boolean;

  /**
   * @generated from field: optional uint32 layer_stack_to_mirror = 7;
   */
  layerStackToMirror: number;
};

/**
 * Describes the message perfetto.protos.LayerCreationArgs.
 * Use `create(LayerCreationArgsSchema)` to create a new message.
 */
export const LayerCreationArgsSchema: GenMessage<LayerCreationArgs> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 3);

/**
 * @generated from message perfetto.protos.Transform
 */
export type Transform = Message<"perfetto.protos.Transform"> & {
  /**
   * @generated from field: optional float dsdx = 1;
   */
  dsdx: number;

  /**
   * @generated from field: optional float dtdx = 2;
   */
  dtdx: number;

  /**
   * @generated from field: optional float dtdy = 3;
   */
  dtdy: number;

  /**
   * @generated from field: optional float dsdy = 4;
   */
  dsdy: number;

  /**
   * @generated from field: optional float tx = 5;
   */
  tx: number;

  /**
   * @generated from field: optional float ty = 6;
   */
  ty: number;
};

/**
 * Describes the message perfetto.protos.Transform.
 * Use `create(TransformSchema)` to create a new message.
 */
export const TransformSchema: GenMessage<Transform> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 4);

/**
 * @generated from message perfetto.protos.TransactionState
 */
export type TransactionState = Message<"perfetto.protos.TransactionState"> & {
  /**
   * @generated from field: optional int32 pid = 1;
   */
  pid: number;

  /**
   * @generated from field: optional int32 uid = 2;
   */
  uid: number;

  /**
   * @generated from field: optional int64 vsync_id = 3;
   */
  vsyncId: bigint;

  /**
   * @generated from field: optional int32 input_event_id = 4;
   */
  inputEventId: number;

  /**
   * @generated from field: optional int64 post_time = 5;
   */
  postTime: bigint;

  /**
   * @generated from field: optional uint64 transaction_id = 6;
   */
  transactionId: bigint;

  /**
   * @generated from field: repeated perfetto.protos.LayerState layer_changes = 7;
   */
  layerChanges: LayerState[];

  /**
   * @generated from field: repeated perfetto.protos.DisplayState display_changes = 8;
   */
  displayChanges: DisplayState[];

  /**
   * @generated from field: repeated uint64 merged_transaction_ids = 9;
   */
  mergedTransactionIds: bigint[];
};

/**
 * Describes the message perfetto.protos.TransactionState.
 * Use `create(TransactionStateSchema)` to create a new message.
 */
export const TransactionStateSchema: GenMessage<TransactionState> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 5);

/**
 * Keep insync with layer_state_t
 *
 * @generated from message perfetto.protos.LayerState
 */
export type LayerState = Message<"perfetto.protos.LayerState"> & {
  /**
   * @generated from field: optional uint32 layer_id = 1;
   */
  layerId: number;

  /**
   * @generated from field: optional uint64 what = 2;
   */
  what: bigint;

  /**
   * @generated from field: optional float x = 3;
   */
  x: number;

  /**
   * @generated from field: optional float y = 4;
   */
  y: number;

  /**
   * @generated from field: optional int32 z = 5;
   */
  z: number;

  /**
   * @generated from field: optional uint32 w = 6;
   */
  w: number;

  /**
   * @generated from field: optional uint32 h = 7;
   */
  h: number;

  /**
   * @generated from field: optional uint32 layer_stack = 8;
   */
  layerStack: number;

  /**
   * @generated from field: optional uint32 flags = 9;
   */
  flags: number;

  /**
   * @generated from field: optional uint32 mask = 10;
   */
  mask: number;

  /**
   * @generated from field: optional perfetto.protos.LayerState.Matrix22 matrix = 11;
   */
  matrix?: LayerState_Matrix22;

  /**
   * @generated from field: optional float corner_radius = 12;
   */
  cornerRadius: number;

  /**
   * @generated from field: optional uint32 background_blur_radius = 13;
   */
  backgroundBlurRadius: number;

  /**
   * @generated from field: optional uint32 parent_id = 14;
   */
  parentId: number;

  /**
   * @generated from field: optional uint32 relative_parent_id = 15;
   */
  relativeParentId: number;

  /**
   * @generated from field: optional float alpha = 16;
   */
  alpha: number;

  /**
   * @generated from field: optional perfetto.protos.LayerState.Color3 color = 17;
   */
  color?: LayerState_Color3;

  /**
   * @generated from field: optional perfetto.protos.RegionProto transparent_region = 18;
   */
  transparentRegion?: RegionProto;

  /**
   * @generated from field: optional uint32 transform = 19;
   */
  transform: number;

  /**
   * @generated from field: optional bool transform_to_display_inverse = 20;
   */
  transformToDisplayInverse: boolean;

  /**
   * @generated from field: optional perfetto.protos.RectProto crop = 21;
   */
  crop?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.LayerState.BufferData buffer_data = 22;
   */
  bufferData?: LayerState_BufferData;

  /**
   * @generated from field: optional int32 api = 23;
   */
  api: number;

  /**
   * @generated from field: optional bool has_sideband_stream = 24;
   */
  hasSidebandStream: boolean;

  /**
   * @generated from field: optional perfetto.protos.ColorTransformProto color_transform = 25;
   */
  colorTransform?: ColorTransformProto;

  /**
   * @generated from field: repeated perfetto.protos.BlurRegion blur_regions = 26;
   */
  blurRegions: BlurRegion[];

  /**
   * @generated from field: optional perfetto.protos.LayerState.WindowInfo window_info_handle = 27;
   */
  windowInfoHandle?: LayerState_WindowInfo;

  /**
   * @generated from field: optional float bg_color_alpha = 28;
   */
  bgColorAlpha: number;

  /**
   * @generated from field: optional int32 bg_color_dataspace = 29;
   */
  bgColorDataspace: number;

  /**
   * @generated from field: optional bool color_space_agnostic = 30;
   */
  colorSpaceAgnostic: boolean;

  /**
   * @generated from field: optional float shadow_radius = 31;
   */
  shadowRadius: number;

  /**
   * @generated from field: optional int32 frame_rate_selection_priority = 32;
   */
  frameRateSelectionPriority: number;

  /**
   * @generated from field: optional float frame_rate = 33;
   */
  frameRate: number;

  /**
   * @generated from field: optional int32 frame_rate_compatibility = 34;
   */
  frameRateCompatibility: number;

  /**
   * @generated from field: optional int32 change_frame_rate_strategy = 35;
   */
  changeFrameRateStrategy: number;

  /**
   * @generated from field: optional uint32 fixed_transform_hint = 36;
   */
  fixedTransformHint: number;

  /**
   * @generated from field: optional uint64 frame_number = 37;
   */
  frameNumber: bigint;

  /**
   * @generated from field: optional bool auto_refresh = 38;
   */
  autoRefresh: boolean;

  /**
   * unused
   *
   * @generated from field: optional bool is_trusted_overlay = 39;
   */
  isTrustedOverlay: boolean;

  /**
   * @generated from field: optional perfetto.protos.RectProto buffer_crop = 40;
   */
  bufferCrop?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto destination_frame = 41;
   */
  destinationFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.LayerState.DropInputMode drop_input_mode = 42;
   */
  dropInputMode: LayerState_DropInputMode;

  /**
   * @generated from field: optional perfetto.protos.TrustedOverlay trusted_overlay = 43;
   */
  trustedOverlay: TrustedOverlay;
};

/**
 * Describes the message perfetto.protos.LayerState.
 * Use `create(LayerStateSchema)` to create a new message.
 */
export const LayerStateSchema: GenMessage<LayerState> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6);

/**
 * @generated from message perfetto.protos.LayerState.Matrix22
 */
export type LayerState_Matrix22 = Message<"perfetto.protos.LayerState.Matrix22"> & {
  /**
   * @generated from field: optional float dsdx = 1;
   */
  dsdx: number;

  /**
   * @generated from field: optional float dtdx = 2;
   */
  dtdx: number;

  /**
   * @generated from field: optional float dtdy = 3;
   */
  dtdy: number;

  /**
   * @generated from field: optional float dsdy = 4;
   */
  dsdy: number;
};

/**
 * Describes the message perfetto.protos.LayerState.Matrix22.
 * Use `create(LayerState_Matrix22Schema)` to create a new message.
 */
export const LayerState_Matrix22Schema: GenMessage<LayerState_Matrix22> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 0);

/**
 * @generated from message perfetto.protos.LayerState.Color3
 */
export type LayerState_Color3 = Message<"perfetto.protos.LayerState.Color3"> & {
  /**
   * @generated from field: optional float r = 1;
   */
  r: number;

  /**
   * @generated from field: optional float g = 2;
   */
  g: number;

  /**
   * @generated from field: optional float b = 3;
   */
  b: number;
};

/**
 * Describes the message perfetto.protos.LayerState.Color3.
 * Use `create(LayerState_Color3Schema)` to create a new message.
 */
export const LayerState_Color3Schema: GenMessage<LayerState_Color3> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 1);

/**
 * @generated from message perfetto.protos.LayerState.BufferData
 */
export type LayerState_BufferData = Message<"perfetto.protos.LayerState.BufferData"> & {
  /**
   * @generated from field: optional uint64 buffer_id = 1;
   */
  bufferId: bigint;

  /**
   * @generated from field: optional uint32 width = 2;
   */
  width: number;

  /**
   * @generated from field: optional uint32 height = 3;
   */
  height: number;

  /**
   * @generated from field: optional uint64 frame_number = 4;
   */
  frameNumber: bigint;

  /**
   * @generated from field: optional uint32 flags = 5;
   */
  flags: number;

  /**
   * @generated from field: optional uint64 cached_buffer_id = 6;
   */
  cachedBufferId: bigint;

  /**
   * @generated from field: optional perfetto.protos.LayerState.BufferData.PixelFormat pixel_format = 7;
   */
  pixelFormat: LayerState_BufferData_PixelFormat;

  /**
   * @generated from field: optional uint64 usage = 8;
   */
  usage: bigint;
};

/**
 * Describes the message perfetto.protos.LayerState.BufferData.
 * Use `create(LayerState_BufferDataSchema)` to create a new message.
 */
export const LayerState_BufferDataSchema: GenMessage<LayerState_BufferData> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 2);

/**
 * @generated from enum perfetto.protos.LayerState.BufferData.BufferDataChange
 */
export enum LayerState_BufferData_BufferDataChange {
  /**
   * @generated from enum value: BufferDataChangeNone = 0;
   */
  BufferDataChangeNone = 0,

  /**
   * @generated from enum value: fenceChanged = 1;
   */
  fenceChanged = 1,

  /**
   * @generated from enum value: frameNumberChanged = 2;
   */
  frameNumberChanged = 2,

  /**
   * @generated from enum value: cachedBufferChanged = 4;
   */
  cachedBufferChanged = 4,
}

/**
 * Describes the enum perfetto.protos.LayerState.BufferData.BufferDataChange.
 */
export const LayerState_BufferData_BufferDataChangeSchema: GenEnum<LayerState_BufferData_BufferDataChange> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 2, 0);

/**
 * @generated from enum perfetto.protos.LayerState.BufferData.PixelFormat
 */
export enum LayerState_BufferData_PixelFormat {
  /**
   * @generated from enum value: PIXEL_FORMAT_UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: PIXEL_FORMAT_CUSTOM = -4;
   */
  CUSTOM = -4,

  /**
   * @generated from enum value: PIXEL_FORMAT_TRANSLUCENT = -3;
   */
  TRANSLUCENT = -3,

  /**
   * @generated from enum value: PIXEL_FORMAT_TRANSPARENT = -2;
   */
  TRANSPARENT = -2,

  /**
   * @generated from enum value: PIXEL_FORMAT_OPAQUE = -1;
   */
  OPAQUE = -1,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGBA_8888 = 1;
   */
  RGBA_8888 = 1,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGBX_8888 = 2;
   */
  RGBX_8888 = 2,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGB_888 = 3;
   */
  RGB_888 = 3,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGB_565 = 4;
   */
  RGB_565 = 4,

  /**
   * @generated from enum value: PIXEL_FORMAT_BGRA_8888 = 5;
   */
  BGRA_8888 = 5,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGBA_5551 = 6;
   */
  RGBA_5551 = 6,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGBA_4444 = 7;
   */
  RGBA_4444 = 7,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGBA_FP16 = 22;
   */
  RGBA_FP16 = 22,

  /**
   * @generated from enum value: PIXEL_FORMAT_RGBA_1010102 = 43;
   */
  RGBA_1010102 = 43,

  /**
   * @generated from enum value: PIXEL_FORMAT_R_8 = 56;
   */
  R_8 = 56,
}

/**
 * Describes the enum perfetto.protos.LayerState.BufferData.PixelFormat.
 */
export const LayerState_BufferData_PixelFormatSchema: GenEnum<LayerState_BufferData_PixelFormat> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 2, 1);

/**
 * @generated from message perfetto.protos.LayerState.WindowInfo
 */
export type LayerState_WindowInfo = Message<"perfetto.protos.LayerState.WindowInfo"> & {
  /**
   * @generated from field: optional uint32 layout_params_flags = 1;
   */
  layoutParamsFlags: number;

  /**
   * @generated from field: optional int32 layout_params_type = 2;
   */
  layoutParamsType: number;

  /**
   * @generated from field: optional perfetto.protos.RegionProto touchable_region = 3;
   */
  touchableRegion?: RegionProto;

  /**
   * @generated from field: optional int32 surface_inset = 4;
   */
  surfaceInset: number;

  /**
   * unused
   *
   * @generated from field: optional bool focusable = 5;
   */
  focusable: boolean;

  /**
   * unused
   *
   * @generated from field: optional bool has_wallpaper = 6;
   */
  hasWallpaper: boolean;

  /**
   * @generated from field: optional float global_scale_factor = 7;
   */
  globalScaleFactor: number;

  /**
   * @generated from field: optional uint32 crop_layer_id = 8;
   */
  cropLayerId: number;

  /**
   * @generated from field: optional bool replace_touchable_region_with_crop = 9;
   */
  replaceTouchableRegionWithCrop: boolean;

  /**
   * @generated from field: optional perfetto.protos.RectProto touchable_region_crop = 10;
   */
  touchableRegionCrop?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.Transform transform = 11;
   */
  transform?: Transform;

  /**
   * @generated from field: optional uint32 input_config = 12;
   */
  inputConfig: number;
};

/**
 * Describes the message perfetto.protos.LayerState.WindowInfo.
 * Use `create(LayerState_WindowInfoSchema)` to create a new message.
 */
export const LayerState_WindowInfoSchema: GenMessage<LayerState_WindowInfo> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 3);

/**
 * Changes are split into ChangesLsb and ChangesMsb. First 32 bits are in
 * ChangesLsb and the next 32 bits are in ChangesMsb. 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.LayerState.ChangesLsb
 */
export enum LayerState_ChangesLsb {
  /**
   * @generated from enum value: eChangesLsbNone = 0;
   */
  eChangesLsbNone = 0,

  /**
   * @generated from enum value: ePositionChanged = 1;
   */
  ePositionChanged = 1,

  /**
   * @generated from enum value: eLayerChanged = 2;
   */
  eLayerChanged = 2,

  /**
   * unused = 0x00000004;
   *
   * @generated from enum value: eAlphaChanged = 8;
   */
  eAlphaChanged = 8,

  /**
   * @generated from enum value: eMatrixChanged = 16;
   */
  eMatrixChanged = 16,

  /**
   * @generated from enum value: eTransparentRegionChanged = 32;
   */
  eTransparentRegionChanged = 32,

  /**
   * @generated from enum value: eFlagsChanged = 64;
   */
  eFlagsChanged = 64,

  /**
   * @generated from enum value: eLayerStackChanged = 128;
   */
  eLayerStackChanged = 128,

  /**
   * @generated from enum value: eReleaseBufferListenerChanged = 1024;
   */
  eReleaseBufferListenerChanged = 1024,

  /**
   * @generated from enum value: eShadowRadiusChanged = 2048;
   */
  eShadowRadiusChanged = 2048,

  /**
   * @generated from enum value: eBufferCropChanged = 8192;
   */
  eBufferCropChanged = 8192,

  /**
   * @generated from enum value: eRelativeLayerChanged = 16384;
   */
  eRelativeLayerChanged = 16384,

  /**
   * @generated from enum value: eReparent = 32768;
   */
  eReparent = 32768,

  /**
   * @generated from enum value: eColorChanged = 65536;
   */
  eColorChanged = 65536,

  /**
   * @generated from enum value: eBufferTransformChanged = 262144;
   */
  eBufferTransformChanged = 262144,

  /**
   * @generated from enum value: eTransformToDisplayInverseChanged = 524288;
   */
  eTransformToDisplayInverseChanged = 524288,

  /**
   * @generated from enum value: eCropChanged = 1048576;
   */
  eCropChanged = 1048576,

  /**
   * @generated from enum value: eBufferChanged = 2097152;
   */
  eBufferChanged = 2097152,

  /**
   * @generated from enum value: eAcquireFenceChanged = 4194304;
   */
  eAcquireFenceChanged = 4194304,

  /**
   * @generated from enum value: eDataspaceChanged = 8388608;
   */
  eDataspaceChanged = 8388608,

  /**
   * @generated from enum value: eHdrMetadataChanged = 16777216;
   */
  eHdrMetadataChanged = 16777216,

  /**
   * @generated from enum value: eSurfaceDamageRegionChanged = 33554432;
   */
  eSurfaceDamageRegionChanged = 33554432,

  /**
   * @generated from enum value: eApiChanged = 67108864;
   */
  eApiChanged = 67108864,

  /**
   * @generated from enum value: eSidebandStreamChanged = 134217728;
   */
  eSidebandStreamChanged = 134217728,

  /**
   * @generated from enum value: eColorTransformChanged = 268435456;
   */
  eColorTransformChanged = 268435456,

  /**
   * @generated from enum value: eHasListenerCallbacksChanged = 536870912;
   */
  eHasListenerCallbacksChanged = 536870912,

  /**
   * @generated from enum value: eInputInfoChanged = 1073741824;
   */
  eInputInfoChanged = 1073741824,

  /**
   * 0x80000000; (proto stores enums as signed int)
   *
   * @generated from enum value: eCornerRadiusChanged = -2147483648;
   */
  eCornerRadiusChanged = -2147483648,
}

/**
 * Describes the enum perfetto.protos.LayerState.ChangesLsb.
 */
export const LayerState_ChangesLsbSchema: GenEnum<LayerState_ChangesLsb> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 0);

/**
 * @generated from enum perfetto.protos.LayerState.ChangesMsb
 */
export enum LayerState_ChangesMsb {
  /**
   * @generated from enum value: eChangesMsbNone = 0;
   */
  eChangesMsbNone = 0,

  /**
   * @generated from enum value: eDestinationFrameChanged = 1;
   */
  eDestinationFrameChanged = 1,

  /**
   * @generated from enum value: eCachedBufferChanged = 2;
   */
  eCachedBufferChanged = 2,

  /**
   * @generated from enum value: eBackgroundColorChanged = 4;
   */
  eBackgroundColorChanged = 4,

  /**
   * @generated from enum value: eMetadataChanged = 8;
   */
  eMetadataChanged = 8,

  /**
   * @generated from enum value: eColorSpaceAgnosticChanged = 16;
   */
  eColorSpaceAgnosticChanged = 16,

  /**
   * @generated from enum value: eFrameRateSelectionPriority = 32;
   */
  eFrameRateSelectionPriority = 32,

  /**
   * @generated from enum value: eFrameRateChanged = 64;
   */
  eFrameRateChanged = 64,

  /**
   * @generated from enum value: eBackgroundBlurRadiusChanged = 128;
   */
  eBackgroundBlurRadiusChanged = 128,

  /**
   * @generated from enum value: eProducerDisconnect = 256;
   */
  eProducerDisconnect = 256,

  /**
   * @generated from enum value: eFixedTransformHintChanged = 512;
   */
  eFixedTransformHintChanged = 512,

  /**
   * @generated from enum value: eFrameNumberChanged = 1024;
   */
  eFrameNumberChanged = 1024,

  /**
   * @generated from enum value: eBlurRegionsChanged = 2048;
   */
  eBlurRegionsChanged = 2048,

  /**
   * @generated from enum value: eAutoRefreshChanged = 4096;
   */
  eAutoRefreshChanged = 4096,

  /**
   * @generated from enum value: eStretchChanged = 8192;
   */
  eStretchChanged = 8192,

  /**
   * @generated from enum value: eTrustedOverlayChanged = 16384;
   */
  eTrustedOverlayChanged = 16384,

  /**
   * @generated from enum value: eDropInputModeChanged = 32768;
   */
  eDropInputModeChanged = 32768,
}

/**
 * Describes the enum perfetto.protos.LayerState.ChangesMsb.
 */
export const LayerState_ChangesMsbSchema: GenEnum<LayerState_ChangesMsb> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 1);

/**
 * @generated from enum perfetto.protos.LayerState.Flags
 */
export enum LayerState_Flags {
  /**
   * @generated from enum value: eFlagsNone = 0;
   */
  eFlagsNone = 0,

  /**
   * @generated from enum value: eLayerHidden = 1;
   */
  eLayerHidden = 1,

  /**
   * @generated from enum value: eLayerOpaque = 2;
   */
  eLayerOpaque = 2,

  /**
   * @generated from enum value: eLayerSkipScreenshot = 64;
   */
  eLayerSkipScreenshot = 64,

  /**
   * @generated from enum value: eLayerSecure = 128;
   */
  eLayerSecure = 128,

  /**
   * @generated from enum value: eEnableBackpressure = 256;
   */
  eEnableBackpressure = 256,

  /**
   * @generated from enum value: eLayerIsDisplayDecoration = 512;
   */
  eLayerIsDisplayDecoration = 512,
}

/**
 * Describes the enum perfetto.protos.LayerState.Flags.
 */
export const LayerState_FlagsSchema: GenEnum<LayerState_Flags> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 2);

/**
 * @generated from enum perfetto.protos.LayerState.DropInputMode
 */
export enum LayerState_DropInputMode {
  /**
   * @generated from enum value: NONE = 0;
   */
  NONE = 0,

  /**
   * @generated from enum value: ALL = 1;
   */
  ALL = 1,

  /**
   * @generated from enum value: OBSCURED = 2;
   */
  OBSCURED = 2,
}

/**
 * Describes the enum perfetto.protos.LayerState.DropInputMode.
 */
export const LayerState_DropInputModeSchema: GenEnum<LayerState_DropInputMode> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 6, 3);

/**
 * @generated from message perfetto.protos.DisplayState
 */
export type DisplayState = Message<"perfetto.protos.DisplayState"> & {
  /**
   * @generated from field: optional int32 id = 1;
   */
  id: number;

  /**
   * @generated from field: optional uint32 what = 2;
   */
  what: number;

  /**
   * @generated from field: optional uint32 flags = 3;
   */
  flags: number;

  /**
   * @generated from field: optional uint32 layer_stack = 4;
   */
  layerStack: number;

  /**
   * @generated from field: optional uint32 orientation = 5;
   */
  orientation: number;

  /**
   * @generated from field: optional perfetto.protos.RectProto layer_stack_space_rect = 6;
   */
  layerStackSpaceRect?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto oriented_display_space_rect = 7;
   */
  orientedDisplaySpaceRect?: RectProto;

  /**
   * @generated from field: optional uint32 width = 8;
   */
  width: number;

  /**
   * @generated from field: optional uint32 height = 9;
   */
  height: number;
};

/**
 * Describes the message perfetto.protos.DisplayState.
 * Use `create(DisplayStateSchema)` to create a new message.
 */
export const DisplayStateSchema: GenMessage<DisplayState> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 7);

/**
 * @generated from enum perfetto.protos.DisplayState.Changes
 */
export enum DisplayState_Changes {
  /**
   * @generated from enum value: eChangesNone = 0;
   */
  eChangesNone = 0,

  /**
   * @generated from enum value: eSurfaceChanged = 1;
   */
  eSurfaceChanged = 1,

  /**
   * @generated from enum value: eLayerStackChanged = 2;
   */
  eLayerStackChanged = 2,

  /**
   * @generated from enum value: eDisplayProjectionChanged = 4;
   */
  eDisplayProjectionChanged = 4,

  /**
   * @generated from enum value: eDisplaySizeChanged = 8;
   */
  eDisplaySizeChanged = 8,

  /**
   * @generated from enum value: eFlagsChanged = 16;
   */
  eFlagsChanged = 16,
}

/**
 * Describes the enum perfetto.protos.DisplayState.Changes.
 */
export const DisplayState_ChangesSchema: GenEnum<DisplayState_Changes> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_surfaceflinger_transactions, 7, 0);

