diff options
Diffstat (limited to 'opengl/libagl/BufferObjectManager.cpp')
| -rw-r--r-- | opengl/libagl/BufferObjectManager.cpp | 103 | 
1 files changed, 0 insertions, 103 deletions
diff --git a/opengl/libagl/BufferObjectManager.cpp b/opengl/libagl/BufferObjectManager.cpp deleted file mode 100644 index 3d93c190ba..0000000000 --- a/opengl/libagl/BufferObjectManager.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - ** Copyright 2008, The Android Open Source Project - ** - ** Licensed under the Apache License, Version 2.0 (the "License");  - ** you may not use this file except in compliance with the License.  - ** You may obtain a copy of the License at  - ** - **     http://www.apache.org/licenses/LICENSE-2.0  - ** - ** Unless required by applicable law or agreed to in writing, software  - ** distributed under the License is distributed on an "AS IS" BASIS,  - ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  - ** See the License for the specific language governing permissions and  - ** limitations under the License. - */ - -#include <stdint.h> -#include <stddef.h> -#include <sys/types.h> - -#include <cutils/atomic.h> -#include <utils/RefBase.h> -#include <utils/KeyedVector.h> -#include <utils/Errors.h> - -#include <GLES/gl.h> - -#include "BufferObjectManager.h" - - -namespace android { - -using namespace gl; - -// ---------------------------------------------------------------------------- - -EGLBufferObjectManager::EGLBufferObjectManager()  -: TokenManager(), mCount(0) -{ -} - -EGLBufferObjectManager::~EGLBufferObjectManager() -{ -    // destroy all the buffer objects and their storage -    GLsizei n = mBuffers.size(); -    for (GLsizei i=0 ; i<n ; i++) { -        buffer_t* bo = mBuffers.valueAt(i); -        free(bo->data); -        delete bo; -    } -} - -buffer_t const* EGLBufferObjectManager::bind(GLuint buffer) -{ -    Mutex::Autolock _l(mLock); -    int32_t i = mBuffers.indexOfKey(buffer); -    if (i >= 0) { -        return mBuffers.valueAt(i); -    } -    buffer_t* bo = new buffer_t; -    bo->data = 0; -    bo->usage = GL_STATIC_DRAW; -    bo->size = 0; -    bo->name = buffer; -    mBuffers.add(buffer, bo); -    return bo; -} - -int EGLBufferObjectManager::allocateStore(buffer_t* bo, -        GLsizeiptr size, GLenum usage) -{ -    Mutex::Autolock _l(mLock); -    if (size != bo->size) { -       uint8_t* data = (uint8_t*)malloc(size); -        if (data == 0) -            return -1; -        free(bo->data); -        bo->data = data; -        bo->size = size; -    } -    bo->usage = usage; -    return 0; -} - -void EGLBufferObjectManager::deleteBuffers(GLsizei n, const GLuint* buffers) -{ -    Mutex::Autolock _l(mLock); -    while (n--) { -        const GLuint t = *buffers++; -        if (t) { -            int32_t index = mBuffers.indexOfKey(t); -            if (index >= 0) { -                buffer_t* bo = mBuffers.valueAt(index); -                free(bo->data); -                mBuffers.removeItemsAt(index); -                delete bo; -            } -        } -    } -} - -// ---------------------------------------------------------------------------- -}; // namespace android  |