Commit Graph

328 Commits

Author SHA1 Message Date
sotaro
84b97ec5c9 Bug 1958752 - Rename GpuProcessD3D11FencesHolderMap to CompositeProcessD3D11FencesHolderMap r=gfx-reviewers,lsalzman
By Bug 1957563, GpuProcessD3D11FencesHolderMap is changed to instantiate also in Parent process when GPU process does not exist. Then it seems better to change its name.

Differential Revision: https://phabricator.services.mozilla.com/D244684
2025-04-08 16:26:28 +00:00
sotaro
ceeb8ba7b7 Bug 1957001 - Use FenceD3D11 for shnchronization in DXGIYCbCrTextureData r=media-playback-reviewers,gfx-reviewers,alwu,lsalzman
DXGIYCbCrTextureData uses keyed mutex for synchronization. But it is inefficient than FenceD3D11. And it caused the performance problem when DXGIYCbCrTextureData has multiple users like Bug 1956305

Differential Revision: https://phabricator.services.mozilla.com/D243622
2025-04-04 05:27:37 +00:00
Cosmin Sabou
cc39e0c0e8 Backed out changeset c860af62a31c (bug 1957001) for D3D11 crashes. a=backout 2025-04-03 17:59:55 +03:00
sotaro
c55933b247 Bug 1957001 - Use FenceD3D11 for shnchronization in DXGIYCbCrTextureData r=media-playback-reviewers,gfx-reviewers,alwu,lsalzman
DXGIYCbCrTextureData uses keyed mutex for synchronization. But it is inefficient than FenceD3D11. And it caused the performance problem when DXGIYCbCrTextureData has multiple users like Bug 1956305

Differential Revision: https://phabricator.services.mozilla.com/D243622
2025-04-03 02:01:59 +00:00
sotaro
c5d31b2aba Bug 1957528 - Remove ID3D11Query wait of D3D11Texture2D copy complete just before blitting with non Intel GPUs r=gfx-reviewers,lsalzman
Since Bug 1912368 fix, the ID3D11Query wait seems not necessary.

Differential Revision: https://phabricator.services.mozilla.com/D243743
2025-04-01 23:11:31 +00:00
Lee Salzman
cfed1243a5 Bug 1945997 - Ensure common memory reporters get registered in GPU process. r=ahale
gfxPlatform::Init() is never called in the GPU process, so common memory reporters
never get registered, such as GfxImageMemoryReporter, leading to large amounts of
heap-unclassified showing up in the GPU process when using Accelerated Canvas2D.

For now, add a gfxPlatform::InitMemoryReportersForGPUProcess() hook for any such
registration to occur in the GPU process. Long-term, we probably should clean up
gfxPlatform::Init() to share far more code with GPUParent::Init/RecvInit, but that
is a much larger project beyond the scope of this patch.

Differential Revision: https://phabricator.services.mozilla.com/D239287
2025-02-24 06:56:17 +00:00
alwu
a53a119e70 Bug 1941945 - create a new pref media.hevc.enabled to replace old pref and remove unnecessary checks and tests. r=media-playback-reviewers,padenot
We'd like to have a general pref to control hevc on all platforms, not
just on Windows.

Differential Revision: https://phabricator.services.mozilla.com/D236981
2025-02-06 21:38:27 +00:00
Florian Quèze
a301e963dc Bug 1935420 - Migrate histograms to use Glean APIs for GPU_PROCESS_*, r=chutten.
Differential Revision: https://phabricator.services.mozilla.com/D234180
2025-01-27 13:47:10 +00:00
Florian Quèze
9609e47f62 Bug 1879329 - script generated replacement of the GleanMetrics.h includes, r=chutten,valentin,media-playback-reviewers,cookie-reviewers,anti-tracking-reviewers,profiler-reviewers,win-reviewers,rkraesig,emz,aabh,padenot.
Differential Revision: https://phabricator.services.mozilla.com/D234744
2025-01-21 11:21:45 +00:00
sotaro
7e68912ff9 Bug 1879425 - Log GPU device reset to gfx Failure Log of about:support r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D209926
2024-05-14 10:50:23 +00:00
Stanca Serban
76d156702c Backed out changeset 1c48635919fb (bug 1879425) for causing build bustages. CLOSED TREE 2024-05-14 04:55:08 +03:00
sotaro
1e986b7842 Bug 1879425 - Log GPU device reset to gfx Failure Log of about:support r=gfx-reviewers,lsalzman
Unify how to log device reset. It helps for debugging.

Differential Revision: https://phabricator.services.mozilla.com/D209926
2024-05-14 00:46:12 +00:00
alwu
107902a9d8 Bug 1892516 - part5 : report Glean probe from the chrome process. r=media-playback-reviewers,padenot
According to [1], currently we can only set a labeled boolean from the
chrome process, so we need to adjust our design to report result from
reporting from the GPU/RDD process to the chrome process.

Therefore, we have to always check HEVC first, and trim it later in
order to not to incorrectly support HEVC if the pref for HEVC is off.

[1] https://firefox-source-docs.mozilla.org/toolkit/components/glean/dev/ipc.html#forbidding-non-commutative-operations

Differential Revision: https://phabricator.services.mozilla.com/D208716
2024-04-29 17:46:29 +00:00
alwu
14a829f825 Bug 1892516 - part3 : use Glean API and report the probe on more platforms. r=padenot
`device_hardware_decoding_support` was previously only recorded on
Windows and we want to extend this probe to other platforms as well.

Differential Revision: https://phabricator.services.mozilla.com/D208245
2024-04-29 17:46:28 +00:00
alwu
53f58c2265 Bug 1892516 - part2 : report false for unsupported codecs. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D208244
2024-04-29 17:46:28 +00:00
alwu
24c309478a Bug 1892516 - part1 : explicitly disable HEVC support to avoid running the initialization again. r=media-playback-reviewers,padenot
We can actually control whether HEVC is enabled by setting
`sForceEnableHEVC` to false without running decoder module's
initialization again, which can save some time because the
initialization is expensive.

[1] https://searchfox.org/mozilla-central/rev/ee9fd5e2df79c6d69af5aa9bc36041166f483227/dom/media/platforms/wmf/WMFDecoderModule.cpp#486

Differential Revision: https://phabricator.services.mozilla.com/D208243
2024-04-29 17:46:27 +00:00
Sandor Molnar
d566de2391 Backed out 3 changesets (bug 1892516) for causing multiple failures @ toolkit/components/glean/api/src/private/boolean.rs CLOSED TREE
Backed out changeset 842a809422f9 (bug 1892516)
Backed out changeset 5155a959fe13 (bug 1892516)
Backed out changeset d1cebb819ab9 (bug 1892516)
2024-04-25 21:30:10 +03:00
alwu
5be7f92898 Bug 1892516 - part3 : use Glean API and report the probe on more platforms. r=padenot
`device_hardware_decoding_support` was previously only recorded on
Windows and we want to extend this probe to other platforms as well.

Differential Revision: https://phabricator.services.mozilla.com/D208245
2024-04-25 17:32:16 +00:00
alwu
ccb857230a Bug 1892516 - part2 : report false for unsupported codecs. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D208244
2024-04-25 17:32:15 +00:00
alwu
213f2d45e2 Bug 1892516 - part1 : explicitly disable HEVC support to avoid running the initialization again. r=media-playback-reviewers,padenot
We can actually control whether HEVC is enabled by setting
`sForceEnableHEVC` to false without running decoder module's
initialization again, which can save some time because the
initialization is expensive.

[1] https://searchfox.org/mozilla-central/rev/ee9fd5e2df79c6d69af5aa9bc36041166f483227/dom/media/platforms/wmf/WMFDecoderModule.cpp#486

Differential Revision: https://phabricator.services.mozilla.com/D208243
2024-04-25 17:32:15 +00:00
alwu
28aa436d3a Bug 1885671 - part3 : initialize Media Foundation earlier for GPU process. r=media-playback-reviewers,padenot
This is used to fix the failures [1] on Windows xpcshell test on the try
server. As we've changed the timing of initailizing in previous patches,
that delays the timing of setting clean-up for MediaFoundationInitializer.

MediaFoundationInitializer has to be clean on MTA thread, but on the try
server, when the runnable for clean-up being dispatched on the main
thread, the MTA thread has been shutdowned.

Therefore, we would like to run the initialization earlier to ensure the
clean-up can be setup properly, which is like what we do for RDD [2].

[1] https://treeherder.mozilla.org/logviewer?job_id=455059875&repo=autoland&lineNumber=2090
[2] https://searchfox.org/mozilla-central/rev/eb4700a6be8371fe07053bc066c2d48ba813ce3d/dom/media/ipc/RDDParent.cpp#108-111

Differential Revision: https://phabricator.services.mozilla.com/D208250
2024-04-25 02:20:22 +00:00
alwu
465822311a Bug 1885671 - part1 : run the method of getting codec supported on the background thread in order not to block the main thread. r=jrmuizel
There are modifications needed for PDMfactory and the decoder modules in
order to run their methods on non-mainthread and keep them threadsafe.

Differential Revision: https://phabricator.services.mozilla.com/D206420
2024-04-25 02:20:21 +00:00
Stanca Serban
aeae888b26 Backed out 2 changesets (bug 1885671) for causing Windows xpcshell assertion failures on ClearOnShutdown.cpp. CLOSED TREE
Backed out changeset 0c53f738aa7f (bug 1885671)
Backed out changeset 1189be6d8d0e (bug 1885671)
2024-04-18 23:52:53 +03:00
alwu
9bf0570bcc Bug 1885671 - run the method of getting codec supported on the background thread in order not to block the main thread. r=jrmuizel
There are modifications needed for PDMfactory and the decoder modules in
order to run their methods on non-mainthread and keep them threadsafe.

Differential Revision: https://phabricator.services.mozilla.com/D206420
2024-04-18 17:15:34 +00:00
Cristina Horotan
cd22012d2d Backed out changeset 68ea681f466b (bug 1885671) for causing xpcshell failures at test_privacy_transition.js CLOSED TREE 2024-04-17 00:42:33 +03:00
alwu
1462c84012 Bug 1885671 - run the method of getting codec supported on the background thread in order not to block the main thread. r=jrmuizel
There are modifications needed for PDMfactory and the decoder modules in
order to run their methods on non-mainthread and keep them threadsafe.

Differential Revision: https://phabricator.services.mozilla.com/D206420
2024-04-16 19:20:13 +00:00
sotaro
21b4555019 Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale
Super Resolution consumes more power. Then it is better to enable it only during power charging.

Differential Revision: https://phabricator.services.mozilla.com/D202781
2024-03-01 04:00:59 +00:00
sotaro
8c0f5b9625 Bug 1880926 - Check if system enables HDR on Windows r=gfx-reviewers,lsalzman
By using IDXGIOutput6, we could check if system enables HDR on Windows.

DeviceManagerDx::SystemHDREnabled() is expected to be called in GPU process.

Differential Revision: https://phabricator.services.mozilla.com/D202186
2024-02-22 01:59:40 +00:00
Stanca Serban
80706841a8 Backed out changeset ad2add2f3c60 (bug 1880926) as requested for causing bug 1880938. 2024-02-21 16:03:48 +02:00
sotaro
9c9da19bec Bug 1880926 - Check if system enables HDR on Windows r=gfx-reviewers,lsalzman
By using IDXGIOutput6, we could check if system enables HDR on Windows.

DeviceManagerDx::SystemHDREnabled() is expected to be called in GPU process.

Differential Revision: https://phabricator.services.mozilla.com/D202186
2024-02-20 02:58:29 +00:00
Bob Owen
8c1b009578 Bug 1877957 p3: Check gfxVars are initialised in ReportHardwareMediaCodecSupportIfNeeded. r=alwu
This was causing a permanent failure for some xpcshell tests, possibly due to a
timing change.

Differential Revision: https://phabricator.services.mozilla.com/D200795
2024-02-08 17:26:20 +00:00
sotaro
6e30159257 Bug 1817617 - Wait ID3D11Query of D3D11Texture2D copy complete just before blitting for video overlay with non Intel GPUs r=media-playback-reviewers,padenot
Normally when D3D11Texture2D is copied by ID3D11DeviceContext::CopySubresourceRegion() with compositor device, WebRender does not need to wait copy complete, since WebRender also uses compositor device.

But with Non-intel GPUs(like NDIVIA), there is a case that the copy complete need to be wait explicitly even with compositor device

mSyncObject->Synchronize() could not be used with compositor device.

Wait of the query is not called in D3D11DXVA2Manager::CopyToImage(), since the wait could take long time. Then the Wait of the query is deferred to just before blitting for video overlay.

Differential Revision: https://phabricator.services.mozilla.com/D200041
2024-02-01 10:28:32 +00:00
Lee Salzman
0306af2160 Bug 1829026 - Update CanvasTranslator to work with DrawTargetWebgl. r=aosmond
This adds the necessary infrastructure for CanvasTranslator to allocate DrawTargetWebgl
instead of just allocating TextureData, and to use RemoteTextureMap to handle sending
the DrawTargetWebgl frames to the compositor.

This optimizes snapshot transport to use fewer copies to and from shmems when we know
the snapshot contents can be sourced from a shmem.

This adds a blocking mechanism separate from deactivation so that existing DrawTargetWebgls
can continue processing events while denying further ones from being created in the event
that allocating further DrawTargetWebgls might cause problems, but so that we don't disrupt
canvases that are already in flight.

PersistentBufferProviderAccelerated still remains the buffer provider for the new setup,
but just allocates a single RecordedTextureData internally. Since DrawTargetWebgl already
does its own swap chain management internally, we do not want to use the multiple texture
client strategy that PersistentBufferProviderShared does.

This adds a fallback mechanism such that if DrawTargetWebgl allocation fails, a TextureData
is allocated instead that still sends results to RemoteTextureMap. This has the advantage
that we don't need to synchronously block in the content process to verify if acceleration
succeeded, as the costs of such blocking are rather extreme and we must still produce the
rendered frame to ensure the user sees the correct result if the speculative acceleration
failed. It then notifies the content process asynchronously via the refresh mechanism to
try to recreate a non-accelerated buffer provider when it is ready.

There is one additional hitch in RemoteTextureMap that we need to add a mechanism to deal
with the setup of the RemoteTextureOwner. When display list building initially needs to get
the remote texture, the RemoteTextureOwner might not exist yet. In this case, we need to add
a block to ensure we wait for that to occur so that we do not render an erroneous result.
Previously, this block was handled in ClientWebGLContext. Since that is no longer used,
the block must be reinstated somewhere else until a non-blocking mechanism for display list
building to proceed with a stub texture host wrapper can be implemented.

Currently this leaves the gfx.canvas.remote and gfx.canvas.accelerated prefs as separate
toggles rather than trying to lump everything into one mechanism. While this may be desirable
in the future, currently Direct2D remote canvas is a separate acceleration mechanism that
needs to co-exist with the WebGL acceleration, and so being able to toggle both on or off
for testing is desirable.

Differential Revision: https://phabricator.services.mozilla.com/D194352
2023-12-18 18:10:46 +00:00
Sebastian Hengst
cdce9d5ae9 Backed out 10 changesets (bug 1829026) for causing bug 1869760 and bug 1869738. a=backout
Backed out changeset 4c619422efe5 (bug 1829026)
Backed out changeset 77da89c7dab7 (bug 1829026)
Backed out changeset 19d28d8f75a4 (bug 1829026)
Backed out changeset 674b60ba54b1 (bug 1829026)
Backed out changeset 31935f164ef0 (bug 1829026)
Backed out changeset 13c9bf69085f (bug 1829026)
Backed out changeset 330a6732fc0b (bug 1829026)
Backed out changeset 974c08a3791b (bug 1829026)
Backed out changeset 3ba040642ddc (bug 1829026)
Backed out changeset 9d9b3a68858c (bug 1829026)
2023-12-13 19:20:00 +01:00
Lee Salzman
e1e8ab8dd8 Bug 1829026 - Update CanvasTranslator to work with DrawTargetWebgl. r=aosmond
This adds the necessary infrastructure for CanvasTranslator to allocate DrawTargetWebgl
instead of just allocating TextureData, and to use RemoteTextureMap to handle sending
the DrawTargetWebgl frames to the compositor.

This optimizes snapshot transport to use fewer copies to and from shmems when we know
the snapshot contents can be sourced from a shmem.

This adds a blocking mechanism separate from deactivation so that existing DrawTargetWebgls
can continue processing events while denying further ones from being created in the event
that allocating further DrawTargetWebgls might cause problems, but so that we don't disrupt
canvases that are already in flight.

PersistentBufferProviderAccelerated still remains the buffer provider for the new setup,
but just allocates a single RecordedTextureData internally. Since DrawTargetWebgl already
does its own swap chain management internally, we do not want to use the multiple texture
client strategy that PersistentBufferProviderShared does.

This adds a fallback mechanism such that if DrawTargetWebgl allocation fails, a TextureData
is allocated instead that still sends results to RemoteTextureMap. This has the advantage
that we don't need to synchronously block in the content process to verify if acceleration
succeeded, as the costs of such blocking are rather extreme and we must still produce the
rendered frame to ensure the user sees the correct result if the speculative acceleration
failed. It then notifies the content process asynchronously via the refresh mechanism to
try to recreate a non-accelerated buffer provider when it is ready.

There is one additional hitch in RemoteTextureMap that we need to add a mechanism to deal
with the setup of the RemoteTextureOwner. When display list building initially needs to get
the remote texture, the RemoteTextureOwner might not exist yet. In this case, we need to add
a block to ensure we wait for that to occur so that we do not render an erroneous result.
Previously, this block was handled in ClientWebGLContext. Since that is no longer used,
the block must be reinstated somewhere else until a non-blocking mechanism for display list
building to proceed with a stub texture host wrapper can be implemented.

Currently this leaves the gfx.canvas.remote and gfx.canvas.accelerated prefs as separate
toggles rather than trying to lump everything into one mechanism. While this may be desirable
in the future, currently Direct2D remote canvas is a separate acceleration mechanism that
needs to co-exist with the WebGL acceleration, and so being able to toggle both on or off
for testing is desirable.

Differential Revision: https://phabricator.services.mozilla.com/D194352
2023-12-12 07:35:03 +00:00
Andrew Osmond
c8a752fb5e Bug 1869168 - Part 1. Expose CompositorManagerParent::WaitForSharedSurface to partially flush IPDL queue. r=gfx-reviewers,lsalzman
This patch reworks CompositorManagerParent to be able to:

1) Get the owning IPDL actor for a given namespace
2) Rework shutdown to be more consistent
3) Block until either the relevant shared surface is added or the actor
   is destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D195964
2023-12-10 22:46:06 +00:00
Andrew Osmond
ae9e52d125 Bug 1854669. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D194537
2023-12-05 15:23:37 +00:00
Cosmin Sabou
088aba68e8 Backed out 8 changesets (bug 1829026) for causing several mochitest failures. CLOSED TREE
Backed out changeset 790ba6aa65e4 (bug 1829026)
Backed out changeset 2ff1f5f41380 (bug 1829026)
Backed out changeset de6ddf5eb2a7 (bug 1829026)
Backed out changeset 773e7b31ac6e (bug 1829026)
Backed out changeset e09602ab096d (bug 1829026)
Backed out changeset fe16d4ac1049 (bug 1829026)
Backed out changeset c0fe0aea86c2 (bug 1829026)
Backed out changeset 53d6f69055f1 (bug 1829026)
2023-12-05 16:08:36 +02:00
Lee Salzman
96de389769 Bug 1829026 - Update CanvasTranslator to work with DrawTargetWebgl. r=aosmond
This adds the necessary infrastructure for CanvasTranslator to allocate DrawTargetWebgl
instead of just allocating TextureData, and to use RemoteTextureMap to handle sending
the DrawTargetWebgl frames to the compositor.

This optimizes snapshot transport to use fewer copies to and from shmems when we know
the snapshot contents can be sourced from a shmem.

This adds a blocking mechanism separate from deactivation so that existing DrawTargetWebgls
can continue processing events while denying further ones from being created in the event
that allocating further DrawTargetWebgls might cause problems, but so that we don't disrupt
canvases that are already in flight.

PersistentBufferProviderAccelerated still remains the buffer provider for the new setup,
but just allocates a single RecordedTextureData internally. Since DrawTargetWebgl already
does its own swap chain management internally, we do not want to use the multiple texture
client strategy that PersistentBufferProviderShared does.

This adds a fallback mechanism such that if DrawTargetWebgl allocation fails, a TextureData
is allocated instead that still sends results to RemoteTextureMap. This has the advantage
that we don't need to synchronously block in the content process to verify if acceleration
succeeded, as the costs of such blocking are rather extreme and we must still produce the
rendered frame to ensure the user sees the correct result if the speculative acceleration
failed. It then notifies the content process asynchronously via the refresh mechanism to
try to recreate a non-accelerated buffer provider when it is ready.

There is one additional hitch in RemoteTextureMap that we need to add a mechanism to deal
with the setup of the RemoteTextureOwner. When display list building initially needs to get
the remote texture, the RemoteTextureOwner might not exist yet. In this case, we need to add
a block to ensure we wait for that to occur so that we do not render an erroneous result.
Previously, this block was handled in ClientWebGLContext. Since that is no longer used,
the block must be reinstated somewhere else until a non-blocking mechanism for display list
building to proceed with a stub texture host wrapper can be implemented.

Currently this leaves the gfx.canvas.remote and gfx.canvas.accelerated prefs as separate
toggles rather than trying to lump everything into one mechanism. While this may be desirable
in the future, currently Direct2D remote canvas is a separate acceleration mechanism that
needs to co-exist with the WebGL acceleration, and so being able to toggle both on or off
for testing is desirable.

Differential Revision: https://phabricator.services.mozilla.com/D194352
2023-12-05 09:37:03 +00:00
alwu
c4ff52d823 Bug 1856785 - make reporting telemetry async. r=sotaro
As we will need to re-initialize the wmf decoder module, which takes
longer time sometime resulting IPC timeout. Therefore, make it async in
order to not interfere IPC response.

Differential Revision: https://phabricator.services.mozilla.com/D190224
2023-10-06 01:38:54 +00:00
alwu
42870b2a15 Bug 1850594 - add Telemetry to know the hardware decoding support status. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D188667
2023-09-28 22:22:55 +00:00
sotaro
54728736bb Bug 1855598 - Split GpuProcessD3D11TextureMap class to its own file r=gfx-reviewers,lsalzman
Preparation for Bug 1855277.

Differential Revision: https://phabricator.services.mozilla.com/D189448
2023-09-28 05:07:06 +00:00
Cristian Tuns
be8e60b7f5 Backed out 7 changesets (bug 1853448, bug 1850594) for causing mochitest failures in test_MediaSource_hevc_mp4.html and test_hevc_playback.html CLOSED TREE
Backed out changeset a8770a22fbd2 (bug 1850594)
Backed out changeset cbef3d8b5de8 (bug 1853448)
Backed out changeset dcc60b34e9a9 (bug 1853448)
Backed out changeset c803ab3b6d3c (bug 1853448)
Backed out changeset 4c1f0e5cdd7a (bug 1853448)
Backed out changeset 2b587345da78 (bug 1853448)
Backed out changeset ead3d69aa2f4 (bug 1853448)
2023-09-27 22:14:23 -04:00
alwu
d2def41543 Bug 1850594 - add Telemetry to know the hardware decoding support status. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D188667
2023-09-27 19:03:19 +00:00
Andrew Osmond
3aaff058e3 Bug 1852145 - Part 1. Refactor CanvasRenderThread to represent a virtual thread. r=gfx-reviewers,lsalzman
Prior to this patch, CanvasRenderThread represents the concrete thread
we would spawn if gfxVars::UseCanvasRenderThread() returned true.
CanvasManagerParent was responsible for checking our state and deciding
between using the Compositor, Renderer and CanvasRender threads.

This patch makes the CanvasRenderThread class represent a virtual
thread. It will spawn a CanvasRender thread if necessary. Other classes
may use the abstraction to run on the correct thread without having to
duplicate the selection logic.

Differential Revision: https://phabricator.services.mozilla.com/D187719
2023-09-25 16:18:35 +00:00
Andrew Osmond
7ade426240 Bug 1852144 - Disable remote canvas globally in case of unrecoverable error. r=gfx-reviewers,lsalzman
This patch makes the remote canvas enabled state global. If we failed to
create a context, then it cannot recover, so we should never try again.
In the event of stream errors, it is likely due to virtual memory
shortages.

Differential Revision: https://phabricator.services.mozilla.com/D187718
2023-09-25 16:18:35 +00:00
Nika Layzell
386058c120 Bug 1824465 - Part 8: Make PGPU refcounted, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D173723
2023-04-19 22:10:08 +00:00
Noemi Erli
ebdaf2bae0 Backed out 24 changesets (bug 1824465) for causing failures in nsISupportsImpl.cpp CLOSED TREE
Backed out changeset a5c8f22b7170 (bug 1824465)
Backed out changeset b551b655ac72 (bug 1824465)
Backed out changeset 0e6768a6419c (bug 1824465)
Backed out changeset fb115ebb7fe0 (bug 1824465)
Backed out changeset aaa7a2c8aa3b (bug 1824465)
Backed out changeset 7ef94bfa90b3 (bug 1824465)
Backed out changeset a4238fd6b86f (bug 1824465)
Backed out changeset 3a88e4cfbe45 (bug 1824465)
Backed out changeset 40c2467d3162 (bug 1824465)
Backed out changeset 8f900395c72c (bug 1824465)
Backed out changeset 92e4c6e4d73c (bug 1824465)
Backed out changeset 445c5d5d9661 (bug 1824465)
Backed out changeset de51ed5389d9 (bug 1824465)
Backed out changeset 72049d72bcb6 (bug 1824465)
Backed out changeset 126773c2427a (bug 1824465)
Backed out changeset 886e76bc80be (bug 1824465)
Backed out changeset a69a851411f0 (bug 1824465)
Backed out changeset 703599cf6189 (bug 1824465)
Backed out changeset 11ecb78ebc15 (bug 1824465)
Backed out changeset 563255aaa1e1 (bug 1824465)
Backed out changeset d1bf32c2a6c6 (bug 1824465)
Backed out changeset ef28b2777487 (bug 1824465)
Backed out changeset a2015d354bb1 (bug 1824465)
Backed out changeset 31d6b53fdc6a (bug 1824465)
2023-04-06 01:50:55 +03:00
Nika Layzell
ef634352da Bug 1824465 - Part 8: Make PGPU refcounted, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D173723
2023-04-05 21:33:39 +00:00
sotaro
0908f3c800 Bug 1824696 - Initialize gfxGradientCache in GPU process only when remote canvas is enabled r=gfx-reviewers,lsalzman
On Android, remote canvas is disabled. gfxGradientCache does not need to be initialized.

Differential Revision: https://phabricator.services.mozilla.com/D174058
2023-03-31 04:08:40 +00:00