Commit Graph

1783 Commits

Author SHA1 Message Date
Alex Kontos
3630520885 feat: disable WebGPU release block checks and related platform
restrictions
2025-11-06 14:14:00 +00:00
Timothy Nikkel
39315e05a8 Bug 1991458. a=pascalc
Original Revision: https://phabricator.services.mozilla.com/D267389

Differential Revision: https://phabricator.services.mozilla.com/D268695
2025-10-20 07:48:19 +00:00
Andrew Osmond
1d31c84e92 Bug 1992856 - Disable remote canvas as the final fallback step before disabling the GPU process. a=RyanVM
Given that we would otherwise disable remote canvas when we disable the
GPU process, it is not meaningfully worse for users to just disable
remote canvas keeping the GPU process as the final step. It is still
preferable to losing the GPU process sandbox. This includes D2D canvas,
accelerated canvas and WebGPU, as well as WebGL on Android.

Original Revision: https://phabricator.services.mozilla.com/D267667

Differential Revision: https://phabricator.services.mozilla.com/D267862
2025-10-09 12:14:44 +00:00
Andrew Osmond
14de960c73 Bug 1992430 - Disable WebGPU if the GPU process is disabled on platforms with a GPU process. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D267425

Differential Revision: https://phabricator.services.mozilla.com/D267861
2025-10-09 12:14:41 +00:00
Nicolas Silva
cd6c019bef Bug 1965239 - Add a pref to highlight backdrop filters. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D248497
2025-05-22 10:45:11 +00:00
Jim Blandy
ff55bde7d7 Bug 1961960: Additional mochitest changes for enabling WebGPU in early beta r=webgpu-reviewers,ErichDonGubler
Add mochitests to verify that WebGPU is enabled/disabled to the
appropriate degree for the current Firefox build.

- In nightly builds, WebGPU should always be available. Specifically,
  `navigator.gpu.requestAdapter`'s promise should not be rejected.

- In early beta builds:

  - On Windows, `requestAdapter`'s promise should not be rejected.

  - On all other platforms, it should be rejected.

- In late beta and release builds, the `navigator.gpu` property should
  not be present.

In `dom/webgpu/tests/mochitest`:

- In the main `mochitest.toml` suite: change the `run-if` condition to
  match the check used in `gfxPlatform::InitWebGPUConfig`: WebGPU is
  enabled in nightly builds on all platforms, and in early beta builds
  on Windows, and is disabled under all other circumstances.

- Add a new Mochitest suite, `mochitest-disabled.toml`, to run when we
  expect `requestAdapter`'s promise to be rejected.

- Add two new tests, `test_adapter_enabled.html` and
  `test_adapter_disabled.html`, to the appropriate suites above, that
  do nothing but ensure that `requestAdapter`'s promise is
  resolved/rejected when it should be.

- In the `mochitest-no-pref.toml` suite, change the `run-if` condition
  to match the condition that determines thet `dom.webgpu.enabled`
  pref's default value.

- Add a comment to `gfxPlatform::InitWebGPUConfig` reminding people to
  update the mochitest conditions, although the test failures will
  remind them as well.

Differential Revision: https://phabricator.services.mozilla.com/D246381
2025-04-26 20:03:38 +00:00
Erich Gubler
9592631834 Bug 1961960 - chore(webgpu): allow adapters to be returned on early Beta on Windows r=webgpu-reviewers,jimb
Differential Revision: https://phabricator.services.mozilla.com/D246354
2025-04-23 03:22:29 +00:00
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
2cc8d30558 Bug 1957563 - Replace SurfaceDescriptorD3D10::fenceInfo with GpuProcessFencesHolderId r=gfx-reviewers,lsalzman
Remove FenceInfo. Instead use GpuProcessFencesHolderId and GpuProcessD3D11FencesHolderMap.

GpuProcessD3D11FencesHolderMap is changed to instantiate also in Parent process when GPU process does not exist. Then it seems better to change its name. The name change is going to be handled in Bug 1958752.

Differential Revision: https://phabricator.services.mozilla.com/D244539
2025-04-07 11:48:23 +00:00
Florian Quèze
4b88e75c19 Bug 1956726 - Migrate histograms to use Glean APIs in gfx/, r=chutten,jgilbert,firefox-desktop-core-reviewers ,mconley.
Differential Revision: https://phabricator.services.mozilla.com/D242765
2025-04-03 13:42:51 +00:00
stransky
b2eb680430 Bug 1954446 - [Linux] Use widget.dmabuf-export.force-enabled pref on nightly only r=emilio CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D242918
2025-03-25 12:35:15 +00:00
stransky
66bffc2a23 Bug 1954446 [Linux] Add widget.dmabuf-export.force-enabled pref to force use EGL_dmabuf_export GL extension r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D242655
2025-03-25 08:39:59 +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
05761264fb Bug 1894818 - part2 : add gfx feature for hevc. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D238154
2025-02-21 06:50:14 +00:00
Karl Tomlinson
62f646ceb6 Bug 1949344 Remove media.ffmpeg.vaapi.enabled r=stransky
Usually setting to false preferences with .enabled names would disable the
feature but that was not the case with this preference.

Setting this preference to true became equivalent to setting
media.hardware-video-decoding.force-enabled to true for Wayland as of
https://hg.mozilla.org/mozilla-central/rev/55dcb18c0da4486cf79a51cc677da6ab0d246047#l3.12
and was added for X11 as well as of
https://hg.mozilla.org/mozilla-central/rev/c5419b566d1ae6a5aef34cacd38f39bf80e9bb32

Differential Revision: https://phabricator.services.mozilla.com/D238898
2025-02-21 05:20:13 +00:00
Cristina Horotan
60a43b63a6 Backed out 7 changesets (bug 1894818) for causing build bustages at FFmpegDecoderModule.h. CLOSED TREE
Backed out changeset b32d076dc9dd (bug 1894818)
Backed out changeset 3f32cc520dbf (bug 1894818)
Backed out changeset 3ed08095d11c (bug 1894818)
Backed out changeset 2eac4d91c956 (bug 1894818)
Backed out changeset 2677fb479185 (bug 1894818)
Backed out changeset 74c1ba3a1ca8 (bug 1894818)
Backed out changeset 5937811c915c (bug 1894818)
2025-02-21 01:54:10 +02:00
alwu
ded60f70ad Bug 1894818 - part2 : add gfx feature for hevc. r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D238154
2025-02-20 21:31:55 +00:00
Nicolas Silva
617245d33a Bug 1946361 - Add debug prefs for missing snapshots. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D237008
2025-02-10 07:52:57 +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
Jonathan Kew
94e6ecd618 Bug 1935149 - Streamline IPC messaging related to font-list updates. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D232151
2025-01-13 11:36:26 +00:00
Cristina Horotan
f276b6c87f Backed out changeset e1a2b6301950 (bug 1935149) for causing multiple mochitest failures. CLOSED TREE 2024-12-18 01:19:27 +02:00
Jonathan Kew
cb05ddd7b6 Bug 1935149 - Streamline IPC messaging related to font-list updates. r=layout-reviewers,emilio
Merge the FontListChanged message sent by the parent when the list is updated
with the more general ForceGlobalReflow. Avoid forcing an update from the
InitOtherFamilyNames task if there is also a LoadCmaps operation in progress;
just ensure it will include the NeedsReframe flag in its message instead.

This should not change observable behavior, but aims to reduce the risk of
font data updates resulting in redundant multiple reflows.

Differential Revision: https://phabricator.services.mozilla.com/D232151
2024-12-17 15:23:56 +00:00
longsonr
4a5a611b4e Bug 1929626 - Remove more uses/includes of nsAlgorithm.h r=emilio,win-reviewers,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D228203
2024-11-07 11:09:40 +00:00
Goloman Adrian
74ec3166cc Backed out changeset fe24b8ac5257 (bug 1929626) for causing build bustages @StackArena.cpp. CLOSED TREE 2024-11-07 01:28:24 +02:00
longsonr
975fd89f6c Bug 1929626 - Remove more uses/includes of nsAlgorithm.h r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D228203
2024-11-06 21:15:52 +00:00
Lee Salzman
9ca48497fc Bug 1924578 - Disable DMABUF_WEBGL on Nvidia driver. r=aosmond
This adds a DMABUF_WEBGL feature that can be independently blocklisted from DMABUF itself.

After that, this adds a blocklist entry for the Nvidia driver which gives incorrect rendering.

Differential Revision: https://phabricator.services.mozilla.com/D227598
2024-11-02 03:50:17 +00:00
Goloman Adrian
ee2b585283 Backed out changeset f0ffcbcde75e (bug 1924578) for causing build bustages. CLOSED TREE 2024-11-02 04:56:29 +02:00
Lee Salzman
4e2585c334 Bug 1924578 - Disable DMABUF_WEBGL on Nvidia driver. r=aosmond
This adds a DMABUF_WEBGL feature that can be independently blocklisted from DMABUF itself.

After that, this adds a blocklist entry for the Nvidia driver which gives incorrect rendering.

Differential Revision: https://phabricator.services.mozilla.com/D227598
2024-11-02 02:13:42 +00:00
sotaro
ffb80d2308 Bug 1921379 - Alloc DMA buffer in VKImage for WebGPU presentation on Linux r=webgpu-reviewers,nical
Allocate dmabuf  in VKImage, since direct dmabuf creation by gbm_bo_* is not reliable and comes with various issue.

Texture of swap chain uses vk::ImageCreateFlags::ALIAS(VK_IMAGE_CREATE_ALIAS_BIT).

wgpu_server_adapter_request_device() allocates vulkan device for enabling the following extensions that is necessary for dmabuf support.
- khr::external_memory_fd
- ext::external_memory_dma_buf
- ext::image_drm_format_modifier
- khr::external_semaphore_fd

Differential Revision: https://phabricator.services.mozilla.com/D223910
2024-10-29 01:58:48 +00:00
Andrew Osmond
fa321dc579 Bug 1926404 - Remove expired gfx.tmp_writable telemetry probe. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D227049
2024-10-28 16:21:41 +00:00
Lee Salzman
fcd3f32e21 Bug 1910138 - Fix remote canvas Direct2D pref check. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D225974
2024-10-17 13:23:29 +00:00
Florian Quèze
866c8f05f7 Bug 1923028 - Migrate scalars to use Glean APIs for gfx, r=chutten.
Differential Revision: https://phabricator.services.mozilla.com/D225371
2024-10-16 20:46:08 +00:00
Andrew Osmond
b0c30494cd Bug 1923741 - Add telemetry to measure how many users have read only system temporary folders. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D225139
2024-10-10 14:48:04 +00:00
Nicolas Silva
9e094d620d Bug 1920058 - Add a debug pref to show picture borders. r=gfx-reviewers,lsalzman
This patch moves the logic to draw the tiled picture overlay out of the entirely too large take_context into a separate function, and add a separate option to draw only the borders of all pictures (non-tiled ones included) and tiles. This new overlay is enabled via the pref gfx.webrender.debug.picture-borders and is useful when trying to observe the breakdown of the page into pictures.
It does not quite do what I want it to: borders for non-tiled pictures seem to only appear on the frame they are drawn and aren't shown in subsequent frames unles the containing tile cache is invalidated. So there will probably be followup adjustments, but the functionality is already useful in its current state.

Differential Revision: https://phabricator.services.mozilla.com/D222959
2024-09-23 08:41:31 +00:00
Nicolas Silva
b7111fc517 Bug 1912019 - Don't use malloc_size_of for the render task graph. r=gfx-reviewers,lsalzman
Attempting to use malloc_size_of with allocations that aren't directly backend by the global allocator crashes, so this commits compute the render task's report by in a more manual way.
In addition, add the allocator's memory footprint to memory reports.

Differential Revision: https://phabricator.services.mozilla.com/D219270
2024-09-18 10:17:26 +00:00
tannal
c27230fdb6 Bug 1917329 - Remove layers.child-process-shutdown pref. r=gregp,gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D221796
2024-09-12 14:10:17 +00:00
Emilio Cobos Álvarez
d50f5cbf81 Bug 1915433 - Simplify CMS and gfxPlatform initialization. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D220484
2024-09-04 16:31:05 +00:00
Stanca Serban
9112ef423e Backed out changeset ef158dc7becf (bug 1915433) for causing xpcshell failures. CLOSED TREE 2024-08-31 03:47:50 +03:00
Emilio Cobos Álvarez
c54ec5ada4 Bug 1915433 - Simplify CMS and gfxPlatform initialization. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D220484
2024-08-30 16:16:32 +00:00
Tamas Szentpeteri
a00e788c5d Backed out changeset 03a2926ea510 (bug 1915433) for causing mochitest failures on gfxPlatform.cpp. CLOSED TREE 2024-08-29 02:20:20 +03:00
Emilio Cobos Álvarez
306ca652a4 Bug 1915433 - Simplify CMS and gfxPlatform initialization. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D220484
2024-08-28 21:34:56 +00:00
Tom Ritter
4c7e1cff5c Bug 1899874: Plumb forceSoftwareRendering down the stack. r=jgilbert
willReadFrequently already implies this; however that can't
be enabled on Windows. We can use our own attribute to control
the value as it plumbs into the depths of Canvas2D and WebGL

Differential Revision: https://phabricator.services.mozilla.com/D212178
2024-08-07 00:31:45 +00:00
Lee Salzman
6cb99d0b64 Bug 1910138 - Disable Direct2D in Nightly. r=jrmuizel,aosmond
This disables the legacy Direct2D backend in Windows Nightly in favor
of using Accelerated Canvas2D instead. The goal of this experiment
is to collect performance and other bug feedback on AC2D versus Direct2D.

In general, AC2D has been fairly stable on other platforms, so it would be
nice to gradually move towards using AC2D on Windows as well so that we
are using one consistent acceleration solution.

This experiment is the first step towards that end.

Differential Revision: https://phabricator.services.mozilla.com/D217851
2024-07-27 09:25:23 +00:00
Sandor Molnar
43188bc6ac Backed out changeset 2f15b6efa248 (bug 1910138) for causing reftest failures CLOSED TREE 2024-07-27 12:13:07 +03:00
Lee Salzman
9a0663a779 Bug 1910138 - Disable Direct2D in Nightly. r=jrmuizel,aosmond
This disables the legacy Direct2D backend in Windows Nightly in favor
of using Accelerated Canvas2D instead. The goal of this experiment
is to collect performance and other bug feedback on AC2D versus Direct2D.

In general, AC2D has been fairly stable on other platforms, so it would be
nice to gradually move towards using AC2D on Windows as well so that we
are using one consistent acceleration solution.

This experiment is the first step towards that end.

Differential Revision: https://phabricator.services.mozilla.com/D217851
2024-07-27 07:46:02 +00:00
Kelsey Gilbert
f880aa1d3e Bug 1909019 - Use ParamTraits_TiedFields/_IsEnumCase in WebRenderMessageUtils instead of PlainOldDataSerializer. (complete) r=gw,mccr8,ahale
Differential Revision: https://phabricator.services.mozilla.com/D217509
2024-07-26 23:51:26 +00:00
Iulian Moraru
fb811cfefc Backed out 2 changesets (bug 1909019) for causing base-toolchains build bustages on Maybe.h. CLOSED TREE
Backed out changeset 6d4968c19bfe (bug 1909019)
Backed out changeset c1c101a0dde5 (bug 1909019)
2024-07-26 22:38:28 +03:00
Kelsey Gilbert
4bfe333eac Bug 1909019 - Use ParamTraits_TiedFields/_IsEnumCase in WebRenderMessageUtils instead of PlainOldDataSerializer. (complete) r=gw,mccr8,ahale
Differential Revision: https://phabricator.services.mozilla.com/D217509
2024-07-26 16:54:47 +00:00
Cristian Tuns
eaf1eefde7 Backed out 2 changesets (bug 1899874) It is crashing the browser on windows and linux, Bug 1906687. CLOSED TREE
Backed out changeset cd0e7d18bbff (bug 1899874)
Backed out changeset 347c3fe4a18f (bug 1899874)
2024-07-09 17:48:05 -04:00
Tom Ritter
5d0545e0db Bug 1899874: Plumb forceSoftwareRendering down the stack. r=jgilbert
willReadFrequently already implies this; however that can't
be enabled on Windows. We can use our own attribute to control
the value as it plumbs into the depths of Canvas2D and WebGL

Differential Revision: https://phabricator.services.mozilla.com/D212178
2024-07-03 08:29:51 +00:00