| Index: gpu/command_buffer/service/async_pixel_transfer_delegate_android.cc
|
| diff --git a/gpu/command_buffer/service/async_pixel_transfer_delegate_android.cc b/gpu/command_buffer/service/async_pixel_transfer_delegate_android.cc
|
| index 2d834c9d556e1cbe63ded4e7bc3e2e527086d99e..0e4450945d46ba7e85fad411fa94bb341c1b366f 100644
|
| --- a/gpu/command_buffer/service/async_pixel_transfer_delegate_android.cc
|
| +++ b/gpu/command_buffer/service/async_pixel_transfer_delegate_android.cc
|
| @@ -20,6 +20,10 @@ namespace gpu {
|
| AsyncPixelTransferDelegate* AsyncPixelTransferDelegate::Create(
|
| gfx::GLContext* context) {
|
| TRACE_EVENT0("gpu", "AsyncPixelTransferDelegate::Create");
|
| + bool is_broadcom = false;
|
| + const char* vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR));
|
| + if (vendor)
|
| + is_broadcom = std::string(vendor).find("Broadcom") != std::string::npos;
|
| switch (gfx::GetGLImplementation()) {
|
| case gfx::kGLImplementationEGLGLES2:
|
| DCHECK(context);
|
| @@ -27,7 +31,8 @@ AsyncPixelTransferDelegate* AsyncPixelTransferDelegate::Create(
|
| context->HasExtension("EGL_KHR_image") &&
|
| context->HasExtension("EGL_KHR_image_base") &&
|
| context->HasExtension("EGL_KHR_gl_texture_2D_image") &&
|
| - context->HasExtension("GL_OES_EGL_image")) {
|
| + context->HasExtension("GL_OES_EGL_image") &&
|
| + !is_broadcom) {
|
| return new AsyncPixelTransferDelegateEGL;
|
| }
|
| LOG(INFO) << "Async pixel transfers not supported";
|
|
|