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/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp b/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp
index 4d6426c..d2b01d4 100644
--- a/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp
+++ b/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp
@@ -140,7 +140,7 @@
 {
     rx::SourceIndexData srcData = {nullptr, mubyteIndices.data(),
                                    static_cast<unsigned int>(mubyteIndices.size()),
-                                   GL_UNSIGNED_BYTE, false};
+                                   gl::DrawElementsType::UnsignedByte, false};
     emulateAndCompare(&srcData);
 }
 
@@ -150,7 +150,7 @@
 {
     rx::SourceIndexData srcData = {nullptr, mushortIndices.data(),
                                    static_cast<unsigned int>(mushortIndices.size()),
-                                   GL_UNSIGNED_SHORT, false};
+                                   gl::DrawElementsType::UnsignedShort, false};
     emulateAndCompare(&srcData);
 }
 
@@ -159,8 +159,8 @@
 TEST_P(D3D11EmulatedIndexedBufferTest, TestNativeToExpandedUsingGLuintIndices)
 {
     rx::SourceIndexData srcData = {nullptr, muintIndices.data(),
-                                   static_cast<unsigned int>(muintIndices.size()), GL_UNSIGNED_INT,
-                                   false};
+                                   static_cast<unsigned int>(muintIndices.size()),
+                                   gl::DrawElementsType::UnsignedInt, false};
     emulateAndCompare(&srcData);
 }
 
@@ -177,8 +177,8 @@
 
     // Do a basic exanded and compare test.
     rx::SourceIndexData srcData = {nullptr, muintIndices.data(),
-                                   static_cast<unsigned int>(muintIndices.size()), GL_UNSIGNED_INT,
-                                   false};
+                                   static_cast<unsigned int>(muintIndices.size()),
+                                   gl::DrawElementsType::UnsignedInt, false};
     emulateAndCompare(&srcData);
 
     const uint8_t *sourceBufferMem = nullptr;