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/validationES2.cpp b/src/libANGLE/validationES2.cpp
index af3628a..a7ffba6 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -5846,7 +5846,7 @@
bool ValidateDrawElements(Context *context,
PrimitiveMode mode,
GLsizei count,
- GLenum type,
+ DrawElementsType type,
const void *indices)
{
return ValidateDrawElementsCommon(context, mode, count, type, indices, 1);
@@ -6778,7 +6778,7 @@
bool ValidateMultiDrawElementsANGLE(Context *context,
PrimitiveMode mode,
const GLsizei *counts,
- GLenum type,
+ DrawElementsType type,
const GLvoid *const *indices,
GLsizei drawcount)
{