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

Issue 296003010: gpu/linux: create a child window to control resize and avoid flashes (Closed)

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

Description

gpu/linux: create a child window to control resize and avoid flashes When the window is resized, some drivers clobber the back buffer. Unfortunately that can happen in the middle of a frame, and so we lose part of what we've drawn and don't know it until we swapped (resulting in flashes). So instead, we create a child window, with a CopyFromParent visual (to avoid inducing extra blits in the driver), that we can resize exactly in Resize(), correctly ordered with GL, so that the buffer clobber is at the beginning of the frame, before we will draw anything to it. BUG=326995 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=272290

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -5 lines) Patch
M ui/gl/gl_surface_glx.h View 1 chunk +3 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_glx.cc View 5 chunks +31 lines, -5 lines 1 comment Download

Messages

Total messages: 8 (0 generated)
piman
6 years, 7 months ago (2014-05-22 01:44:13 UTC) #1
piman
6 years, 7 months ago (2014-05-22 01:44:13 UTC) #2
danakj
Super clever!
6 years, 7 months ago (2014-05-22 16:08:20 UTC) #3
ccameron
On 2014/05/22 16:08:20, danakj wrote: > Super clever! Huh - wow. LGTM
6 years, 7 months ago (2014-05-22 16:14:05 UTC) #4
piman
The CQ bit was checked by piman@chromium.org
6 years, 7 months ago (2014-05-22 16:41:57 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/296003010/1
6 years, 7 months ago (2014-05-22 16:42:50 UTC) #6
commit-bot: I haz the power
Change committed as 272290
6 years, 7 months ago (2014-05-22 19:58:27 UTC) #7
ccameron
6 years, 7 months ago (2014-05-23 09:09:05 UTC) #8
Message was sent while issue was closed.
https://codereview.chromium.org/296003010/diff/1/ui/gl/gl_surface_glx.cc
File ui/gl/gl_surface_glx.cc (right):

https://codereview.chromium.org/296003010/diff/1/ui/gl/gl_surface_glx.cc#newc...
ui/gl/gl_surface_glx.cc:426: XMapWindow(g_display, window_);
Looking back at
https://chromiumcodereview.appspot.com/23452026/diff/51001/ui/gl/gl_surface_g...,
it looks like I had to do an XFlush here (after the XMapWindow) ... I didn't
write why I had it there, so I can't say if it is indeed necessary.

Powered by Google App Engine
This is Rietveld 408576698