| Index: content/common/gpu/client/gl_helper_readback_support.cc
|
| diff --git a/content/common/gpu/client/gl_helper_readback_support.cc b/content/common/gpu/client/gl_helper_readback_support.cc
|
| index e773ca90782a6dc684bec38c7afb455e1cfe925c..36fc825a79067fbd288b81c9c0fec8adec0f577d 100644
|
| --- a/content/common/gpu/client/gl_helper_readback_support.cc
|
| +++ b/content/common/gpu/client/gl_helper_readback_support.cc
|
| @@ -25,8 +25,8 @@ void GLHelperReadbackSupport::InitializeReadbackSupport() {
|
| for (int i = 0; i <= kLastEnum_SkColorType; ++i) {
|
| format_support_table_[i] = GLHelperReadbackSupport::NOT_SUPPORTED;
|
| }
|
| - // TODO(sikugu): kAlpha_8_SkColorType support check is failing on mesa.
|
| - // See crbug.com/415667.
|
| +
|
| + CheckForReadbackSupport(kAlpha_8_SkColorType);
|
| CheckForReadbackSupport(kRGB_565_SkColorType);
|
| CheckForReadbackSupport(kARGB_4444_SkColorType);
|
| CheckForReadbackSupport(kRGBA_8888_SkColorType);
|
| @@ -38,6 +38,9 @@ void GLHelperReadbackSupport::CheckForReadbackSupport(
|
| SkColorType texture_format) {
|
| bool supports_format = false;
|
| switch (texture_format) {
|
| + case kAlpha_8_SkColorType:
|
| + supports_format = SupportsFormat(GL_ALPHA, GL_UNSIGNED_BYTE);
|
| + break;
|
| case kRGB_565_SkColorType:
|
| supports_format = SupportsFormat(GL_RGB, GL_UNSIGNED_SHORT_5_6_5);
|
| break;
|
| @@ -135,6 +138,15 @@ GLHelperReadbackSupport::GetReadbackConfig(SkColorType color_type,
|
| *type = GL_UNSIGNED_BYTE;
|
| GLenum new_format = 0, new_type = 0;
|
| switch (color_type) {
|
| + case kAlpha_8_SkColorType:
|
| + if (format_support_table_[color_type] ==
|
| + GLHelperReadbackSupport::SUPPORTED) {
|
| + *format = GL_ALPHA;
|
| + *type = GL_UNSIGNED_BYTE;
|
| + *bytes_per_pixel = 1;
|
| + return GLHelperReadbackSupport::SUPPORTED;
|
| + }
|
| + break;
|
| case kRGB_565_SkColorType:
|
| if (format_support_table_[color_type] ==
|
| GLHelperReadbackSupport::SUPPORTED) {
|
|
|