// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto3";

package test.custom_results.graphics;

option go_package = "go.chromium.org/chromiumos/infra/proto/go/test/custom_results/graphics";

import "test/custom_results/graphics/trace_id.proto";

// Details about a graphics trace file.
// Next Tag: 10
message Trace {
  // Global unique trace identifier.
  TraceId id = 1;
  string filename = 2;
  uint64 size = 3;

  // Source of the trace.
  string source = 4;

  // Source specific identifier for the program being traced. (eg Steam ID)
  string application_id = 5;

  // Number of frames in the trace.
  uint32 frame_count = 6;

  message Range {
    uint32 start = 1;
    uint32 end = 2;
  }

  // The range of frames after the game began to interact.
  Range frame_range = 7;

  // Frames that are worth checking for pixel correctness.
  repeated uint32 key_frames = 8;

  // Frames that are worth looping on to gauge performance.
  repeated uint32 loop_frames = 9;

  // TODO(davidriley): Add GL/Vulkan and profile.
  // TODO(davidriley): Add extensions used.
  // TODO(davidriley): Add compressed size?
}

message TraceList {
  repeated Trace value = 1;
}
