diff options
author | 2015-05-04 08:09:30 -0700 | |
---|---|---|
committer | 2015-05-04 08:09:30 -0700 | |
commit | ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26 (patch) | |
tree | 37f3f06f49ac232382c691d09df3a8da0aada0ba /gm/convexpolyeffect.cpp | |
parent | f15132fdcf5aabb874f1c151a872efe54ee95118 (diff) |
Move instanced index buffer creation to flush time
Review URL: https://codereview.chromium.org/1116943004
Diffstat (limited to 'gm/convexpolyeffect.cpp')
-rw-r--r-- | gm/convexpolyeffect.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gm/convexpolyeffect.cpp b/gm/convexpolyeffect.cpp index 07d5fc2112..60b73c571d 100644 --- a/gm/convexpolyeffect.cpp +++ b/gm/convexpolyeffect.cpp @@ -17,6 +17,7 @@ #include "GrContext.h" #include "GrDefaultGeoProcFactory.h" #include "GrPathUtils.h" +#include "GrResourceProvider.h" #include "GrTest.h" #include "GrTestBatch.h" #include "SkColorPriv.h" @@ -52,8 +53,10 @@ private: } void onGenerateGeometry(GrBatchTarget* batchTarget, const GrPipeline* pipeline) override { - size_t vertexStride = this->geometryProcessor()->getVertexStride(); + SkAutoTUnref<const GrIndexBuffer> indexBuffer( + batchTarget->resourceProvider()->refQuadIndexBuffer()); + size_t vertexStride = this->geometryProcessor()->getVertexStride(); const GrVertexBuffer* vertexBuffer; int firstVertex; @@ -62,7 +65,7 @@ private: &vertexBuffer, &firstVertex); - if (!vertices || !batchTarget->quadIndexBuffer()) { + if (!vertices || !indexBuffer) { SkDebugf("Could not allocate buffers\n"); return; } @@ -82,7 +85,7 @@ private: drawInfo.setVertexCount(kVertsPerCubic); drawInfo.setStartIndex(0); drawInfo.setIndexCount(kIndicesPerCubic); - drawInfo.setIndexBuffer(batchTarget->quadIndexBuffer()); + drawInfo.setIndexBuffer(indexBuffer); batchTarget->draw(drawInfo); } |