Hash :
77ae8d57
Author :
Date :
2016-05-06T14:19:01
Share TextureState structure with TextureImpl This refactoring patch removes the need to pass texture state to methods of TextureImpl in some cases. It also adds target value to TextureState, and moves TextureState definition to Texture.h. The effective base level can now also be queried from TextureState, which reduces the need to pass it around. Two different code paths that dealt with the TextureStorage11 SRV cache are combined into one. Besides refactoring, this patch fixes applying mTopLevel twice when determining the amount of mip levels TextureStorage11. BUG=angleproject:596 TEST=angle_end2end_tests, angle_unittests Change-Id: I1add3d9ad847bec56774e394125156cf9cb0fc2a Reviewed-on: https://chromium-review.googlesource.com/342940 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
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
//
// 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);
}
}