diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/IndexRangeCache.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/IndexRangeCache.cpp | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/IndexRangeCache.cpp b/src/3rdparty/angle/src/libANGLE/IndexRangeCache.cpp deleted file mode 100644 index 71a1392b1b..0000000000 --- a/src/3rdparty/angle/src/libANGLE/IndexRangeCache.cpp +++ /dev/null @@ -1,121 +0,0 @@ -// -// Copyright (c) 2013 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. -// - -// IndexRangeCache.cpp: Defines the gl::IndexRangeCache class which stores information about -// ranges of indices. - -#include "libANGLE/IndexRangeCache.h" - -#include "common/debug.h" -#include "libANGLE/formatutils.h" - -namespace gl -{ - -IndexRangeCache::IndexRangeCache() -{ -} - -IndexRangeCache::~IndexRangeCache() -{ -} - -void IndexRangeCache::addRange(GLenum type, - size_t offset, - size_t count, - bool primitiveRestartEnabled, - const IndexRange &range) -{ - mIndexRangeCache[IndexRangeKey(type, offset, count, primitiveRestartEnabled)] = range; -} - -bool IndexRangeCache::findRange(GLenum type, - size_t offset, - size_t count, - bool primitiveRestartEnabled, - IndexRange *outRange) const -{ - auto i = mIndexRangeCache.find(IndexRangeKey(type, offset, count, primitiveRestartEnabled)); - if (i != mIndexRangeCache.end()) - { - if (outRange) - { - *outRange = i->second; - } - return true; - } - else - { - if (outRange) - { - *outRange = IndexRange(); - } - return false; - } -} - -void IndexRangeCache::invalidateRange(size_t offset, size_t size) -{ - size_t invalidateStart = offset; - size_t invalidateEnd = offset + size; - - auto i = mIndexRangeCache.begin(); - while (i != mIndexRangeCache.end()) - { - size_t rangeStart = i->first.offset; - size_t rangeEnd = i->first.offset + (GetTypeInfo(i->first.type).bytes * i->first.count); - - if (invalidateEnd < rangeStart || invalidateStart > rangeEnd) - { - ++i; - } - else - { - mIndexRangeCache.erase(i++); - } - } -} - -void IndexRangeCache::clear() -{ - mIndexRangeCache.clear(); -} - -IndexRangeCache::IndexRangeKey::IndexRangeKey() - : IndexRangeCache::IndexRangeKey(GL_NONE, 0, 0, false) -{ -} - -IndexRangeCache::IndexRangeKey::IndexRangeKey(GLenum type_, - size_t offset_, - size_t count_, - bool primitiveRestartEnabled_) - : type(type_), offset(offset_), count(count_), primitiveRestartEnabled(primitiveRestartEnabled_) -{ -} - -bool IndexRangeCache::IndexRangeKey::operator<(const IndexRangeKey &rhs) const -{ - if (type != rhs.type) - { - return type < rhs.type; - } - if (offset != rhs.offset) - { - return offset < rhs.offset; - } - if (count != rhs.count) - { - return count < rhs.count; - } - if (primitiveRestartEnabled != rhs.primitiveRestartEnabled) - { - return primitiveRestartEnabled; - } - return false; -} - -} |