summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/angletypes.inl
blob: d51bcaaa7893a6c58888b4a922c5952a428112aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//
// Copyright (c) 2012-2015 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

// angletypes.inl : Inline definitions of some functions from angletypes.h

namespace gl
{

template <typename T>
bool operator==(const Color<T> &a, const Color<T> &b)
{
    return a.red == b.red &&
           a.green == b.green &&
           a.blue == b.blue &&
           a.alpha == b.alpha;
}

template <typename T>
bool operator!=(const Color<T> &a, const Color<T> &b)
{
    return !(a == b);
}

inline bool operator==(const Rectangle &a, const Rectangle &b)
{
    return a.x == b.x &&
           a.y == b.y &&
           a.width == b.width &&
           a.height == b.height;
}

inline bool operator!=(const Rectangle &a, const Rectangle &b)
{
    return !(a == b);
}

inline bool operator==(const SamplerState &a, const SamplerState &b)
{
    return a.minFilter == b.minFilter &&
           a.magFilter == b.magFilter &&
           a.wrapS == b.wrapS &&
           a.wrapT == b.wrapT &&
           a.wrapR == b.wrapR &&
           a.maxAnisotropy == b.maxAnisotropy &&
           a.minLod == b.minLod &&
           a.maxLod == b.maxLod &&
           a.compareMode == b.compareMode &&
           a.compareFunc == b.compareFunc;
}

inline bool operator!=(const SamplerState &a, const SamplerState &b)
{
    return !(a == b);
}

inline bool operator==(const TextureState &a, const TextureState &b)
{
    return a.swizzleRed == b.swizzleRed &&
           a.swizzleGreen == b.swizzleGreen &&
           a.swizzleBlue == b.swizzleBlue &&
           a.swizzleAlpha == b.swizzleAlpha &&
           a.samplerState == b.samplerState &&
           a.baseLevel == b.baseLevel &&
           a.maxLevel == b.maxLevel &&
           a.immutableFormat == b.immutableFormat &&
           a.immutableLevels == b.immutableLevels &&
           a.usage == b.usage;
}

inline bool operator!=(const TextureState &a, const TextureState &b)
{
    return !(a == b);
}

}