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

2306 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 2f01e497c3 Bug 1454978 - Move MOZ_ASSERT(mIsMapped) into mChangeMutex. r=bas
We must check mIsMapped inside mChangeMutex or else we could run into a race condition where
the source surface is subsequently mapped again before the function terminates. This was
being hit on try.

MozReview-Commit-ID: 1eot3DVW8VD

--HG--
extra : rebase_source : 19f2514d9e2412ee5fe7c99844b7f64f78a7425e
2018-04-25 12:44:58 -05:00
Bas Schouten 2c2327c372 Bug 1427063: Have D2D interpret colors in premultiplied space. As it says is its default. r=rhunt
MozReview-Commit-ID: 5OWjHW1CqjN
2018-04-23 19:27:48 +02:00
Andrew Osmond 63d93fdc78 Bug 1425484 - Part 3. Integrate shared surfaces with the blob image recordings. r=jrmuizel 2018-04-26 19:00:16 -04:00
Bas Schouten 8338ab994b 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 Watt 156c4af1ec Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Jonathan Kew 4b2b2d4c9f Bug 1455569 - Handle variation settings of system-installed variation fonts when creating CTFont from CGFont on High Sierra. r=lsalzman 2018-04-20 17:18:03 +01:00
Cosmin Sabou b9a82af44a Backed out 2 changesets (bug 1387399) for OSX reftests permafailures on attachment-local-positioning-2.html. a=backout
Backed out changeset b78a225fa8c9 (bug 1387399)
Backed out changeset 4beeacb75bf5 (bug 1387399)
2018-04-20 06:47:41 +03:00
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