gfx/gl/VBOArena.h
author B2G Bumper Bot <release+b2gbumper@mozilla.com>
Mon, 14 Apr 2014 16:01:24 -0700
changeset 196968 f0eed6372c00ed67b1ac04f74167b4e958864834
parent 158361 5c04fad82d85d30b88b11a72fab787b91d188d29
child 203615 e06ed340ebcd63256c2503b4dccceae8bfd4ef2f
permissions -rw-r--r--
Bumping manifests a=b2g-bump

/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef VBOARENA_H_
#define VBOARENA_H_

#include "GLTypes.h"
#include <vector>

namespace mozilla {
namespace gl {

class GLContext;

class VBOArena {
public:
    // Allocate a new VBO.
    GLuint Allocate(GLContext *aGLContext);

    // Re-use previously allocated VBOs.
    void Reset();

    // Throw away all allocated VBOs.
    void Flush(GLContext *aGLContext);
private:
    std::vector<GLuint> mAllocatedVBOs;
    std::vector<GLuint> mAvailableVBOs;
};

}
}

#endif