| Index: src/gpu/GrImmediateDrawTarget.cpp
|
| diff --git a/src/gpu/GrImmediateDrawTarget.cpp b/src/gpu/GrImmediateDrawTarget.cpp
|
| index 999446f0a46c244790c2121612bf864c3d260f3f..3bff379cad4226c8ba994ecb4c9027dd451aef3d 100644
|
| --- a/src/gpu/GrImmediateDrawTarget.cpp
|
| +++ b/src/gpu/GrImmediateDrawTarget.cpp
|
| @@ -25,14 +25,17 @@ GrImmediateDrawTarget::~GrImmediateDrawTarget() {
|
| this->reset();
|
| }
|
|
|
| -void GrImmediateDrawTarget::onDrawBatch(GrBatch* batch) {
|
| +void GrImmediateDrawTarget::onDrawBatch(GrDrawBatch* batch) {
|
| fBatchTarget.resetNumberOfDraws();
|
|
|
| - batch->generateGeometry(&fBatchTarget);
|
| - batch->setNumberOfDraws(fBatchTarget.numberOfDraws());
|
| + // TODO: encapsulate the specialization of GrVertexBatch in GrVertexBatch so that we can
|
| + // remove this cast. Currently all GrDrawBatches are in fact GrVertexBatch.
|
| + GrVertexBatch* vertexBatch = static_cast<GrVertexBatch*>(batch);
|
| + vertexBatch->generateGeometry(&fBatchTarget);
|
| + vertexBatch->setNumberOfDraws(fBatchTarget.numberOfDraws());
|
|
|
| fBatchTarget.preFlush();
|
| - fBatchTarget.flushNext(batch->numberOfDraws());
|
| + fBatchTarget.flushNext(vertexBatch->numberOfDraws());
|
| fBatchTarget.postFlush();
|
| }
|
|
|
|
|