| |
| /* |
| * 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(); |
| } |