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 
allocate(GrGLsizeiptr size,const GrGLchar * dataPtr)11 void 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 
deleteAction()25 void GrBufferObj::deleteAction() {
26 
27     // buffers are automatically unmapped when deleted
28     this->resetMapped();
29 
30     this->INHERITED::deleteAction();
31 }
32