Closed Bug 404092 Opened 17 years ago Closed 17 years ago

Upgrade Cairo to 1.5.2-55-g39b8ddf

Categories

(Core :: Graphics, defect, P2)

x86
All
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: vlad, Assigned: vlad)

References

Details

Attachments

(2 files, 1 obsolete file)

Upgrade; lots of cleanup and correctness stuff in there, just tracking cairo for a 1.6 release.
Flags: blocking1.9+
Attached patch gfx changes needed for new cairo (obsolete) — Splinter Review
I got rid of the ignore_operators flag in cairo; we can get the same effect in gfx via something like this.  I plan on extending this hints mechanism to do smarter things with pixel snapping and the like in the future.
Assignee: nobody → vladimir
Status: NEW → ASSIGNED
Attachment #289048 - Flags: review?(pavlov)
Component: Cmd-line Features → GFX: Thebes
QA Contact: cmd-line → thebes
As your comments say, printing SVG would break pretty bad with this.  I'm not sure we want to ever actually do this do we?
Priority: -- → P2
Blocks: 374815
(In reply to comment #2)
> As your comments say, printing SVG would break pretty bad with this.  I'm not
> sure we want to ever actually do this do we?

SVG is already forced down this path currently, with no way to disable it.  With the hints mechanism it would let the SVG frame actually disable the optimization while its rendering SVG.
Attached patch gfx changes, v2Splinter Review
How about this?
Attachment #289048 - Attachment is obsolete: true
Attachment #290474 - Flags: review?(pavlov)
Attachment #289048 - Flags: review?(pavlov)
Blocks: 325447
Blocks: 402527, 405659
No longer blocks: 405659
Attachment #290474 - Flags: review?(pavlov) → review+
+    if (mFlags && FLAG_SIMPLIFY_OPERATORS) {

That should be bit-and operator?
(In reply to comment #7)
> This regressed (at least) Ts on Linux.

roc's patch for bug 320378 just covered this up by acting as a perf win on top of this, but the perf regression is still there.
Solaris tree was broken. see
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox-Ports/1196366880.1196367518.25310.gz&fulltext=1

cairo-paginated-surface.c
"cairo-paginated-surface.c", line 52: only identifiers with external linkage may have linker scoping: cairo_paginated_surface_backend

cc: acomp failed for cairo-paginated-surface.c
gmake[6]: *** [cairo-paginated-surface.o] Error 2
gmake[6]: Leaving directory `/export/home/mrbld/tinderbox/SunOS_5.11_Depend/mozilla/gfx/cairo/cairo/src'
cairo_private was defined as __hidden, it conflicts with static under Sun CC

  76 #define cairo_private_no_warn   __hidden

  86 #define cairo_private       cairo_private_no_warn cairo_warn
Attachment #290834 - Flags: review?(vladimir)
Attachment #290834 - Flags: review?(vladimir) → review+
Attachment #290834 - Flags: approval1.9?
Comment on attachment 290834 [details] [diff] [review]
remove cairo_private since we already declared static

This bug is blocking1.9+, so approval is not required.
Attachment #290834 - Flags: approval1.9?
Checked in the solaris followup patch.

I'm not totally sold on Ts regressions being from this, as there was a Ts change even before this landed; but will resolve this for now to get it off lists.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Depends on: 407360
Depends on: 410071
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: