Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(907)

Issue 4536102: Disable use of FlipEx for out-of-process HWNDs (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 10 months ago by nduca
Modified:
14 years, 10 months ago
Reviewers:
dgkoch, apatrick1
CC:
angleproject-review_googlegroups.com
Base URL:
https://angleproject.googlecode.com/svn/trunk
Visibility:
Public.

Description

Disable use of FlipEx for problematic use cases. It seems that DWM will, when given an HWND that has an associated FlipEX swap chain, stretch the contents of the HWND to fill the new window IF you don't issue draw calls to that HWND before the WM_PAINT returns. This leads to horrendous sizing artifacts. For Chromium, this is a show stopper. But, FlipEx is definitely a good thing, for regular single process applications. So, is there a clean way to conditionally disable FlipEX for these problem cases? The heuristic in this patch basically says "if your hwnd is not in-process, then you're probably not painting in its HWND, so don't sue FlipEX." This catches the Chromium use case. There is still the possibility of a regular single-process EGL application that tries to draw outside WM_PAINT that would experience sizing artefacts. But, maybe that's OK. Anyways, I'm not married to this technique. Just throwing something out there to start the discussion. :) Committed: http://code.google.com/p/angleproject/source/detail?r=668

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+10 lines, -0 lines) Patch
M src/libEGL/Surface.cpp View 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 2
nduca
14 years, 10 months ago (2011-06-02 07:21:56 UTC) #1
dgkoch
14 years, 10 months ago (2011-06-02 18:14:44 UTC) #2
LGTM.  I don't know how many single-process clients there are, but possibly
Mozilla I guess..
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b