Граф коммитов

2399 Коммитов

Автор SHA1 Сообщение Дата
Bas Schouten 0dee5c2745 Bug 1387399: Add SIMD optimizations for methods used frequently in nsRect. r=jrmuizel
This improves the DisplayList Mutate Talos test by about 5% on windows, as well as numerous smaller improvements on DisplayList heavy tasks.

MozReview-Commit-ID: tlEtPjqWI4
2018-04-19 15:56:29 +02:00
Jonathan Kew 8cc9d24a4f Bug 1454094 - Explicitly copy font variation settings from CGFont when creating a CTFont only on macOS Sierra; on HighSierra, rely on Core Text to automatically propagate the required settings. r=lsalzman 2018-04-18 22:08:41 +01:00
Jonathan Kew 94238d9823 Bug 1452973 - Update NS_FONT_STRETCH_* constants to values based on the percentage definitions in css fonts 4. r=jwatt 2018-04-16 10:00:57 +01:00
Miko Mynttinen 0b8872867b Bug 1393367 - Change MOZ_ASSERT to MOZ_RELEASE_ASSERT. r=mstange, r=fbraun 2018-04-12 14:18:03 +02:00
Jonathan Watt 1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Andrew Osmond f17c1700f1 Bug 1452467 - Make native font resource memory allocations fallible. r=lsalzman 2018-04-13 13:33:15 -04:00
Andrew Osmond 74807c64ae Backed out changeset e5336e51b77f (bug 1452467) for Windows static analysis build bustage on a CLOSED TREE. r=aosmond 2018-04-13 10:14:12 -04:00
Andrew Osmond 117614d724 Bug 1452467 - Make native font resource memory allocations fallible. r=lsalzman 2018-04-13 09:41:29 -04:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Lee Salzman dc3fc2506c Bug 1450814 - generic implementation of DrawTarget::Blur using LockBits. r=rhunt
MozReview-Commit-ID: 2jROASoiPQd
2018-04-10 16:46:32 -04:00
Robert Longson 36466d75ed Bug 1451066 - One t in detach r=jmuizelaar
--HG--
extra : rebase_source : 00669d1975e41963a2dc030d76c7edf78fcd1593
2018-04-03 10:54:00 +03:00
Lee Salzman 3ffd2fdb72 Bug 1451845 - use SkCanvas layer clip image for DrawTargetSkia::PushLayer mask. r=jrmuizel
MozReview-Commit-ID: BwkwiorvmVY
2018-04-05 14:57:11 -04:00
Lee Salzman ff2a78845b Bug 1448667 - use ColorMatrix effect instead of LuminanceToAlpha effect for DrawTargetD2D1::IntoLuminanceSource. r=bas
MozReview-Commit-ID: LHbSiFBx6HK
2018-04-05 14:07:18 -04:00
Ryan Hunt c371c4f33a Check if FilterNodeCapture was able to successfully validate (bug 1447428, r=bas)
--HG--
extra : rebase_source : e236b64a6733cddfb43caf83373dc8e874bcfb42
2018-03-26 12:48:57 -05:00
David Major 2c5d006825 Bug 1298383: Add default cases to appease clang-cl's -Wswitch. r=Bas 2018-03-28 09:56:30 -04:00
Jeff Muizelaar d07c300116 Bug 1388842. Add blob invalidation. r=mstange
MozReview-Commit-ID: 5xwqlULUbZe
2018-03-27 17:31:04 -04:00
Jeff Muizelaar fe9267ddda Bug 1449029. Moz2D Recording: Make Finish() return if any items. r=lsalzman
Blob image invalidation will use will use this to avoid sending empty recordings.

MozReview-Commit-ID: BlP5kqCbBys
2018-03-27 17:31:03 -04:00
Ryan Hunt 12792a2bc5 Add GuaranteePersistence to PushLayer in DrawTargetCapture. (bug 1447144, r=bas)
--HG--
extra : amend_source : 4492b72ad9e306aeefadddd970b0e997de386239
2018-03-19 13:32:12 -05:00
Jeff Muizelaar 4338f2052b Bug 1388842. Add support for updating blob images. r=mstange
Currently, we use a simple merging algorithm, because the more
complicated ones didn't work.

This code won't actually be used until we do blob image invalidation
in a follow up.

MozReview-Commit-ID: Q2Em3QC195
2018-03-20 10:30:26 -04:00
Jeff Muizelaar e81d471371 Bug 1440702. Add equality operators to Matrix4x4Flagged. r=Bas
This adds a naive implementation of equality. We can do better
in the future by looking at the flags.

MozReview-Commit-ID: K4xdfCmvvb9
2018-03-16 16:42:03 -04:00
Lee Salzman 5eb6435f7a Bug 1444506 - part 2 - Moz2D fixes for Skia m66 update. r=jrmuizel 2018-03-12 16:37:10 -04:00
Botond Ballo 74cd005201 Bug 1442767 - Rename Box to RectAbsolute (Moz2D changes). r=bas
MozReview-Commit-ID: 7VOZs8pQgJ4

--HG--
rename : gfx/2d/Box.h => gfx/2d/RectAbsolute.h
extra : rebase_source : 46dc03f33d51f28729a56cf25055f4eb3e7dad6f
2018-03-05 16:35:35 -05:00
Jonathan Kew 8334108f71 Bug 1433060 - Support font variations in Moz2d recording stream on Windows, so printing with variation fonts works properly. r=lsalzman
--HG--
rename : gfx/thebes/dw-extra.h => gfx/2d/dw-extra.h
2018-02-26 21:21:01 +00:00
Lee Salzman b63d990b24 Bug 1440559 - don't multiply DataSourceSurfaceRecording stride by bpp. r=jrmuizel
MozReview-Commit-ID: LvvB9HlF01h
2018-02-23 10:37:32 -05:00
Andrew Osmond cd7cf0fad3 Bug 1427639 - Part 2. Fix misleading image memory reporting on Android. r=tnikkel
The shared memory handle reporting has been generalized to be an
external handle reporting. This is used for both shared memory, and for
volatile memory (on Android.) This will allow us to have a better sense
of just how many handles are being used by images on Android.

Additionally we were not properly reporting forced heap allocated
memory, if we were putting animated frames on the heap. This is because
we used SourceSurfaceAlignedRawData without implementing
AddSizeOfExcludingThis.
2018-02-22 14:26:29 -05:00
Andrew Osmond b18fc05e36 Bug 1427639 - Part 1. Add preferences to control image frame allocations in volatile memory or the heap. r=tnikkel
image.mem.volatile.min_threshold_kb is the minimum buffer allocation for
an image frame in KB before it will use volatile memory. If it is less
than it will use the heap. This only is set to > 0 on Android.

image.mem.animated.use_heap forces image frames to use the heap if it is
for an animated image. This is only enabled for Android, and was
previously a compile time option also for Android.
2018-02-22 14:26:29 -05:00
Masatoshi Kimura dea129ada5 Bug 1428258 - Stop using GetNativePath in gfx/. r=jrmuizel
MozReview-Commit-ID: EdcKDRQeGXg

--HG--
extra : rebase_source : 8a6f93091e7f7cf96f998a3b8a5ce518c822f112
extra : intermediate-source : 77d4d136028337085cebdb59201302676a2ec521
extra : source : 477624377a9796459ada93719df68ba152587781
2017-12-17 00:13:30 +09:00
Lee Salzman 7c0e261ff2 Bug 1427118 - make RecordedFontData use fallible allocations. r=milan
MozReview-Commit-ID: 3YzhOyXvrv
2018-02-19 21:19:53 -05:00
Chris Peterson fe5cd3d5d9 Bug 1436263 - Part 3: Remove `virtual` from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson 0129d900f3 Bug 1436263 - Part 2: Replace `override final` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: 70gt5SUu4Dv

--HG--
extra : rebase_source : 71912c6bde22aaed01e70615a4ee794a36e70d0e
extra : source : 1c22d4c65d70b797ee3e963ec426c90e1f89b5e3
2018-02-05 22:50:00 -08:00
Chris Peterson d09123f248 Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Jeff Muizelaar 62a9686ee2 Bug 1439005. Add PushLayerWithBlend. r=Bas
This makes it possible to implement nsDisplayBlend blob image invalidation.
It currently only includes an implementation for Skia and DrawTargetRecording.
All other backends will crash when used.

MozReview-Commit-ID: 2GhdDxi4jHG
2018-02-17 12:07:30 -05:00
Bas Schouten 051f79e412 Bug 1437492 - Part 1: Add a Matrix class with optimizations for simple matrices. r=mattwoodrow
MozReview-Commit-ID: EVrgqE0VlwM
2018-02-17 00:43:36 +01:00
Jeff Muizelaar 12ce692c26 Bug 1438631. Fix typos in IntoLuminance recording event. 2018-02-16 15:52:44 -05:00
Ryan Hunt 28164f62e6 Make FilterNodeSoftware intermediate surface caching thread safe (bug 1436723, r=mstange)
This commit introduces a lock on each FilterNodeSoftware around the cached surface.

This lock must be acquired whenever the cached surface is accessed. Currently this
is when the Filter is invalidated or painted.

When painting we only hold the cache lock when determining if we need to compute
a new surface, and after we have computed that new surface. This allows another
thread that may be painting that filter node at a different rect to not contend
on the cache. This is just theoretical though as DrawTargetTiled doesn't clamp
the source rect of the Filter command to the tile rect.

MozReview-Commit-ID: KFVZ35e1czB

--HG--
extra : rebase_source : a22918df80a24fad216a834a5737249cab570f08
2018-02-09 13:46:04 -06:00
Ryan Hunt bdc27969fe Restore FilterNodeSoftware intermediate surface caching (bug 1436723, r=mstange)
This is a just a back out of changeset 6882857e1bb5.

MozReview-Commit-ID: 9Z6iEHl3eAy

--HG--
extra : rebase_source : 3d091c72a6e589e702d90ffe6800e131b009604b
2018-02-08 15:21:06 -06:00
Ryan Hunt 4a4b48772d Add basic DrawTargetCapture logging ability (bug 1435938, r=bas)
MozReview-Commit-ID: LhbC4mWub6k

--HG--
extra : histedit_source : 3dd4ae3ce007aa326c1d47f018770df1e9b982e1%2C4cf1db87b1cd9e879a90351f086711d24216d7b5
2018-02-05 22:00:45 -06:00
Jamie Nicol 61cdff34c5 Bug 1429508 - Allow created mask surfaces to be clipped to the necessary size when replaying a recording. r=bas
Add a command CreateClippedDrawTarget to DrawTarget, which takes the
max required size and a transform between this draw target and the one
to be created. The created draw target may have its size clipped to
the size of this draw target, transformed to the new target's
space. This means that the new surface will be large enough so
that it is rendered to this draw target correctly, but not necessarily
any larger.

Usually this will just create a draw target of the requested size, for
simplicity. However, when replaying a recorded draw target we do clip
the size to the base draw target's size. This is done using a
DrawTargetTiled, so when applying the mask in PopLayer, we must take
the SourceSurface's offset in to account.

MozReview-Commit-ID: 89ONElphzLu

--HG--
extra : rebase_source : 7eebeb66a2686a7b6f4ade36f3004ebb06abc2fe
2018-02-05 17:59:42 +00:00
Jamie Nicol 4c2f14974a Bug 1429508 - Make SnapshotTiled::GetDataSurface return a surface the size of backed tiles only. r=bas
Fix the DrawTargetTiled::mRect initialization, and expose through the
virtual function GetRect(). Make SnapshotTiled::GetDataSurface()
allocate a surface the size of this rect, rather the XMost and
YMost. Callers of SourceSurface::GetDataSurface() can query
SourceSurface::GetRect() and apply the necessary offset themselves.

MozReview-Commit-ID: C31FGirQ0oK

--HG--
extra : rebase_source : ac31ae3ca0a0b188f9293c4e6898b4e4a65cad0e
2018-02-05 17:50:41 +00:00
Jamie Nicol 190d2c71c5 Bug 1429508 - Mark DrawTarget::GetSize as const. r=jrmuizel
MozReview-Commit-ID: BmhlrQjmIjW

--HG--
extra : rebase_source : 388e5a273140e7996f4943b6f28d23c3d44ccf18
2018-01-23 17:10:11 +00:00
Botond Ballo 8cddf32578 Bug 1434250 - Add a bare-bones Box class. r=bas
A Box is like a Rect but represented as (x1, y1, x2, y2) instead of
(x, y, w, h).

The API is bare-bones at the moment; it can be extended as needed
by future users.

MozReview-Commit-ID: FWv69Y5hP6t

--HG--
extra : rebase_source : 1f717727bc724842a2f6adcba9e6cbbe50059436
2018-02-09 15:40:07 -05:00
Lee Salzman a0d29145a5 Bug 1396637 - disable WR subpixel positioning with FreeType. r=jrmuizel
MozReview-Commit-ID: Hu3Q9yuveRw
2018-02-08 21:42:54 -05:00
Lee Salzman 7cf35e807f Bug 1436375 - add RecordedScaledFontCreation event in DrawTargetRecording::FillGlyphs. r=jrmuizel
MozReview-Commit-ID: 780xX36HeYH
2018-02-07 15:48:23 -05:00
Bas Schouten 7f06948838 Bug 1425257: Introduce a global lock to protect the dependency graph between DrawTargets. r=lsalzman
This patch takes the safest route for securing modifications to the dependency graph for D2D DrawTargets. It's possible a slightly optimal approach is possible, however lock contention should be rare and I believe this is the safest and most upliftable approach.

MozReview-Commit-ID: HGfSdEp2U5N
2018-02-06 03:08:04 +01:00
Narcis Beleuzu 84cea84b12 Merge inbound to mozilla-central. a=merge 2018-02-06 11:54:42 +02:00
Margareta Eliza Balazs 9c4eafffee Backed out changeset 0c3400afa45f (bug 1425257) for failing R-e10s in slave/test/build/tests/reftest/tests/image/test/reftest/pngsuite-basic-n/basn0g01.png on a CLOSED TREE 2018-02-06 07:27:43 +02:00
Ryan Hunt 0b29c49678 Remove implicit fuzzy operator== from BaseMatrix (bug 1435406, r=mattwoodrow)
--HG--
extra : rebase_source : 2635f386b96644922a345cea3a8fca6e3614253f
extra : histedit_source : b7cc3424492f88cbd32f3f945c5af86ff43ca0d0
2018-02-02 15:14:08 -06:00
Bas Schouten bf22a1874d Bug 1425257: Introduce a global lock to protect the dependency graph between DrawTargets. r=lsalzman
This patch takes the safest route for securing modifications to the dependency graph for D2D DrawTargets. It's possible a slightly optimal approach is possible, however lock contention should be rare and I believe this is the safest and most upliftable approach.

MozReview-Commit-ID: HGfSdEp2U5N
2018-02-06 03:08:04 +01:00
Daniel Holbert 73cea96890 Bug 1435297 part 2: (automated patch) Switch a bunch of C++ files in gfx to use our standard emacs/vim mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py.
I ran it as follows:
  python /path/to/modeline.py --fix gfx/

This patch changes all affected files to use the exact C++ mode lines from the
Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

MozReview-Commit-ID: FsPNGjFkIFV

--HG--
extra : rebase_source : 7532d0478d0af75e346102105caf5b89631457aa
2018-02-02 12:07:36 -05:00
Ryan Hunt f1fc54c0cd Reuse existing DrawingCommand for SetTransform and SetPermitSubpixelAA (bug 1431813, r=bas)
--HG--
rename : gfx/2d/DrawCommand.h => gfx/2d/DrawCommands.h
extra : rebase_source : b4b2a4d8b73413c56dbaa55dc3bd200f126c060a
2018-02-02 09:59:35 -06:00
Ryan Hunt b502551a00 Deduplicate unneeded SetTransform and SetPermitSubpixelAA calls from DrawTargetCapture (bug 1431813, r=bas)
--HG--
extra : rebase_source : 30b2051494aa247df922e87779a1f866e1b45e97
2018-02-02 09:24:10 -06:00
Ryan Hunt 6250b4ca48 Be sure to preserve the current transform when restoring an SkCanvas (bug 1431813, r=lsalzman)
--HG--
extra : rebase_source : 3fba5160051e86f477a32ca8880d9e341177b995
2018-02-02 09:22:20 -06:00
Jan Steffens 62442dc97a Bug 1424648 - Provide proper face index to FreeType FontDescriptorOutput; r=lsalzman
OpenType font collections (*.ttc) contain multiple faces in a single file,
identified via index. When creating a font descriptor for a FreeType or
Fontconfig font, we mistakenly set the index to zero, always.

This bug became visible when layout and WebRender would disagree on the face in
use, rendering text with the metrics from the proper face but the outlines of
another. Unless, of course, the selected face was the first (or only) in the
font file.

MozReview-Commit-ID: 73qcPOD0HIr

--HG--
extra : rebase_source : b5784ff547bae99186d646dbb92b31660beb3970
2018-01-31 21:42:18 +01:00
Jamie Nicol 17afeef581 Bug 1430550 - Don't keep mutex locked if SourceSurfaceSkia::Map fails. r=bas
This was leading to a mutex never being unlocked, eventually causing a
crash when it was destroyed.

MozReview-Commit-ID: JzEDWzKxZ4S

--HG--
extra : rebase_source : c86ad738addbec55f33165d300876f4c675cf5f4
2018-01-18 16:48:08 +00:00
Lee Salzman 1a23b6eab1 Bug 1400384 - support text writing modes with WebRender. r=gankro 2018-01-17 07:51:20 -05:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Noemi Erli adbfbaab81 Merge inbound to mozilla-central r=merge a=merge 2018-01-11 23:54:07 +02:00
Milan Sreckovic e3960c6dce Bug 1429602: Rename BaseRect::IsZero to BaseRect::IsZeroArea. Also slip in some corrections to using BaseRect methods instead of direct member access. r=bas.schouten
MozReview-Commit-ID: H3ApaWesbKF

--HG--
extra : rebase_source : c4f73da113a604c14fbf0f1ef4c598d032d68792
2018-01-10 17:57:10 -05:00
Andrew Osmond a0be88332d Bug 1428946 - Part 2. Make ApplyBlending_SIMD and ApplyArithmeticCombine_SIMD support the same surface for both inputs. r=bas 2018-01-11 08:48:46 -05:00
Andrew Osmond 7cc5611e47 Bug 1428946 - Part 1. Make comparing and mapping DataSourceSurfaceWrapper objects work consistently. r=bas 2018-01-11 08:48:46 -05:00
Sylvestre Ledru f8b1d9ab46 Bug 1278282 - update of the moz.build files to remove gtk2 references r=lsalzman
MozReview-Commit-ID: FO1wEHzOkuN

--HG--
extra : rebase_source : ac7e61cf47d013de882048740c889735a0a7cad8
2018-01-10 10:04:59 +01:00
Ryan Hunt 842c95d26d Report a DrawTargetTiled as a capture if it is made of captures (bug 1425056, r=bas)
This will make it so that we avoid main thread rasterization for box shadows.

MozReview-Commit-ID: 9Tg4dsH21V6

--HG--
extra : rebase_source : 5af0460239ba3d54aca483b07a494e81ed9294d2
2017-12-13 09:27:07 -06:00
Ryan Hunt 2f60fa5264 Make debug bounds checking for FilterNodeSoftware thread safe (bug 1425056, r=mstange)
This debug only bounds checking is not thread safe to any filter nodes drawing at
the same time. I believe it makes sense to just manually calculate the bounds and
pass them along in the functions that need them.

MozReview-Commit-ID: 9GiYRbWuVF6

--HG--
extra : rebase_source : 388187ef92505a946d4e0a9392353373a9cfeced
2017-12-18 13:06:30 -06:00
Ryan Hunt f425854b5b Don't cache SourceSurface's in FilterNodeSoftware (bug 1425056, r=mstange)
Caching SourceSurfaces on a filter node is not thread safe to multiple
threads executing the same filter node at the same time. We could add
a mutex to every filter node and guard on that, but I think it makes
sense to just remove the caching for now. I'm open to readding this,
if this proves to be a problem.

MozReview-Commit-ID: Ca38WlG3V89

--HG--
extra : rebase_source : f0e63b4996928eea5588801d1a724c4a9f3d5040
2017-12-18 12:46:09 -06:00
Ryan Hunt 493d9c30b5 Lock access to PowCache in FilterNodeLighting (bug 1425056, r=mstange)
PowCache is not thread safe to the same filter node being drawn by multiple threads
at the same time. In this case I think it's easiest to just add a mutex for this
filter node.

MozReview-Commit-ID: 7pHuFYGxV4B

--HG--
extra : rebase_source : 3f0d9bc608880082a54b245d2fc4f7b970222a9a
2017-12-20 10:36:23 -06:00
Sebastian Hengst 1ebdaf80de merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2018-01-10 01:52:28 +02:00
Lee Salzman 7755d675bb Bug 1394568 - plumb synthetic italics flag through thebes and Moz2D into WebRender. r=gankro 2018-01-09 10:37:49 -05:00
Milan Sreckovic bf8a535a29 Bug 1428348: Allow Set{Left,Right,Top,Bottom}Edge methods to compute negative width/height without asserting. r=bas.schouten
MozReview-Commit-ID: EOGgAvq4lPW

--HG--
extra : rebase_source : 359dc88940a6f9d353b33d6b5a264dc88955157d
2018-01-09 11:24:37 -05:00
Jonathan Kew 88ac266967 Bug 1427641 - patch 3 - Add variation data to the cairo_ft_*_font objects, so they can properly track instances of the same font resource used with different variation parameters. r=lsalzman 2017-12-07 13:22:49 +00:00
Andrew Osmond 89c5ff6db9 Bug 1429413 - Ensure Factory::CreateDataSourceSurface allocation failures are gracefully handled. r=bas 2018-01-11 08:26:42 -05:00
Matt Woodrow 1a07a450f8 Bug 1344971 - Part 3: Don't compute a region for nsDisplayBorder when we only want a rect. r=mstange 2017-03-07 14:07:33 +13:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
David Anderson a830f56d14 Fix race condition when mapping a D2D surface while its DrawTarget mutates. (bug 1418348, r=bas)
--HG--
extra : rebase_source : cf16e7f1cea664327b00f01bd42380de672cd9b4
2017-12-12 14:52:54 -06:00
Sylvestre Ledru 4591d82b23 Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: HbF5oT5HW6f

--HG--
extra : rebase_source : eca479b6ae4bff7f600d1cdb39e11ac2057e4e79
2017-12-07 22:09:38 +01:00
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Cosmin Sabou c191e25cf5 Merge mozilla-inbound to mozilla-central r=merge a=merge 2017-12-08 11:56:44 +02:00
shindli 76ee711dab Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2017-12-08 00:24:48 +02:00
Bas Schouten 6050c91090 Bug 1422475: Create FilterNodes on the paint thread when using Direct2D. r=dvander
MozReview-Commit-ID: tt9pRshj6i
2017-12-07 03:21:49 +01:00
Milan Sreckovic e9ad31bdf1 Bug 1423919: Additional methods for BaseRect for convinient modifications/testing of the member variable values. Force inline some commonly used methods. r=milan.schouten
MozReview-Commit-ID: 8zALRpsKLXx

--HG--
extra : rebase_source : ac6e88124c924c65cb79b3a97da0a90fedaa1689
2017-12-07 14:14:04 -05:00
Tiberius Oros be4fc858c5 Merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-12-06 12:35:04 +02:00
Gurzau Raul f5f1c3f294 Merge inbound to mozilla-central r=merge a=merge 2017-12-06 11:53:55 +02:00
Lee Salzman 6dc1932292 Bug 1394570 - request synthetic bold for Mac fonts with WR. r=gankro
MozReview-Commit-ID: JAmWZM9SOe0
2017-12-05 22:18:53 -05:00
peter chang f735c3d7f1 Bug 1418791 - Ensure mSnapshot access is protected by mutex, r=dvander
MozReview-Commit-ID: 3NPzv6VftxZ

--HG--
extra : rebase_source : 2af00974d4de8d0cc15a326520111c32c4437b54
2017-12-05 15:35:16 +08:00
Bas Schouten e83999bf32 Bug 1416862: Reverse DrawTargetSkia snapshot ownership model r=dvander
MozReview-Commit-ID: 3hpeYteEPlA
2017-12-06 04:59:19 +01:00
Bas Schouten 8d886455b3 Bug 1423281: Store the userdata for freeing our memory on the longer living snapshot. r=dvander
MozReview-Commit-ID: 91tVpJC7gAe
2017-12-06 04:59:18 +01:00
Ciure Andrei 48e5c9892f Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2017-12-02 12:19:55 +02:00
Andrew Osmond a3a7832363 Bug 1419912 - Part 1. Add/use surface invalidation counter to track changes in SourceSurfaceSharedData. r=me 2017-12-01 06:59:21 -05:00
Jeff Muizelaar dce6b5fece Bug 1422321. Eliminate double promotion in Round(). r=kats
This uses std::floor(T) instead of floor(double) so that we end up calling
floorf(float) for floats instead floor(double). It also changes the literals to
be floats. 0.5f is exactly representable in float and so will transparently
promote to double as needed.

--HG--
extra : rebase_source : ea193026b3c7d1f97f5abbc3f9220eca5ac5523c
2017-11-30 13:23:56 -05:00
Lee Salzman 03a6e9d255 Bug 1421275 - Pass FontInstanceFlags to WebRender. r=jrmuizel
This patch was originally developed on bug 1418564.

MozReview-Commit-ID: 53oydIqjhvF

--HG--
extra : rebase_source : 8980cc947b3b8c46a75d032e7e557f39bae08b97
2017-11-28 10:25:27 -05:00
Timothy Nikkel 9468c9b03a Bug 1421191. In ConvolutionFilter::ComputeResizeFilter calculate the src pixel every loop iteration. r=lsalzman
If we try to be clever and increment by invScale then floating point inaccuracies can accumulate leaving srcPixel far off from where it should be.
2017-11-29 02:22:53 -06:00
Bas Schouten 62909856db Bug 1416862: Ensure mSnapshot access is always protected by mSnapshotlock. r=mattwoodrow
MozReview-Commit-ID: 8qkFde46WPQ
2017-11-27 03:12:09 +01:00
Jonathan Kew af9d8ad285 Bug 1403302 - patch 2 - Fix mixed-up glyph bounding box coordinates in ScaledFontDWrite::GetGlyphDesignMetrics. r=bas 2017-11-23 19:39:39 +00:00
Jonathan Kew 2643bb52e3 Bug 1403302 - patch 1 - Add missing return statement to ScaledFontBase::GetGlyphDesignMetrics, so that its cairo-based code path actually works. r=bas 2017-11-23 19:39:11 +00:00
Ryan Hunt 8ec4f38aa3 Implement record and replay painting for multi tiled layers (bug 1422392, r=nical)
This commit modifies MultiTiledContentClient to record drawing commands and
replay them to the tiled draw target on the paint thread when OMTP is enabled.

MozReview-Commit-ID: 22zL3c4NZvu

--HG--
extra : rebase_source : f8256b678da683da76edc02769dd4d0ebe234e09
2017-11-21 19:12:14 -05:00
Ryan Hunt daa2954800 SetPermitSubpixelAA for capture draw targets based on mFormat (bug 1422392, r=nical)
Other draw targets do this in their initialization code, so capture should also.
MozReview-Commit-ID: CBsui9IJwXI

--HG--
extra : rebase_source : c3a818618cee0bab7ac3c99a42daf698c063e0c0
2017-11-29 16:58:43 -05:00
David Anderson 4d9d8d5d59 Bug 1416864 - Synchronize how snapshots detach in DrawTargetD2D1. r=bas 2017-11-21 10:52:38 -05:00
Bas Schouten 15d9bc6da0 Bug 1417549: Execute IntoLuminanceSource during replay rather than synchronously. r=dvander
MozReview-Commit-ID: DWGQoTpUnyT
2017-11-21 16:41:08 +01:00
David Anderson 9575a22267 Remove trivial calls to DataSourceSurface::Stride. (bug 1405390 part 3, r=bas)
--HG--
extra : rebase_source : 7700599ef497a2abadc7970af5ea26b48061966e
2017-11-09 00:43:30 -08:00
David Anderson 32e1584385 Remove easily-removed cases of DataSourceSurface::GetData(). (bug 1405390 part 1, r=bas)
--HG--
extra : rebase_source : cc0d8001240efb530daa9845bc126e5026682340
2017-11-09 00:43:29 -08:00
Bas Schouten 911420ff1c Bug 1413857: Make FilterNode refcounting threadsafe. r=rhunt
MozReview-Commit-ID: Kgnq97NJeTv
2017-11-08 20:49:40 +01:00
Bas Schouten fc5e6c2cf2 Bug 1414448: Protect the SourceSurfaceSkia destructor from racing with DrawTargetWillChange. r=dvander
MozReview-Commit-ID: 6UYDLUEoJZy
2017-11-08 20:49:40 +01:00
Lee Salzman 62496c6987 Bug 1412545 - avoid race condition when setting Cairo ft font user data. r=jrmuizel
MozReview-Commit-ID: 4aqfj2xlCc2
2017-11-07 14:10:31 -05:00
Lee Salzman 826eee8b2a Bug 1403198 - support WR font descriptors on Mac. r=jrmuizel
MozReview-Commit-ID: BqN51yY88oJ
2017-11-06 20:21:06 -05:00
Lee Salzman 3e6f5e1180 Bug 1403198 - support WR font descriptors with DWrite. r=jrmuizel
MozReview-Commit-ID: 8u3kYoKYOuC
2017-11-06 20:20:43 -05:00
Lee Salzman b70e5bcc71 Bug 1403198 - support WR font descriptors with Fontconfig. r=jrmuizel
MozReview-Commit-ID: L52PYBwEqNw
2017-11-06 20:20:11 -05:00
Lee Salzman f11218633f Bug 1403198 - send font descriptors to WR instead of raw fonts where possible. r=jrmuizel
MozReview-Commit-ID: DYcaO3fE1fc
2017-11-06 20:19:46 -05:00
Markus Stange 1f62b09715 Bug 1414157 - Supply the font smoothing background color in the webrender FontInstanceOptions. r=lsalzman
MozReview-Commit-ID: CaI4FH7GoI8

--HG--
extra : rebase_source : 08a84a0b860e2afa8c0316c459984dd49d3e9561
2017-11-02 22:21:54 -04:00
Markus Stange 78303f13ce Bug 1414154 - Remove GlyphRenderingOptions. r=lsalzman
MozReview-Commit-ID: JtwnTj1hhPV

--HG--
extra : rebase_source : 2a3e896eec8b6839097baf6e2cccc10eb162827b
2017-11-02 21:42:56 -04:00
Markus Stange 4be8be99f3 Bug 1414154 - Store the font smoothing background color on the ScaledFontMac. r=lsalzman
MozReview-Commit-ID: 9U6CXn1JlYT

--HG--
extra : rebase_source : eea215e1ef3345e06ea92fc150f83a4467eba31d
2017-11-02 21:02:30 -04:00
Markus Stange 9d74ba14bd Bug 1413178 - Initialize the new field that was added in webrender commit 479d43ab4f245c42b33e12f9b6f050045ec84ab3. r=lsalzman
MozReview-Commit-ID: 3oFtSjbnBsI

--HG--
extra : rebase_source : b3d792787a9226265d02eaff027e0919aca1d17d
2017-11-03 00:37:20 -04:00
NARCIS BELEUZU 0a208387ad Merge mozilla-central to autoland. r=merge a=merge on CLOSED TREE 2017-11-03 12:20:45 +02:00
Ethan Lin 4f02235ca5 Bug 1413680 - DrawTargetRecording should return the real size instead of the dummy drawtarget's size. r=jrmuizel
MozReview-Commit-ID: E63f8ZIGYm2

--HG--
extra : rebase_source : d966d435308ca66a4d0c64f5e90db218ed1fe31f
2017-11-02 13:50:38 +08:00
Botond Ballo a155122b36 Bug 1382534 - Add a UnionMaybeRects() method to gfx/2d/Rect.h. r=mstange
MozReview-Commit-ID: 3G4Hlj54Thy

--HG--
extra : rebase_source : 6c2b22f28ee648bc93f4cb3471727f992f8cb34e
2017-08-23 17:45:15 -04:00
Jeff Muizelaar df5772565c Bug 1412848. Use the proper types and functions. r=lsalzman
The previous code was a bad copypasta
2017-11-02 17:47:33 -04:00
Lee Salzman 1eba4acd8d Bug 1412942 - pad Mac font data when checksumming. r=jfkthame
MozReview-Commit-ID: 3941eAWNXoR
2017-10-31 23:13:25 -04:00
David Anderson 997c7019bc Don't cache DrawTargetCaptures in nsCanvasFrame. (bug 1395478 part 10, r=mattwoodrow)
--HG--
extra : rebase_source : fc0746099e910f1e46842f292f60b2f00ee25f38
2017-10-31 12:02:32 -07:00
David Anderson 3bc0066b70 When similar draw targets are requested from capturing DTs, always return a new capturing DT instead of an actual surface. (bug 1395478 part 9, r=mchang)
--HG--
extra : rebase_source : 9957e68435e69d65e3f4fa82bc870e37b21392dd
2017-10-31 12:02:32 -07:00
David Anderson 9956a762ef Don't call MarkChanged for commands that don't affect pixels. (bug 1395478 part 8, r=rhunt)
--HG--
extra : rebase_source : fe6c36991e36f6ba23682604fa84bc87634fccd2
2017-10-31 12:02:31 -07:00
David Anderson 74657c11e8 Implement DrawTargetCapture::DrawSurfaceWithShadow. (bug 1395478 part 7, r=mchang)
--HG--
extra : rebase_source : d7884ca8caa4e23369cdf098120dc6b8998598a4
2017-10-31 12:02:31 -07:00
David Anderson cf84c3f01d Add SourceSurfaceCapture to avoid main-thread rasterization with temporary DrawTargetCaptures. (bug 1395478 part 6, r=rhunt)
--HG--
extra : rebase_source : 3a3841e5a54f9780720a543ee792f501b5150b02
2017-10-31 12:02:31 -07:00
David Anderson 4a00595a2a Allow cloning draw commands. (bug 1395478 part 5, r=rhunt)
--HG--
extra : rebase_source : 5a5e1d6e0f572a82403842c425fba347b4acf549
2017-10-31 12:02:31 -07:00
David Anderson f97ea2781d Create a CaptureCommandList abstraction for DrawTargetCapture. (bug 1395478 part 4, r=mchang)
--HG--
extra : rebase_source : 527e364c50365a5b793dfe743cb502dffb3c6eef
2017-10-31 12:02:30 -07:00
David Anderson 8ef5cedd49 Add a Blur DrawCommand. (bug 1395478 part 2, r=rhunt)
--HG--
extra : rebase_source : 02307fbf209058f661e1379b51b2dcaa40da94b6
2017-10-31 12:02:30 -07:00
David Anderson bee44bc0cb Add a factory method for creating data-backed DrawTargetCaptures. (bug 1395478 part 1, r=rhunt)
--HG--
extra : rebase_source : 5bcce03e60ba64b8b54e24db2e25a6e42a4fe8de
2017-10-31 12:02:29 -07:00
Margareta Eliza Balazs a63fdbeabb Merge inbound to mozilla-central r=merge a=merge 2017-10-31 12:46:19 +02:00
Lee Salzman 341a10bb1b Bug 1412545 - AddRef user data before passing to cairo_font_face_set_user_data. r=jrmuizel
MozReview-Commit-ID: FcPTjCWh9wu
2017-10-30 22:31:11 -04:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Daniel Holbert de4b2b1c8b Bug 1412427 part 7: Manually fix up a few non-standard quirks in mode lines & MPL text, in gfx source files. r=jrmuizel
MozReview-Commit-ID: JgK3UhG20kn

--HG--
extra : rebase_source : 2677c73948463f84eeafc4895697dbdcd5fccae4
2017-10-27 15:55:40 -07:00
Daniel Holbert fc539779ba Bug 1412427 part 5: Deindent over-indented MPL boilerplate comments down to 1 space, for consistency & alignment. (whitespace-only) r=jrmuizel
This patch was automatically generated. I found the files to be fixed in this
patch with the following command:
grep -r "  \* This Source Code" gfx

...and then I modified each of these files with the following script
(where $1 is the filename to be modified):
###
line1=" \* This Source Code Form is subject to the terms of the Mozilla Public"
line2=" \* License, v\. 2\.0\. If a copy of the MPL was not distributed with this"
line3=" \* file, You can obtain one at http://mozilla\.org/MPL/2\.0/\. \*/"

# Strip off 1 space at beginning:
sed -i s%"^ $line1"%"$line1"% $1
sed -i s%"^ $line2"%"$line2"% $1
sed -i s%"^ $line3"%"$line3"% $1
###

MozReview-Commit-ID: EwCjyajgY4W

--HG--
extra : rebase_source : c61ca17ba556290d1f27af0a0c84e2ccc5371a36
2017-10-27 15:55:37 -07:00
Daniel Holbert ecf5ee687e Bug 1412427 part 4: Indent under-indented MPL boilerplate comments by 1 space, for consistency & alignment. (whitespace-only) r=jrmuizel
This patch was automatically generated. I found the files to be fixed in this
patch with the following command:
grep -r "^\* This Source Code" gfx

...and then I modified each of these files with the following script
(where $1 is the filename to be modified):
###
line1="\* This Source Code Form is subject to the terms of the Mozilla Public"
line2="\* License, v\. 2\.0\. If a copy of the MPL was not distributed with this"
line3="\* file, You can obtain one at http://mozilla\.org/MPL/2\.0/\. \*/"

# Insert 1 space at beginning:
sed -i s%"^$line1"%" $line1"% $1
sed -i s%"^$line2"%" $line2"% $1
sed -i s%"^$line3"%" $line3"% $1
###

MozReview-Commit-ID: HXBMrfnhlVr

--HG--
extra : rebase_source : de4c78563711f8366e2978c5199a5041875fbe38
2017-10-27 15:55:37 -07:00
Lee Salzman 3b3fcb68c1 Bug 1408481 - send gfxMacFont font smoothing setting to WebRender. r=mstange
MozReview-Commit-ID: 9BwLVrfjnsP
2017-10-29 20:21:10 -04:00
Kearwood "Kip" Gilbert ccc6462307 Bug 1410493 - Update Oculus SDK from 1.5 to 1.9, update IPD during VR presentation r=daoshengmu
- Oculus SDK was updated from 1.5 to 1.9
- As the Oculus API now returns quaternion orientations for each
  eye-to-head transform, I needed to send more information to the
  content process.
- Rather than adding the quaternion, we now calculate the view matrices
  on the VR thread in the GPU process rather than calculating it in the
  content thread from parameters.
- OpenVR's full view matrix is now used, for compatibility with more devices.
- IPD adjustments are now updated every frame for both Oculus and OpenVR.


MozReview-Commit-ID: LOtfs4QIqc8

--HG--
extra : rebase_source : 0a69824012ede4bea0e0e709a2d027d0c35730bb
2017-10-23 14:23:03 -07:00
Jeff Muizelaar ed62b1d4a1 Bug 1380014. Share fonts with WebRender. r=lsalzman
This changes the serialization format a little bit.
We now have an index at the end of the blob. This
is currently used to store a list of the used font keys.
In the future we'll add rects and can use it for invalidation.
2017-10-27 18:21:27 -04:00
Jeff Muizelaar f1e1608327 Bug 1380014. Add the ability to record UnscaledFonts by index. r=lsalzman 2017-10-27 18:21:26 -04:00
Sylvestre Ledru d60d69e2cb Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0

--HG--
extra : rebase_source : a343d83d1f4e97e4ba56d0f57fec93079df0b5ea
2017-10-23 20:59:55 +02:00
Lee Salzman 600dccf87f Bug 1404742 - track ScaledFont and UnscaledFont lifetimes with ThreadSafeWeakPointer. r=bas
MozReview-Commit-ID: GRSEYh1fG4U
2017-10-18 14:22:09 -04:00
Alex Gaynor b00c32c807 Bug 1319423 - Part 2 - Switch away from std::ifstream to PRFileDesc in PrintTranslator; r=jrmuizel
MozReview-Commit-ID: 6ucwbGkqOQ0

--HG--
extra : rebase_source : ab0540e2b7d61108c8c550d8bf8b8a594364f90a
2017-10-03 13:23:57 -04:00
Alex Gaynor 41d8032290 Bug 1319423 - Part 1 - Introduce DrawEventRecorderPRFileDesc to allow switching away from std::ofstream in printing; r=jrmuizel
MozReview-Commit-ID: 1gn8J2fhejS

--HG--
extra : rebase_source : 02b6224c2788964c375092e58174efbacfdbdba5
2017-10-03 12:29:15 -04:00
Kevin Chen 1ad9fc5044 Bug 1394405 - Relax the assertion in CalculateDistanceToEllipticArc to deal with the floating point precision problem; r=nical
MozReview-Commit-ID: c0kgjG2zUg

--HG--
extra : rebase_source : 431a9afe9de492e05c7b9646282bfafa60389581
2017-10-11 11:10:41 +08:00
Lee Salzman 892650be6c Bug 1405790 - supply FontInstancePlatformOptions to WebRender. r=jrmuizel
Patch originally developed in bug 1406138, but landed in bug 1405790 since it
needs to land together with the upstream WR changes in PR 1816.

MozReview-Commit-ID: IHVoKhVncd5

--HG--
extra : rebase_source : 912e3d903d71c1b664817457e67aa6d81be3f4dd
2017-10-05 15:26:01 -04:00
Sebastian Hengst b834f0d177 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 7Ez95T2ivfR
2017-10-07 10:37:39 +02:00
Bas Schouten e35fb728aa Bug 1405589: Have DrawTargetCapture properly forward SupportsRegionClipping. r=dvander
MozReview-Commit-ID: 9Fu3omRFtLk
2017-10-06 16:27:41 +00:00
Tom Ritter 349f097743 Bug 1403698 Address delete-non-virtual-dtor warnings r=froydnj
MozReview-Commit-ID: 44XiqegImiT

--HG--
extra : rebase_source : 52ddc3caa3243aaef9e2397b4a28e318da101a8c
2017-10-06 11:27:35 -05:00
Jean-Yves Avenard 3cd54027fe Bug 1215089 - P7: Add support for 10/12 bits YUV surface with basic compositor. r=mattwoodrow
MozReview-Commit-ID: Ej4MbvHnSk9

--HG--
extra : rebase_source : c88e8641ce343917b4f433b515aefe653b23eaa6
2017-09-29 16:37:56 +02:00
Sebastian Hengst 2da2f1cc48 Backed out changeset 248c73a2c3b1 (bug 1215089) 2017-10-04 16:25:46 +02:00
Jean-Yves Avenard 9a3a9f486e Bug 1215089 - P6: Add support for 10/12 bits YUV surface with basic compositor. r=mattwoodrow
MozReview-Commit-ID: Ej4MbvHnSk9

--HG--
extra : rebase_source : 69b342e18829816ca3cdd91a3f01252ae2a1ac94
2017-09-29 16:37:56 +02:00
Sebastian Hengst 9a0edde0b2 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IRW0W7LuIM7
2017-10-03 11:43:52 +02:00
Bas Schouten 9218253d7e Bug 1404656: Protect access to mDrawTarget and mImage after a SourceSurfaceSkia has been initialized. r=dvander
MozReview-Commit-ID: 6HGM22V8FbJ
2017-10-02 20:23:09 -07:00
Tom Ritter 74126f852f Bug 1394005 Fix overloaded-virtual warnings in FilterNodeD2D1 r=froydnj
This warning is telling us that we have declared a function in a derived class
with the same name as a virtual function in a base class. The base class functions
can never be called.

In FilterNodeD2D1 we intend to do this (the base class methods are all MOZ_CRASH).
We silence the warning by importing those functions as private so they cannot be
called.

MozReview-Commit-ID: 6ENLKFMMBRy

--HG--
extra : rebase_source : 4230c85f4dca942fad6da347cef341aed5535734
2017-09-29 11:12:38 -05:00