Closed
Bug 638594
Opened 14 years ago
Closed 12 years ago
Update cairo and pixman for fennec
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
fennec | - | --- |
People
(Reporter: cjones, Unassigned)
References
Details
(Whiteboard: [has-patch])
Attachments
(7 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
application/x-bzip
|
Details | |
(deleted),
text/plain
|
Details |
The new cairo fixes a bunch of bugs biting fennec and improves the image backend, and the new pixman has NEON fast-paths that will help us on ARM devices. We can't directly import a newer cairo generically because
- you know, shipping FF4 and stuff
- the win32 backend on cairo is in a bad state, from what I understand
- we have cairo modifications for subpixel AA that we use on desktop but not mobile, and those would need to be ported
Here's the plan
- copy vanilla releases into gfx/cairo/new-cairo or something like that.
- apply pixman-android-cpu-detect patch. There might be others we need.
- copy build goop from gfx/cairo/cairo/src to gfx/cairo/new-cairo/src
- update for build goop for cairo+pixman changes
- split off the gecko (non-cairo) parts of Jeff's patch here
- add a new --enable-new-cairo configure flag that selects new-cairo instead of tree-cairo, but otherwise acts the same way
new-cairo can be built, linked, and shipped in libxul like the current in-tree
cairo.
Reporter | ||
Updated•14 years ago
|
Reporter | ||
Comment 1•14 years ago
|
||
Arg, wrong textfield, apologies for yet more bugspam.
Updated•14 years ago
|
tracking-fennec: --- → 2.0+
Reporter | ||
Comment 2•14 years ago
|
||
(In reply to comment #0)
Should also add --- the "exit strategy" for removing new-cairo isn't entirely clear. The win32 backend would need to fixed at bare minimum. The strategy may depend on our new skunk-works graphics library. I'm not, and I don't anything anyone is, interested in maintaining two cairos in our tree, so removing new-cairo is definitely a goal.
Reporter | ||
Comment 3•14 years ago
|
||
*Very* rough, initial talos results, on n900-gtk2. tl;dr
- possible small improvement in tp4
- possible large-ish regression in tgfx_nochrome
- both are within noise
- results inconclusive perf-wise
Need more runs for better results, but would also want a newew pixman for a better comparison. (We want that anyway, irrespective of newer cairo.)
Raw data for (moz:e56ecd8b3a68+mobile:5d299232e62a vs. bug-562746+moz:e56ecd8b3a68+mobile:5d299232e62a)
Left number is old / right number is new. %difference computed as (new-old)/new.
tdhtml_nochrome: 1949.18 / 1922.32
−1.4%
tgfx_nochrome: 11134.08 / 15080.33
+26.1%
tp4: 6842.69 / 6757.92
−1.3%
tp4_pbytes: 233.0MB / 234.8MB
+0.8%
tp4_rss: 121.4MB / 122.0MB
+0.5%
tp4_shutdown: 2776.0 / 2808.0
+1.1
tp4_nochrome: 3904.23 / 3834.62
−1.8%
tp4_pbytes_nochrome: 105.1MB / 105.1MB
0%
tp4_rss_nochrome: 34.4MB / 32.8MB
−4.9%
tp4_shutdown_nochrome: 3083.0 / 3082.0
−0.0%
ts: 6549.44 / 6515.0
−0.5%
ts_shutdown: 1160.56 / 1164.0
+0.2%
tsspider_nochrome: 227.0 / 226.66
−0.2%
tsvg_nochrome: 5799.36 / 5804.59
+0.1%
twinopen: 1157.21 / 1136.37
−1.8%
tpan: 231.89 / 233.22
+0.6%
Reporter | ||
Comment 4•14 years ago
|
||
There was a simpler and probably more useful solution right in front of us
- hg cp gfx/cairo gfx/new-cairo
- apply bug 562746 to new-cairo
- apply bug 604168 to new-cairo
- add configure.in switch for cairo vs. new-cairo
This could help folks working on the win32 backend, because they could just --enable-new-tree-cairo and hack on that.
With the patches I'm about to attach, bug 637828 is gone with --enable-new-tree-cairo and present without it.
Summary: Import cairo-1.10(.2?) and 0.21(.6?), and use them for (at least) fennec → Update cairo and pixman for fennec
Reporter | ||
Comment 5•14 years ago
|
||
Assignee: nobody → jones.chris.g
Reporter | ||
Comment 6•14 years ago
|
||
Reporter | ||
Comment 7•14 years ago
|
||
Reporter | ||
Comment 8•14 years ago
|
||
Not sure what ~version bug 604168 updates us to.
Reporter | ||
Comment 9•14 years ago
|
||
Reporter | ||
Comment 10•14 years ago
|
||
Sigh, plaint-text rollup was too big for bugzilla upload.
Reporter | ||
Comment 11•14 years ago
|
||
Ben was sorting out some dirty/flush issues today; the bug that work ends up in needs to block this one.
Reporter | ||
Comment 12•14 years ago
|
||
Current cairo:
REFTEST INFO | Unexpected: 95 (94 unexpected fail, 1 unexpected pass, 0 unexpected asserts, 0 unexpected fixed asserts, 0 failed load, 0 exception)
Updated cairo:
REFTEST INFO | Unexpected: 148 (145 unexpected fail, 3 unexpected pass, 0 unexpected asserts, 0 unexpected fixed asserts, 0 failed load, 0 exception)
Will wait to hear back from Jeff before investigating more thoroughly. Ben may have already fixed a lot of these.
Comment 13•14 years ago
|
||
I'll clean up my patches.
Updated•14 years ago
|
Whiteboard: [has-patch]
Comment 14•14 years ago
|
||
Not blocking Fennec release -- 637828 fixes the graphics corruption bugs
tracking-fennec: 2.0+ → 2.0-
Updated•14 years ago
|
Comment 15•13 years ago
|
||
Bug 667284 mentions additional fixes for ARM NEON in pixman. The attached pixman update doesn't have the required changes.
Blocks: 667284
Reporter | ||
Comment 16•12 years ago
|
||
Jeff has done this several times in the meantime, AFAIK.
Assignee: jones.chris.g → nobody
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•