1
2/*
3 * Copyright 2012 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9#include "GrBufferObj.h"
10
11void GrBufferObj::allocate(GrGLsizeiptr size, const GrGLchar *dataPtr) {
12    GrAlwaysAssert(size >= 0);
13
14    // delete pre-existing data
15    delete[] fDataPtr;
16
17    fSize = size;
18    fDataPtr = new GrGLchar[size];
19    if (dataPtr) {
20        memcpy(fDataPtr, dataPtr, fSize);
21    }
22    // TODO: w/ no dataPtr the data is unitialized - this could be tracked
23}
24
25void GrBufferObj::deleteAction() {
26
27    // buffers are automatically unmapped when deleted
28    this->resetMapped();
29
30    this->INHERITED::deleteAction();
31}
32