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

Issue 435383002: adds WARP support to Chromium, for Metro mode only, on Windows 8 (Closed)

Created:
6 years, 4 months ago by luken
Modified:
6 years, 3 months ago
CC:
chromium-reviews, rjkroege, ozone-reviews_chromium.org, jam, darin-cc_chromium.org, piman+watch_chromium.org, kalyank
Project:
chromium
Visibility:
Public.

Description

Adds WARP support to Chromium on Windows 8+ Metro mode requires a GPU process but there are a few tablets and other devices that don't have a GPU. Currently we don't expose the menu option for Metro mode on these devices. This CL exposes the Metro mode option for all Windows 8+ machines, and if a GPU isn't normally available it turns on WARP support for Metro mode only. BUG=314954 Committed: https://crrev.com/862c1780c5b5c2df52f1b234d9c214cf6c25c4d1 Cr-Commit-Position: refs/heads/master@{#293267}

Patch Set 1 #

Patch Set 2 : need a way to know we're using WARP #

Patch Set 3 : persisting state in gpu_string_manager #

Patch Set 4 : turn on warp when switching to metro #

Patch Set 5 : review for review #

Patch Set 6 : first round of tryfixes #

Total comments: 16

Patch Set 7 : determine fallback status at startup time #

Patch Set 8 : use command line switches #

Patch Set 9 : ready for trybots #

Patch Set 10 : rebase and cleanup #

Patch Set 11 : don't check command line if it isn't there #

Total comments: 8

Patch Set 12 : fixing dx9 fallback #

Patch Set 13 : rebased #

Total comments: 6

Patch Set 14 : move kViewerConnect #

Total comments: 5

Patch Set 15 : renamed switch #

Unified diffs Side-by-side diffs Delta from patch set Stats (+180 lines, -16 lines) Patch
M chrome/browser/browser_process_platform_part_aurawin.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/ui/toolbar/wrench_menu_model.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -2 lines 0 comments Download
M chrome/browser/ui/window_sizer/window_sizer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -1 line 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -3 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl.cc View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl_private.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +12 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl_private.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 12 chunks +36 lines, -4 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl_private_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +20 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_internals_ui.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/browser/gpu_data_manager.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M ui/base/ui_base_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/generate_bindings.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +6 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_egl.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_egl.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +53 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_win.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +13 lines, -4 lines 0 comments Download
M ui/gl/gl_switches.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_switches.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M win8/delegate_execute/command_execute_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +3 lines, -1 line 0 comments Download
M win8/metro_driver/chrome_app_view_ash.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 37 (6 generated)
luken
6 years, 4 months ago (2014-08-20 20:03:04 UTC) #1
luken
6 years, 4 months ago (2014-08-20 20:04:52 UTC) #2
luken
zmo: chrome\browser\gpu\ gpu\config\ brettw: content\public\browser\gpu_data_manager.h sky: chrome\ ui\ Thanks
6 years, 4 months ago (2014-08-20 20:06:28 UTC) #3
Zhenyao Mo
Mostly looks OK with a few minor issues that need to be addressed. However, the ...
6 years, 4 months ago (2014-08-20 21:02:09 UTC) #4
sky
You also need an observer in content/browser https://codereview.chromium.org/435383002/diff/100001/chrome/browser/gpu/gpu_pref_manager.cc File chrome/browser/gpu/gpu_pref_manager.cc (right): https://codereview.chromium.org/435383002/diff/100001/chrome/browser/gpu/gpu_pref_manager.cc#newcode80 chrome/browser/gpu/gpu_pref_manager.cc:80: local_state->SetBoolean(prefs::kGPUUseWarp, use_warp_); ...
6 years, 4 months ago (2014-08-20 22:37:03 UTC) #5
luken
PTAL. This version doesn't store a pref but determines fallback to Warp at runtime. Not ...
6 years, 3 months ago (2014-08-27 20:43:47 UTC) #6
Zhenyao Mo
The failure on win_gpu bots is because it switched from DX11 to DX9. It's apparently ...
6 years, 3 months ago (2014-08-27 20:48:42 UTC) #7
Zhenyao Mo
zmo@chromium.org changed reviewers: + geofflang@chromium.org
6 years, 3 months ago (2014-08-27 20:49:31 UTC) #8
Zhenyao Mo
Geoff, can you take a look at this CL and maybe you can shed some ...
6 years, 3 months ago (2014-08-27 20:50:36 UTC) #9
Geoff Lang
https://codereview.chromium.org/435383002/diff/200001/ui/gl/gl_surface_egl.cc File ui/gl/gl_surface_egl.cc (right): https://codereview.chromium.org/435383002/diff/200001/ui/gl/gl_surface_egl.cc#newcode105 ui/gl/gl_surface_egl.cc:105: g_display = eglGetPlatformDisplayEXT(platform, g_native_display, attributes); You should check for ...
6 years, 3 months ago (2014-08-27 21:05:05 UTC) #10
luken
Hey Geoff thanks for your feedback, working on the gl_surface_win.cc code but had a question ...
6 years, 3 months ago (2014-08-27 21:38:17 UTC) #11
Geoff Lang
https://codereview.chromium.org/435383002/diff/200001/ui/gl/gl_surface_egl.cc File ui/gl/gl_surface_egl.cc (right): https://codereview.chromium.org/435383002/diff/200001/ui/gl/gl_surface_egl.cc#newcode105 ui/gl/gl_surface_egl.cc:105: g_display = eglGetPlatformDisplayEXT(platform, g_native_display, attributes); On 2014/08/27 21:38:17, luken ...
6 years, 3 months ago (2014-08-28 13:45:54 UTC) #12
luken
https://codereview.chromium.org/435383002/diff/200001/ui/gl/gl_surface_egl.cc File ui/gl/gl_surface_egl.cc (right): https://codereview.chromium.org/435383002/diff/200001/ui/gl/gl_surface_egl.cc#newcode105 ui/gl/gl_surface_egl.cc:105: g_display = eglGetPlatformDisplayEXT(platform, g_native_display, attributes); On 2014/08/28 13:45:54, Geoff ...
6 years, 3 months ago (2014-08-28 23:50:33 UTC) #13
Zhenyao Mo
gpu side mostly look good with a few minor comments/questions. https://codereview.chromium.org/435383002/diff/240001/chrome/app/chrome_main.cc File chrome/app/chrome_main.cc (right): https://codereview.chromium.org/435383002/diff/240001/chrome/app/chrome_main.cc#newcode58 ...
6 years, 3 months ago (2014-08-29 18:28:50 UTC) #14
luken
https://codereview.chromium.org/435383002/diff/240001/chrome/app/chrome_main.cc File chrome/app/chrome_main.cc (right): https://codereview.chromium.org/435383002/diff/240001/chrome/app/chrome_main.cc#newcode58 chrome/app/chrome_main.cc:58: CommandLine::ForCurrentProcess()->HasSwitch(switches::kViewerConnect)); On 2014/08/29 18:28:50, Zhenyao Mo wrote: > It ...
6 years, 3 months ago (2014-08-29 23:34:03 UTC) #15
Zhenyao Mo
gpu part LGTM
6 years, 3 months ago (2014-08-29 23:38:35 UTC) #16
cpu_(ooo_6.6-7.5)
lgtm
6 years, 3 months ago (2014-08-30 00:03:00 UTC) #18
sky
I'm not a good reviewer for the ui/gl changes. +kbr for ui/gl The rest LGTM
6 years, 3 months ago (2014-09-02 17:09:05 UTC) #20
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc File ui/base/ui_base_switches.cc (right): https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc#newcode49 ui/base/ui_base_switches.cc:49: const char kViewerConnect[] = "viewer-connect"; This name is confusing; ...
6 years, 3 months ago (2014-09-02 23:57:29 UTC) #21
luken
https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc File ui/base/ui_base_switches.cc (right): https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc#newcode49 ui/base/ui_base_switches.cc:49: const char kViewerConnect[] = "viewer-connect"; On 2014/09/02 23:57:29, Ken ...
6 years, 3 months ago (2014-09-03 00:58:07 UTC) #22
luken
PTAL https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc File ui/base/ui_base_switches.cc (right): https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc#newcode49 ui/base/ui_base_switches.cc:49: const char kViewerConnect[] = "viewer-connect"; On 2014/09/03 00:58:07, ...
6 years, 3 months ago (2014-09-03 20:59:31 UTC) #23
cpu_(ooo_6.6-7.5)
changing the name is fine. The viewer is not just for metro, for example it ...
6 years, 3 months ago (2014-09-03 22:02:18 UTC) #24
Ken Russell (switch to Gerrit)
Sorry for the holdup and thanks for the clarification on the EGL issue. Please follow ...
6 years, 3 months ago (2014-09-03 22:28:51 UTC) #25
Geoff Lang
On 2014/09/03 00:58:07, luken wrote: > https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc > File ui/base/ui_base_switches.cc (right): > > https://codereview.chromium.org/435383002/diff/260001/ui/base/ui_base_switches.cc#newcode49 > ...
6 years, 3 months ago (2014-09-03 22:46:05 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/luken@chromium.org/435383002/280001
6 years, 3 months ago (2014-09-03 23:23:49 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/8578)
6 years, 3 months ago (2014-09-04 01:30:38 UTC) #30
luken
+piman for OWNERS approval on content/public/browser/gpu_data_manager.h
6 years, 3 months ago (2014-09-04 01:36:47 UTC) #32
piman
lgtm
6 years, 3 months ago (2014-09-04 02:18:22 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/luken@chromium.org/435383002/280001
6 years, 3 months ago (2014-09-04 05:09:53 UTC) #35
commit-bot: I haz the power
Committed patchset #15 (id:280001) as 13d04eb85b6f6c98d1de0331ad3d13d9850e31a5
6 years, 3 months ago (2014-09-04 05:36:26 UTC) #36
commit-bot: I haz the power
6 years, 3 months ago (2014-09-10 03:30:07 UTC) #37
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/862c1780c5b5c2df52f1b234d9c214cf6c25c4d1
Cr-Commit-Position: refs/heads/master@{#293267}

Powered by Google App Engine
This is Rietveld 408576698