summaryrefslogtreecommitdiffstats
path: root/gfx
Commit message (Collapse)AuthorAgeLines
* [gfx] Put Skia-specific CTOR init behind Skia-conditional.wolfbeast2020-02-21-0/+2
|
* [Layers] Clear WrappingTextureSourceYCbCrBasic::mTexture correctlysotaro2020-02-14-0/+8
|
* Issue #1360 - Enable acceleration by default on all known-good platforms.wolfbeast2020-01-27-1/+5
|
* Issue #1360 - Part 1: Simplify layers acceleration prefs.wolfbeast2020-01-26-61/+7
| | | | | | | | | | | | | | | 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)
* Issue #1354 - Fix typowolfbeast2020-01-21-1/+1
|
* Issue #1354 - Clear the current context when MakeCurrent() fails.wolfbeast2020-01-20-95/+74
|
* Issue #1354 - Don't allow glsl[130,400] unless we have gpu_shader5wolfbeast2020-01-16-0/+19
| | | | | - Teach GLContext about gpu_shader5 - Downgrade shader language version if gpu_shader5 support isn't found.
* Issue #1354 - Cherry-pick ANGLE update for broken drivers that supportwolfbeast2020-01-16-23/+12
| | | | required indexing but not the extensions.
* Enable layers acceleration by default on GTK platforms.wolfbeast2019-12-20-5/+0
| | | | | | | "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
* Issue #1288 - Part 5: Pass graphite fonts through OTS.wolfbeast2019-11-14-10/+1
| | | | | Since the updated OTS supports proper checking of graphite fonts we no longer need to rely of harfbuzz for them.
* Issue #1288 - Part 4: Update the OpenType Sanitizer component to 8.0.0wolfbeast2019-11-14-3290/+10961
|
* Issue #1274 - Part 5: Misc fixes and version update.wolfbeast2019-11-07-194/+25
|
* Issue #1274 - Part 4: Remove some unnecessary checks for old Windows versions.wolfbeast2019-11-07-28/+4
| | | | This gets rid of deprecated GetVersionEx() calls as a bonus.
* 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
|