Adds support for OES_mapbuffer

BUG=angle:581

Change-Id: I05824051789a77c8169ec5830731e6155c507fc4
Reviewed-on: https://chromium-review.googlesource.com/191650
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index bddab35..75d2c3c 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -369,6 +369,7 @@
         mSupportsDepthTextures = mRenderer->getDepthTextureSupport();
         mSupportsTextureFilterAnisotropy = mRenderer->getTextureFilterAnisotropySupport();
         mSupports32bitIndices = mRenderer->get32BitIndexSupport();
+        mSupportsPBOs = mRenderer->getPBOSupport();
 
         mNumCompressedTextureFormats = 0;
         if (supportsDXT1Textures())
@@ -3381,6 +3382,11 @@
     return mSupportsTextureFilterAnisotropy;
 }
 
+bool Context::supportsPBOs() const
+{
+    return mSupportsPBOs;
+}
+
 float Context::getTextureMaxAnisotropy() const
 {
     return mMaxTextureAnisotropy;
@@ -3761,6 +3767,11 @@
         mExtensionStringList.push_back("GL_OES_packed_depth_stencil");
         mExtensionStringList.push_back("GL_OES_get_program_binary");
         mExtensionStringList.push_back("GL_OES_rgb8_rgba8");
+
+        if (supportsPBOs())
+        {
+            mExtensionStringList.push_back("GL_OES_mapbuffer");
+        }
         if (mRenderer->getDerivativeInstructionSupport())
         {
             mExtensionStringList.push_back("GL_OES_standard_derivatives");