From 76eabc3cc4a4246d684275f3fb6b4611dadb1648 Mon Sep 17 00:00:00 2001 From: "oetuaho@nvidia.com" Date: Mon, 14 Apr 2014 10:49:17 +0000 Subject: [PATCH] Support ANGLE_instanced_arrays on GLES3 glDrawArraysInstanced, glDrawElementsInstanced, and glVertexAttribDivisor are parts of ES3 core. Expose them through ANGLE_instanced_arrays on ES3. BUG=362530 TEST=WebGL conformance tests, gpu_unittests Review URL: https://codereview.chromium.org/234873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263609 0039d316-1c4b-4281-b951-d872f2087c98 --- gpu/command_buffer/service/feature_info.cc | 3 ++- ui/gl/generate_bindings.py | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc index 2804c3c6bb170d..66e6a54eaf159c 100644 --- a/gpu/command_buffer/service/feature_info.cc +++ b/gpu/command_buffer/service/feature_info.cc @@ -710,7 +710,8 @@ void FeatureInfo::InitializeFeatures() { if (!workarounds_.disable_angle_instanced_arrays && (extensions.Contains("GL_ANGLE_instanced_arrays") || (extensions.Contains("GL_ARB_instanced_arrays") && - extensions.Contains("GL_ARB_draw_instanced")))) { + extensions.Contains("GL_ARB_draw_instanced")) || + is_es3)) { AddExtensionString("GL_ANGLE_instanced_arrays"); feature_flags_.angle_instanced_arrays = true; validators_.vertex_attribute.AddValue(GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE); diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py index 4778595a07fdf4..ee57f140df7330 100755 --- a/ui/gl/generate_bindings.py +++ b/ui/gl/generate_bindings.py @@ -770,17 +770,20 @@ 'GLsync sync, GLbitfield flags, GLuint64 timeout', }, { 'return_type': 'void', 'known_as': 'glDrawArraysInstancedANGLE', - 'names': ['glDrawArraysInstancedARB', 'glDrawArraysInstancedANGLE'], + 'names': ['glDrawArraysInstancedARB', 'glDrawArraysInstancedANGLE', + 'glDrawArraysInstanced'], 'arguments': 'GLenum mode, GLint first, GLsizei count, GLsizei primcount', }, { 'return_type': 'void', 'known_as': 'glDrawElementsInstancedANGLE', - 'names': ['glDrawElementsInstancedARB', 'glDrawElementsInstancedANGLE'], + 'names': ['glDrawElementsInstancedARB', 'glDrawElementsInstancedANGLE', + 'glDrawElementsInstanced'], 'arguments': 'GLenum mode, GLsizei count, GLenum type, const void* indices, ' 'GLsizei primcount', }, { 'return_type': 'void', 'known_as': 'glVertexAttribDivisorANGLE', - 'names': ['glVertexAttribDivisorARB', 'glVertexAttribDivisorANGLE'], + 'names': ['glVertexAttribDivisorARB', 'glVertexAttribDivisorANGLE', + 'glVertexAttribDivisor'], 'arguments': 'GLuint index, GLuint divisor', }, { 'return_type': 'void',