Refactor how Gr handles vertex and index data. GrGpu and GrInOrderDrawBuffer both GrBufferAllocPool to manage reserved and set-to-array vertex and index data.
rietveld issue 4188049
git-svn-id: http://skia.googlecode.com/svn/trunk@786 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrDrawTarget.cpp b/gpu/src/GrDrawTarget.cpp
index 0f31e9a..5cfc6f4 100644
--- a/gpu/src/GrDrawTarget.cpp
+++ b/gpu/src/GrDrawTarget.cpp
@@ -458,20 +458,22 @@
fReservedGeometry.fLocked = false;
}
-void GrDrawTarget::setVertexSourceToArray(const void* array,
- GrVertexLayout vertexLayout) {
- fGeometrySrc.fVertexSrc = kArray_GeometrySrcType;
- fGeometrySrc.fVertexArray = array;
+void GrDrawTarget::setVertexSourceToArray(GrVertexLayout vertexLayout,
+ const void* vertexArray,
+ int vertexCount) {
+ fGeometrySrc.fVertexSrc = kArray_GeometrySrcType;
fGeometrySrc.fVertexLayout = vertexLayout;
+ setVertexSourceToArrayHelper(vertexArray, vertexCount);
}
-void GrDrawTarget::setIndexSourceToArray(const void* array) {
- fGeometrySrc.fIndexSrc = kArray_GeometrySrcType;
- fGeometrySrc.fIndexArray = array;
+void GrDrawTarget::setIndexSourceToArray(const void* indexArray,
+ int indexCount) {
+ fGeometrySrc.fIndexSrc = kArray_GeometrySrcType;
+ setIndexSourceToArrayHelper(indexArray, indexCount);
}
-void GrDrawTarget::setVertexSourceToBuffer(const GrVertexBuffer* buffer,
- GrVertexLayout vertexLayout) {
+void GrDrawTarget::setVertexSourceToBuffer(GrVertexLayout vertexLayout,
+ const GrVertexBuffer* buffer) {
fGeometrySrc.fVertexSrc = kBuffer_GeometrySrcType;
fGeometrySrc.fVertexBuffer = buffer;
fGeometrySrc.fVertexLayout = vertexLayout;