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

3023 Коммитов

Автор SHA1 Сообщение Дата
Butkovits Atila dff61f12f4 Backed out changeset 4c5ad6cc4df3 (bug 1755718) for causing reftest failures. CLOSED TREE 2022-02-16 20:06:14 +02:00
Jeff Muizelaar f610da391a Bug 1755718 - Assert that color formats can be handled by Skia. r=aosmond
Just defaulting to BGRA is going to cause trouble down the line.

Differential Revision: https://phabricator.services.mozilla.com/D138897
2022-02-16 16:12:50 +00:00
Lee Salzman 58cc63bda7 Bug 1754130 - Implement SourceSurfaceWebgl for faster snapshots of DrawTargetWebgl. r=aosmond
Now that each DrawTargetWebgl shares the same WebGL context, we can efficiently draw snapshots
of one DrawTargetWebgl to another without requiring any readback or error-prone driver-provided
shared context/resource mechanism. We just need to simply pass the WebGL texture from one target
to the other, and use it like any other texture.

This provides SourceSurfaceWebgl to store and pass along that WebGL texture. It is largely
modeled off of SourceSurfaceSkia in terms of its copy-on-write behavior. There are three
noteworthy state changes that it must track from DrawTargetWebgl - when the framebuffer
contents is changing, when the framebuffer is being destroyed, and when any cached texture
handle separate from a framebuffer is also being destroyed. It will copy, orphan, or read
back data as appropriate to handle each case.

If it needs to be mapped, it just forces a read back of the data into a CPU surface that
can be mapped as requested.

Differential Revision: https://phabricator.services.mozilla.com/D138118
2022-02-11 19:49:55 +00:00
Marian-Vasile Laza 610558649b Backed out 3 changesets (bug 1754130) for causing mochitest failures. CLOSED TREE
Backed out changeset 7fea32057b92 (bug 1754130)
Backed out changeset 1ac8f10e0025 (bug 1754130)
Backed out changeset 3d56b847ddf9 (bug 1754130)
2022-02-11 18:30:11 +02:00
Lee Salzman 8a34e8c65e Bug 1754130 - Implement SourceSurfaceWebgl for faster snapshots of DrawTargetWebgl. r=aosmond
Now that each DrawTargetWebgl shares the same WebGL context, we can efficiently draw snapshots
of one DrawTargetWebgl to another without requiring any readback or error-prone driver-provided
shared context/resource mechanism. We just need to simply pass the WebGL texture from one target
to the other, and use it like any other texture.

This provides SourceSurfaceWebgl to store and pass along that WebGL texture. It is largely
modeled off of SourceSurfaceSkia in terms of its copy-on-write behavior. There are three
noteworthy state changes that it must track from DrawTargetWebgl - when the framebuffer
contents is changing, when the framebuffer is being destroyed, and when any cached texture
handle separate from a framebuffer is also being destroyed. It will copy, orphan, or read
back data as appropriate to handle each case.

If it needs to be mapped, it just forces a read back of the data into a CPU surface that
can be mapped as requested.

Differential Revision: https://phabricator.services.mozilla.com/D138118
2022-02-11 15:36:30 +00:00
Jonathan Kew a1c5d47ba6 Bug 1587094 - Create a pref to control whether we use DirectWrite's bold simulation or multi-strike synthetic bold; default to multi-strike for webfonts. r=lsalzman
This is designed to mitigate the problem of third-party fonts that render poorly
under DirectWrite's bold simulation, by using multi-strike synthetic bold (like
we use on macOS) instead.

The behavior is controlled by a pref, so that we can readily switch between
using DWrite's bold simulation for all fonts (pref=2, our current behavior);
using it only for installed fonts and falling back to multi-strike for webfonts
(pref=1, new behavior); or never using the DWrite simulation (pref=0).

Differential Revision: https://phabricator.services.mozilla.com/D137584
2022-02-09 12:07:05 +00:00
Butkovits Atila c12a59323e Backed out changeset c885ece84961 (bug 1587094) for causing graphics crashes (bug 1754385). a=backout 2022-02-09 11:54:44 +02:00
Jonathan Kew 559f2ace9c Bug 1587094 - Create a pref to control whether we use DirectWrite's bold simulation or multi-strike synthetic bold; default to multi-strike for webfonts. r=lsalzman
This is designed to mitigate the problem of third-party fonts that render poorly
under DirectWrite's bold simulation, by using multi-strike synthetic bold (like
we use on macOS) instead.

The behavior is controlled by a pref, so that we can readily switch between
using DWrite's bold simulation for all fonts (pref=2, our current behavior);
using it only for installed fonts and falling back to multi-strike for webfonts
(pref=1, new behavior); or never using the DWrite simulation (pref=0).

Differential Revision: https://phabricator.services.mozilla.com/D137584
2022-02-08 14:40:02 +00:00
Norisz Fay 671b353782 Backed out changeset 49dc772ff0cd (bug 1587094) for causing multiple crashes CLOSED TREE 2022-02-08 05:30:51 +02:00
Jonathan Kew aef8a0d1a8 Bug 1587094 - Create a pref to control whether we use DirectWrite's bold simulation or multi-strike synthetic bold; default to multi-strike for webfonts. r=lsalzman
This is designed to mitigate the problem of third-party fonts that render poorly
under DirectWrite's bold simulation, by using multi-strike synthetic bold (like
we use on macOS) instead.

The behavior is controlled by a pref, so that we can readily switch between
using DWrite's bold simulation for all fonts (pref=2, our current behavior);
using it only for installed fonts and falling back to multi-strike for webfonts
(pref=1, new behavior); or never using the DWrite simulation (pref=0).

Differential Revision: https://phabricator.services.mozilla.com/D137584
2022-02-07 20:54:52 +00:00
Jeff Muizelaar 909e38144b Bug 1753507 - Simplify the implementation of BaseRect::Scale(). r=gfx-reviewers,bradwerth
Rect::Scale(float, float):                      # @Rect::Scale(float, float)
        movss   xmm2, dword ptr [rdi]           # xmm2 = mem[0],zero,zero,zero
        movss   xmm3, dword ptr [rdi + 4]       # xmm3 = mem[0],zero,zero,zero
        movss   xmm4, dword ptr [rdi + 8]       # xmm4 = mem[0],zero,zero,zero
        addss   xmm4, xmm2
        mulss   xmm4, xmm0
        movss   xmm5, dword ptr [rdi + 12]      # xmm5 = mem[0],zero,zero,zero
        addss   xmm5, xmm3
        mulss   xmm5, xmm1
        mulss   xmm2, xmm0
        movss   dword ptr [rdi], xmm2
        mulss   xmm3, xmm1
        movss   dword ptr [rdi + 4], xmm3
        subss   xmm4, xmm2
        movss   dword ptr [rdi + 8], xmm4
        subss   xmm5, xmm3
        movss   dword ptr [rdi + 12], xmm5
        ret

vs

Rect::Scale(float, float):                     # @Rect::Scale(float, float)
        movups  xmm2, xmmword ptr [rdi]
        unpcklps        xmm0, xmm1                      # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
        movlhps xmm0, xmm0                      # xmm0 = xmm0[0,0]
        mulps   xmm0, xmm2
        movups  xmmword ptr [rdi], xmm0
        ret

Differential Revision: https://phabricator.services.mozilla.com/D137789
2022-02-03 20:34:41 +00:00
Marian-Vasile Laza ddac1da17c Backed out changeset 12f866a5b267 (bug 1587094) for wrench bustages on synthetic-bold.yaml . CLOSED TREE 2022-02-03 22:23:07 +02:00
Steven Michaud 4c3344cc89 Bug 1719215 - Constrain clipping in CreateSubImageForData(). r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D137777
2022-02-03 18:54:01 +00:00
Lee Salzman 36c0803568 Bug 1587094 - Support MULTISTRIKE_BOLD font instance flag for WebRender. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D137725
2022-02-03 18:53:13 +00:00
Andrew Osmond 47af38389f Bug 1751205 - Part 1. Add Swizzle/PremultiplyYFlipData helper methods. r=gfx-reviewers,lsalzman,jgilbert
These new methods do both swizzle/premultiply and a Y-flip operation.

Differential Revision: https://phabricator.services.mozilla.com/D136503
2022-02-01 13:20:49 +00:00
Norisz Fay beb556025c Backed out 2 changesets (bug 1751205) for causing multiple wpt failures on offscreencanvas.resize.html CLOSED TREE
Backed out changeset 70e5f13d08cc (bug 1751205)
Backed out changeset e97271d90795 (bug 1751205)
2022-01-28 09:14:15 +02:00
Andrew Osmond bcb62d5adb Bug 1751205 - Part 1. Add Swizzle/PremultiplyYFlipData helper methods. r=gfx-reviewers,lsalzman,jgilbert
These new methods do both swizzle/premultiply and a Y-flip operation.

Differential Revision: https://phabricator.services.mozilla.com/D136503
2022-01-28 05:16:02 +00:00
Butkovits Atila c26eab5ff1 Backed out 2 changesets (bug 1751205) for causing failures at webgl-color-offscreen-test.html. CLOSED TREE
Backed out changeset 211ffc98eb32 (bug 1751205)
Backed out changeset 2a1e5a439a3b (bug 1751205)
2022-01-28 03:11:14 +02:00
Andrew Osmond 0ed592a2fc Bug 1751205 - Part 1. Add Swizzle/PremultiplyYFlipData helper methods. r=gfx-reviewers,lsalzman,jgilbert
These new methods do both swizzle/premultiply and a Y-flip operation.

Differential Revision: https://phabricator.services.mozilla.com/D136503
2022-01-27 15:17:43 +00:00
Lee Salzman f581a9af28 Bug 1745556 - Add support for stroked paths to path cache. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D135902
2022-01-14 17:30:22 +00:00
Lee Salzman 306b7d9a6b Bug 1745556 - Cache paths to textures to avoid falling back to Skia. r=gfx-reviewers,aosmond
This generalizes the CacheEntry infrastructure to implement path caching.
This allows us to cache recently drawn paths to a texture which can be then
drawn without falling back to Skia.

Paths using simple solid color patterns will be drawn as alpha masks that
can then have the color applied in the shader. For now, other pattern types
have the pattern baked into the texture to avoid having to complicate the
shader setup for now. In the future, other pattern types could be supported
with new shaders to allow those to be cached as alpha masks as well.

In the service of this, comparison and cloning operators were added to the
Pattern classes to make remembering and matching against them easier for
cache entries.

Differential Revision: https://phabricator.services.mozilla.com/D135261
2022-01-14 17:30:21 +00:00
Lee Salzman 87c39a41e6 Bug 1745556 - Support layering of Skia and WebGL contexts in accelerated canvas. r=gfx-reviewers,aosmond
Reading back from the WebGL context to the Skia context if we need to fall back
software rasterization can be extremely expensive. In general, it is better to
try to avoid this by rasterizing primitives in software and then uploading them
to a texture.

This generalizes that idea so that when using the default source-over blend
mode, the Skia context can function as a layer that accumulates recently
drawn primitives and blends them via source-over to the WebGL context when
a flush is necessary.

Differential Revision: https://phabricator.services.mozilla.com/D135260
2022-01-14 17:30:21 +00:00
Lee Salzman de9806ceed Bug 1745556 - Support drawing simple stroked geometry. r=jrmuizel
This just tries to add in support for drawing certain stroked rects by reusing
existing shaders and geometry. This solves some low-hanging fruit with certain
test-cases while more general stroked geometry can be added at a later time.

Differential Revision: https://phabricator.services.mozilla.com/D135259
2022-01-14 17:30:20 +00:00
Emilio Cobos Álvarez a5d45cd2fe Bug 1749390 - Add debug support for mozilla::Side. r=gfx-reviewers,lsalzman
This was useful so may as well land it. Need to use mozilla::Side in the
header because otherwise it is ambiguous with mozilla::ipc::Side, yay
C++.

Depends on D135562

Differential Revision: https://phabricator.services.mozilla.com/D135563
2022-01-11 08:47:23 +00:00
Jonathan Kew 599bb006b3 Bug 1748077 - Escape any backslashes in the URL when creating PDF links via cairo. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D135227
2022-01-06 18:32:25 +00:00
Mike Hommey b6a4e7c184 Bug 1746540 - Move --enable-logrefcnt to python configure. r=nika,firefox-build-system-reviewers,mhentges
And simplify the defines it sets.

Differential Revision: https://phabricator.services.mozilla.com/D134099
2021-12-18 00:32:35 +00:00
Sandor Molnar eac95b4a93 Backed out 6 changesets (bug 1746539, bug 1746541, bug 1746544, bug 1746540, bug 1746542, bug 1746299) for causing android build bustages in cutils/properties. CLOSED TREE
Backed out changeset 9352292fa327 (bug 1746544)
Backed out changeset 3cc761d90071 (bug 1746542)
Backed out changeset 8d8fc11e8012 (bug 1746541)
Backed out changeset 5f53612aad1b (bug 1746540)
Backed out changeset afb601202b24 (bug 1746539)
Backed out changeset 90027c44c9af (bug 1746299)
2021-12-18 01:28:06 +02:00
Mike Hommey 86100100a6 Bug 1746540 - Move --enable-logrefcnt to python configure. r=nika,firefox-build-system-reviewers,mhentges
And simplify the defines it sets.

Differential Revision: https://phabricator.services.mozilla.com/D134099
2021-12-17 22:52:09 +00:00
Lee Salzman 56d552e8ec Bug 1454152 - Allow bitmaps from emoji fonts that have no outlines with Fontconfig. r=jfkthame
The default Cairo-compatible behavior of ignoring all embedded bitmaps in a font
if hinting is disabled and antialiasing is enabled seems to not work with emoji
fonts like Noto Color Emoji which do not have any outlines at all, but do have
color bitmaps that present as scalable. Detect this corner case and allow bitmaps.

Differential Revision: https://phabricator.services.mozilla.com/D133328
2021-12-09 22:12:18 +00:00
Vincent Couvert 92297516ff Bug 1742091 - DrawTargetCairo.cpp: Use the 'empty' method instead of 'size' to check for emptiness. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D131729
2021-12-06 13:53:12 +00:00
Lee Salzman cb89030541 Bug 1336591 - Push clips when applying D2D gradients. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D132865
2021-12-04 19:32:44 +00:00
Lee Salzman 2c3eff99a4 Bug 1642583 - Push clips when applying D2D blend effect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D132723
2021-12-02 18:30:41 +00:00
Chris Peterson f6fdbf028a Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Ting-Yu Lin 570a5436c4 Bug 1742006 - Fix documents of rect types' Union and SaturatingUnion, and add a test. r=gfx-reviewers,mstange
The documents of Union and SaturatingUnion promise that |this| will be return
when both rects are empty, but the current implementation returns aRect instead.

This patch fixes the documents and added a test case.

Differential Revision: https://phabricator.services.mozilla.com/D131568
2021-11-22 03:26:19 +00:00
Andi-Bogdan Postelnicu c8e0f87391 Bug 1519636 - First reformat with clang-format 13.0.0. r=firefox-build-system-reviewers,sylvestre,mhentges
Updated with clang-format version 13.0.0 (taskcluster-OgjH5lasS5K_fvefdRcJVg)

Depends on D131114

Differential Revision: https://phabricator.services.mozilla.com/D129119
2021-11-16 08:07:30 +00:00
Lee Salzman 3c994f8afd Bug 1739448 - Implement a prototype WebGL-backed Canvas2D. r=gfx-reviewers,nical,jrmuizel
This mainly provides DrawTargetWebgl, which implements the subset of the DrawTarget
API necessary for integration with CanvasRenderingContext2D. It translates them to
suitable commands for its internal ClientWebGLContext, which then manages remoting
WebGL requests to the parent/GPU process.

Currently two shaders are used for drawing Canvas2D primitives, but can be expanded
in the future. These are an image shader and a solid color shader.

The core of this implementation revolves around TexturePacker and TextureHandle,
which cope with the necessity of frequently uploading SourceSurfaces for use with
WebGL. TexturePacker implements a bin-packing algorithm for packing these uploads
into texture pages, which can either be SharedTextures if they are reasonably small,
or StandaloneTextures if they are too big to pack in a SharedTexture. Each upload
is assigned a TextureHandle which is used to manage it in a move-to-front cache,
so that we can easily eject TextureHandles from the back of the cache if we have
too many. These TextureHandles are associated with the SourceSurface that spawned
them to more easily manage their lifetimes.

There are further dependent caches for dealing with blurred shadows and with text.
Shadows are cached in an uploaded texture bound to the SourceSurface that generated
them. Text is handled by caching entire runs in the GlyphCache (keyed by both their
rendering parameters and their glyphs). The text is first rasterized to a surface
and then uploaded to a texture in the GlyphCache which can be reused should the
text be encountered again.

To deal with commands we can't accelerate, a separate internal DrawTargetSkia is
also maintained. The content of the WebGL framebuffer is copied into it so that
drawing can then proceed in software from there. It remains in this fallover state
until the next frame, when it resets back to using the WebGL framebuffer again.

This acceleration is disabled by default. To enable it, you must toggle the pref
"gfx.canvas.accelerated" to true. This should be suitably different from the naming
of the previous SkiaGL prefs to not alias with them. There are a few dependent prefs
that follow from the previous SkiaGL prefs for setting the size limitations for
acceleration and also limitations for the internal texture cache.

Differential Revision: https://phabricator.services.mozilla.com/D130388
2021-11-11 07:16:58 +00:00
Lee Salzman 73ad56c77f Bug 1739448 - Reduce Skia header pollution in Moz2D from sk_sp. r=gfx-reviewers,jgilbert
sk_sp requires its type to be defined at the point of sk_sp declaration.
Just use RefPtr instead which does not have this limitation so we can move
some Skia includes out of the Moz2D headers.

Differential Revision: https://phabricator.services.mozilla.com/D130387
2021-11-11 07:16:57 +00:00
Marian-Vasile Laza 748933bf4b Backed out 2 changesets (bug 1739448) for causing geckoview failures on 1246775-1.html. CLOSED TREE
Backed out changeset 7b82837e2f56 (bug 1739448)
Backed out changeset feac99f1dae3 (bug 1739448)
2021-11-11 07:39:10 +02:00
Lee Salzman c3d10f0f9e Bug 1739448 - Implement a prototype WebGL-backed Canvas2D. r=gfx-reviewers,nical,jrmuizel
This mainly provides DrawTargetWebgl, which implements the subset of the DrawTarget
API necessary for integration with CanvasRenderingContext2D. It translates them to
suitable commands for its internal ClientWebGLContext, which then manages remoting
WebGL requests to the parent/GPU process.

Currently two shaders are used for drawing Canvas2D primitives, but can be expanded
in the future. These are an image shader and a solid color shader.

The core of this implementation revolves around TexturePacker and TextureHandle,
which cope with the necessity of frequently uploading SourceSurfaces for use with
WebGL. TexturePacker implements a bin-packing algorithm for packing these uploads
into texture pages, which can either be SharedTextures if they are reasonably small,
or StandaloneTextures if they are too big to pack in a SharedTexture. Each upload
is assigned a TextureHandle which is used to manage it in a move-to-front cache,
so that we can easily eject TextureHandles from the back of the cache if we have
too many. These TextureHandles are associated with the SourceSurface that spawned
them to more easily manage their lifetimes.

There are further dependent caches for dealing with blurred shadows and with text.
Shadows are cached in an uploaded texture bound to the SourceSurface that generated
them. Text is handled by caching entire runs in the GlyphCache (keyed by both their
rendering parameters and their glyphs). The text is first rasterized to a surface
and then uploaded to a texture in the GlyphCache which can be reused should the
text be encountered again.

To deal with commands we can't accelerate, a separate internal DrawTargetSkia is
also maintained. The content of the WebGL framebuffer is copied into it so that
drawing can then proceed in software from there. It remains in this fallover state
until the next frame, when it resets back to using the WebGL framebuffer again.

This acceleration is disabled by default. To enable it, you must toggle the pref
"gfx.canvas.accelerated" to true. This should be suitably different from the naming
of the previous SkiaGL prefs to not alias with them. There are a few dependent prefs
that follow from the previous SkiaGL prefs for setting the size limitations for
acceleration and also limitations for the internal texture cache.

Differential Revision: https://phabricator.services.mozilla.com/D130388
2021-11-11 04:33:50 +00:00
Lee Salzman b54d5cc42c Bug 1739448 - Reduce Skia header pollution in Moz2D from sk_sp. r=gfx-reviewers,jgilbert
sk_sp requires its type to be defined at the point of sk_sp declaration.
Just use RefPtr instead which does not have this limitation so we can move
some Skia includes out of the Moz2D headers.

Differential Revision: https://phabricator.services.mozilla.com/D130387
2021-11-11 04:33:50 +00:00
Lee Salzman 9bd2203649 Bug 1738589 - Let Gecko decide if WR Mac font has color glyphs. r=jfkthame
WR tries to normalize Mac FontInstances so that regardless of the font color
we only need to generate one version of the glyph in the cache. This strategy
backfires for fonts with color glyphs that are nominally supposed to ignore
the font color, but may choose to opt-in to the font color per-glyph based
on table data.

This determination is problematic to do in WR itself, but Gecko knows whether
a font has color glyphs ahead of time. So we let Gecko pass this data into
ScaledFonts which can then transmit the knowledge of whether the font has
color glyphs to the WR Mac font backend, which will then take appropriate
action.

Differential Revision: https://phabricator.services.mozilla.com/D130819
2021-11-10 22:16:13 +00:00
Marian-Vasile Laza a84123836e Backed out changeset fd38093162bc (bug 1738589) for causing reftest failures on svg-glyph-invalid.html. CLOSED TREE 2021-11-10 20:50:54 +02:00
Lee Salzman 233a9f9899 Bug 1738589 - Let Gecko decide if WR Mac font has color glyphs. r=jfkthame
WR tries to normalize Mac FontInstances so that regardless of the font color
we only need to generate one version of the glyph in the cache. This strategy
backfires for fonts with color glyphs that are nominally supposed to ignore
the font color, but may choose to opt-in to the font color per-glyph based
on table data.

This determination is problematic to do in WR itself, but Gecko knows whether
a font has color glyphs ahead of time. So we let Gecko pass this data into
ScaledFonts which can then transmit the knowledge of whether the font has
color glyphs to the WR Mac font backend, which will then take appropriate
action.

Differential Revision: https://phabricator.services.mozilla.com/D130819
2021-11-10 16:09:00 +00:00
sirri 267e4e597a Bug 1737098 - replace size() with empty() r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D130322
2021-11-04 08:37:00 +00:00
Lee Salzman eb7455e935 Bug 1393362 - Make more RecordedEvent implementations fallible. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D129879
2021-11-01 19:33:28 +00:00
Jonathan Kew e29954ec04 Bug 1732629 - [gfx/2d] Get non-localized variation axis names from CoreGraphics in ScaledFontMac, so that we set up the CGFont correctly with variation values. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D129576
2021-10-27 14:15:12 +00:00
Butkovits Atila 1f01e97274 Backed out 2 changesets (bug 1732629) for causing build bustages. CLOSED TREE
Backed out changeset d67d7024d557 (bug 1732629)
Backed out changeset 59cc3481c534 (bug 1732629)
2021-10-27 16:55:53 +03:00
Jonathan Kew e6fbe7eb13 Bug 1732629 - [gfx/2d] Get non-localized variation axis names from CoreGraphics in ScaledFontMac, so that we set up the CGFont correctly with variation values. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D129576
2021-10-27 13:35:04 +00:00
Andrew Osmond ae8d706579 Bug 1709679 - Properly map/unmap SourceSurfaceSharedDataWrapper for blob recordings. r=jrmuizel
When replaying blob recordings, we need to ensure that we map and unmap
the surface properly so that we don't accidently expire the mapping too
early to free up virtual memory on 32-bit Firefox. The code was written
but not activated because we failed to use the wrong type in the
SourceSurfaceSharedDataWrapper::GetType implementation.

Differential Revision: https://phabricator.services.mozilla.com/D129311
2021-10-22 20:41:39 +00:00
Markus Stange f2d4007ad9 Bug 1736626 - Properly align more IOSurface properties. r=jrmuizel
This allows us to achieve detachment for software-decoded NV12 video on M1 Macs.

Differential Revision: https://phabricator.services.mozilla.com/D128914
2021-10-19 19:18:56 +00:00