Change offsets in MultiDrawElements* entrypoints to match glMultiDrawElements
This patch changes arguments for MultiDrawElements and
MultiDrawElementsInstanced from from GLsizei *offsets to
const* GLvoid* indices.
Bug: chromium:890539
Change-Id: I2124cf2daeaa6af0f889f3c46aa2b8c77be200a6
Reviewed-on: https://chromium-review.googlesource.com/c/1352591
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index e69cc3c..1f660de 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -5467,7 +5467,7 @@
void Context::multiDrawElements(PrimitiveMode mode,
const GLsizei *counts,
GLenum type,
- const GLsizei *offsets,
+ const GLvoid *const *indices,
GLsizei drawcount)
{
ANGLE_CONTEXT_TRY(prepareForDraw(mode));
@@ -5482,9 +5482,8 @@
continue;
}
programObject->setDrawIDUniform(drawID);
- const void *indices = reinterpret_cast<void *>(static_cast<long>(offsets[drawID]));
ANGLE_CONTEXT_TRY(
- mImplementation->drawElements(this, mode, counts[drawID], type, indices));
+ mImplementation->drawElements(this, mode, counts[drawID], type, indices[drawID]));
}
}
else
@@ -5495,9 +5494,8 @@
{
continue;
}
- const void *indices = reinterpret_cast<void *>(static_cast<long>(offsets[drawID]));
ANGLE_CONTEXT_TRY(
- mImplementation->drawElements(this, mode, counts[drawID], type, indices));
+ mImplementation->drawElements(this, mode, counts[drawID], type, indices[drawID]));
}
}
}
@@ -5505,7 +5503,7 @@
void Context::multiDrawElementsInstanced(PrimitiveMode mode,
const GLsizei *counts,
GLenum type,
- const GLsizei *offsets,
+ const GLvoid *const *indices,
const GLsizei *instanceCounts,
GLsizei drawcount)
{
@@ -5521,9 +5519,8 @@
continue;
}
programObject->setDrawIDUniform(drawID);
- const void *indices = reinterpret_cast<void *>(static_cast<long>(offsets[drawID]));
ANGLE_CONTEXT_TRY(mImplementation->drawElementsInstanced(
- this, mode, counts[drawID], type, indices, instanceCounts[drawID]));
+ this, mode, counts[drawID], type, indices[drawID], instanceCounts[drawID]));
}
}
else
@@ -5534,9 +5531,8 @@
{
continue;
}
- const void *indices = reinterpret_cast<void *>(static_cast<long>(offsets[drawID]));
ANGLE_CONTEXT_TRY(mImplementation->drawElementsInstanced(
- this, mode, counts[drawID], type, indices, instanceCounts[drawID]));
+ this, mode, counts[drawID], type, indices[drawID], instanceCounts[drawID]));
}
}
}