blob: 37d4438ef63d1d609dfd35cf2a8635761dccc3a6 [file] [log] [blame]
robertphillips@google.comdd743fe2012-04-05 14:40:53 +00001
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"
robertphillips@google.com0dd84a32012-04-16 16:24:35 +000010
robertphillips@google.comae6b7772013-07-18 18:07:39 +000011void GrBufferObj::allocate(GrGLsizeiptr size, const GrGLchar *dataPtr) {
robertphillips@google.com0dd84a32012-04-16 16:24:35 +000012 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}