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
parent 2fc9f908
...@@ -100,7 +100,10 @@ std::size_t VertexDataManager::writeAttributeData(ArrayVertexBuffer *vertexBuffe ...@@ -100,7 +100,10 @@ std::size_t VertexDataManager::writeAttributeData(ArrayVertexBuffer *vertexBuffe
input = static_cast<const char*>(attribute.mPointer); input = static_cast<const char*>(attribute.mPointer);
} }
if (instances == 0 || attribute.mDivisor == 0)
{
input += inputStride * start; input += inputStride * start;
}
if (converter.identity && inputStride == elementSize) if (converter.identity && inputStride == elementSize)
{ {
...@@ -230,7 +233,12 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat ...@@ -230,7 +233,12 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
if (streamOffset != -1) 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 else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment