Index: src/gpu/instanced/GLInstancedRendering.cpp |
diff --git a/src/gpu/instanced/GLInstancedRendering.cpp b/src/gpu/instanced/GLInstancedRendering.cpp |
index 3d9058ec3e73aaac0403870990ac3c58445126f4..6be2d63309178a5def24909a56c9a494b329c329 100644 |
--- a/src/gpu/instanced/GLInstancedRendering.cpp |
+++ b/src/gpu/instanced/GLInstancedRendering.cpp |
@@ -242,19 +242,19 @@ void GLInstancedRendering::onDraw(const GrPipeline& pipeline, const InstanceProc |
int emulatedBaseInstance = batch->fEmulatedBaseInstance; |
for (int i = 0; i < numCommands; ++i) { |
int glCmdIdx = batch->fGLDrawCmdsIdx + i; |
- const GLDrawCmdInfo& cmdInfo = fGLDrawCmdsInfo[glCmdIdx]; |
this->flushInstanceAttribs(emulatedBaseInstance); |
if (fDrawIndirectBuffer) { |
GL_CALL(DrawElementsIndirect(GR_GL_TRIANGLES, GR_GL_UNSIGNED_BYTE, |
(GrGLDrawElementsIndirectCommand*) nullptr + glCmdIdx)); |
} else { |
+ const GLDrawCmdInfo& cmdInfo = fGLDrawCmdsInfo[glCmdIdx]; |
GL_CALL(DrawElementsInstanced(GR_GL_TRIANGLES, cmdInfo.fGeometry.fCount, |
GR_GL_UNSIGNED_BYTE, |
(GrGLubyte*) nullptr + cmdInfo.fGeometry.fStart, |
cmdInfo.fInstanceCount)); |
- } |
- if (!glCaps.baseInstanceSupport()) { |
- emulatedBaseInstance += cmdInfo.fInstanceCount; |
csmartdalton
2016/09/15 16:16:24
This needs to happen for the glDrawElementsIndirec
|
+ if (!glCaps.baseInstanceSupport()) { |
+ emulatedBaseInstance += cmdInfo.fInstanceCount; |
+ } |
} |
} |
} |