Commit graph

36 commits

Author SHA1 Message Date
Moonchild
d4cdecec81 Add Min() and Max() convenience functions for 2d point types.
This will return (min(x1,x2), min(y1,y2)) and equivalent max from 2
passed-in (x1,y1) (x2,y2) points
2023-11-04 11:41:21 +08:00
Moonchild
3bdb386b6e Fix a bug in SizeTyped templating
A second template parameter 'F' was previously added to SizeTyped, but
was not correspondingly added to the argument passed for the 'Sub'
parameter of BaseSize.
2023-11-04 11:40:55 +08:00
Moonchild
3f618a55dc Issue #2364 - Optimize the software-based box blur implementation. 2023-11-04 11:40:15 +08:00
Moonchild
4beb3b947c Issue #2364 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. 2023-11-04 11:40:00 +08:00
Moonchild
8d30faf95f Issue #2364 - Re-factor AlphaBoxBlur
Only blur one quadrant of a box-shadow and mirror it to the other quadrants.
This applies only if the corners are symmetrical (square corners or equal
corner radii) otherwise we'll fall back to the old method.
2023-11-04 11:39:45 +08:00
Moonchild
2f117eecaa Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews,
media and memory. More to come.
2023-05-05 22:57:19 +08:00
Job Bautista
c54e2502b0 Issue #2191 - Make ScaledFont::SetCairoScaledFont virtual so it can be accessed from outside Moz2D.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:23 +08:00
Moonchild
fd5015faeb [GFX] Add some sanity checks and clamps to SurfaceData calculations. 2023-03-20 10:44:29 +08:00
Moonchild
f801bd1847 Issue #80 - Re-unify most of gfx 2022-09-09 10:19:25 +08:00
Moonchild
9fa9622d5b [DOM] Clip image data transfers. 2022-06-02 10:11:38 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
8d800b1cb0 Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-28 10:25:48 +08:00
trav90
908d58ab7b Issue #1804 - Fix building with GCC 11 2022-04-19 22:05:31 +08:00
Moonchild
ccf9e5f54b Issue #1751 -- Remove XP_MACOSX conditionals and support files from /gfx 2021-05-05 10:27:35 +08:00
Moonchild
9aed800398 Issue #1751 -- Remove files unused without XP_DARWIN 2021-05-05 10:27:29 +08:00
Moonchild
2f27335cc4 Issue #1751 -- Remove XP_DARWIN 2021-05-05 10:27:04 +08:00
Moonchild
a9c8f3a84a Issue #1751 -- Remove XP_IOS 2021-05-05 10:26:14 +08:00
Moonchild
753251e54c Issue #1053 - Part 3a: Remove Android conditionals from /gfx 2021-01-01 10:01:09 +08:00
Moonchild
3cac4d852d [gfx][Skia] Hold mutex while accessing shared SkImage data. 2020-11-19 21:11:56 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +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
adeshkp
51c19f2e77 Issue #80 - Include gfx/Logging.h in NativeFontResourceMac.cpp 2020-05-23 06:51:13 +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
18ae7ae02c Issue #80 - De-unify gfx/2d 2020-05-23 06:48:06 +08:00
wolfbeast
62a46687d6 [gfx] Put Skia-specific CTOR init behind Skia-conditional. 2020-02-22 07:05:25 +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
cku
f9ae2860ab Bug 1360343 - ensure maskSurface is not null before dereference, since it can be null because of OOM or gfx device reset. r=dvander
MozReview-Commit-ID: HX2qsWLZpMg

--HG--
extra : rebase_source : 046befc11151461a682842c31e2ce39247a5e1d8
2019-04-04 20:30:32 +08:00
wolfbeast
d68b5ee06d Remove texture layout endian-ness check for Moz2D.
This resolves #986.

This removes endian-based inversion of texture layout aliases when
represented as uint32. This inversion was incorrect and would cause
unknown texture formats as a result on big-endian machines (PPC64).
2019-03-09 10:21:33 +08:00
wolfbeast
d203062c4e Switch to Lanczos scaling from Hamming to get acceptable fast downscaling.
In visual tests we see that Hamming-1 is not as good as
Lanczos-2, however it is about 40% faster, and Lanczos-2 itself is
about 30% faster than Lanczos-3. The use of Hamming-1 has been deemed
an unacceptable trade-off between quality and speed due to the limited
pixel space it operates in, so we pick Lanczos-2 here.
On modern hardware, Lanczos-2 doesn't have any noticeable impact
in normal use.
2019-02-16 00:08:42 +08:00
wolfbeast
a1fee5622b Improve the SSSE3 scaler. 2019-02-16 00:01:57 +08:00
Miko Mynttinen
f350fa8432 Bug 1393367 - Change MOZ_ASSERT to MOZ_RELEASE_ASSERT. r=mstange, r=fbraun, a=RyanVM
--HG--
extra : source : 1908cd8ed88dd4f77a99dff39c193d7d3f435195
extra : intermediate-source : 9718d92fab4d9a39acdc2afb0302b6fcd7997f6c
2019-02-15 23:47:25 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00