Hash :
69cce580
Author :
Date :
2015-09-17T13:20:36
Split the SamplerState struct into SamplerState and TextureState. SamplerState is now only the members that are overridden by a sampler object, this makes it easy to update those specific members. Opted for getters and setters for each member in Texture and Sampler because it will be required to enable dirty bits for these states. Added maxAnisotropy to the SamplerState instead of texture state. The sampler objects extension mentions it should be there. BUG=angleproject:1162 Change-Id: I5aa6d702bd5915ee9df1976afef3c8c1f69d27c8 Reviewed-on: https://chromium-review.googlesource.com/300490 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
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);
}
}