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