diff options
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/HandleAllocator.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/HandleAllocator.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/HandleAllocator.cpp b/src/3rdparty/angle/src/libGLESv2/HandleAllocator.cpp deleted file mode 100644 index c498f8a178..0000000000 --- a/src/3rdparty/angle/src/libGLESv2/HandleAllocator.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// -// Copyright (c) 2002-2011 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. -// - -// HandleAllocator.cpp: Implements the gl::HandleAllocator class, which is used -// to allocate GL handles. - -#include "libGLESv2/HandleAllocator.h" - -#include "libGLESv2/main.h" - -namespace gl -{ - -HandleAllocator::HandleAllocator() : mBaseValue(1), mNextValue(1) -{ -} - -HandleAllocator::~HandleAllocator() -{ -} - -void HandleAllocator::setBaseHandle(GLuint value) -{ - ASSERT(mBaseValue == mNextValue); - mBaseValue = value; - mNextValue = value; -} - -GLuint HandleAllocator::allocate() -{ - if (mFreeValues.size()) - { - GLuint handle = mFreeValues.back(); - mFreeValues.pop_back(); - return handle; - } - return mNextValue++; -} - -void HandleAllocator::release(GLuint handle) -{ - if (handle == mNextValue - 1) - { - // Don't drop below base value - if(mNextValue > mBaseValue) - { - mNextValue--; - } - } - else - { - // Only free handles that we own - don't drop below the base value - if (handle >= mBaseValue) - { - mFreeValues.push_back(handle); - } - } -} - -} |