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

Issue 23452026: Destroy GLX windows when they are backgrounded (Closed)

Created:
7 years, 3 months ago by ccameron
Modified:
7 years, 3 months ago
Reviewers:
piman
CC:
chromium-reviews
Visibility:
Public.

Description

Destroy GLX windows when they are backgrounded Because GLX windows cannot be destroyed separately from their X windows on all platforms, create a separate child X window to use with GLX. Destroy this child X window when the backbuffer for the window is no longer needed. Because the GL surface may need to be made current while its backbuffer is destroyed (e.g, to destroy GL resources for a backgrounded tab), create a dummy 1x1 GL surface which is never destroyed and can always be made current. Because the child X window created will cover its parent, create an event listener to forward expose events from the child window to the parent, so that the parent can know to repaint. BUG=145600 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=223148

Patch Set 1 #

Patch Set 2 : Fix build issue #

Patch Set 3 : Add missing OVERRIDE #

Total comments: 8

Patch Set 4 : Incorporate review feedback #

Patch Set 5 : Incorporate review feedback #

Patch Set 6 : Re-apply patch #

Patch Set 7 : Clean up patch #

Total comments: 4

Patch Set 8 : Incorporate review feedback #

Patch Set 9 : Make clang builds happy #

Unified diffs Side-by-side diffs Delta from patch set Stats (+215 lines, -15 lines) Patch
M content/common/gpu/gpu_memory_manager.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_surface_glx.h View 1 2 3 4 5 6 1 chunk +34 lines, -2 lines 0 comments Download
M ui/gl/gl_surface_glx.cc View 1 2 3 4 5 6 7 8 10 chunks +180 lines, -12 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
ccameron
This is the last step in minimizing the GPU memory usage on NVIDIA cards. After ...
7 years, 3 months ago (2013-09-11 09:07:17 UTC) #1
piman
https://codereview.chromium.org/23452026/diff/9001/ui/gl/gl_surface_glx.cc File ui/gl/gl_surface_glx.cc (right): https://codereview.chromium.org/23452026/diff/9001/ui/gl/gl_surface_glx.cc#newcode408 ui/gl/gl_surface_glx.cc:408: class XExposeEventForwarder : public base::MessagePumpObserver { nit: move this ...
7 years, 3 months ago (2013-09-11 23:05:09 UTC) #2
ccameron
Thanks!! I've updated the patch a big in the mean time -- I'm using both ...
7 years, 3 months ago (2013-09-12 01:37:13 UTC) #3
ccameron
It looks like the last upload was corrupted -- this one shows diffs now. (oh, ...
7 years, 3 months ago (2013-09-12 20:27:19 UTC) #4
piman
LGTM. Agreed on discarding the window on !FB_allocation and !BB_allcoation. https://codereview.chromium.org/23452026/diff/32001/ui/gl/gl_surface_glx.cc File ui/gl/gl_surface_glx.cc (right): https://codereview.chromium.org/23452026/diff/32001/ui/gl/gl_surface_glx.cc#newcode354 ...
7 years, 3 months ago (2013-09-12 20:35:52 UTC) #5
ccameron
Thanks!! https://codereview.chromium.org/23452026/diff/32001/ui/gl/gl_surface_glx.cc File ui/gl/gl_surface_glx.cc (right): https://codereview.chromium.org/23452026/diff/32001/ui/gl/gl_surface_glx.cc#newcode354 ui/gl/gl_surface_glx.cc:354: }; On 2013/09/12 20:35:52, piman wrote: > nit: ...
7 years, 3 months ago (2013-09-13 09:33:38 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ccameron@chromium.org/23452026/51001
7 years, 3 months ago (2013-09-13 19:03:11 UTC) #7
commit-bot: I haz the power
7 years, 3 months ago (2013-09-13 22:39:55 UTC) #8
Message was sent while issue was closed.
Change committed as 223148

Powered by Google App Engine
This is Rietveld 408576698