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

Issue 712343003: Infrastructure for temportarily relinquishing GPU resources. (Closed)

Created:
6 years, 1 month ago by GusFernandez
Modified:
6 years ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, kalyank, ozone-reviews_chromium.org, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Infrastructure for temporarily relinquishing GPU resources. Chromecast needs to release all OpenGL/EGL resources before launching an external app which will own the screen and GPU. This includes the EGL display type and window as well as the default off-screen pbuffer which were previously retained until the GPU process exits. BUG=432268 Committed: https://crrev.com/44a73aac041d87ae260a46f8c8e917af0e3a29ce Cr-Commit-Position: refs/heads/master@{#305331}

Patch Set 1 #

Total comments: 12

Patch Set 2 : Clean-up based on feedback from spang and jbauman #

Total comments: 6

Patch Set 3 : Make callback optional. Other changes suggested by jbauman and spang #

Total comments: 10

Patch Set 4 : Changes suggested by piman #

Patch Set 5 : Changes suggested by spang #

Total comments: 6

Patch Set 6 : Move RelinquishGpuResources stub implementation to StubGpuPlatformSupport #

Patch Set 7 : changes suggested by piman #

Patch Set 8 : Add a new DestroyAndTerminateDisplay method to avoid Win unit test failures #

Patch Set 9 : Run trybots again. Maybe now I have trybot access. #

Patch Set 10 : Try trybots again. Maybe now I have access #

Total comments: 20

Patch Set 11 : changes suggested by dcheng #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -12 lines) Patch
M content/browser/gpu/gpu_process_host_ui_shim.h View 1 2 3 4 3 chunks +4 lines, -1 line 0 comments Download
M content/browser/gpu/gpu_process_host_ui_shim.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +16 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_channel_manager.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_channel_manager.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +25 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_messages.h View 1 2 3 4 2 chunks +8 lines, -0 lines 0 comments Download
M ui/gl/gl_surface.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/gl_surface.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_egl.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_surface_egl.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +63 lines, -11 lines 0 comments Download
M ui/ozone/platform/dri/dri_gpu_platform_support.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M ui/ozone/platform/dri/dri_gpu_platform_support.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M ui/ozone/public/gpu_platform_support.h View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
M ui/ozone/public/gpu_platform_support.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 45 (10 generated)
GusFernandez
6 years, 1 month ago (2014-11-11 22:13:24 UTC) #2
jbauman
The GpuProcessHost stuff would probably make more sense in GpuProcessHostUIShim if it's going to be ...
6 years, 1 month ago (2014-11-12 01:47:28 UTC) #3
GusFernandez
This is a significant clean-up and simplifaction based on feedback from Spang and jbauman https://codereview.chromium.org/712343003/diff/1/content/browser/gpu/gpu_process_host.cc ...
6 years, 1 month ago (2014-11-15 02:11:56 UTC) #4
spang
this needs attention from a ui/gl owner https://codereview.chromium.org/712343003/diff/20001/ui/gl/gl_surface_egl.cc File ui/gl/gl_surface_egl.cc (right): https://codereview.chromium.org/712343003/diff/20001/ui/gl/gl_surface_egl.cc#newcode235 ui/gl/gl_surface_egl.cc:235: g_initialized = ...
6 years, 1 month ago (2014-11-17 21:49:13 UTC) #6
jbauman
lgtm, with one nit. https://codereview.chromium.org/712343003/diff/20001/content/common/gpu/gpu_messages.h File content/common/gpu/gpu_messages.h (right): https://codereview.chromium.org/712343003/diff/20001/content/common/gpu/gpu_messages.h#newcode306 content/common/gpu/gpu_messages.h:306: IPC_MESSAGE_CONTROL0(GpuMsg_RelinquishDisplay) This isn't used in ...
6 years, 1 month ago (2014-11-18 00:30:03 UTC) #7
GusFernandez
Patch Set 3 contains Changes suggested by spang and jbauman https://codereview.chromium.org/712343003/diff/20001/content/common/gpu/gpu_messages.h File content/common/gpu/gpu_messages.h (right): https://codereview.chromium.org/712343003/diff/20001/content/common/gpu/gpu_messages.h#newcode306 ...
6 years, 1 month ago (2014-11-18 15:03:59 UTC) #9
piman
https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc File content/browser/gpu/gpu_process_host_ui_shim.cc (right): https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc#newcode192 content/browser/gpu/gpu_process_host_ui_shim.cc:192: Send(new GpuMsg_DeleteDefaultOffscreenSurface()); Would you not want to wait for ...
6 years, 1 month ago (2014-11-18 20:55:34 UTC) #10
GusFernandez
https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc File content/browser/gpu/gpu_process_host_ui_shim.cc (right): https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc#newcode192 content/browser/gpu/gpu_process_host_ui_shim.cc:192: Send(new GpuMsg_DeleteDefaultOffscreenSurface()); On 2014/11/18 20:55:34, piman (Very slow to ...
6 years, 1 month ago (2014-11-19 18:50:13 UTC) #11
spang
On 2014/11/19 18:50:13, gusfernandez wrote: > https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc > File content/browser/gpu/gpu_process_host_ui_shim.cc (right): > > https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc#newcode192 > ...
6 years, 1 month ago (2014-11-19 18:55:41 UTC) #12
spang
On 2014/11/19 18:55:41, spang wrote: > On 2014/11/19 18:50:13, gusfernandez wrote: > > > https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc ...
6 years, 1 month ago (2014-11-19 19:44:13 UTC) #13
piman
https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc File content/browser/gpu/gpu_process_host_ui_shim.cc (right): https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc#newcode192 content/browser/gpu/gpu_process_host_ui_shim.cc:192: Send(new GpuMsg_DeleteDefaultOffscreenSurface()); On 2014/11/19 18:50:13, gusfernandez wrote: > On ...
6 years, 1 month ago (2014-11-19 20:33:52 UTC) #14
spang
On 2014/11/19 20:33:52, piman (Very slow to review) wrote: > https://codereview.chromium.org/712343003/diff/40001/content/browser/gpu/gpu_process_host_ui_shim.cc > File content/browser/gpu/gpu_process_host_ui_shim.cc (right): ...
6 years, 1 month ago (2014-11-19 20:39:51 UTC) #15
chromium-reviews
On Wed, Nov 19, 2014 at 12:39 PM, <spang@chromium.org> wrote: > On 2014/11/19 20:33:52, piman ...
6 years, 1 month ago (2014-11-19 21:23:04 UTC) #16
GusFernandez
Here is an updated version which calls a new RelinquishResources Ozone_GpuPlatformSupport API after we delete ...
6 years, 1 month ago (2014-11-20 16:39:06 UTC) #17
spang
On 2014/11/20 16:39:06, gusfernandez wrote: > Here is an updated version which calls a new ...
6 years, 1 month ago (2014-11-20 18:05:54 UTC) #18
spang
https://codereview.chromium.org/712343003/diff/80001/ui/ozone/public/gpu_platform_support.h File ui/ozone/public/gpu_platform_support.h (right): https://codereview.chromium.org/712343003/diff/80001/ui/ozone/public/gpu_platform_support.h#newcode26 ui/ozone/public/gpu_platform_support.h:26: virtual void RelinquishGpuResources(const base::Closure& callback); Er, one last nit: ...
6 years, 1 month ago (2014-11-20 18:08:22 UTC) #19
piman
https://codereview.chromium.org/712343003/diff/80001/content/common/gpu/gpu_channel_manager.cc File content/common/gpu/gpu_channel_manager.cc (right): https://codereview.chromium.org/712343003/diff/80001/content/common/gpu/gpu_channel_manager.cc#newcode339 content/common/gpu/gpu_channel_manager.cc:339: &GpuChannelManager::OnResourcesReliuquished, base::Unretained(this))); Is Unretained safe? If it is, can ...
6 years, 1 month ago (2014-11-20 21:06:43 UTC) #21
GusFernandez
Moved RelinquishGpuResources to StubGpuPlatformSupport as per spang's suggestion.
6 years, 1 month ago (2014-11-20 21:25:40 UTC) #22
GusFernandez
A couple of changes suggested by piman. https://codereview.chromium.org/712343003/diff/80001/content/common/gpu/gpu_channel_manager.cc File content/common/gpu/gpu_channel_manager.cc (right): https://codereview.chromium.org/712343003/diff/80001/content/common/gpu/gpu_channel_manager.cc#newcode339 content/common/gpu/gpu_channel_manager.cc:339: &GpuChannelManager::OnResourcesReliuquished, base::Unretained(this))); ...
6 years, 1 month ago (2014-11-20 21:42:49 UTC) #23
piman
lgtm
6 years, 1 month ago (2014-11-20 22:46:26 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/712343003/120001
6 years, 1 month ago (2014-11-20 22:48:52 UTC) #26
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/25671)
6 years, 1 month ago (2014-11-20 22:56:39 UTC) #28
GusFernandez
+dcheng for gpu_messages.h
6 years, 1 month ago (2014-11-20 23:40:20 UTC) #29
lcwu1
6 years, 1 month ago (2014-11-20 23:45:33 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/712343003/140001
6 years, 1 month ago (2014-11-21 01:15:45 UTC) #33
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/25733)
6 years, 1 month ago (2014-11-21 01:23:15 UTC) #35
GusFernandez
New change to explicitly delete the display to avoid problems with win unit tests.
6 years, 1 month ago (2014-11-21 03:02:04 UTC) #36
dcheng
Is there a followup CL that will use the new methods on GpuProcessHostUIShim? They don't ...
6 years, 1 month ago (2014-11-21 03:06:04 UTC) #37
GusFernandez
Callers to new APIs are in Chromecast internal code. See links in comment b/18255574. https://codereview.chromium.org/712343003/diff/180001/content/browser/gpu/gpu_process_host_ui_shim.cc ...
6 years ago (2014-11-21 19:13:57 UTC) #38
dcheng
Do I need some to get added to some list somewhere to see the internal ...
6 years ago (2014-11-21 20:43:00 UTC) #39
piman
On 2014/11/21 20:43:00, dcheng wrote: > Do I need some to get added to some ...
6 years ago (2014-11-21 21:31:24 UTC) #40
dcheng
LGTM, but per our discussion, please follow up file bugs to address the initialization issues ...
6 years ago (2014-11-21 23:49:40 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/712343003/200001
6 years ago (2014-11-22 00:03:36 UTC) #43
commit-bot: I haz the power
Committed patchset #11 (id:200001)
6 years ago (2014-11-22 01:00:20 UTC) #44
commit-bot: I haz the power
6 years ago (2014-11-22 01:01:03 UTC) #45
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/44a73aac041d87ae260a46f8c8e917af0e3a29ce
Cr-Commit-Position: refs/heads/master@{#305331}

Powered by Google App Engine
This is Rietveld 408576698