Closed
Bug 1180326
Opened 9 years ago
Closed 9 years ago
Create a new ContentClient that supports async transaction without minimum size
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla42
Tracking | Status | |
---|---|---|
firefox42 | --- | fixed |
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
(Blocks 1 open bug)
Details
(Whiteboard: [backout-asap])
Attachments
(6 files, 10 obsolete files)
47.61 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
4.63 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
10.89 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
15.69 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
1.69 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
4.36 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
Most of our current ContentClients require sync transactions, except for tiling which has a fixed minimum size (that we want to increase). We want a new simple ContentClient implementation that supports async transactions for small layers that we can use for non-scrollable layers.
Assignee | ||
Comment 1•9 years ago
|
||
Assignee | ||
Comment 2•9 years ago
|
||
Assignee | ||
Comment 3•9 years ago
|
||
Assignee | ||
Comment 4•9 years ago
|
||
Assignee | ||
Comment 5•9 years ago
|
||
Attachment #8629520 -
Attachment is obsolete: true
Assignee | ||
Comment 6•9 years ago
|
||
Attachment #8629521 -
Attachment is obsolete: true
Assignee | ||
Comment 7•9 years ago
|
||
Attachment #8629522 -
Attachment is obsolete: true
Assignee | ||
Comment 8•9 years ago
|
||
Attachment #8629523 -
Attachment is obsolete: true
Assignee | ||
Comment 9•9 years ago
|
||
Assignee | ||
Comment 10•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8630212 -
Flags: review?(jmuizelaar)
Assignee | ||
Updated•9 years ago
|
Attachment #8630213 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 11•9 years ago
|
||
Attachment #8630212 -
Attachment is obsolete: true
Attachment #8630212 -
Flags: review?(jmuizelaar)
Attachment #8631313 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 12•9 years ago
|
||
Attachment #8630213 -
Attachment is obsolete: true
Attachment #8630213 -
Flags: review?(jmuizelaar)
Attachment #8631315 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 13•9 years ago
|
||
Attachment #8630214 -
Attachment is obsolete: true
Attachment #8631317 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 14•9 years ago
|
||
Attachment #8630215 -
Attachment is obsolete: true
Attachment #8631318 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 15•9 years ago
|
||
Attachment #8630216 -
Attachment is obsolete: true
Attachment #8631319 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 16•9 years ago
|
||
Attachment #8630218 -
Attachment is obsolete: true
Attachment #8631320 -
Flags: review?(jmuizelaar)
Comment 17•9 years ago
|
||
Comment on attachment 8631315 [details] [diff] [review] Part 2: Add support for variable tile sizes Review of attachment 8631315 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/layers/TiledLayerBuffer.h @@ +193,5 @@ > nsTArray<Tile> mRetainedTiles; > TilesPlacement mTiles; > float mResolution; > gfx::IntSize mTileSize; > + gfx::IntPoint mTileOrigin; Include a coordinate space in the type here.
Updated•9 years ago
|
Attachment #8631319 -
Flags: review?(jmuizelaar) → review+
Updated•9 years ago
|
Attachment #8631313 -
Flags: review?(jmuizelaar) → review+
Comment 18•9 years ago
|
||
Comment on attachment 8631318 [details] [diff] [review] Part 4: Add new content client Review of attachment 8631318 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/layers/client/ClientTiledPaintedLayer.cpp @@ +233,5 @@ > if (!gfxPlatform::GetPlatform()->UseProgressivePaint()) { > // pref is disabled, so never do progressive > return false; > } > + Whitespace ::: gfx/layers/client/SingleTiledContentClient.cpp @@ +143,5 @@ > + > + extraPainted.MoveBy(mTilingOrigin); > + extraPainted.And(extraPainted, aNewValidRegion); > + mPaintedRegion.OrWith(paintRegion); > + mPaintedRegion.Or(mPaintedRegion, extraPainted); mPaintedRegion.OrWith(extraPainted); @@ +184,5 @@ > + } > + > + // Mark the area we just drew into the back buffer as invalid in the front buffer as they're > + // now out of sync. > + mTile.mInvalidFront.Or(mTile.mInvalidFront, paintRegion); OrWith ::: gfx/layers/client/SingleTiledContentClient.h @@ +126,5 @@ > + virtual ClientTiledLayerBuffer* GetTiledBuffer() override { return mTiledBuffer; } > + virtual ClientTiledLayerBuffer* GetLowPrecisionTiledBuffer() override { return nullptr; } > + > +private: > + nsRefPtr<ClientSingleTiledLayerBuffer> mTiledBuffer; Can't this just be: ClientSingleTiledLayerBuffer mTiledBuffer; It seems like the relationship is always 1:1 ::: gfx/layers/client/TiledContentClient.h @@ +411,5 @@ > const nsIntRegion& aPaintRegion, > LayerManager::DrawPaintedLayerCallback aCallback, > void* aCallbackData) = 0; > > + virtual bool SupportsProgressiveUpdate() { return true; } It probably makes sense for this to be pure virtual like ProgressiveUpdate.
Attachment #8631318 -
Flags: review?(jmuizelaar) → review+
Updated•9 years ago
|
Attachment #8631320 -
Flags: review?(jmuizelaar) → review+
Updated•9 years ago
|
Attachment #8631315 -
Flags: review?(jmuizelaar) → review+
Updated•9 years ago
|
Attachment #8631317 -
Flags: review?(jmuizelaar) → review+
Comment 19•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/24d32648073c https://hg.mozilla.org/integration/mozilla-inbound/rev/e1bfa923a761 https://hg.mozilla.org/integration/mozilla-inbound/rev/6b9ace2a57ab https://hg.mozilla.org/integration/mozilla-inbound/rev/9bd5b37c0168 https://hg.mozilla.org/integration/mozilla-inbound/rev/0f0c427490da https://hg.mozilla.org/integration/mozilla-inbound/rev/69871c00379b
https://hg.mozilla.org/mozilla-central/rev/24d32648073c https://hg.mozilla.org/mozilla-central/rev/e1bfa923a761 https://hg.mozilla.org/mozilla-central/rev/6b9ace2a57ab https://hg.mozilla.org/mozilla-central/rev/9bd5b37c0168 https://hg.mozilla.org/mozilla-central/rev/0f0c427490da https://hg.mozilla.org/mozilla-central/rev/69871c00379b
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Comment 21•9 years ago
|
||
We will need this backed out asap. This is causing a smoketest blocker. Please see bug 1189261.
Flags: needinfo?(nhirata.bugzilla)
Whiteboard: [backout-asap]
Comment 22•9 years ago
|
||
This also break hwc composition on flame-kk. Local backout fixed the problem.
Comment 23•9 years ago
|
||
The fix for this bug is causing many identified issues on both Flame and Aries. - Status bar can disappear or flicker in many apps (dialer, messages, music). bug 1189261 - Keyboard is flickering, flashes black: bug 1189399 - FTU Cellular Data screen shows black bars and cuts off part of the toggle switch. (Flame only) bug 1189417 - Card view will shift around and tile when swiping cards. (Flame only) - Video player UI will flicker heavily. - SIM selection in dialer when using multiple SIMs flickers heavily (Flame only) - Camera video recording UI will flicker (possibly Flame only) - Full screen dialogs 'jump' up when appearing on screen, specifically seen when changing screen time-out in Display settings. - Email Setup for a new account, Display notifications for new messages toggle has shaded UI overlapping
Updated•9 years ago
|
Flags: needinfo?(matt.woodrow)
Patch to disable these patches are in bug bug 1189399. I asked Sotaro to review that patch.
Flags: needinfo?(nhirata.bugzilla)
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(matt.woodrow)
You need to log in
before you can comment on or make changes to this bug.
Description
•