Failure to build when cairo doesn't have tee surfaces support

RESOLVED INVALID

Status

()

Core
Graphics
RESOLVED INVALID
7 years ago
7 years ago

People

(Reporter: glandium, Unassigned)

Tracking

Trunk
All
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
Created attachment 502766 [details] [diff] [review]
Avoid failing to build because of the lack of cairo tee surface support

One part of the build failure noted in bug 363861 is that gfx fails to build with a cairo without tee surfaces support. On the other hand, tee surfaces are only used from ThebesLayerD3D9, making them technically windows only.

The attached patch allows to build against a cairo that doesn't have tee surfaces support. I'm even tempted to add a #ifdef XP_WIN for CAIRO_HAS_TEE_SURFACE in cairo-supported-features.h.

(With the patch, a windows build with a cairo without tee surfaces would fail because of the lack of definition for gfxTeeSurface then, which is fine)
Attachment #502766 - Flags: review?(roc)
Comment on attachment 502766 [details] [diff] [review]
Avoid failing to build because of the lack of cairo tee surface support

Thanks!
Attachment #502766 - Flags: review?(roc) → review+
By the way, when bug 593733 lands we'll need tee surface support on Linux too. I guess we can just disable component alpha when using system cairo, but that will be unpleasant.

Comment 3

7 years ago
(In reply to comment #2)
> By the way, when bug 593733 lands we'll need tee surface support on Linux too.
> I guess we can just disable component alpha when using system cairo, but that
> will be unpleasant.

I would much rather have configure check for tee support and if not find fall back to bundled. It would make much more sense in the long run.
(Reporter)

Comment 4

7 years ago
(In reply to comment #3)
> (In reply to comment #2)
> > By the way, when bug 593733 lands we'll need tee surface support on Linux too.
> > I guess we can just disable component alpha when using system cairo, but that
> > will be unpleasant.
> 
> I would much rather have configure check for tee support and if not find fall
> back to bundled. It would make much more sense in the long run.

... and if not AC_ERROR out. Automatic fallback is bad, because configure with --enable-system-something and end up without.
(Reporter)

Comment 5

7 years ago
(In reply to comment #2)
> By the way, when bug 593733 lands we'll need tee surface support on Linux too.
> I guess we can just disable component alpha when using system cairo, but that
> will be unpleasant.

Since that bug is blocking, I guess there is no need to push this one. I'm already using this patch on my beta9 pre-builds for Debian.
(Reporter)

Comment 6

7 years ago
Invalid since 4.0b10
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.