1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CC_QUADS_RENDER_PASS_ID_H_
6#define CC_QUADS_RENDER_PASS_ID_H_
7
8#include "base/basictypes.h"
9#include "base/containers/hash_tables.h"
10#include "cc/base/cc_export.h"
11
12namespace cc {
13
14class CC_EXPORT RenderPassId {
15 public:
16  int layer_id;
17  int index;
18
19  RenderPassId(int layer_id, int index) : layer_id(layer_id), index(index) {}
20  void* AsTracingId() const;
21
22  bool operator==(const RenderPassId& other) const {
23    return layer_id == other.layer_id && index == other.index;
24  }
25  bool operator!=(const RenderPassId& other) const { return !(*this == other); }
26  bool operator<(const RenderPassId& other) const {
27    return layer_id < other.layer_id ||
28           (layer_id == other.layer_id && index < other.index);
29  }
30};
31
32}  // namespace cc
33
34#endif  // CC_QUADS_RENDER_PASS_ID_H_
35