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.
5 #ifndef CC_QUADS_RENDER_PASS_ID_H_
6 #define CC_QUADS_RENDER_PASS_ID_H_
8 #include "base/basictypes.h"
9 #include "base/containers/hash_tables.h"
10 #include "cc/base/cc_export.h"
14 class CC_EXPORT RenderPassId
{
19 RenderPassId() : layer_id(-1), index(0) {}
20 RenderPassId(int layer_id
, size_t index
) : layer_id(layer_id
), index(index
) {}
21 void* AsTracingId() const;
23 bool IsValid() const { return layer_id
>= 0; }
25 bool operator==(const RenderPassId
& other
) const {
26 return layer_id
== other
.layer_id
&& index
== other
.index
;
28 bool operator!=(const RenderPassId
& other
) const { return !(*this == other
); }
29 bool operator<(const RenderPassId
& other
) const {
30 return layer_id
< other
.layer_id
||
31 (layer_id
== other
.layer_id
&& index
< other
.index
);
37 #endif // CC_QUADS_RENDER_PASS_ID_H_