Commit Graph

463 Commits

Author SHA1 Message Date
Nicolas Silva
55cceefeb1 Bug 1755747 - Add support for antialiased non-snapped rectangles. r=gfx-reviewers,aosmond
We need them for SVG primitives.

This patch adds a bit of plumbing to disable snapping some of the primitives and forcing the antialiasing shader feature where needed, and uses it for SVG solid rectangles and images.

Differential Revision: https://phabricator.services.mozilla.com/D139024
2022-02-23 13:37:39 +00:00
Lee Salzman
1b6e9ef767 Bug 1750858 - Respect mPicSize in WebRender. r=sotaro
This makes WR properly handle mPicSize when RenderBufferTextureHost is used.
The main change is that we need to take care to pass in display().Size() from
the descriptor, and then further use that to carefully limit the size of the
CbCr texture, as it doesn't necessarily maintain an appropriate half-sized
scale with respect to the Y texture if it is padded.

Given that mPicSize should now actually work, we should no longer need any
of the previous mCroppedSize mechanisms that were added to work around this,
and so they are removed in this patch.

Differential Revision: https://phabricator.services.mozilla.com/D139267
2022-02-22 17:56:30 +00:00
Andrew Osmond
ef5ad5c074 Bug 1754978 - Part 2. Switch WebGPU to use async image pipelines for display. r=kvark
This patch removes more main thread dependencies from the content side
of WebGPU. Instead of issuing a resource update for an external image,
we now use an async image pipeline in conjunction with
CompositableInProcessManager from part 1. This allows us to update the
HTMLCanvasElement bound to the WebGPU device without having to go
through the main thread, or even the content process after the swap
chain update / readback has been requested.

Differential Revision: https://phabricator.services.mozilla.com/D138887
2022-02-18 15:59:13 +00:00
Iulian Moraru
e38c48df42 Backed out 2 changesets (bug 1754978) for causing valgrind bustages.
Backed out changeset 491a985fc34a (bug 1754978)
Backed out changeset 98983bf9eaed (bug 1754978)
2022-02-18 00:36:31 +02:00
Andrew Osmond
7a603e365e Bug 1754978 - Part 2. Switch WebGPU to use async image pipelines for display. r=kvark
This patch removes more main thread dependencies from the content side
of WebGPU. Instead of issuing a resource update for an external image,
we now use an async image pipeline in conjunction with
CompositableInProcessManager from part 1. This allows us to update the
HTMLCanvasElement bound to the WebGPU device without having to go
through the main thread, or even the content process after the swap
chain update / readback has been requested.

Differential Revision: https://phabricator.services.mozilla.com/D138887
2022-02-16 22:23:20 +00:00
sotaro
254e615fb3 Bug 1743325 - Remove data update handling of TextureHost r=gfx-reviewers,bradwerth
The update handling is done by WebRender now.

Differential Revision: https://phabricator.services.mozilla.com/D132324
2021-11-30 01:49:28 +00:00
sotaro
0d7c84e301 Bug 1743319 - Update WrapWithWebRenderTextureHost() r=gfx-reviewers,aosmond
LayersBackend should be always LayersBackend::LAYERS_WR now.

Differential Revision: https://phabricator.services.mozilla.com/D132315
2021-11-29 15:04:16 +00:00
sotaro
0986e9ae62 Bug 1743332 - Remove MaybeNotifyUnlocked() r=gfx-reviewers,aosmond
MaybeNotifyUnlocked() is not used.

Differential Revision: https://phabricator.services.mozilla.com/D132325
2021-11-29 15:03:43 +00:00
sotaro
a42329ba14 Bug 1742739 - Remove HasIntermediateBuffer r=gfx-reviewers,jnicol
HasIntermediateBuffer is always false. It could be removed.

Differential Revision: https://phabricator.services.mozilla.com/D131996
2021-11-28 11:40:16 +00:00
sotaro
14dfec520a Bug 1742767 - Revive UnbindTextureSource() r=gfx-reviewers,mstange
UnbindTextureSource() was removed by mistake. UnbindTextureSource() is necessary to call ReadUnlock().

Differential Revision: https://phabricator.services.mozilla.com/D132029
2021-11-24 22:06:48 +00:00
Nika Layzell
6aff4075e1 Bug 1734735 - Part 6: Remove dead TextureSync code, r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D128215
2021-11-23 16:15:22 +00:00
sotaro
0a31a20caa Bug 1742052 - Remove unused code around TextureHost r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D131701
2021-11-22 09:49:59 +00:00
Nika Layzell
6fed760187 Bug 1732343 - Part 2: Migrate all uses of base::FileDescriptor to UniqueFileHandle, r=handyman
This is useful for the following parts, as UniqueFileHandle is a cross-platform
type which can also be used to support transferring HANDLEs between processes.

This change requires fairly sweeping changes to existing callsites, which
previously did not require owning access to the handle types when transferring.
For the most part these changes were straightforward, but manual.

Differential Revision: https://phabricator.services.mozilla.com/D126564
2021-11-09 14:17:32 +00:00
sotaro
c84b574340 Bug 1739553 - Use wr::ExternalImageId in more places r=gfx-reviewers,bradwerth
It could make code more explicit.

Differential Revision: https://phabricator.services.mozilla.com/D130434
2021-11-07 07:26:45 +00:00
Cristian Tuns
473401daa0 Backed out 10 changesets (bug 1732343) for causing coverage build bustages (Bug 1739590).
Backed out changeset bba94c79f3e1 (bug 1732343)
Backed out changeset d30fa1e1f605 (bug 1732343)
Backed out changeset ed0b4f757c4b (bug 1732343)
Backed out changeset a272da134c34 (bug 1732343)
Backed out changeset ccb259d73843 (bug 1732343)
Backed out changeset a292990b62de (bug 1732343)
Backed out changeset 7d1854782ca8 (bug 1732343)
Backed out changeset 29eaabd9ffb3 (bug 1732343)
Backed out changeset 1aa26657a7a6 (bug 1732343)
Backed out changeset 7a6708dc620a (bug 1732343)
2021-11-05 07:21:04 -04:00
Nika Layzell
1db0a4660a Bug 1732343 - Part 2: Migrate all uses of base::FileDescriptor to UniqueFileHandle, r=handyman
This is useful for the following parts, as UniqueFileHandle is a cross-platform
type which can also be used to support transferring HANDLEs between processes.

This change requires fairly sweeping changes to existing callsites, which
previously did not require owning access to the handle types when transferring.
For the most part these changes were straightforward, but manual.

Differential Revision: https://phabricator.services.mozilla.com/D126564
2021-11-04 19:20:17 +00:00
Matt Woodrow
02bd664352 Bug 1729841 - Remove TextureDIB. r=jgilbert,gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D125023
2021-09-15 04:09:43 +00:00
Tetsuharu Ohzeki
13f958cd5a Bug 1729817 - Remove unused WebRenderImageHost::PrintInfo(). r=gfx-reviewers,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D125018
2021-09-09 15:46:20 +00:00
Nicolas Silva
7773cd0237 Bug 1728350 - Remove X11 TextureClient/Host. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D124080
2021-09-01 17:07:45 +00:00
Jeff Muizelaar
b5cb18c438 Bug 1728193 - Remove LayerScope. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123975
2021-08-30 20:12:02 +00:00
Matt Woodrow
06c34fe290 Bug 1727876 - Remove BasicCompositor. r=jrmuizel
Depends on D123882

Differential Revision: https://phabricator.services.mozilla.com/D123883
2021-08-28 03:54:24 +00:00
David Parks
21bd2b45b0 Bug 1682030 - Remove NPAPI plugin async rendering support r=bas,jgilbert,ipc-reviewers,mccr8
Removes async (windowless) NPAPI plugin rendering methods used to render a plugin to an offscreen surface in the GPU process.  None of this code is used since we have removed all NPAPI plugin support.

Differential Revision: https://phabricator.services.mozilla.com/D107152
2021-04-06 19:28:16 +00:00
Csoregi Natalia
c1ab4757eb Backed out 24 changesets (bug 1682030) for bustage on ProcessHangMonitor.cpp and nsCOMPtr.h. CLOSED TREE
Backed out changeset 5b1644096477 (bug 1682030)
Backed out changeset 35ae60eea3c7 (bug 1682030)
Backed out changeset 3eca76a6d639 (bug 1682030)
Backed out changeset 259c45447ad9 (bug 1682030)
Backed out changeset de9222dc8c31 (bug 1682030)
Backed out changeset 2986c7e14349 (bug 1682030)
Backed out changeset 6af3410bdb93 (bug 1682030)
Backed out changeset 42b0621c2927 (bug 1682030)
Backed out changeset 366e3e371858 (bug 1682030)
Backed out changeset 9adb2865adea (bug 1682030)
Backed out changeset 6af6af3bc03a (bug 1682030)
Backed out changeset da94a91b35ae (bug 1682030)
Backed out changeset 9143da258d0e (bug 1682030)
Backed out changeset 5e20d06952ba (bug 1682030)
Backed out changeset 6253d7e1ce7d (bug 1682030)
Backed out changeset 0e06ddeea3e2 (bug 1682030)
Backed out changeset 9c58d57c9e44 (bug 1682030)
Backed out changeset e90edd89430e (bug 1682030)
Backed out changeset 5861b8166b10 (bug 1682030)
Backed out changeset b4b88cdc7993 (bug 1682030)
Backed out changeset b80054e9805c (bug 1682030)
Backed out changeset 580d857674c0 (bug 1682030)
Backed out changeset a9cdf93c2662 (bug 1682030)
Backed out changeset 9c9c8b4998e2 (bug 1682030)
2021-04-06 03:54:12 +03:00
David Parks
d9bec4afb2 Bug 1682030 - Remove NPAPI plugin async rendering support r=bas,jgilbert,ipc-reviewers,mccr8
Removes async (windowless) NPAPI plugin rendering methods used to render a plugin to an offscreen surface in the GPU process.  None of this code is used since we have removed all NPAPI plugin support.

Differential Revision: https://phabricator.services.mozilla.com/D107152
2021-04-05 23:48:40 +00:00
Jeff Gilbert
d96ec16c35 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
6e069b9d57 Backed out changeset f155cf6af343 (bug 1697670) for bustage on gfxUtils.cpp. CLOSED TREE 2021-03-17 02:41:15 +02:00
Jeff Gilbert
4c70738177 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
Brad Werth
61e67aca78 Bug 1692029 Part 1: Make TextureHost report a native texture policy. r=lsalzman
Whether or not we use a native texture or something else is affected by our
backend and the size of the texture. This patch adds a new function to
centralize that logic in TextureHost, and applies it in callsites that were
checking the backend to determine an image type.

Differential Revision: https://phabricator.services.mozilla.com/D106568
2021-03-10 18:27:28 +00:00
Brindusan Cristian
46cb51f43c Backed out changeset b0b87c410435 (bug 1692029) for bustages in RenderTextureHostSWGL.cpp. CLOSED TREE 2021-03-10 20:17:17 +02:00
Brad Werth
663b3dcf4c Bug 1692029 Part 1: Make TextureHost report a native texture policy. r=lsalzman
Whether or not we use a native texture or something else is affected by our
backend and the size of the texture. This patch adds a new function to
centralize that logic in TextureHost, and applies it in callsites that were
checking the backend to determine an image type.

Differential Revision: https://phabricator.services.mozilla.com/D106568
2021-03-10 16:52:32 +00:00
Alexandru Michis
927a7e7bcb Backed out changeset be5184939453 (bug 1692029) for causing bustages in RenderTextureHostSWGL.cpp
CLOSED TREE
2021-03-10 07:24:05 +02:00
Brad Werth
3c2db5c126 Bug 1692029 Part 1: Make TextureHost report a native texture policy. r=lsalzman
Whether or not we use a native texture or something else is affected by our
backend and the size of the texture. This patch adds a new function to
centralize that logic in TextureHost, and applies it in callsites that were
checking the backend to determine an image type.

Differential Revision: https://phabricator.services.mozilla.com/D106568
2021-03-10 00:46:32 +00:00
Andrew Osmond
1d19fa73aa Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-24 19:39:59 +00:00
Cosmin Sabou
9ef271b5ba Backed out 2 changesets (bug 1688096) for win webrender sw_compositor related crashes. CLOSED TREE
Backed out changeset aa0d1698aff8 (bug 1688096)
Backed out changeset 3ad2f4d0c317 (bug 1688096)
2021-02-18 19:52:29 +02:00
Andrew Osmond
cd218bcf63 Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-18 15:37:46 +00:00
smolnar
f7ba61e1f9 Backed out 2 changesets (bug 1688096) for linux debug build bustage in KnowsCompositor. CLOSED TREE
Backed out changeset 6cdfa0af2278 (bug 1688096)
Backed out changeset 6471b0910f45 (bug 1688096)
2021-02-18 14:34:49 +02:00
Andrew Osmond
b76cb0a8b0 Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-18 11:50:05 +00:00
Lee Salzman
9fede0d627 Bug 1464698 - avoid creating wrapping source surface when GetBuffer fails. r=nical
We shouldn't be trying to create the wrapping source surface here here GetBuffer
fails - in this case because of a shmem allocation failure. There are already ample
log notes about the failure so just bailing out and not spewing more warning spam
here seems like the right thing to do. Downwind code already deals with mFirstSource
not being set, so we should be safe.

Differential Revision: https://phabricator.services.mozilla.com/D100739
2021-01-05 10:58:39 +00:00
Nicolas Silva
7b47c78015 Bug 1673387 - Don't use texture arrays for shared and standalone texture cache entries. r=gw
The patch ended up more complicated than I anticipated due to a lot of places in webrender assuming texture arrays unless specified otherwise.
The patch also merges TextureTarget into ImageBufferKind, and removes the realloc code path ing the texture cache (which is supposed to be dead code since because of performance issues on windows+intel).

Differential Revision: https://phabricator.services.mozilla.com/D95562
2020-11-12 22:25:59 +00:00
Butkovits Atila
360ba36424 Backed out 2 changesets (bug 1673387) for bustage on gradient_cache_hardstop_clip.yaml. CLOSED TREE
Backed out changeset a315ba98577f (bug 1673387)
Backed out changeset 591c4143921f (bug 1673387)
2020-11-12 15:31:08 +02:00
Nicolas Silva
ed9df8e67b Bug 1673387 - Don't use texture arrays for shared and standalone texture cache entries. r=gw
The patch ended up more complicated than I anticipated due to a lot of places in webrender assuming texture arrays unless specified otherwise.
The patch also merges TextureTarget into ImageBufferKind, and removes the realloc code path ing the texture cache (which is supposed to be dead code since because of performance issues on windows+intel).

Differential Revision: https://phabricator.services.mozilla.com/D95562
2020-11-12 11:54:47 +00:00
Matt Woodrow
43ef041679 Bug 1674154 - Don't create RenderExternalTextureHost when using SWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96337
2020-11-09 21:35:50 +00:00
Bogdan Tara
b1a44a1319 Backed out 2 changesets (bug 1673387) for wrench/reftests/ failures CLOSED TREE DONTBUILD
Backed out changeset a755e87bf875 (bug 1673387)
Backed out changeset e4cf743d6916 (bug 1673387)
2020-11-05 20:00:08 +02:00
Nicolas Silva
0c9f4ccc78 Bug 1673387 - Don't use texture arrays for shared and standalone texture cache entries. r=gw
The patch ended up more complicated than I anticipated due to a lot of places in webrender assuming texture arrays unless specified otherwise.
The patch also merges TextureTarget into ImageBufferKind, and removes the realloc code path ing the texture cache (which is supposed to be dead code since because of performance issues on windows+intel).

Differential Revision: https://phabricator.services.mozilla.com/D95562
2020-11-05 16:31:46 +00:00
Jean-Yves Avenard
daa87f8e36 Bug 1595994 - P1D. Properly serialize display size when sending image over IPC. r=mattwoodrow
The code always assumed that the size of the image with the Y plane dimensions, which, while often the case, isn't correct.
We remove the assertions that the display offset was always (0,0) and properly carry the actual data over IPC.

Remoting the theora decoder and enabling fast video copy exposed several other related issues in the various D3D11 image types.
Various WPT uses theora YUV44 images (because we do not support YUV444 H264 ones). Those images are made of 32 pixels planes with a display size set to 20 pixels. Prior P1D the backend image was a ShareYCbCrPlanar image which correctly handled the size settings.

Like the image serializer, the various D3D11 images always assumed that the Y plane size was the image size.

This however expose existing issues where the offset position of the display is completely ignored for some image type. See bug 1669054

All those problems explain why sometimes we displayed more pixels than we should have.

Depends on D91914

Differential Revision: https://phabricator.services.mozilla.com/D92233
2020-10-20 23:30:04 +00:00
Bob Owen
e22eeb5c9f Bug 1654477 P1: Use a unique ID to track recorded textures. r=jrmuizel
This creates a unique (per content process) ID for each TextureRecorded. This is
then used as a lookup in the GPU process for the real texture.
Previously the pointer for the TextureRecorded's DrawTarget was used, but as the
translated texture is used in multiple threads in the GPU process, pointer reuse
could mean that the handle for an old texture could be picked up by mistake.

Differential Revision: https://phabricator.services.mozilla.com/D93501
2020-10-16 10:59:11 +00:00
Matt Woodrow
d517b70ca2 Bug 1666055 - Disable buffer textures as external compositor surfaces on MacOS. r=lsalzman
When using the native RenderCompositor+SWGL on MacOS, we don't support passing buffer textures directly to the compositor.

Differential Revision: https://phabricator.services.mozilla.com/D93179
2020-10-14 07:56:47 +00:00
Kartikaya Gupta
9936eaf592 Bug 1666802 - Move the SurfaceFormat serializer into an ostream operator. r=mattwoodrow
This also adds some missing types to the serializer.

Differential Revision: https://phabricator.services.mozilla.com/D93144
2020-10-11 23:22:28 +00:00
Kartikaya Gupta
2ee8f0b2a6 Bug 1666802 - Move the TextureFlags serializer into an ostream operator. r=mattwoodrow
This also adds all the missing flags to the serializer.

Differential Revision: https://phabricator.services.mozilla.com/D93143
2020-10-11 21:19:32 +00:00
Jean-Yves Avenard
f8e17f9bc9 Bug 1630733 - Only attempt to use TextureHost if it's valid. r=mattwoodrow,nical
It is possible that when the ImageBridge received a new image to composite, that image hasn't yet been registered via the VideoBridge.

This can happen if the decoding occurs in the different process than the content process. Even though the VideoBridge registration message was sent earlier by the RDD process, the ImageBridge message sent by the content process reached the compositor earlier.

So we only attempt to use the TextureHost if it is valid and the underlying image has been properly registered. Otherwise we will continue to use the previous image.

Some methods are modified to lazily perform their action only once the image has been registered from the PVideoBridge.

Differential Revision: https://phabricator.services.mozilla.com/D92234
2020-10-09 02:54:30 +00:00