Bug 84301 - [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
: [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress ini...
Status: RESOLVED FIXED
: WebKit
New Bugs
: 528+ (Nightly build)
: Unspecified Unspecified
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2012-04-18 16:35 PST by
Modified: 2012-04-18 18:30 PST (History)


Attachments
Patch (18.06 KB, patch)
2012-04-18 16:38 PST, James Robinson
enne: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2012-04-18 16:35:22 PST
[chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
------- Comment #1 From 2012-04-18 16:38:02 PST -------
Created an attachment (id=137802) [details]
Patch
------- Comment #2 From 2012-04-18 16:38:20 PST -------
This is the first part of the fixes for http://code.google.com/p/chromium/issues/detail?id=123356
------- Comment #3 From 2012-04-18 16:56:33 PST -------
(From update of attachment 137802 [details])
Neat. LGTM.
------- Comment #4 From 2012-04-18 17:00:47 PST -------
(From update of attachment 137802 [details])
How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can't draw?
------- Comment #5 From 2012-04-18 17:04:45 PST -------
(In reply to comment #4)
> (From update of attachment 137802 [details] [details])
> How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can't draw?

canDraw doesn't block commit, this does.  The reason is that if the surface isn't ready yet, then the first makeContextCurrent() will fail so we can't even start the commit.  There are situations where we don't want to swap an actual frame but we can usefully do other things (do a commit, enqueue texture uploads, etc).
------- Comment #6 From 2012-04-18 17:16:48 PST -------
(From update of attachment 137802 [details])
Ok, thanks for the explanation.  R=me.
------- Comment #7 From 2012-04-18 17:41:42 PST -------
Here's the rest with a longer explanation in the WebKit/chromium/ChangeLog: https://bugs.webkit.org/show_bug.cgi?id=84305
------- Comment #8 From 2012-04-18 18:30:51 PST -------
Committed r114599: <http://trac.webkit.org/changeset/114599>