Update Cairo to version 1.18.0
Categories
(Core :: Graphics, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox127 | --- | fixed |
People
(Reporter: jwatt, Assigned: jfkthame)
References
Details
Attachments
(25 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
The fixes that we need to resolve bug 1729276 are in Cairo 1.18.0 and later.
Comment 1•2 months ago
|
||
You should also get this fix that is was committed to cairo master after 1.18.0 was released.
0fce59ff8d250a59ccc86894b8f1459070bf6ddb
See https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/521 for details.
![]() |
Reporter | |
Comment 2•2 months ago
|
||
Thanks for pointing that out.
![]() |
Reporter | |
Comment 3•2 months ago
|
||
Assigning to jfkthame since he's actively looking at this.
Assignee | ||
Comment 4•2 months ago
|
||
These are either integrated into upstream now, or the code has evolved
sufficiently that they're obsolete and will be replaced by substantially
new versions.
Assignee | ||
Comment 5•2 months ago
|
||
Wholesale replacement of files in gfx/cairo/cairo with contents of the 1.18.0 release tarball,
omitting subdirectories that are not part of the core library build.
(This will not build as-is; the following patches will fix things up for Gecko integration.)
Assignee | ||
Comment 7•2 months ago
|
||
Release 1.18.0 no longer has HAVE_CONFIG_H guards around these #includes,
so let's just create an empty file as we don't rely on this to set anything.
Assignee | ||
Comment 8•2 months ago
|
||
Assignee | ||
Comment 9•2 months ago
|
||
Assignee | ||
Comment 10•2 months ago
|
||
Assignee | ||
Comment 11•2 months ago
|
||
Assignee | ||
Comment 12•2 months ago
|
||
Assignee | ||
Comment 13•2 months ago
|
||
Assignee | ||
Comment 14•2 months ago
|
||
Assignee | ||
Comment 15•2 months ago
|
||
Assignee | ||
Comment 16•2 months ago
|
||
Assignee | ||
Comment 17•2 months ago
|
||
Assignee | ||
Comment 18•2 months ago
|
||
Assignee | ||
Comment 19•2 months ago
|
||
Assignee | ||
Comment 20•2 months ago
|
||
Assignee | ||
Comment 21•2 months ago
|
||
Assignee | ||
Comment 22•2 months ago
|
||
Assignee | ||
Comment 23•2 months ago
|
||
Without this, we end up leaking the DataSourceSurfaceRawData that backs the
quartz image surface created during surface-pattern rendering, because the
imageSurface pointer holds a strong reference and then gets cleared without
releasing it.
Assignee | ||
Comment 24•2 months ago
|
||
To fix the Gecko build on Windows, as this is a mingw-ism that isn't
supported or needed.
Assignee | ||
Comment 25•2 months ago
|
||
Assignee | ||
Comment 26•2 months ago
|
||
create_similar now checks for a quartz surface and uses CGLayer internally,
so we don't need a separate API here.
Assignee | ||
Comment 27•2 months ago
|
||
The first parameter to cairo_dwrite_font_face_create_for_dwrite_fontface was
unused anyhow, so this is just API cleanup.
The dwrite rendering mode APIs were mozilla additions, but if we're only using
cairo to print, there's probably no reason to try and propagate the dwrite
options used for screen rendering, so we don't need to go to the effort of
maintaining those extra APIs.
Updated•2 months ago
|
Comment 28•2 months ago
|
||
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3cdfb39376b7 patch 1 - Update cairo source to 1.18.0 r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/98d555121e60 patch 2 - Cherry-pick https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/521. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/868a0fbdfe29 patch 3 - Provide a dummy config.h file for the cairo build. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/bb67f9c54a25 patch 4 - Avoid redefinition of cairo_public. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/7eb0f2727239 patch 5 - Apply 01-xlib-xrender-private.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/9263a1eece7e patch 6 - Apply 02-cplusplus-no-register.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/dcf06dfaff0c patch 7 - Apply 03-expose-lcd-filter.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/972a07ec6164 patch 8 - Update and apply 04-subpixel-aa-api.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/0f1e5fd02d74 patch 9 - Apply 05-ft-font-synth-flags-api.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/be5946552b9b patch 10 - Update and apply 06-shared-ft-face.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/ed92f32bdcc8 patch 11 - Apply 07-ft-variations-runtime-check.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/c66b662e1662 patch 12 - Update and apply 09-quartz-surface-additions.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/e50af191a62f patch 13 - Apply 11-quartz-surface-tags.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/1ba70fd62ef3 patch 14 - Add cairo-quartz-surface named-destination support from bug 1722300 patch 3. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/7c5dbb5ceaa9 patch 15 - Apply 17-active-edges-crash.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/f59cb75b6ae0 patch 16 - Apply 18-quartz-granular-ifdefs.patch r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/51b400f880e3 patch 17 - Add missing #include FT_COLOR_H to cairo-ft-font.c r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/61ef06598b0c patch 18 - Cairo fixes for iOS build. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/436aba91e198 patch 19 - Don't prematurely clear cairo_quartz_image_surface_t's imageSurface field, it still needs to hold a reference to the wrapped image surface. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/94b71d1c7806 patch 20 - Add #ifdef guards around mingw-specific __CRT_UUID_DECL lines in d2d1-extra.h r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/a572320a5708 patch 21 - Add cairo_win32_surface APIs wanted for gecko. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/8fe914e33e27 patch 22 - Remove usage of cairo_quartz_surface_create_cg_layer, as cairo_surface_create_similar should do the right thing. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/b6d5bd3946c6 patch 23 - Update gecko callsites to build against current cairo-win32 APIs. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/2175f8e4c8c9 patch 24 - Delete obsolete cairo patch files. r=gfx-reviewers,jrmuizel
Comment 29•2 months ago
|
||
Looks like the README wasn't updated to account for the library update and changes in patches?
Assignee | ||
Comment 30•2 months ago
|
||
Oops, you're right, thanks -- I'll post a followup.
Comment 31•2 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3cdfb39376b7
https://hg.mozilla.org/mozilla-central/rev/98d555121e60
https://hg.mozilla.org/mozilla-central/rev/868a0fbdfe29
https://hg.mozilla.org/mozilla-central/rev/bb67f9c54a25
https://hg.mozilla.org/mozilla-central/rev/7eb0f2727239
https://hg.mozilla.org/mozilla-central/rev/9263a1eece7e
https://hg.mozilla.org/mozilla-central/rev/dcf06dfaff0c
https://hg.mozilla.org/mozilla-central/rev/972a07ec6164
https://hg.mozilla.org/mozilla-central/rev/0f1e5fd02d74
https://hg.mozilla.org/mozilla-central/rev/be5946552b9b
https://hg.mozilla.org/mozilla-central/rev/ed92f32bdcc8
https://hg.mozilla.org/mozilla-central/rev/c66b662e1662
https://hg.mozilla.org/mozilla-central/rev/e50af191a62f
https://hg.mozilla.org/mozilla-central/rev/1ba70fd62ef3
https://hg.mozilla.org/mozilla-central/rev/7c5dbb5ceaa9
https://hg.mozilla.org/mozilla-central/rev/f59cb75b6ae0
https://hg.mozilla.org/mozilla-central/rev/51b400f880e3
https://hg.mozilla.org/mozilla-central/rev/61ef06598b0c
https://hg.mozilla.org/mozilla-central/rev/436aba91e198
https://hg.mozilla.org/mozilla-central/rev/94b71d1c7806
https://hg.mozilla.org/mozilla-central/rev/a572320a5708
https://hg.mozilla.org/mozilla-central/rev/8fe914e33e27
https://hg.mozilla.org/mozilla-central/rev/b6d5bd3946c6
https://hg.mozilla.org/mozilla-central/rev/2175f8e4c8c9
Assignee | ||
Comment 32•2 months ago
|
||
Comment 33•2 months ago
|
||
A patch has been attached on this bug, which was already closed. Filing a separate bug will ensure better tracking. If this was not by mistake and further action is needed, please alert the appropriate party. (Or: if the patch doesn't change behavior -- e.g. landing a test case, or fixing a typo -- then feel free to disregard this message)
Comment 34•2 months ago
|
||
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f9f45a8924ef followup - update list of patches in gfx/cairo/README. r=lsalzman DONTBUILD
Comment 35•2 months ago
|
||
bugherder |
Description
•