Use RE string pattern matching for blacklist strings.

Including cpu_brand, gl_vendor, gl_renderer, gl_extension, driver_vendor,
and machine_model_name.

BUG=396578
TBR=piman@chromium.org
TEST=gpu_unittests

Review URL: https://codereview.chromium.org/452293002

git-svn-id: http://src.chromium.org/svn/trunk/src/gpu@289067 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Revert 289067 "Use RE string pattern matching for blacklist stri..."

Reason for revert: uninitialize memory access

http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Mac%20%28valgrind%29%282%29/builds/29469/steps/memory%20test%3A%20content/logs/stdio

> Use RE string pattern matching for blacklist strings.
> 
> Including cpu_brand, gl_vendor, gl_renderer, gl_extension, driver_vendor,
> and machine_model_name.
> 
> BUG=396578
> TBR=piman@chromium.org
> TEST=gpu_unittests
> 
> Review URL: https://codereview.chromium.org/452293002

TBR=zmo@chromium.org

Review URL: https://codereview.chromium.org/465163002

git-svn-id: http://src.chromium.org/svn/trunk/src/gpu@289154 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
gpu: Optimize and cleanup code used for CHROMIUM_copy_texture.

When source target and destination target is GL_TEXTURE_2D, we can use
glCopyTexImage2D() directly. It avoids gl state changes, program binding and
drawing call.

|dest_target| of DoCopyTexture() is always GL_TEXTURE_2D, so remove the
redundant argument.

Perf data are as follows:
Linux (Intel IvyBridge i7-3520M): 16 us vs 6 us -> 260% faster
Android (Nexus 5): 331.8 us vs 252.7 us -> 31% faster

BUG=N/A

Review URL: https://codereview.chromium.org/374193002

git-svn-id: http://src.chromium.org/svn/trunk/src/gpu@289160 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Enable async upload egl with mailbox synchronizer

With the workaround in r286800, mailbox synchronizer skips tile
textures, so is compatible with async transfer egl.

This is a partial revert of r286501.

BUG=399311

Review URL: https://codereview.chromium.org/463563002

git-svn-id: http://src.chromium.org/svn/trunk/src/gpu@289172 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
make it possible to disable the use of libpci on linux again

When CL 430573002 landed, it forced the use of libpci on linux, but
many embedded systems lack this library (and probably lack a pci bus
altogether). Let's add a new config variable to make it possible to
disable the use of libpci.

BUG=398416

Review URL: https://codereview.chromium.org/462433002

git-svn-id: http://src.chromium.org/svn/trunk/src/gpu@289262 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
GPU context creation code duplication cleanup

Use ContextCreationAttribHelper through the context creation in both
in-process and out-of-process cases, instead of duplicate structures such
as GLInProcessContextAttribs. Enums used for serializing the attributes
are now defined in only one place, instead of three.

Remove small pieces of dead code related to share groups.
share_resources_ attrib is removed since it is not in use anywhere.

gpu_unittests are changed to better model how bind_generates_resource
gets set, and new checks are added to make sure it is set consistently
everywhere.

TEST=WebGL conformance tests (with and without --in-process-gpu),
cc_unittests, gpu_unittests

BUG=

Review URL: https://codereview.chromium.org/455783002

git-svn-id: http://src.chromium.org/svn/trunk/src/gpu@289269 4ff67af0-8c30-449e-8e8b-ad334ec8d88c