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

2936 Коммитов

Автор SHA1 Сообщение Дата
Jeff Gilbert afdbf9538b Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-25 19:16:22 +00:00
Iulian Moraru 1a8cb02555 Backed out changeset 10a229d128c0 (bug 1459526) for causing reftest failures on short.mp4.lastframe.html. CLOSED TREE 2021-06-25 06:34:36 +03:00
Jeff Gilbert 5c14187731 Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-24 23:43:31 +00:00
Alexandru Michis 3477ca89c8 Backed out changeset f7016db57a2e (bug 1459526) for causing reftest failures.
CLOSED TREE
2021-06-18 07:49:06 +03:00
Jeff Gilbert 920429087b Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-17 23:43:34 +00:00
Richal Verma 560f3f056d Bug 1713520 - Remove "else" after "return" in FindInflectionPoints r=nical
Differential Revision: https://phabricator.services.mozilla.com/D116436
2021-06-17 12:39:16 +00:00
Butkovits Atila 367d829107 Backed out changeset 318f32313091 (bug 1459526) for causing wrench bustages. CLOSED TREE 2021-06-17 04:45:11 +03:00
Jeff Gilbert 72024fcc23 Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-17 01:12:18 +00:00
Andrew Osmond d7e8883fcb Bug 1715524 - Make FilterNodeComponentTransferSoftware::GenerateLookupTable identify table dynamic. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117542
2021-06-15 14:59:56 +00:00
Matt Woodrow 14a6394257 Bug 1714596 - Don't try to create a temporary DrawTarget for zero-sized blend modes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117592
2021-06-14 23:46:59 +00:00
Lee Salzman 79c2eb99d9 Bug 1712047 - keep Skia temporary data surface alive. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117037
2021-06-07 18:51:33 +00:00
Noemi Erli 50fcce3ed0 Backed out changeset 9e76c07577b1 (bug 1712047) for causing bustages in DrawTargetSkia.cpp CLOSED TREE 2021-06-07 19:50:30 +03:00
Lee Salzman 49f38d60fa Bug 1712047 - keep Skia temporary data surface alive. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117037
2021-06-07 16:36:55 +00:00
Jeff Muizelaar 6648dc280c Bug 1714081 - Add SafeIntersect. r=nical
SafeIntersect handles overflow better.

Differential Revision: https://phabricator.services.mozilla.com/D116605
2021-06-02 16:02:53 +00:00
Mike Hommey 2072d3a612 Bug 1711834 - Let the compiler generate the Matrix4x4Typed copy assignment operator. r=mattwoodrow
This avoids GCC complaining about the case where doing `m = m` would
memcpy from an address onto itself.

Differential Revision: https://phabricator.services.mozilla.com/D115460
2021-05-24 20:58:11 +00:00
Andi-Bogdan Postelnicu 1cf28e7475 Bug 1519636 - Reformat recent changes to the Google coding style. r=emilio
Updated with clang-format version 12.0.0 (taskcluster-KEgO7qdgQ8uaewA6NkRnRA)

Differential Revision: https://phabricator.services.mozilla.com/D115804
2021-05-24 15:08:47 +00:00
Andrew Osmond 35eed7acf6 Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel
An image container can keep a surface alive longer than it can remain in
the cache, if it is indeed kept in the cache. We should cross reference
our memory report generated from the SurfaceCache against any surfaces
stored in our ImageContainer objects to ensure they are all reported.

This is of particular importance for blob recordings which are not put
into SurfaceCache. While the recordings themselves have their own memory
reporting inside of WebRender, it would be good to know what recordings
we are keeping alive from the content side to help break it down.

Differential Revision: https://phabricator.services.mozilla.com/D115517
2021-05-20 12:31:27 +00:00
Matt Woodrow 7487e05b57 Bug 1540737 - Implement PushLayerWithBlend for DrawTargetCairo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114671
2021-05-19 01:11:30 +00:00
Csoregi Natalia 1f3f5df2ce Backed out 8 changesets (bug 1540737) for causing graphics crashes in Bug 1711718. a=backout
Backed out changeset 37628894ffd5 (bug 1540737)
Backed out changeset 4b5f53d5127b (bug 1540737)
Backed out changeset a73e041f1f1d (bug 1540737)
Backed out changeset 81f1a9d1a5e1 (bug 1540737)
Backed out changeset b3d0cc460b24 (bug 1540737)
Backed out changeset f929de495b87 (bug 1540737)
Backed out changeset 2f5b8369d061 (bug 1540737)
Backed out changeset b4c93d182ef4 (bug 1540737)
2021-05-18 19:06:20 +03:00
Matt Woodrow 2e89e242f6 Bug 1540737 - Implement PushLayerWithBlend for DrawTargetCairo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114671
2021-05-17 23:53:43 +00:00
Andrew Osmond 90e8b6554c Bug 1704792 - Part 1. Add SourceSurfaceBlobImage to manage the blob recording for SVG images. r=jrmuizel,nical
Differential Revision: https://phabricator.services.mozilla.com/D111835
2021-05-13 16:24:06 +00:00
Jonathan Kew 354ac1c958 Bug 454059 - Support Link in DrawTargetRecording and playback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D114205
2021-05-11 17:00:29 +00:00
Jonathan Kew 2d634bc1ca Bug 454059 - Add a Link() method to DrawTarget, and implement it in DrawTargetCairo. r=jrmuizel
This provides a basic Link() API on DrawTarget, intended to generate a link
for a single rectangular area (which will be the rect of a frame corresponding
to a link element).

Differential Revision: https://phabricator.services.mozilla.com/D113774
2021-05-11 17:00:28 +00:00
Jeff Muizelaar 43d9a94d83 Bug 1710655 - Avoid some implicit conversions to double. r=aosmond
Clang knows that float + 0.5 is the same as float + 0.5f
so that part shouldn't have any difference except to the reader.

Hopefully ceilf(float) is always identical to ceil(float) too.

Differential Revision: https://phabricator.services.mozilla.com/D114860
2021-05-11 15:02:31 +00:00
Emilio Cobos Álvarez 7459740759 Bug 1709746 - Factor out some sRGBColor interpolation code. r=aosmond
I didn't end up needing this for bug 1709719, but I wrote it and might
be worth landing.

Differential Revision: https://phabricator.services.mozilla.com/D114429
2021-05-11 13:24:24 +00:00
Bob Owen 5de1cf3b61 Bug 1709644: Add null checks for GetReferenceDrawTarget when called on CanvasTranslator. r=jrmuizel
Also, return false from CreateReferenceTexture when mBaseDT is null.

Differential Revision: https://phabricator.services.mozilla.com/D114386
2021-05-10 15:43:58 +00:00
Jonathan Kew 3f563bce7e Bug 739096 - Remove support for CGLayer-backed cairo quartz surface. r=jrmuizel
This was a performance optimization that we no longer care about.
Removing it will avoid the need to merge the additions into the new
cairo-quartz-surface code from upstream.

Differential Revision: https://phabricator.services.mozilla.com/D112556
2021-04-29 14:33:29 +00:00
Brindusan Cristian a15a62d8e3 Backed out 15 changesets (bug 739096) for causing valgrind bustages. CLOSED TREE
Backed out changeset 75e6eca97890 (bug 739096)
Backed out changeset fb2b5f607015 (bug 739096)
Backed out changeset d4ffa7c2db22 (bug 739096)
Backed out changeset 46598f67b43a (bug 739096)
Backed out changeset 08c8584cadbb (bug 739096)
Backed out changeset 6c67d3e98e1e (bug 739096)
Backed out changeset 566742bad252 (bug 739096)
Backed out changeset 67d7ab4394ab (bug 739096)
Backed out changeset 1675a980f8f3 (bug 739096)
Backed out changeset df4fd9df9d67 (bug 739096)
Backed out changeset 1dfadbc743b9 (bug 739096)
Backed out changeset 2623ebd24944 (bug 739096)
Backed out changeset e80fbceb9023 (bug 739096)
Backed out changeset d058e7c043e6 (bug 739096)
Backed out changeset dbb07ebff6b6 (bug 739096)
2021-04-29 00:25:44 +03:00
Jonathan Kew 902db97567 Bug 739096 - Remove support for CGLayer-backed cairo quartz surface. r=jrmuizel
This was a performance optimization that we no longer care about.
Removing it will avoid the need to merge the additions into the new
cairo-quartz-surface code from upstream.

Differential Revision: https://phabricator.services.mozilla.com/D112556
2021-04-28 18:06:37 +00:00
Andrew Osmond 0cb114df85 Bug 1705173 - Fix memory leaks with gfx::MemStream. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D112071
2021-04-14 19:30:53 +00:00
Brad Werth e4fe1123e7 Bug 1685183 Part 1: Make MacIOSurface always use 1.0 scale, and update callsites. r=jgilbert
This change makes callsites that use SurfaceDescriptor structures to ignore
scale factors. All surfaces are 1.0 scale, no matter what.

Differential Revision: https://phabricator.services.mozilla.com/D101213
2021-04-08 16:42:06 +00:00
Butkovits Atila 1557f3a480 Backed out 3 changesets (bug 1685183) for causing build bustages. CLOSED TREE
Backed out changeset bef089a9a5fa (bug 1685183)
Backed out changeset d9e2699b32c6 (bug 1685183)
Backed out changeset 083f895fddd9 (bug 1685183)
2021-04-08 06:48:02 +03:00
Brad Werth acdd1a887d Bug 1685183 Part 1: Make MacIOSurface always use 1.0 scale, and update callsites. r=jgilbert
This change makes callsites that use SurfaceDescriptor structures to ignore
scale factors. All surfaces are 1.0 scale, no matter what.

Differential Revision: https://phabricator.services.mozilla.com/D101213
2021-04-08 01:39:04 +00:00
Emilio Cobos Álvarez 0b9fa22976 Bug 1701942 - Use bitwise equality for font variation value comparisons. r=jfkthame
Just like we do for font sizes / size-adjust in gfxFontStyle.

Differential Revision: https://phabricator.services.mozilla.com/D110519
2021-04-02 12:37:23 +00:00
Bob Owen 2e851222b5 Bug 1702133: Add null checks to AutoSerializeWithMoz2D. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D110373
2021-03-31 08:14:31 +00:00
Andrew Osmond f262b1efaa Bug 1699224 - Part 1. Ensure we map/unmap surfaces used by DrawTargetSkia. r=jrmuizel
Since we want to be able to unmap shared surfaces which are not in use,
we need to be able to map the data in as required. Blob images can
access shared surfaces via recordings which are used by DrawTargetSkia.
This patch makes it call Map/Unmap for data surfaces that require a data
pointer in Skia.

Differential Revision: https://phabricator.services.mozilla.com/D109437
2021-03-29 22:43:26 +00:00
Bob Owen 87882aa75a Bug 1697344 p3: Don't hold the GradientStops object on CanvasGradient. r=jrmuizel
In the DrawTargetRecording case we create new GradientStopsRecording each time
and holding onto them in the content process can mean they take a very large
amount of memory in the GPU process, if a script deliberately creates lots of
unique stops.
In the non-recording case then the GradientStops are cached in the content
process anyway.

Differential Revision: https://phabricator.services.mozilla.com/D109792
2021-03-29 12:12:21 +00:00
Bob Owen 7fb6f51d74 Bug 1697344 p2: Use the gradient cache in CanvasTranslator. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D109791
2021-03-29 12:12:20 +00:00
Noemi Erli ebaee4ef03 Backed out 5 changesets (bug 1699224) for causing web platform and reftest failures CLOSED TREE
Backed out changeset bc232de0c5f8 (bug 1699224)
Backed out changeset 94c75dba6545 (bug 1699224)
Backed out changeset 206187cafb6f (bug 1699224)
Backed out changeset ef3ef367986e (bug 1699224)
Backed out changeset d2294fe6ef31 (bug 1699224)
2021-03-26 22:16:10 +02:00
Andrew Osmond fbb4c70ee1 Bug 1699224 - Part 1. Ensure we map/unmap surfaces used by DrawTargetSkia. r=jrmuizel
Since we want to be able to unmap shared surfaces which are not in use,
we need to be able to map the data in as required. Blob images can
access shared surfaces via recordings which are used by DrawTargetSkia.
This patch makes it call Map/Unmap for data surfaces that require a data
pointer in Skia.

Differential Revision: https://phabricator.services.mozilla.com/D109437
2021-03-26 18:21:13 +00:00
Butkovits Atila a8a0f140d3 Backed out 5 changesets (bug 1699224) for causing build bustages on SharedSurfacesParent.cpp. CLOSED TREE
Backed out changeset f929f9783e61 (bug 1699224)
Backed out changeset 36bf68e01a50 (bug 1699224)
Backed out changeset 85f3499080db (bug 1699224)
Backed out changeset 8ce6ddf6ec6f (bug 1699224)
Backed out changeset f8b232382361 (bug 1699224)
2021-03-26 18:33:17 +02:00
Andrew Osmond d5c0a68c22 Bug 1699224 - Part 1. Ensure we map/unmap surfaces used by DrawTargetSkia. r=jrmuizel
Since we want to be able to unmap shared surfaces which are not in use,
we need to be able to map the data in as required. Blob images can
access shared surfaces via recordings which are used by DrawTargetSkia.
This patch makes it call Map/Unmap for data surfaces that require a data
pointer in Skia.

Differential Revision: https://phabricator.services.mozilla.com/D109437
2021-03-26 13:21:51 +00:00
Bob Owen 32f20c2592 Bug 1699533: Push most uses of AutoSerializeWithMoz2D in canvas classes into D3D11TextureData. r=mattwoodrow
This should ensure that we are more rigorous about always serializing when
required. For example in this crash it appears the issue is that we are not
using it when destroying the textures still held by the CanvasTranslator on its
destruction. It also means that we can minimize the code that is serialized,
which should reduce contention and possible deadlocks.

This patch also ensures that we drop any other references to the texture's
DrawTarget before dropping the texture, so that it can control the destruction
of its DrawTarget including any locking.

Differential Revision: https://phabricator.services.mozilla.com/D109771
2021-03-26 09:21:08 +00:00
Simon Giesecke 760cc7e936 Bug 1679522 - Fix include directives and forward declarations. r=andi,necko-reviewers,jgilbert
- Add missing include directives and forward declarations.
- Remove some extra include directives.
- Add missing namespace qualifications.
- Move include directives out of namespace in toolkit/xre/GlobalSemaphore.h

Differential Revision: https://phabricator.services.mozilla.com/D98894
2021-03-25 10:19:44 +00:00
Simon Giesecke 79fddefe02 Bug 708901 - Migrate to nsTHashSet in gfx/ipc. r=jrmuizel
Depends on D109316

Differential Revision: https://phabricator.services.mozilla.com/D109317
2021-03-23 10:36:37 +00:00
Jeff Muizelaar 4231661a1d Bug 1696688. Set IOSurface color space to sRGB. r=mstange
This lets the WindowServer do all of the color correction for us
including WebGL and 2D canvas.

There's some concern that this will increase GPU usage as
reported in https://bugs.chromium.org/p/chromium/issues/detail?id=417150#c34.
However, the alernative of doing everything in device space isn't very
attractive because we'd have to color manage canvas and webgl ourselves.

Further, Chrome doesn't seem to be using the device space and it seems
like there's typically already a mix of color spaces in use so hopefully
the GPU increase is not high.

Differential Revision: https://phabricator.services.mozilla.com/D109383
2021-03-23 01:33:54 +00:00
sotaro 6f9594cf0a Bug 1699352 - Fix DrawTargetD2D1::mVRAMUsageSS handling r=jrmuizel
Implementation is borrowed from SourceSurfaceD2DTarget::mOwnsCopy that existed in the past.

Differential Revision: https://phabricator.services.mozilla.com/D108906
2021-03-23 01:17:19 +00:00
Jeff Gilbert d517313a40 Bug 1697670 - Remove gfx::YUVColorSpace::UNKNOWN. r=mstange
Replace with Maybe<YUVColorSpace> where still needed.

Differential Revision: https://phabricator.services.mozilla.com/D107938
2021-03-19 00:58:23 +00:00
Csoregi Natalia e0c536d241 Backed out changeset f155cf6af343 (bug 1697670) for bustage on gfxUtils.cpp. CLOSED TREE 2021-03-17 02:41:15 +02:00
Jeff Gilbert 7d9b571b77 Bug 1697670 - Remove gfx::YUVColorSpace::UNKNOWN. r=mstange
Replace with Maybe<YUVColorSpace> where still needed.

Differential Revision: https://phabricator.services.mozilla.com/D107938
2021-03-16 23:25:54 +00:00