Move RendererGL caps generation to renderergl_utils.

Change-Id: Ia385fc9739174472d698367e2c6093ba1963b1fe
Reviewed-on: https://chromium-review.googlesource.com/253634
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/gl/RendererGL.cpp b/src/libANGLE/renderer/gl/RendererGL.cpp
index a4a5115..974ed36 100644
--- a/src/libANGLE/renderer/gl/RendererGL.cpp
+++ b/src/libANGLE/renderer/gl/RendererGL.cpp
@@ -25,6 +25,7 @@
 #include "libANGLE/renderer/gl/TextureGL.h"
 #include "libANGLE/renderer/gl/TransformFeedbackGL.h"
 #include "libANGLE/renderer/gl/VertexArrayGL.h"
+#include "libANGLE/renderer/gl/renderergl_utils.h"
 
 namespace rx
 {
@@ -187,68 +188,7 @@
 
 void RendererGL::generateCaps(gl::Caps *outCaps, gl::TextureCapsMap* outTextureCaps, gl::Extensions *outExtensions) const
 {
-    // Set some minimum GLES2 caps, TODO: query for real GL caps
-    outCaps->maxElementIndex = static_cast<GLint64>(std::numeric_limits<unsigned int>::max());
-    outCaps->max3DTextureSize = 0;
-    outCaps->max2DTextureSize = 1024;
-    outCaps->maxCubeMapTextureSize = outCaps->max2DTextureSize;
-    outCaps->maxArrayTextureLayers = 1;
-    outCaps->maxLODBias = 0.0f;
-    outCaps->maxRenderbufferSize = outCaps->max2DTextureSize;
-    outCaps->maxDrawBuffers = 1;
-    outCaps->maxColorAttachments = 1;
-    outCaps->maxViewportWidth = outCaps->max2DTextureSize;
-    outCaps->maxViewportHeight = outCaps->maxViewportWidth;
-    outCaps->minAliasedPointSize = 1.0f;
-    outCaps->maxAliasedPointSize = 1.0f;
-    outCaps->minAliasedLineWidth = 1.0f;
-    outCaps->maxAliasedLineWidth = 1.0f;
-    outCaps->maxElementsIndices = 0;
-    outCaps->maxElementsVertices = 0;
-    outCaps->maxServerWaitTimeout = 0;
-    outCaps->maxVertexAttributes = 16;
-    outCaps->maxVertexUniformVectors = 256;
-    outCaps->maxVertexUniformVectors = outCaps->maxVertexUniformVectors * 4;
-    outCaps->maxVertexUniformBlocks = 0;
-    outCaps->maxVertexOutputComponents = 16;
-    outCaps->maxVertexTextureImageUnits = outCaps->maxTextureImageUnits;
-    outCaps->maxFragmentUniformVectors = 256;
-    outCaps->maxFragmentUniformComponents = outCaps->maxFragmentUniformVectors * 4;
-    outCaps->maxFragmentUniformBlocks = 0;
-    outCaps->maxFragmentInputComponents = outCaps->maxVertexOutputComponents;
-    outCaps->maxTextureImageUnits = 16;
-    outCaps->minProgramTexelOffset = 0;
-    outCaps->maxProgramTexelOffset = 0;
-    outCaps->maxUniformBufferBindings = 0;
-    outCaps->maxUniformBlockSize = 0;
-    outCaps->uniformBufferOffsetAlignment = 0;
-    outCaps->maxCombinedUniformBlocks = 0;
-    outCaps->maxCombinedVertexUniformComponents = 0;
-    outCaps->maxCombinedFragmentUniformComponents = 0;
-    outCaps->maxVaryingComponents = 0;
-    outCaps->maxVaryingVectors = outCaps->maxVertexOutputComponents / 4;
-    outCaps->maxCombinedTextureImageUnits = outCaps->maxVertexTextureImageUnits + outCaps->maxTextureImageUnits;
-    outCaps->maxTransformFeedbackInterleavedComponents = 0;
-    outCaps->maxTransformFeedbackSeparateAttributes = 0;
-    outCaps->maxTransformFeedbackSeparateComponents = 0;
-
-    gl::TextureCaps supportedTextureFormat;
-    supportedTextureFormat.texturable = true;
-    supportedTextureFormat.filterable = true;
-    supportedTextureFormat.renderable = true;
-
-    outTextureCaps->insert(GL_RGB565, supportedTextureFormat);
-    outTextureCaps->insert(GL_RGBA4, supportedTextureFormat);
-    outTextureCaps->insert(GL_RGB5_A1, supportedTextureFormat);
-    outTextureCaps->insert(GL_RGB8_OES, supportedTextureFormat);
-    outTextureCaps->insert(GL_RGBA8_OES, supportedTextureFormat);
-
-    outTextureCaps->insert(GL_DEPTH_COMPONENT16, supportedTextureFormat);
-    outTextureCaps->insert(GL_STENCIL_INDEX8, supportedTextureFormat);
-
-    outExtensions->setTextureExtensionSupport(*outTextureCaps);
-    outExtensions->textureNPOT = true;
-    outExtensions->textureStorage = true;
+    nativegl_gl::GenerateCaps(mFunctions, outCaps, outTextureCaps, outExtensions);
 }
 
 Workarounds RendererGL::generateWorkarounds() const