aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/gpu/gl/debug/GrBufferObj.cpp
blob: 37d4438ef63d1d609dfd35cf2a8635761dccc3a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

/*
 * Copyright 2012 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "GrBufferObj.h"

void GrBufferObj::allocate(GrGLsizeiptr size, const GrGLchar *dataPtr) {
    GrAlwaysAssert(size >= 0);

    // delete pre-existing data
    delete[] fDataPtr;

    fSize = size;
    fDataPtr = new GrGLchar[size];
    if (dataPtr) {
        memcpy(fDataPtr, dataPtr, fSize);
    }
    // TODO: w/ no dataPtr the data is unitialized - this could be tracked
}

void GrBufferObj::deleteAction() {

    // buffers are automatically unmapped when deleted
    this->resetMapped();

    this->INHERITED::deleteAction();
}