Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Issue 12976004: Generalzie GpuBlacklist to GpuControlList. (Closed)

Created:
7 years, 9 months ago by Zhenyao Mo
Modified:
7 years, 9 months ago
Reviewers:
greggman
CC:
chromium-reviews, jam, apatrick_chromium, joi+watch-content_chromium.org, Aaron Boodman, darin-cc_chromium.org, chromium-apps-reviews_chromium.org
Visibility:
Public.

Description

Generalzie GpuBlacklist to GpuControlList. This CL refactor the GpuBlacklist so it can be configured to handle a different set of features. So it can handle not only blacklist, but dual gpu switching, and driver bugs. I will add the code to truly manage driver bug workarounds in the next CL. BUG=222857 TEST=content_unittests TBR=asargent Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=189889

Patch Set 1 : #

Total comments: 16

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4037 lines, -3501 lines) Patch
M chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/extension_service_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/requirements_checker_browsertest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/test/gpu/gpu_feature_browsertest.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M content/browser/gpu/gpu_blacklist.h View 2 chunks +5 lines, -469 lines 0 comments Download
M content/browser/gpu/gpu_blacklist.cc View 1 chunk +34 lines, -1394 lines 0 comments Download
M content/browser/gpu/gpu_blacklist_unittest.cc View 3 chunks +78 lines, -1437 lines 0 comments Download
A content/browser/gpu/gpu_control_list.h View 1 1 chunk +481 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_control_list.cc View 1 chunk +1378 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_control_list_unittest.cc View 1 1 chunk +1331 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl.h View 3 chunks +8 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl.cc View 6 chunks +54 lines, -20 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl_unittest.cc View 1 5 chunks +96 lines, -93 lines 0 comments Download
A content/browser/gpu/gpu_driver_bug_list.h View 1 chunk +29 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_driver_bug_list.cc View 1 chunk +25 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_driver_bug_list.json View 1 chunk +77 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_driver_bug_list_unittest.cc View 1 1 chunk +74 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_switching_list.h View 1 chunk +29 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_switching_list.cc View 1 chunk +29 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_switching_list.json View 1 chunk +107 lines, -0 lines 0 comments Download
A content/browser/gpu/gpu_switching_list_unittest.cc View 1 1 chunk +128 lines, -0 lines 0 comments Download
M content/browser/gpu/software_rendering_list.json View 54 chunks +54 lines, -81 lines 0 comments Download
M content/content_browser.gypi View 2 chunks +6 lines, -0 lines 0 comments Download
M content/content_resources.grd View 1 chunk +2 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 chunk +3 lines, -0 lines 0 comments Download
M content/content_unittests.isolate View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Zhenyao Mo
gman: please take a look. (This is a huge CL, but the only meaningful change ...
7 years, 9 months ago (2013-03-21 20:08:13 UTC) #1
greggman
lgtm https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_control_list.h File content/browser/gpu/gpu_control_list.h (right): https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_control_list.h#newcode55 content/browser/gpu/gpu_control_list.h:55: int MakeDecision( nit: I hope this isn't bikeshedding ...
7 years, 9 months ago (2013-03-22 00:30:51 UTC) #2
Zhenyao Mo
Committed patchset #2 manually as r189889 (presubmit successful).
7 years, 9 months ago (2013-03-22 20:00:04 UTC) #3
Zhenyao Mo
7 years, 9 months ago (2013-03-22 20:00:10 UTC) #4
Message was sent while issue was closed.
https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_c...
File content/browser/gpu/gpu_control_list.h (right):

https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_c...
content/browser/gpu/gpu_control_list.h:55: int MakeDecision(
On 2013/03/22 00:30:51, greggman wrote:
> nit: I hope this isn't bikeshedding but the description above doesn't really
> seem to match a function called "MakeDecision". What decision is being made?

Revised to make it clearer.

https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_c...
content/browser/gpu/gpu_control_list.h:58: // Collects the active entries from
the last MakeBlacklistDecision() call.
On 2013/03/22 00:30:51, greggman wrote:
> s/MakeBlacklistDecision/MakeDecision/?

Done.

https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_c...
content/browser/gpu/gpu_control_list.h:81: // Check if we needs more gpu info to
make the decisions.
On 2013/03/22 00:30:51, greggman wrote:
> s/needs/need/

Done.

https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_c...
content/browser/gpu/gpu_control_list.h:113: class VersionInfo {
On 2013/03/22 00:30:51, greggman wrote:
> It seems like these classes should have unit tests.
> 
> put "friend class VersionInfoTest;" at line 96
> 
> Then in unit tests VersionInfoTest can make instances of
> GPUControlList::VersionInfoTest.

Sure.  Will add tests for this class in a follow-up CL.  Same for the other
classes.

https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_s...
File content/browser/gpu/gpu_switching_list_unittest.cc (right):

https://codereview.chromium.org/12976004/diff/11002/content/browser/gpu/gpu_s...
content/browser/gpu/gpu_switching_list_unittest.cc:75: const std::string json =
On 2013/03/22 00:30:51, greggman wrote:
> Just FYI,  I believe you can do this
> 
>    #define LONG_STRING_CONST(...)  #__VA_ARGS__
> 
>    const std::stirng json = LONG_STRING_CONST(
>       {
>         "name": "gpu switch list",
>         "version": "0.1",
>         "entries": [
>            ..etc...
>         ]
>      }
>     );
> 
> Here and in other files. Might be easier in the future than having to escape
> every quote and add a \n all over the place.

Wow, this is really awesome! Why I haven't heard of this before?  :)

Powered by Google App Engine
This is Rietveld 408576698