summaryrefslogtreecommitdiffstats
path: root/gfx
Commit message (Collapse)AuthorAgeLines
* Issue #1274 - Part 3: Update libpixman licensingwolfbeast2019-11-07-0/+55
|
* Issue #1274 - Part 2: Update Windows prerequisite defines.wolfbeast2019-11-07-18/+24
|
* Issue #1274 - Part 1: Adopt the cairo version as our own.wolfbeast2019-11-07-31460/+650
| | | | | | | | | - 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.
* Correctly return zero vertices if clipping plane 0 or 2 clip away theMarkus Stange2019-09-04-15/+91
| | | | | | | | | | | | | | | | | | 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.
* Revert "Correctly return zero vertices if clipping plane 0 or 2 clip away the"wolfbeast2019-09-04-13/+11
| | | | This reverts commit 09a8b2f19689b679b1268a3004ec5e3f37b9732a.
* Correctly return zero vertices if clipping plane 0 or 2 clip away thewolfbeast2019-09-01-11/+13
| | | | | | entire polygon. This fixes a regression caused by the fix for CVE-2016-5252
* Issue #438: Add an IsRectilinear helper method to gfxMatrix.wolfbeast2019-08-14-0/+12
|
* Fix call to macro `MOZ_ASSERT_UNREACHABLE`adeshkp2019-07-23-1/+1
| | | Fallout from 227b23606b0401245c9f0b15effd45b876b90260
* Add CheckedInt check for GL texture uploads.wolfbeast2019-07-22-3/+37
|
* Make extra sure Compositables don't refer back to layers after reassignment.wolfbeast2019-05-28-5/+19
|
* Port an upstream Skia fix.wolfbeast2019-05-27-2/+3
|
* Issue #1101 - Support gzip-compressed SVGs in OpenType+SVG fontsGaming4JC2019-05-23-0/+38
|
* Enable double buffering when using XRENDER.Mihai Moldovan2019-05-22-1/+14
| | | | | | | | | 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
* When using XRENDER, create Xlib-based offscreen image surfaces.Mihai Moldovan2019-04-27-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Bug 1360343 - ensure maskSurface is not null before dereference, since it ↵cku2019-04-03-0/+3
| | | | | | | | | can be null because of OOM or gfx device reset. r=dvander MozReview-Commit-ID: HX2qsWLZpMg --HG-- extra : rebase_source : 046befc11151461a682842c31e2ce39247a5e1d8
* Remove crashreporter toolkit files.wolfbeast2019-04-01-1/+0
| | | | Resolves #20
* Unhook CR exception handler.wolfbeast2019-04-01-1/+0
| | | | Tag #20
* Remove AIX 1st party code OS checks, part 2wolfbeast2019-04-01-4/+0
| | | | Issue #186
* Issue #187: Remove solaris conditional code.wolfbeast2019-03-30-7/+0
|
* Remove texture layout endian-ness check for Moz2D.wolfbeast2019-03-05-10/+0
| | | | | | | | 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).
* Don't trust convexity when applying transforms.wolfbeast2019-02-18-1/+1
| | | | | | | | | | | | In theory, a convex shape transformed by an affine matrix should still be convex. However, due to numerical imprecision of floats, when we try to determine if something is convex, we can get different answers pre and post a transformation (think of two line segments nearly co-linear). Convex paths take a faster scan converter, but it is only well behaved if the path is, in fact, convex. Thus we have to be conservative about which paths we mark as convex, and cant's trust transformed paths to retain their convexity. We re-calculate when a transform is applied.
* Skia: Validate allocation size in GrBufferAllocPool using SkSafeMath.wolfbeast2019-02-17-3/+8
| | | | Upstream port of commit 7469a9341afab19271b8ef07af5c16a0f2c4ccc1
* Skia: Be consistent about int for incReserve.wolfbeast2019-02-17-3/+5
| | | | Upstream port.
* Revert "Port several Skia upstream fixes."wolfbeast2019-02-17-58/+35
| | | | | | This reverts commit 260b06c1c96285459947231a93f08e413be89dd0. This fixes #976
* Port several Skia upstream fixes.wolfbeast2019-02-14-35/+58
|
* Telemetry: Remove stubs and related codeadeshkp2019-01-12-152/+2
|
* Clear weak pointers in FT2 font list shutdown observers.wolfbeast2018-12-12-6/+12
|
* Remove VR hardware support.wolfbeast2018-11-26-13702/+3
| | | | This resolves #881
* Backport some upstream Skia patches.wolfbeast2018-11-02-12/+38
| | | | | | Backport of: https://skia.googlesource.com/skia/+/1e259cda4fb7f12e98dd611bd651f40ebef2d14a https://skia.googlesource.com/skia/+/73be50da2a1fe8944f2623a511fda1957eed708a
* Backport some upstream Skia patches.wolfbeast2018-11-02-9/+24
| | | | | | Backport of: https://skia.googlesource.com/skia/+/c3d8a48f1b27370049aa512019cd726c59354743 https://skia.googlesource.com/skia/+/8051d38358293df1e5b8a1a513f8114147ec9fa3
* Clean up a number of unused variables.wolfbeast2018-09-29-2/+0
| | | | Tag #21.
* gfx: add pref for enabling APZ without e10sLeorize2018-09-25-5/+6
|
* Remove all C++ telemetry autotimerswolfbeast2018-09-04-4/+0
|
* Remove all C++ Telemetry Accumulation calls.wolfbeast2018-09-03-186/+8
| | | | | This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables). Stub resolution/removal should be a follow-up to this.
* Revert "Bug 1388020. r=nical, a=RyanVM"wolfbeast2018-08-30-41/+6
| | | | This reverts commit e7189e33f533f9b974b22c2110b522a13bc4c7f6.
* Remove unused variabletrav902018-08-19-1/+0
|
* Bug 1335296 - Expand about:support WebGL informationjanekptacijarabaci2018-08-01-0/+68
|
* ANGLE: Initialize uniform blocks before detaching shaderswolfbeast2018-07-24-1/+11
| | | | This resolves #668
* Add pref to control CanOptimizeToImageLayer for large downscale factors.wolfbeast2018-07-14-0/+1
| | | | This resolves #626
* Switch to Lanczos scaling from Hamming to get acceptable fast downscaling.wolfbeast2018-07-14-15/+10
| | | | | | | | | | 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.
* Ad workaround for broken B5G6R5 format in Intel driver.wolfbeast2018-07-11-2/+16
|
* Re-apply genericDraw* fixeswolfbeast2018-07-11-6/+6
|
* Roll back to ANGLE/2845wolfbeast2018-07-11-55178/+21143
|
* Bug 604026 - Sync event loops in workers should be created only if ↵janekptacijarabaci2018-07-05-1/+1
| | | | compatible with the worker shutdown status
* Rework gfxFontUtils::MapCharToGlyphFormat4 to be more robust. DiDwolfbeast2018-07-01-42/+57
|
* Bug 1464039 - Only reject qcms transform with invalid grid size if the ↵Nicolas Silva2018-06-30-2/+8
| | | | transform function uses the grid size. r=Bas a=jcristau
* Bug 1464039 - Reject some invalid transforms in qcms. r=mwoodrow, a=RyanVMNicolas Silva2018-06-30-0/+4
|
* Improve the SSSE3 scaler.wolfbeast2018-06-07-9/+25
|
* Account for offsets when creating buffers for image textures.wolfbeast2018-06-07-3/+44
|
* Bug 1462682 - Skia path bounds rounding fix. r=rhunt, a=RyanVMLee Salzman2018-06-07-14/+8
|