Commit graph

117 commits

Author SHA1 Message Date
Moonchild
30df895eb2 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-25 22:04:17 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Moonchild
5f85ec0cd8 Improve dll loading on Windows. 2020-07-31 08:08:08 +08:00
Moonchild
a13f638d23 [printing] Fix build bustage with --disable-printing 2020-05-23 06:57:02 +08:00
adeshkp
51c19f2e77 Issue #80 - Include gfx/Logging.h in NativeFontResourceMac.cpp 2020-05-23 06:51:13 +08:00
Gaming4JC
099b822652 Issue #80 - Include gfxEnv.h in gfx/gl/GLLibraryEGL.cpp 2020-05-23 06:50:48 +08:00
Moonchild
f51dd277a3 Issue #80 - Fix up gfx/ipc and gfx/src for Linux.
This removes an unused Telemetry enum
2020-05-23 06:50:42 +08:00
Moonchild
b8d9e7b8c0 Issue #80- De-unify gfx/layers
Excludes layers/ipc/CompositorBridgeParent and CrossProcessCompositorBridgeParent
because the latter purposely uses functions implemented in the former.
See also code comment in CrossProcessCompositorBridgeParent.cpp

Note: likely dead code for us anyway; likely not worth investing in to solve.
2020-05-23 06:50:13 +08:00
Moonchild
cdd925c155 Issue #80 - De-unify gfx/ycbcr 2020-05-23 06:50:10 +08:00
Moonchild
aec749447a Issue #80 - De-unify gfx/src 2020-05-23 06:50:04 +08:00
Moonchild
b22c360506 Issue #80 - De-unify gfx/skia and stop using dangerous opts 2020-05-23 06:48:44 +08:00
Moonchild
5a3a186912 Issue #80 - De-unify gfx/ots 2020-05-23 06:48:41 +08:00
Moonchild
8458063b23 Issue #80 - De-unify gfx/ipc 2020-05-23 06:48:37 +08:00
Moonchild
5f9275bc92 Issue #80 - De-unify gfx/harfbuzz 2020-05-23 06:48:33 +08:00
Moonchild
6678c91396 Issue # 80 - Fix up gfx/2d/DataSurfaceHelpers
De-unified build requires <string.h> instead of <cstring> to
prevent stdlib confusion.
2020-05-23 06:48:31 +08:00
Moonchild
3bd4d91630 Issue #80 - de-unify and fix up gfx/graphite2
With de-unified building we have to re-apply the fix-up
for <cstdio>, and additionally the same for <cstring>
to prevent the compiler picking the wrong versions of
standard functions.
2020-05-23 06:48:28 +08:00
Moonchild
21dcaa3b59 Issue #80 - Fix deps in gfxFont-Impl.h 2020-05-23 06:48:25 +08:00
Moonchild
9e45084e77 Issue #80 - Split out GetShapedWord template function 2020-05-23 06:48:21 +08:00
Moonchild
cd9055ddce Issue #80 - Fix gfx/thebes Windows conditional 2020-05-23 06:48:18 +08:00
Moonchild
d25a16be88 Issue #80 - De-unify gfx/gl 2020-05-23 06:48:15 +08:00
Moonchild
67131bce6e Issue #80 - De-unify gfx/config 2020-05-23 06:48:12 +08:00
Moonchild
c9c0bd68dd Issue #80 - De-unify gfx/cairo 2020-05-23 06:48:09 +08:00
Moonchild
18ae7ae02c Issue #80 - De-unify gfx/2d 2020-05-23 06:48:06 +08:00
Moonchild
94ae8488f4 Issue #80 - De-unify gfx/thebes 2020-05-23 06:48:03 +08:00
Moonchild
b2a716b2f1 Issue #457 - Silence some superfluous compiler warnings in cairo 2020-05-16 06:49:22 +08:00
Moonchild
c61d3aa365 Issue #1450 - Remove NVidia 3D-Vision utils
Legacy, unmaintained and untested D3D9 stereo
output behind a hidden pref that nobody ever uses... :P
'nuf said. Resolves #1450
2020-05-09 06:55:14 +08:00
wolfbeast
62a46687d6 [gfx] Put Skia-specific CTOR init behind Skia-conditional. 2020-02-22 07:05:25 +08:00
sotaro
088c5a329d [Layers] Clear WrappingTextureSourceYCbCrBasic::mTexture correctly 2020-02-14 22:46:03 +08:00
wolfbeast
9896dd74fb Issue #1360 - Enable acceleration by default on all known-good platforms. 2020-01-31 07:42:30 +08:00
wolfbeast
a085fa5430 Issue #1360 - Part 1: Simplify layers acceleration prefs.
This gets rid of platform-dependent hard-coded defaults, but keeps
build-time blocking if there is no GL provider (in which case layers
acceleration almost certainly won't work because it needs a GL
compositor and would likely crash without)

New prefs are
- layers.acceleration.enabled to enable HWA
- layers.acceleration.force to force it enabled (requires .enabled to be
  set as well)

This is the platform part of this issue. The rest will be front-end work
(Preference UI integration and pref migration)
2020-01-31 07:42:02 +08:00
wolfbeast
305537e8d6 Issue #1354 - Fix typo 2020-01-24 09:29:06 +08:00
wolfbeast
9d76eb5791 Issue #1354 - Clear the current context when MakeCurrent() fails. 2020-01-24 09:29:04 +08:00
wolfbeast
9f7f1d457f Issue #1354 - Don't allow glsl[130,400] unless we have gpu_shader5
- Teach GLContext about gpu_shader5
- Downgrade shader language version if gpu_shader5 support isn't found.
2020-01-17 09:19:01 +08:00
wolfbeast
5b8610f989 Issue #1354 - Cherry-pick ANGLE update for broken drivers that support
required indexing but not the extensions.
2020-01-17 09:18:59 +08:00
wolfbeast
f24dcfdaa4 Enable layers acceleration by default on GTK platforms.
"Why is this still `blocked by default for platform`.. Everyone on Linux
forces it on anyway once they are aware of it." -- Tobin

Tag #1319
2019-12-21 07:12:55 +08:00
wolfbeast
e266a1fc59 Issue #1288 - Part 5: Pass graphite fonts through OTS.
Since the updated OTS supports proper checking of graphite fonts we no
longer need to rely of harfbuzz for them.
2019-11-15 14:24:02 +08:00
wolfbeast
207b043e1c Issue #1288 - Part 4: Update the OpenType Sanitizer component to 8.0.0 2019-11-15 14:24:00 +08:00
wolfbeast
82d70c6ae2 Issue #1274 - Part 5: Misc fixes and version update. 2019-11-08 20:26:28 +08:00
wolfbeast
fd38014a63 Issue #1274 - Part 3: Update libpixman licensing 2019-11-08 20:25:17 +08:00
wolfbeast
bc89f33a85 Issue #1274 - Part 1: Adopt the cairo version as our own.
- Move header licensing from tri-license to MPL 2.0. MPL-compatible
  other licensing has been retained where originally present.
- Remove individual superseded licensing terms.
- Remove patches, outdated readmes & incomplete patch summaries.
- Remove incomplete cairo release notes (only went up to 1.6.4 anyway).
- Rewrite COPYING to indicate the current state of the library in tree.
2019-11-08 20:24:51 +08:00
Markus Stange
cb6b60ce61 Correctly return zero vertices if clipping plane 0 or 2 clip away the
entire polygon.

This fixes a bug that was introduced three years ago in BZ bug 1268854.
What happened was that the final pass over the polygon assumed that the
current polygon was living in plane[0]. But due to the double buffering,
the "current" polygon alternates between plane[0] and plane[1].
The bug had also introduced an early exit so that we could hit the final
pass at a time where the current, now empty, polygon was in plane[1]. So
we would incorrectly treat all 32 points in plane[0] as part of the
final polygon.

This bug was responsible for intermittently unreasonable numbers in
CompositorOGL's fill rate / overdraw overlay.

This fixes a regression caused by the fix for CVE-2016-5252.
2019-09-06 23:49:19 +08:00
wolfbeast
d6ceb39e25 Revert "Correctly return zero vertices if clipping plane 0 or 2 clip away the"
This reverts commit 09a8b2f19689b679b1268a3004ec5e3f37b9732a.
2019-09-06 23:49:17 +08:00
wolfbeast
de215d77fc Correctly return zero vertices if clipping plane 0 or 2 clip away the
entire polygon.

This fixes a regression caused by the fix for CVE-2016-5252
2019-09-06 23:48:46 +08:00
wolfbeast
0343460b3a Issue #438: Add an IsRectilinear helper method to gfxMatrix. 2019-08-17 13:32:12 +08:00
adeshkp
1459c396a3 Fix call to macro MOZ_ASSERT_UNREACHABLE
Fallout from 227b23606b0401245c9f0b15effd45b876b90260
2019-07-25 21:42:26 +08:00
wolfbeast
706ac5f0a4 Make extra sure Compositables don't refer back to layers after reassignment. 2019-05-31 07:21:39 +08:00
wolfbeast
21eef2bff9 Port an upstream Skia fix. 2019-05-31 07:21:05 +08:00
Gaming4JC
838eb9a504 Issue #1101 - Support gzip-compressed SVGs in OpenType+SVG fonts 2019-05-24 21:57:15 +08:00
Mihai Moldovan
28fbea676a Enable double buffering when using XRENDER.
This fixes flickering/bars/stripes showing up during quickly-updating
operations on Intel hardware when using XRENDER.

For more information, refer to the code comment.

See #1061
2019-05-24 21:57:13 +08:00
Mihai Moldovan
75971a4c80 When using XRENDER, create Xlib-based offscreen image surfaces.
Mozilla tried to enable XRENDER support with backends other than Cairo
in 286348:e13aaaaf1962 /
https://hg.mozilla.org/mozilla-central/rev/e13aaaaf1962 - at least until
they decided to completely remove XRENDER support.

The change looked innocent enough, but actually turned out to do exactly
the opposite: it forcefully enabled image offscreen surfaces with GTK2
when it was previously disabled (since
gfxPrefs::UseImageOffscreenSurfaces() will always return true) and, by
extension, disabled the XRENDER-based functionality by creating a
non-Xlib surface.

Interestingly, a previously enabled double buffering check was also
disabled by this, but since the comment for this was diverging with the
code, that behavior just sounds like yet another bug.

Instead of disabling image offscreen surfaces (at least when using the
GTK2 backend), let's force the creation of Xlib-based image surfaces
when XRENDER support is enabled. This will let UXP use the more
common/modern code paths, but also make scrolling much faster again. Too
fast scrolling may induce tearing (if not smoothed), but on the other
hand performs much better in remote computing contexts.

As an added benefit, GTK3-based builds should roughly behave the same
way. Further tests with the GTK3-backend enabled will be required in the
future.
2019-05-17 22:16:26 +08:00