Use packed enum for DrawElementsType.
The packing and unpacking take a few extra instructions. But it
completely obviates the need for any switches in the validation code.
Speed is slightly faster or the similar depending on the back-end.
Also add gl_angle_ext.xml to GL entry point generator inputs. This was
missing and would cause the code generation to miss certain changes.
Bug: angleproject:2985
Change-Id: I1ea41a71db71135000166ead8305ec42d22ff7b3
Reviewed-on: https://chromium-review.googlesource.com/c/1351729
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/IndexBuffer.cpp b/src/libANGLE/renderer/d3d/IndexBuffer.cpp
index b46c4d1..1b04193 100644
--- a/src/libANGLE/renderer/d3d/IndexBuffer.cpp
+++ b/src/libANGLE/renderer/d3d/IndexBuffer.cpp
@@ -50,7 +50,7 @@
}
}
-GLenum IndexBufferInterface::getIndexType() const
+gl::DrawElementsType IndexBufferInterface::getIndexType() const
{
return mIndexBuffer->getIndexType();
}
@@ -122,7 +122,7 @@
angle::Result IndexBufferInterface::setBufferSize(const gl::Context *context,
unsigned int bufferSize,
- GLenum indexType)
+ gl::DrawElementsType indexType)
{
if (mIndexBuffer->getBufferSize() == 0)
{
@@ -142,7 +142,7 @@
angle::Result StreamingIndexBufferInterface::reserveBufferSpace(const gl::Context *context,
unsigned int size,
- GLenum indexType)
+ gl::DrawElementsType indexType)
{
unsigned int curBufferSize = getBufferSize();
unsigned int writePos = getWritePosition();
@@ -168,7 +168,7 @@
angle::Result StaticIndexBufferInterface::reserveBufferSpace(const gl::Context *context,
unsigned int size,
- GLenum indexType)
+ gl::DrawElementsType indexType)
{
unsigned int curSize = getBufferSize();
if (curSize == 0)