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/validationES3.cpp b/src/libANGLE/validationES3.cpp
index e33a2fd..fef519b 100644
--- a/src/libANGLE/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -1413,7 +1413,7 @@
GLuint start,
GLuint end,
GLsizei count,
- GLenum type,
+ DrawElementsType type,
const void *indices)
{
if (context->getClientMajorVersion() < 3)
@@ -3101,7 +3101,7 @@
bool ValidateDrawElementsInstanced(Context *context,
PrimitiveMode mode,
GLsizei count,
- GLenum type,
+ DrawElementsType type,
const void *indices,
GLsizei instanceCount)
{
@@ -3152,7 +3152,7 @@
bool ValidateMultiDrawElementsInstancedANGLE(Context *context,
PrimitiveMode mode,
const GLsizei *counts,
- GLenum type,
+ DrawElementsType type,
const GLvoid *const *indices,
const GLsizei *instanceCounts,
GLsizei drawcount)