Ignore the 'first' parameter of glDrawArraysInstanced for instanced attributes.
TRAC #19489
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@971 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/VertexDataManager.cpp b/src/libGLESv2/VertexDataManager.cpp
index 59b6b44..e3915fe 100644
--- a/src/libGLESv2/VertexDataManager.cpp
+++ b/src/libGLESv2/VertexDataManager.cpp
@@ -100,7 +100,10 @@
input = static_cast<const char*>(attribute.mPointer);
}
- input += inputStride * start;
+ if (instances == 0 || attribute.mDivisor == 0)
+ {
+ input += inputStride * start;
+ }
if (converter.identity && inputStride == elementSize)
{
@@ -230,7 +233,12 @@
if (streamOffset != -1)
{
- streamOffset += (start + attribs[i].mOffset / attribs[i].stride()) * converter.outputElementSize;
+ streamOffset += (attribs[i].mOffset / attribs[i].stride()) * converter.outputElementSize;
+
+ if (instances == 0 || attribs[i].mDivisor == 0)
+ {
+ streamOffset += start * converter.outputElementSize;
+ }
}
}
else