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
Product: WebKit
Classification: Unclassified
Component: New Bugs
: 528+ (Nightly build)
: Unspecified Unspecified
: P2 Normal
Assigned To: James Robinson
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-18 16:35 PDT by James Robinson
Modified: 2012-04-18 18:30 PDT (History)
4 users (show)

See Also:


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

Note You need to log in before you can comment on or make changes to this bug.
Description James Robinson 2012-04-18 16:35:22 PDT
[chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
Comment 1 James Robinson 2012-04-18 16:38:02 PDT
Created attachment 137802 [details]
Patch
Comment 2 James Robinson 2012-04-18 16:38:20 PDT
This is the first part of the fixes for http://code.google.com/p/chromium/issues/detail?id=123356
Comment 3 Nat Duca 2012-04-18 16:56:33 PDT
Comment on attachment 137802 [details]
Patch

Neat. LGTM.
Comment 4 Adrienne Walker 2012-04-18 17:00:47 PDT
Comment on attachment 137802 [details]
Patch

How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can't draw?
Comment 5 James Robinson 2012-04-18 17:04:45 PDT
(In reply to comment #4)
> (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?

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 Adrienne Walker 2012-04-18 17:16:48 PDT
Comment on attachment 137802 [details]
Patch

Ok, thanks for the explanation.  R=me.
Comment 7 James Robinson 2012-04-18 17:41:42 PDT
Here's the rest with a longer explanation in the WebKit/chromium/ChangeLog: https://bugs.webkit.org/show_bug.cgi?id=84305
Comment 8 James Robinson 2012-04-18 18:30:51 PDT
Committed r114599: <http://trac.webkit.org/changeset/114599>