| Index: cc/resource_provider.cc
|
| diff --git a/cc/resource_provider.cc b/cc/resource_provider.cc
|
| index bf6bd8b1ae6258bdbdb2b38a653b697a0a4d0741..2cd7b4ce7f65bea623d8d2a067c5ddc2e159cadc 100644
|
| --- a/cc/resource_provider.cc
|
| +++ b/cc/resource_provider.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/string_split.h"
|
| #include "base/string_util.h"
|
| #include "cc/gl_renderer.h" // For the GLC() macro.
|
| +#include "cc/platform_color.h"
|
| #include "cc/texture_uploader.h"
|
| #include "cc/transferable_resource.h"
|
| #include "third_party/khronos/GLES2/gl2.h"
|
| @@ -499,6 +500,7 @@ ResourceProvider::ResourceProvider(OutputSurface* context)
|
| , m_useTextureUsageHint(false)
|
| , m_useShallowFlush(false)
|
| , m_maxTextureSize(0)
|
| + , m_bestTextureFormat(0)
|
| {
|
| }
|
|
|
| @@ -508,6 +510,7 @@ bool ResourceProvider::initialize()
|
| WebGraphicsContext3D* context3d = m_outputSurface->Context3D();
|
| if (!context3d) {
|
| m_maxTextureSize = INT_MAX / 2;
|
| + m_bestTextureFormat = GL_RGBA;
|
| return true;
|
| }
|
| if (!context3d->makeContextCurrent())
|
| @@ -518,6 +521,7 @@ bool ResourceProvider::initialize()
|
| base::SplitString(extensionsString, ' ', &extensions);
|
| bool useMapSub = false;
|
| bool useBindUniform = false;
|
| + bool useBGRA = false;
|
| for (size_t i = 0; i < extensions.size(); ++i) {
|
| if (extensions[i] == "GL_EXT_texture_storage")
|
| m_useTextureStorageExt = true;
|
| @@ -529,12 +533,15 @@ bool ResourceProvider::initialize()
|
| m_useShallowFlush = true;
|
| else if (extensions[i] == "GL_CHROMIUM_bind_uniform_location")
|
| useBindUniform = true;
|
| + else if (extensions[i] == "GL_EXT_texture_format_BGRA8888")
|
| + useBGRA = true;
|
| }
|
|
|
| m_textureCopier = AcceleratedTextureCopier::create(context3d, useBindUniform);
|
|
|
| m_textureUploader = TextureUploader::create(context3d, useMapSub, m_useShallowFlush);
|
| GLC(context3d, context3d->getIntegerv(GL_MAX_TEXTURE_SIZE, &m_maxTextureSize));
|
| + m_bestTextureFormat = PlatformColor::bestTextureFormat(context3d, useBGRA);
|
| return true;
|
| }
|
|
|
|
|