New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 630728 link

Starred by 10 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Feature


Sign in to add a comment

SwiftShader integration into Chromium

Project Member Reported by sugoi@chromium.org, Jul 22 2016

Issue description

SwiftShader is a high performance implementation of the OpenGL
and Direct3D graphics APIs which runs purely on the CPU.

The SwiftShader library has recently been made open source and
can now be pulled with the Chromium checkout. The size of the
SwiftShader library is roughly 162 Mb, currently. This will
eventually allow us to remove MESA, which takes approximately
66 Mb, so the net gain should be under 100Mb in total.

Pulling SwiftShader along with Chromium will allow bots to
build SwiftShader, perform tests with the SwiftShader
library and have quick turnaround time when issues are found.

This will not change the state of SwiftShader as a component
in Chrome and it will not be shipped with Chrome, only
downloaded as a component on demand.
 

Comment 1 by junov@chromium.org, Jul 26 2016

Blocking: 549742
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 27 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/puppet/+/4254bef1a06d13db77bf74da4291c5387bbcfa43

commit 4254bef1a06d13db77bf74da4291c5387bbcfa43
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date: Wed Jul 27 10:50:28 2016

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d27602ad344f04dcb94ce5ead7950a0cfc1cd02

commit 7d27602ad344f04dcb94ce5ead7950a0cfc1cd02
Author: sugoi <sugoi@chromium.org>
Date: Mon Aug 08 15:12:48 2016

Adding SwiftShader to the DEPS file

The SwiftShader library has recently been made open source
and can now be pulled with the Chromium checkout. The size
of the SwiftShader library is roughly 162 Mb, currently.
Note that this will eventually allow us to remove MESA,
which takes approximately 66 Mb, so the net gain should be
under 100Mb in total.

Pulling SwiftShader along with Chromium will allow bots to
build SwiftShader, perform tests with the SwiftShader
library and have quick turnaround time when issues are
found.

This will not change the state of SwiftShader as a
component in Chrome and it will not be shipped with Chrome,
only downloaded as a component on demand.

Also note that this cl does not enable building
SwiftShader, it only allows the SwiftShader library to be
pulled, to make sure that everyone agrees with this first
step.

BUG= 630728 

Review-Url: https://codereview.chromium.org/2168143003
Cr-Commit-Position: refs/heads/master@{#410359}

[modify] https://crrev.com/7d27602ad344f04dcb94ce5ead7950a0cfc1cd02/DEPS
[modify] https://crrev.com/7d27602ad344f04dcb94ce5ead7950a0cfc1cd02/tools/checklicenses/checklicenses.py

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86cd5c0e5b8f427d600fce40b88749d8664e9ef6

commit 86cd5c0e5b8f427d600fce40b88749d8664e9ef6
Author: stevenjb <stevenjb@chromium.org>
Date: Mon Aug 08 19:39:11 2016

Revert of Adding SwiftShader to the DEPS file (patchset #2 id:20001 of https://codereview.chromium.org/2168143003/ )

Reason for revert:
Failures on chrome os and elsewhere. Example Chrome OS failure:

https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/veyron_minnie-cheets-tot-chrome-pfq-cheets-informational/builds/719

Linux failure:
https://build.chromium.org/p/chromium.linux/builders/Blimp%20Linux%20%28dbg%29/builds/6246

Original issue's description:
> Adding SwiftShader to the DEPS file
>
> The SwiftShader library has recently been made open source
> and can now be pulled with the Chromium checkout. The size
> of the SwiftShader library is roughly 162 Mb, currently.
> Note that this will eventually allow us to remove MESA,
> which takes approximately 66 Mb, so the net gain should be
> under 100Mb in total.
>
> Pulling SwiftShader along with Chromium will allow bots to
> build SwiftShader, perform tests with the SwiftShader
> library and have quick turnaround time when issues are
> found.
>
> This will not change the state of SwiftShader as a
> component in Chrome and it will not be shipped with Chrome,
> only downloaded as a component on demand.
>
> Also note that this cl does not enable building
> SwiftShader, it only allows the SwiftShader library to be
> pulled, to make sure that everyone agrees with this first
> step.
>
> BUG= 630728 
>
> Committed: https://crrev.com/7d27602ad344f04dcb94ce5ead7950a0cfc1cd02
> Cr-Commit-Position: refs/heads/master@{#410359}

TBR=phajdan.jr@chromium.org,capn@chromium.org,dglazkov@chromium.org,jam@chromium.org,kbr@chromium.org,phajdan@google.com,sky@chromium.org,sugoi@google.com,tandrii@chromium.org,sugoi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 630728 

Review-Url: https://codereview.chromium.org/2224093002
Cr-Commit-Position: refs/heads/master@{#410404}

[modify] https://crrev.com/86cd5c0e5b8f427d600fce40b88749d8664e9ef6/DEPS
[modify] https://crrev.com/86cd5c0e5b8f427d600fce40b88749d8664e9ef6/tools/checklicenses/checklicenses.py

Comment 5 by capn@chromium.org, Aug 10 2016

Blocking: 635702
Cc: steve...@chromium.org roc...@chromium.org kylec...@chromium.org shannonwoods@chromium.org sebmarchand@chromium.org robliao@chromium.org h...@chromium.org
Labels: -Pri-3 Pri-2
The build broke because ozone uses the //third_party/swiftshader/include path (https://cs.chromium.org/chromium/src/ui/gl/init/BUILD.gn?rcl=0&l=21), and we're populating it with Khronos headers which it is not compatible with. This directory already existed for src-internal builds, and contains software_renderer.h for registering the license key to disable the logo watermark.

We need to break ozone's dependency on this directory, while still registering the license key. Since SwiftShader is open-source now this key no longer needs to be secret. After fixing that I'll try re-landing the DEPS change.
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16a129d49fbd09f6a1f012845973d56d7d1f32f1

commit 16a129d49fbd09f6a1f012845973d56d7d1f32f1
Author: capn <capn@chromium.org>
Date: Thu Aug 11 18:06:38 2016

Register SwiftShader key without using chrome-internal header.

//third_party/swiftshader/include/software_renderer.h from chrome-internal is
used to register a secret license key to disable SwiftShader's legacy logo
watermark in official Chrome builds. We're going to populate that directory
with the full SwiftShader source code instead, since it is now open-source, but
it adds Khronos headers which ozone is not compatible with (Issue 635702).
Hence we need to avoid having anything depend on the old include directory
content. The open-sourcing also means the the old license key does not need to
be kept secret, so we can use it directly in chromium during the transition to
logo-free builds.

BUG= 630728 

Change-Id: Ica40e98a276fc5e1a48178cecb0d908d14482622
Review-Url: https://codereview.chromium.org/2231913002
Cr-Commit-Position: refs/heads/master@{#411372}

[modify] https://crrev.com/16a129d49fbd09f6a1f012845973d56d7d1f32f1/ui/gl/BUILD.gn
[modify] https://crrev.com/16a129d49fbd09f6a1f012845973d56d7d1f32f1/ui/gl/init/BUILD.gn
[modify] https://crrev.com/16a129d49fbd09f6a1f012845973d56d7d1f32f1/ui/gl/init/gl_initializer_win.cc

Comment 7 by capn@chromium.org, Aug 11 2016

Blocking: -635702

Comment 8 by kbr@chromium.org, Aug 12 2016

Blocking: 617551
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/src-internal.git/+/2b702c4d289e841607b49f833608be45e93ad18f

commit 2b702c4d289e841607b49f833608be45e93ad18f
Author: Nicolas Capens <capn@google.com>
Date: Fri Aug 12 18:06:08 2016

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3976c2e7d2ce17180ebf6d2a576f14c188c843d

commit e3976c2e7d2ce17180ebf6d2a576f14c188c843d
Author: capn <capn@chromium.org>
Date: Fri Aug 12 22:06:17 2016

Adding SwiftShader to the DEPS file

The SwiftShader library has recently been made open source
and can now be pulled with the Chromium checkout. The size
of the SwiftShader library is roughly 162 Mb, currently.
Note that this will eventually allow us to remove MESA,
which takes approximately 66 Mb, so the net gain should be
under 100Mb in total.

Pulling SwiftShader along with Chromium will allow bots to
build SwiftShader, perform tests with the SwiftShader
library and have quick turnaround time when issues are
found.

This will not change the state of SwiftShader as a
component in Chrome and it will not be shipped with Chrome,
only downloaded as a component on demand.

Also note that this cl does not enable building
SwiftShader, it only allows the SwiftShader library to be
pulled, to make sure that everyone agrees with this first
step.

This is a re-land of https://codereview.chromium.org/2168143003/
after having fixed ozone build breakage (Issue 635702) with
https://codereview.chromium.org/2231913002/

BUG= 630728 
TBR=jam@chromium.org,phajdan.jr@chromium.org

Change-Id: Iac26a520fffa38410e81f49c666c17e7ceecfbc2
Review-Url: https://codereview.chromium.org/2238063003
Cr-Commit-Position: refs/heads/master@{#411793}

[modify] https://crrev.com/e3976c2e7d2ce17180ebf6d2a576f14c188c843d/DEPS
[modify] https://crrev.com/e3976c2e7d2ce17180ebf6d2a576f14c188c843d/tools/checklicenses/checklicenses.py

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d37d668d489bdd1c8a678227386c0988fe4ea85b

commit d37d668d489bdd1c8a678227386c0988fe4ea85b
Author: capn <capn@chromium.org>
Date: Mon Aug 15 21:57:02 2016

Remove old SwiftShader license and update credits.

There were still files from prior to the open-sourcing in
//third_party/swiftshader, and gl_init's GPY build file should not
reference the old include directory which contained the license key
registration which is no longer needed since
https://codereview.chromium.org/2231913002/. Also the about:credits
script is updated with SwiftShader's license information.

BUG= 630728 
TBR=ben@chromium.org

Review-Url: https://codereview.chromium.org/2249693002
Cr-Commit-Position: refs/heads/master@{#412061}

[delete] https://crrev.com/e311188e565ea85ccc4ad8f0aeee03eab488bb23/third_party/swiftshader/LICENSE
[delete] https://crrev.com/e311188e565ea85ccc4ad8f0aeee03eab488bb23/third_party/swiftshader/README.chromium
[modify] https://crrev.com/d37d668d489bdd1c8a678227386c0988fe4ea85b/tools/licenses.py
[modify] https://crrev.com/d37d668d489bdd1c8a678227386c0988fe4ea85b/ui/gl/init/gl_init.gyp

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/187f7f248a13b86b01f43df79cd8922b7469a72a

commit 187f7f248a13b86b01f43df79cd8922b7469a72a
Author: sugoi <sugoi@chromium.org>
Date: Tue Sep 06 15:52:56 2016

SwiftShader manual update

This contains changes to make the Windows clang build work.

TBR=kbr@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2300143002
Cr-Commit-Position: refs/heads/master@{#416632}

[modify] https://crrev.com/187f7f248a13b86b01f43df79cd8922b7469a72a/DEPS

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/acd4cfcb54ede93fd2364fbb1c0ba050100b42e5

commit acd4cfcb54ede93fd2364fbb1c0ba050100b42e5
Author: sugoi <sugoi@chromium.org>
Date: Wed Sep 07 19:01:15 2016

Adding target to build SwiftShader

Added a new group in third_party/BUILD.gn in order to enable building SwiftShader using 'ninja -C out/Default swiftshader' or similar command. The 'swiftshader' target already existed in third_party/swiftshader/BUILD.gn, but was unaccessible due to not being referenced in any other BUILD.gn files. Note that SwiftShader does not automatically build with Chromium.

BUG= 630728 

Review-Url: https://codereview.chromium.org/2296433003
Cr-Commit-Position: refs/heads/master@{#417017}

[modify] https://crrev.com/acd4cfcb54ede93fd2364fbb1c0ba050100b42e5/BUILD.gn

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9773f67d88c0f99b27cc5d2d386870322f692892

commit 9773f67d88c0f99b27cc5d2d386870322f692892
Author: sugoi <sugoi@chromium.org>
Date: Wed Sep 07 21:23:14 2016

Revert of 'Adding target to build SwiftShader'

Windows buildbot failed, reverting for now.

TBR=thakis@chromium.org
BUG= 630728 
NOTREECHECKS=true
NOPRESUBMIT=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2316353002
Cr-Commit-Position: refs/heads/master@{#417040}

[modify] https://crrev.com/9773f67d88c0f99b27cc5d2d386870322f692892/BUILD.gn

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f2bbdbba0de3cdcedf6a4a43725816d8271167c

commit 2f2bbdbba0de3cdcedf6a4a43725816d8271167c
Author: sugoi <sugoi@chromium.org>
Date: Wed Sep 14 21:12:03 2016

SwiftShader DEPS update

Includes Mac build fixes and Win alignment warnings fix.

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2341863002
Cr-Commit-Position: refs/heads/master@{#418675}

[modify] https://crrev.com/2f2bbdbba0de3cdcedf6a4a43725816d8271167c/DEPS

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72ce608cb69854a0029f019e67ddf1509c274f0a

commit 72ce608cb69854a0029f019e67ddf1509c274f0a
Author: sugoi <sugoi@chromium.org>
Date: Thu Sep 15 19:45:59 2016

Adding target to build SwiftShader

Added the swiftshader target to BUILD.gn's deps in order to enable building SwiftShader using 'ninja -C out/Default swiftshader' or similar command. The 'swiftshader' target already existed in third_party/swiftshader/BUILD.gn, but was unaccessible due to not being referenced in any other BUILD.gn files. Note that SwiftShader does not automatically build with Chromium.

BUG= 630728 

Review-Url: https://codereview.chromium.org/2330173002
Cr-Commit-Position: refs/heads/master@{#418934}

[modify] https://crrev.com/72ce608cb69854a0029f019e67ddf1509c274f0a/BUILD.gn

Project Member

Comment 17 by bugdroid1@chromium.org, Sep 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e282042a9921e3f937e3e6d9e78b523d36b38c6

commit 6e282042a9921e3f937e3e6d9e78b523d36b38c6
Author: thakis <thakis@chromium.org>
Date: Thu Sep 15 22:15:27 2016

Revert of Adding target to build SwiftShader (patchset #4 id:60001 of https://codereview.chromium.org/2330173002/ )

Reason for revert:
This seems to not build in our sysroot: https://build.chromium.org/p/chromium.fyi/builders/ClangToTLinuxASan/builds/5244/steps/compile/logs/stdio

Original issue's description:
> Adding target to build SwiftShader
>
> Added the swiftshader target to BUILD.gn's deps in order to enable building SwiftShader using 'ninja -C out/Default swiftshader' or similar command. The 'swiftshader' target already existed in third_party/swiftshader/BUILD.gn, but was unaccessible due to not being referenced in any other BUILD.gn files. Note that SwiftShader does not automatically build with Chromium.
>
> BUG= 630728 
>
> Committed: https://crrev.com/72ce608cb69854a0029f019e67ddf1509c274f0a
> Cr-Commit-Position: refs/heads/master@{#418934}

TBR=sugoi@google.com,sugoi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 630728 

Review-Url: https://codereview.chromium.org/2349473003
Cr-Commit-Position: refs/heads/master@{#419011}

[modify] https://crrev.com/6e282042a9921e3f937e3e6d9e78b523d36b38c6/BUILD.gn

Project Member

Comment 18 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/abe918907ad9cb56a09000919fc1ed5fda90fb8d

commit abe918907ad9cb56a09000919fc1ed5fda90fb8d
Author: sugoi <sugoi@chromium.org>
Date: Tue Sep 20 12:53:51 2016

Adding target to build SwiftShader

Added the swiftshader target to BUILD.gn's deps in order to enable building SwiftShader using 'ninja -C out/Default swiftshader' or similar command. The 'swiftshader' target already existed in third_party/swiftshader/BUILD.gn, but was unaccessible due to not being referenced in any other BUILD.gn files. Note that SwiftShader does not automatically build with Chromium.

BUG= 630728 

Review-Url: https://codereview.chromium.org/2347823003
Cr-Commit-Position: refs/heads/master@{#419731}

[modify] https://crrev.com/abe918907ad9cb56a09000919fc1ed5fda90fb8d/BUILD.gn

Blocking: 649063
Project Member

Comment 20 by bugdroid1@chromium.org, Nov 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f52c57db56aecba213920cc4b9f4c612c7e3fe8

commit 6f52c57db56aecba213920cc4b9f4c612c7e3fe8
Author: sugoi <sugoi@chromium.org>
Date: Fri Nov 11 20:48:33 2016

SwiftShader DEPS update

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2492303002
Cr-Commit-Position: refs/heads/master@{#431636}

[modify] https://crrev.com/6f52c57db56aecba213920cc4b9f4c612c7e3fe8/DEPS

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8287bfde58028afa246a83372bf25fe2f3e2a15c

commit 8287bfde58028afa246a83372bf25fe2f3e2a15c
Author: sugoi <sugoi@chromium.org>
Date: Fri Nov 11 23:18:40 2016

Adding SwiftShader compilation to Mac

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2358713002
Cr-Commit-Position: refs/heads/master@{#431682}

[modify] https://crrev.com/8287bfde58028afa246a83372bf25fe2f3e2a15c/BUILD.gn

Project Member

Comment 22 by bugdroid1@chromium.org, Nov 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4fdb18f29e961ad60a5ac382bb1cd1aa5252fc59

commit 4fdb18f29e961ad60a5ac382bb1cd1aa5252fc59
Author: sugoi <sugoi@chromium.org>
Date: Thu Nov 17 20:25:56 2016

SwiftShader update

A new test, called 'swiftshader_unittests' was added in this version
of swiftshader and we should be able to add and run it on the bots.

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2512713002
Cr-Commit-Position: refs/heads/master@{#432953}

[modify] https://crrev.com/4fdb18f29e961ad60a5ac382bb1cd1aa5252fc59/DEPS

Project Member

Comment 23 by bugdroid1@chromium.org, Nov 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c88e391096355c163a07f16f738533ca547c53e6

commit c88e391096355c163a07f16f738533ca547c53e6
Author: sugoi <sugoi@chromium.org>
Date: Mon Nov 21 20:47:44 2016

Adding SwiftShader compilation to Linux

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2514823002
Cr-Commit-Position: refs/heads/master@{#433640}

[modify] https://crrev.com/c88e391096355c163a07f16f738533ca547c53e6/BUILD.gn

Project Member

Comment 24 by bugdroid1@chromium.org, Nov 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da8e3d60edd604160ce429085a66ce0246e659b2

commit da8e3d60edd604160ce429085a66ce0246e659b2
Author: sugoi <sugoi@chromium.org>
Date: Tue Nov 22 21:08:50 2016

SwiftShader DEPS update

This update contains formatted BUILD.gn files and
a fix for the precise64 official build.

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2522963002
Cr-Commit-Position: refs/heads/master@{#433978}

[modify] https://crrev.com/da8e3d60edd604160ce429085a66ce0246e659b2/DEPS

Project Member

Comment 25 by bugdroid1@chromium.org, Nov 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/265c779f246369ee005a817f201907a16c25290a

commit 265c779f246369ee005a817f201907a16c25290a
Author: sugoi <sugoi@chromium.org>
Date: Wed Nov 23 16:32:59 2016

Adding SwiftShader compilation to Linux

TBR=thakis@chromium.org
BUG= 630728 

Review-Url: https://codereview.chromium.org/2528483002
Cr-Commit-Position: refs/heads/master@{#434179}

[modify] https://crrev.com/265c779f246369ee005a817f201907a16c25290a/BUILD.gn

Project Member

Comment 26 by bugdroid1@chromium.org, Nov 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7e3afcba02722c0176e8d47dfdf100787239e3d

commit a7e3afcba02722c0176e8d47dfdf100787239e3d
Author: sugoi <sugoi@chromium.org>
Date: Wed Nov 23 22:05:24 2016

Revert of Adding SwiftShader compilation to Linux (patchset #1 id:1 of https://codereview.chromium.org/2528483002/ )

Reason for revert:
broke ClangToTLinuxUBSanVptr bot

Original issue's description:
> Adding SwiftShader compilation to Linux
>
> TBR=thakis@chromium.org
> BUG= 630728 
>
> Committed: https://crrev.com/265c779f246369ee005a817f201907a16c25290a
> Cr-Commit-Position: refs/heads/master@{#434179}

TBR=thakis@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 630728 

Review-Url: https://codereview.chromium.org/2526043003
Cr-Commit-Position: refs/heads/master@{#434264}

[modify] https://crrev.com/a7e3afcba02722c0176e8d47dfdf100787239e3d/BUILD.gn

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/981bab182373a58cf7443f841d0dd2156563c98b

commit 981bab182373a58cf7443f841d0dd2156563c98b
Author: sugoi <sugoi@chromium.org>
Date: Thu Dec 08 22:36:37 2016

Adding SwiftShader compilation to Linux

This update contains the ubsan fix

BUG= 630728 

Review-Url: https://codereview.chromium.org/2562463002
Cr-Commit-Position: refs/heads/master@{#437369}

[modify] https://crrev.com/981bab182373a58cf7443f841d0dd2156563c98b/BUILD.gn
[modify] https://crrev.com/981bab182373a58cf7443f841d0dd2156563c98b/DEPS
[modify] https://crrev.com/981bab182373a58cf7443f841d0dd2156563c98b/tools/ubsan/vptr_blacklist.txt

Project Member

Comment 28 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1b7b92265302228596afc9d0197664ed05a1ee9

commit a1b7b92265302228596afc9d0197664ed05a1ee9
Author: sugoi <sugoi@chromium.org>
Date: Tue Dec 13 12:52:49 2016

Limiting SwiftShader compilation to x64 and x86 architectures

BUG= 630728 

Review-Url: https://codereview.chromium.org/2568283002
Cr-Commit-Position: refs/heads/master@{#438145}

[modify] https://crrev.com/a1b7b92265302228596afc9d0197664ed05a1ee9/BUILD.gn

Project Member

Comment 29 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c9c93b5a51e998ea46dce116486b03b999b344d9

commit c9c93b5a51e998ea46dce116486b03b999b344d9
Author: sugoi <sugoi@chromium.org>
Date: Thu Jan 12 16:11:02 2017

Adding swiftshader unittests to GPU FYI bots

BUG= 630728 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2618933002
Cr-Commit-Position: refs/heads/master@{#443248}

[modify] https://crrev.com/c9c93b5a51e998ea46dce116486b03b999b344d9/DEPS
[modify] https://crrev.com/c9c93b5a51e998ea46dce116486b03b999b344d9/content/test/gpu/generate_buildbot_json.py
[modify] https://crrev.com/c9c93b5a51e998ea46dce116486b03b999b344d9/gpu/DEPS
[add] https://crrev.com/c9c93b5a51e998ea46dce116486b03b999b344d9/gpu/swiftshader_tests_main.cc
[modify] https://crrev.com/c9c93b5a51e998ea46dce116486b03b999b344d9/testing/buildbot/chromium.gpu.fyi.json
[modify] https://crrev.com/c9c93b5a51e998ea46dce116486b03b999b344d9/testing/buildbot/gn_isolate_map.pyl

Comment 30 by kbr@chromium.org, Jan 13 2017

Blockedon: 680820
Project Member

Comment 31 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/881daca50cda844224e2d15600b47aba179c090d

commit 881daca50cda844224e2d15600b47aba179c090d
Author: sugoi <sugoi@chromium.org>
Date: Fri Jan 13 16:28:38 2017

Removing SwiftShader tests on Mac

There appears to be a Mac related failure on the FYI bots.
Disabling SwiftShader tests on Mac for now.

BUG= 630728 ,  680820 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
NOTRY=true

Review-Url: https://codereview.chromium.org/2629403002
Cr-Commit-Position: refs/heads/master@{#443570}

[modify] https://crrev.com/881daca50cda844224e2d15600b47aba179c090d/content/test/gpu/generate_buildbot_json.py
[modify] https://crrev.com/881daca50cda844224e2d15600b47aba179c090d/testing/buildbot/chromium.gpu.fyi.json

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 23 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/8b27574a7edb0f8c7a28aaa4087474b8ce43332e

commit 8b27574a7edb0f8c7a28aaa4087474b8ce43332e
Author: Nicolas Capens <capn@google.com>
Date: Fri Jan 20 22:11:41 2017

Use MAP_ANON if MAP_ANONYMOUS is not defined.

MAP_ANON has been deprecated in favor of MAP_ANONYMOUS, but Mac OS only
defines MAP_ANON.

 Bug chromium:630728 

Change-Id: I7345a5f9227acbc0caa29d8103855ab531f16499
Reviewed-on: https://swiftshader-review.googlesource.com/8531
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>

[modify] https://crrev.com/8b27574a7edb0f8c7a28aaa4087474b8ce43332e/src/Reactor/SubzeroReactor.cpp

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/native_client/pnacl-subzero/+/8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6

commit 8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6
Author: Nicolas Capens <capn@google.com>
Date: Fri Jan 20 20:21:45 2017

Work around empty set default parameter compilation issue.

Older versions of Clang don't allow using an empty set as the default
parameter of a class with an explicit constructor.
"error: chosen constructor is explicit in copy-initialization"

BUG= chromium:630728 

Change-Id: I580073788ce3346d1ecffab336a0fcee210b2e0f
Reviewed-on: https://chromium-review.googlesource.com/431080
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6/src/IceTargetLowering.cpp
[modify] https://crrev.com/8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6/src/IceRegAlloc.h

Comment 34 by sugoi@chromium.org, Jan 25 2017

Blockedon: 564904
Blocked on crbug.com/564904.
SwiftShader on Linux unfortunately requires features from the standard library that are being added in the update from Wheezy to Jessie (see https://codereview.chromium.org/2361223002/).

Comment 35 by mmoss@chromium.org, Jan 25 2017

Blockedon: -680820 666825
I think 564904 is the wrong bug, since that's specifically about official builders (and I believe have already all been migrated). Did you mean Issue 666825?

Comment 36 by mmoss@chromium.org, Jan 25 2017

Blockedon: -564904 680820
[Oops, removed wrong blocker]

Comment 37 by sugoi@chromium.org, Jan 25 2017

Hi mmoss@, I was using the same bug ID as used in the cl mentioned in Comment 34. I just want to be notified when that cl lands. Thanks.

Comment 38 by kbr@chromium.org, Feb 8 2017

Components: Internals>GPU>SwiftShader

Comment 39 by kbr@chromium.org, Feb 8 2017

Cc: sugoi@chromium.org vmi...@chromium.org ccameron@chromium.org marc...@chromium.org
 Issue 687720  has been merged into this issue.
Project Member

Comment 40 by bugdroid1@chromium.org, Feb 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/adb1db8ef902542008ba27f5ac141eb095259a1d

commit adb1db8ef902542008ba27f5ac141eb095259a1d
Author: sugoi <sugoi@chromium.org>
Date: Sat Feb 11 15:39:38 2017

SwiftShader DEPS update

This change includes many Subzero related fixes, and adds the
ability to build SwiftShader with the Subzero backend within
SwiftShader simply based on a boolean value inside a BUILD.gn
file but does not yet enable Subzero compilation in Chromium.

TBR=kbr@chromium.org
TBR_REASON=SwiftShader DEPS roll
BUG= 630728 

Review-Url: https://codereview.chromium.org/2687533002
Cr-Commit-Position: refs/heads/master@{#449860}

[modify] https://crrev.com/adb1db8ef902542008ba27f5ac141eb095259a1d/DEPS

Project Member

Comment 41 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2ad66a7079e608873f2e1c8a60bf316c76bbc156

commit 2ad66a7079e608873f2e1c8a60bf316c76bbc156
Author: sugoi <sugoi@chromium.org>
Date: Mon Feb 13 20:09:27 2017

Introducing a second usage for SwiftShader

In order to use SwiftShader to run layout tests, SwiftShader
must be usable the same way Mesa currently is: as a full
OpenGL implementation. In order to do that, a few things
were modified:

- A new flag was added:
gl::kGLImplementationSwiftShaderForWebGLName, which is
"--use-gl=swiftshader-webgl"
- The current way of using SwiftShader in Chromium is to
only use SwiftShader for WebGL. To reflect that,
gl::kGLImplementationSwiftShaderName was renamed to
gl::kGLImplementationSwiftShaderForWebGLName. All existing
occurences of the "swiftshader" string in the code were also
replaced with gl::kGLImplementationSwiftShaderForWebGLName.
- The old flag gl::kGLImplementationSwiftShaderName, usable
by setting the "--use-gl=swiftshader" flag, has a new
meaning, which is to use SwiftShader as the OpenGL ES
driver for all of Chromium, not only for WebGL. This will
allow SwiftShader to replace Mesa in the layout tests.

Note: Although the new modes were added, no changes to the
layout tests will happen with this cl, but it does allow
Chromium to use SwiftShader as the OpenGL ES driver on
Windows and Linux.

BUG= 630728 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2680423002
Cr-Commit-Position: refs/heads/master@{#450059}

[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/gpu/config/gpu_info_collector_win.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/gl_context.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/gl_implementation.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/gl_implementation.h
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/gl_switches.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/gl_switches.h
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/init/gl_factory.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/init/gl_factory_win.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/init/gl_factory_x11.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/init/gl_initializer_win.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/init/gl_initializer_x11.cc
[modify] https://crrev.com/2ad66a7079e608873f2e1c8a60bf316c76bbc156/ui/gl/test/egl_initialization_displays_unittest.cc

Comment 42 by kbr@chromium.org, Feb 14 2017

 Issue 690589  has been merged into this issue.
Project Member

Comment 43 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a231f957275b8be1a1bf97b25acbae7e49328a36

commit a231f957275b8be1a1bf97b25acbae7e49328a36
Author: sugoi <sugoi@chromium.org>
Date: Tue Feb 14 15:06:57 2017

Add Subzero as a third_party dependency

As discussed, Subzero is added as a third_party dependency in Chromium.
Subzero's revision is defined in SwiftShader's DEPS file and it will
be pulled in 'third_party/swiftshader/third_party/pnacl-subzero'.

BUG= 630728 

Review-Url: https://codereview.chromium.org/2695813002
Cr-Commit-Position: refs/heads/master@{#450353}

[modify] https://crrev.com/a231f957275b8be1a1bf97b25acbae7e49328a36/DEPS

Project Member

Comment 44 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/296d89b98d6d034832dfe9bf8c1e16a35edb3da8

commit 296d89b98d6d034832dfe9bf8c1e16a35edb3da8
Author: sugoi <sugoi@chromium.org>
Date: Wed Feb 15 01:31:02 2017

SwiftShader DEPS update

This change changes SwiftShader's backend from LLVM to Subzero
on Windows.

TBR=kbr@chromium.org
TBR_REASON=SwiftShader DEPS roll
BUG= 630728 

Review-Url: https://codereview.chromium.org/2696913002
Cr-Commit-Position: refs/heads/master@{#450545}

[modify] https://crrev.com/296d89b98d6d034832dfe9bf8c1e16a35edb3da8/DEPS

Cc: -robliao@chromium.org
Project Member

Comment 46 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/551972bc50a7dc29f31d6a91e377488d76cfc549

commit 551972bc50a7dc29f31d6a91e377488d76cfc549
Author: dominickn <dominickn@chromium.org>
Date: Wed Feb 15 04:52:14 2017

Revert of SwiftShader DEPS update (patchset #1 id:1 of https://codereview.chromium.org/2696913002/ )

Reason for revert:
This somehow landed. Reverting because it broke the Windows build: https://build.chromium.org/p/chromium/buildstatus?builder=Win&number=51885

Original issue's description:
> SwiftShader DEPS update
>
> This change changes SwiftShader's backend from LLVM to Subzero
> on Windows.
>
> TBR=kbr@chromium.org
> TBR_REASON=SwiftShader DEPS roll
> BUG= 630728 

TBR=kbr@chromium.org,sugoi@google.com,sugoi@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 630728 

Review-Url: https://codereview.chromium.org/2698583003
Cr-Commit-Position: refs/heads/master@{#450553}

[modify] https://crrev.com/551972bc50a7dc29f31d6a91e377488d76cfc549/DEPS

Project Member

Comment 47 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ddb637b4a85d4d0394a721a5b8d0f449d406e96d

commit ddb637b4a85d4d0394a721a5b8d0f449d406e96d
Author: sugoi <sugoi@chromium.org>
Date: Wed Feb 15 21:37:06 2017

SwiftShader DEPS update

This change changes SwiftShader's backend from LLVM to Subzero
on Windows and includes a fix in Subzero to build properly
on x86.

TBR=kbr@chromium.org
TBR_REASON=SwiftShader DEPS roll
BUG= 630728 

Review-Url: https://codereview.chromium.org/2692203006
Cr-Commit-Position: refs/heads/master@{#450810}

[modify] https://crrev.com/ddb637b4a85d4d0394a721a5b8d0f449d406e96d/DEPS

Project Member

Comment 48 by bugdroid1@chromium.org, Feb 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6fdc0748d97e254124025dac675676ac7e029fb4

commit 6fdc0748d97e254124025dac675676ac7e029fb4
Author: sugoi <sugoi@chromium.org>
Date: Thu Feb 16 13:41:54 2017

Abstract OSMesa from the Layout tests

In order to be able to switch between SwiftShader and OSMesa based
on the platform being used, OSMesa was abstracted to just "software
GL", which can apply to OSMesa or SwiftShader. The new function,
GetSoftwareGLImplementation(), which currently always returns
kGLImplementationOSMesaGL in order to preserve the current behavior,
will be used to switch between SwiftShader and OSMesa.

This current change should be a noop, it simply makes it easy to
switch between renderers.

BUG= 630728 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2690113010
Cr-Commit-Position: refs/heads/master@{#450946}

[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/content/public/test/browser_test_base.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/content/public/test/browser_test_base.h
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/content/shell/app/shell_main_delegate.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/gpu/ipc/host/gpu_memory_buffer_support.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/mash/test/mash_test_suite.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/services/ui/ws/window_server_service_test_base.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/gl_implementation.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/gl_implementation.h
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/gl_switches.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/gl_switches.h
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/init/gl_factory.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/init/gl_factory.h
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/gl/test/gl_surface_test_support.cc
[modify] https://crrev.com/6fdc0748d97e254124025dac675676ac7e029fb4/ui/views/mus/views_mus_test_suite.cc

Comment 49 by capn@chromium.org, Feb 16 2017

Blocking: 693067
Project Member

Comment 51 by bugdroid1@chromium.org, Mar 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7fc3177eec8f28989f48e1f45d4cdaec4566890a

commit 7fc3177eec8f28989f48e1f45d4cdaec4566890a
Author: kinuko <kinuko@chromium.org>
Date: Fri Mar 10 06:01:27 2017

Revert of Added HardwareAccelerationEnabled() function (patchset #1 id:1 of https://codereview.chromium.org/2737273003/ )

Reason for revert:
Speculative revert (will re-revert if false alarm)

To see if reverting this fixes CloudPolicyManagerTest breakage

Original issue's description:
> Added HardwareAccelerationEnabled() function
>
> Added a new utility function to clarify and simplify checking whether
> hardware acceleration is currently being used.
>
> R=emaxx@chromium.org, piman@chromium.org, jbauman@chromium.org
> BUG= 630728 
>
> Review-Url: https://codereview.chromium.org/2737273003
> Cr-Commit-Position: refs/heads/master@{#455947}
> Committed: https://chromium.googlesource.com/chromium/src/+/c0d9fe79fd4582f8170cef92d1e3ad211b5f8518

TBR=emaxx@chromium.org,jbauman@chromium.org,piman@chromium.org,sugoi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 630728 

Review-Url: https://codereview.chromium.org/2745733002
Cr-Commit-Position: refs/heads/master@{#456006}

[modify] https://crrev.com/7fc3177eec8f28989f48e1f45d4cdaec4566890a/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/7fc3177eec8f28989f48e1f45d4cdaec4566890a/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/7fc3177eec8f28989f48e1f45d4cdaec4566890a/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/7fc3177eec8f28989f48e1f45d4cdaec4566890a/content/public/browser/gpu_data_manager.h

Project Member

Comment 52 by bugdroid1@chromium.org, Mar 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e9da2599e7fe5c5dcea7439851066905ce6932b

commit 7e9da2599e7fe5c5dcea7439851066905ce6932b
Author: kinuko <kinuko@chromium.org>
Date: Fri Mar 10 07:18:42 2017

Reland of Added HardwareAccelerationEnabled() function (patchset #1 id:1 of https://codereview.chromium.org/2745733002/ )

Reason for revert:
Ok, looks like this was the wrong one.

Original issue's description:
> Revert of Added HardwareAccelerationEnabled() function (patchset #1 id:1 of https://codereview.chromium.org/2737273003/ )
>
> Reason for revert:
> Speculative revert (will re-revert if false alarm)
>
> To see if reverting this fixes CloudPolicyManagerTest breakage
>
> Original issue's description:
> > Added HardwareAccelerationEnabled() function
> >
> > Added a new utility function to clarify and simplify checking whether
> > hardware acceleration is currently being used.
> >
> > R=emaxx@chromium.org, piman@chromium.org, jbauman@chromium.org
> > BUG= 630728 
> >
> > Review-Url: https://codereview.chromium.org/2737273003
> > Cr-Commit-Position: refs/heads/master@{#455947}
> > Committed: https://chromium.googlesource.com/chromium/src/+/c0d9fe79fd4582f8170cef92d1e3ad211b5f8518
>
> TBR=emaxx@chromium.org,jbauman@chromium.org,piman@chromium.org,sugoi@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= 630728 
>
> Review-Url: https://codereview.chromium.org/2745733002
> Cr-Commit-Position: refs/heads/master@{#456006}
> Committed: https://chromium.googlesource.com/chromium/src/+/7fc3177eec8f28989f48e1f45d4cdaec4566890a

TBR=emaxx@chromium.org,jbauman@chromium.org,piman@chromium.org,sugoi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 630728 

Review-Url: https://codereview.chromium.org/2743563005
Cr-Commit-Position: refs/heads/master@{#456015}

[modify] https://crrev.com/7e9da2599e7fe5c5dcea7439851066905ce6932b/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/7e9da2599e7fe5c5dcea7439851066905ce6932b/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/7e9da2599e7fe5c5dcea7439851066905ce6932b/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/7e9da2599e7fe5c5dcea7439851066905ce6932b/content/public/browser/gpu_data_manager.h

Project Member

Comment 53 by bugdroid1@chromium.org, Mar 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e3f185360c78d129af6a5fbc4e0515c3b2f6793

commit 9e3f185360c78d129af6a5fbc4e0515c3b2f6793
Author: sugoi <sugoi@chromium.org>
Date: Mon Mar 13 17:05:19 2017

This is necessary for tests that wish to disable WebGL

A few different tests are blacklisting the WebGL GPU feature. This will
no longer work when SwiftShader is fully integrated in chromium, as it
will become a fallback for GPU accelerated WebGL, and the WebGL feature
will stay enabled.

In order to fix this issue, the WebGL feature will now only be enabled
when accelerated. When SwiftShader is used, these features will now be
disabled. A new utility function, IsWebGLEnabled(), which checks for
both swiftshader and the WebGL feature, was added in order to verify if
WebGL can actually be used by chromium.

BUG= 630728 
R=rdevlin.cronin@chromium.org, jbauman@chromium.org, zmo@chromium.org, piman@chromium.org
TBR=laforge@chromium.org
TBR_REASON=Trivial change to swiftshader_component_installer.cc, which will soon be deleted entirely
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2737983002
Cr-Commit-Position: refs/heads/master@{#456405}

[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/chrome/browser/component_updater/swiftshader_component_installer.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/chrome/browser/extensions/chrome_requirements_checker.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/chrome/browser/extensions/extension_service_unittest.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/chrome/browser/extensions/requirements_checker_browsertest.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/gpu/config/gpu_blacklist_unittest.cc
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/gpu/config/gpu_feature_type.h
[modify] https://crrev.com/9e3f185360c78d129af6a5fbc4e0515c3b2f6793/gpu/config/software_rendering_list_json.cc

Comment 54 by kbr@chromium.org, Mar 14 2017

Blocking: 700669

Comment 55 by kbr@chromium.org, Mar 14 2017

Blocking: 684088
Project Member

Comment 56 by bugdroid1@chromium.org, Mar 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/842efc6922b0cd66febd6f36f04318ebf396c184

commit 842efc6922b0cd66febd6f36f04318ebf396c184
Author: sugoi <sugoi@chromium.org>
Date: Tue Mar 14 18:10:39 2017

Moving SwiftShader from component to bundled library

Multiple things are modified here:
- The SwiftShader component was entirely removed
- The kSwiftShaderPath switch was removed, since SwiftShader
  will now be in a constant location
- SwiftShader files were added to FILES.cfg and chrome.release

BUG= 630728 
TBR=piman@chromium.org
TBR_REASON=This is only for changes in gpu_data_manager.h, which are trivial

Review-Url: https://codereview.chromium.org/2715563002
Cr-Commit-Position: refs/heads/master@{#456764}

[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/chrome/browser/BUILD.gn
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/chrome/browser/chrome_browser_main.cc
[delete] https://crrev.com/8e5a6ea2b78481bc734b96b2350dad28698161d2/chrome/browser/component_updater/swiftshader_component_installer.cc
[delete] https://crrev.com/8e5a6ea2b78481bc734b96b2350dad28698161d2/chrome/browser/component_updater/swiftshader_component_installer.h
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/chrome/installer/mini_installer/chrome.release
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/chrome/tools/build/win/FILES.cfg
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/browser/BUILD.gn
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/ui/gl/BUILD.gn
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/ui/gl/gl_switches.cc
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/ui/gl/gl_switches.h
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/ui/gl/init/BUILD.gn
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/ui/gl/init/gl_initializer_win.cc
[modify] https://crrev.com/842efc6922b0cd66febd6f36f04318ebf396c184/ui/gl/init/gl_initializer_x11.cc

Project Member

Comment 57 by bugdroid1@chromium.org, Mar 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cf232fd17d6a4137620296afebef13eac0d39f18

commit cf232fd17d6a4137620296afebef13eac0d39f18
Author: sugoi <sugoi@chromium.org>
Date: Tue Mar 14 21:24:41 2017

SwiftShader DEPS update

This update contains a fix for glGetIntegerv and
new "defines" sections in BUILD.gn files.

TBR=kbr@chromium.org
TBR_REASON=SwiftShader DEPS roll
BUG= 630728 

Review-Url: https://codereview.chromium.org/2747243002
Cr-Commit-Position: refs/heads/master@{#456838}

[modify] https://crrev.com/cf232fd17d6a4137620296afebef13eac0d39f18/DEPS

https://codereview.chromium.org/2715563002 has caused the Win7 Debug (NVIDIA) bot to fail the gpu_process_launch_tests, specifically GpuProcess_skip_gpu_process and GpuProcess_no_gpu_process. They test that no GPU process gets created when using a blacklisted GPU or --disable-gpu. Due to the SwiftShader integration this is no longer a valid expectation.

Patch to skip these tests: https://chromium-review.googlesource.com/455464

Comment 59 by kbr@chromium.org, Mar 15 2017

Blockedon: 701625

Comment 60 by kbr@chromium.org, Mar 15 2017

Blockedon: swiftshader:32
Project Member

Comment 61 by bugdroid1@chromium.org, Mar 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94537c579db2361b6f285f810cedb796650e03a1

commit 94537c579db2361b6f285f810cedb796650e03a1
Author: sugoi <sugoi@chromium.org>
Date: Thu Mar 16 17:18:04 2017

SwiftShader DEPS update

This update disables the debugger wait dialog by default on any
build not made using the SwiftShader solution in Visual Studio.

TBR=kbr@chromium.org
TBR_REASON=SwiftShader DEPS roll
BUG= 630728 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2751023004
Cr-Commit-Position: refs/heads/master@{#457468}

[modify] https://crrev.com/94537c579db2361b6f285f810cedb796650e03a1/DEPS

Comment 62 by kbr@chromium.org, Mar 23 2017

Blockedon: 704708
Project Member

Comment 63 by bugdroid1@chromium.org, Apr 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b4a2c65e6ef9e8609a6a7b3bcd32c0438b5655a

commit 4b4a2c65e6ef9e8609a6a7b3bcd32c0438b5655a
Author: sugoi <sugoi@chromium.org>
Date: Sat Apr 01 12:14:37 2017

Get the proper GPU Info in GpuProcessHost

As a follow up to https://codereview.chromium.org/2770933008/,
a few changes were made:
- When setting Swiftshader in the GpuDataManagerImplPrivate,
  gpu_info_ and gpu_feature_info_ are cleared of previously
  recorded info regarding the GPU to reflect SwiftShader
  currently being in use
- Made sure GpuProcessHost uses the proper GPUInfo, meaning
  when SwiftShader is in use, it should get its info from
  GpuDataManagerImpl instead of setting new GPUInfo into
  GpuDataManagerImpl. The functions calls would return right
  away anyway and GpuDataManagerImpl and GpuProcessHost would
  then be out of sync.

BUG= 630728 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2781993002
Cr-Commit-Position: refs/heads/master@{#461322}

[modify] https://crrev.com/4b4a2c65e6ef9e8609a6a7b3bcd32c0438b5655a/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/4b4a2c65e6ef9e8609a6a7b3bcd32c0438b5655a/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/4b4a2c65e6ef9e8609a6a7b3bcd32c0438b5655a/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/4b4a2c65e6ef9e8609a6a7b3bcd32c0438b5655a/content/test/gpu/gpu_tests/gpu_process_integration_test.py

Comment 64 by capn@chromium.org, Apr 13 2017

Blockedon: -704708

Comment 65 by sugoi@chromium.org, Apr 13 2017

Status: Fixed (was: Assigned)
Closing this issue. SwiftShader is now properly integrated in Chrome in both Windows and Linux. At the moment of writing this, Chromium using SwiftShader passes 100% of the WebGL 1.0.4 Conformance Tests.

A separate issue will be opened later to track the work related to SwiftShader's integration in Layout Tests.

Comment 66 by kbr@chromium.org, Apr 14 2017

Great work Alexis!!!

Project Member

Comment 67 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6

commit 8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6
Author: Nicolas Capens <capn@google.com>
Date: Tue Jan 24 22:16:10 2017

Work around empty set default parameter compilation issue.

Older versions of Clang don't allow using an empty set as the default
parameter of a class with an explicit constructor.
"error: chosen constructor is explicit in copy-initialization"

BUG= chromium:630728 

Change-Id: I580073788ce3346d1ecffab336a0fcee210b2e0f
Reviewed-on: https://chromium-review.googlesource.com/431080
Reviewed-by: Jim Stichnoth <stichnot@chromium.org>

[modify] https://crrev.com/8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6/src/IceRegAlloc.h
[modify] https://crrev.com/8bd18e1be3eb25d60a4696bb948ab41f6ce6afd6/src/IceTargetLowering.cpp

Sign in to add a comment