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

45922 Коммитов

Автор SHA1 Сообщение Дата
Narcis Beleuzu a8c700aee3 Backed out 2 changesets (bug 1851952) for reftest failure on hyphens-1.html
Backed out changeset e6e18eed2d76 (bug 1851952)
Backed out changeset 3c81bf22f846 (bug 1851952)
2024-01-09 21:15:52 +02:00
Jonathan Kew 8689d9591e Bug 1851952 - Allow line-wrapping after hyphen if necessary to avoid overflow, even if the hyphen would not normally be a break opportunity (e.g. between numerals). r=layout-reviewers,emilio
We don't line-break after a hyphen when it occurs between numerals, like in page or date ranges,
preferring to keep the range together as a unit when wrapping text.

However, if the available space is very narrow, e.g. in a small table cell, this may lead to
undesirable overflow. So to try and avoid this, this patch allows an "emergency" line-break
opportunity (similar to what `overflow-wrap: break-word` would do) after the hyphen in such
a case.

This affects a number of existing reftests, but the changes in behavior make us more like
WebKit/Blink (which generally allow a break after hyphen between numerals) in these cases,
so it seems unlikely to lead to webcompat issues; rather, it will help with existing issues
where people assume the content can wrap.

Differential Revision: https://phabricator.services.mozilla.com/D197936
2024-01-09 18:07:17 +00:00
Lee Salzman cb94ee0aa5 Bug 1873075 - Delay UnregisterTextureOwner until all potential UseRemoteTextures are received. r=aosmond
UnregisterTextureOwner, if called before any use of UseRemoteTexture, can cause UseRemoteTexture to wait
for the texture owner to be created, since the texture owner does not exist, and there is no evidence it
was previously unregistered.

This patch attempts to address the issue by delaying the actual UnregisterTextureOwner until all such
UseRemoteTexture instances are processed. This is accomplished by noting that UseRemoteTexture ops come
in via transactions from a CompositableForwarder and so all are associated with a forwarder transaction
with a FwdTransactionId. RecordedTextureData on destruction reports the last FwdTransactionId associated
with its final UseRemoteTexture before it attempts to call UnregisterTextureOwner. If RemoteTextureMap
has not been notified of a given FwdTransactionId yet, then the UnregisterTextureOwner call will be
deferred until it has seen this FwdTransactionId.

This adds a RemoteTextureTxnScheduler to track the issuing of dependencies and waiting for FwdTransactionIds.

This patch also cleans up the issuing of FwdTransactionIds themselves to be associated with a given
top-level protocol so that all sub-protocols have transaction numbers that can be safely compared amongst
each other. This makes dependency expiration more robust since any advancement of the transaction number
from any source can help retire expired dependencies.

Differential Revision: https://phabricator.services.mozilla.com/D197895
2024-01-09 15:24:54 +00:00
Jonathan Kew 397f71b9d2 Bug 1873403 - Further refine the mapping from Core Text font-weight trait to CSS weight values. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D197927
2024-01-09 13:39:52 +00:00
Sandor Molnar 108fb53bbf Backed out changeset 051ee8b6b542 (bug 1873075) for causing Gtest-1proc failures CLOSED TREE 2024-01-09 14:57:02 +02:00
Lee Salzman 6accc1036c Bug 1873075 - Delay UnregisterTextureOwner until all potential UseRemoteTextures are received. r=aosmond
UnregisterTextureOwner, if called before any use of UseRemoteTexture, can cause UseRemoteTexture to wait
for the texture owner to be created, since the texture owner does not exist, and there is no evidence it
was previously unregistered.

This patch attempts to address the issue by delaying the actual UnregisterTextureOwner until all such
UseRemoteTexture instances are processed. This is accomplished by noting that UseRemoteTexture ops come
in via transactions from a CompositableForwarder and so all are associated with a forwarder transaction
with a FwdTransactionId. RecordedTextureData on destruction reports the last FwdTransactionId associated
with its final UseRemoteTexture before it attempts to call UnregisterTextureOwner. If RemoteTextureMap
has not been notified of a given FwdTransactionId yet, then the UnregisterTextureOwner call will be
deferred until it has seen this FwdTransactionId.

This adds a RemoteTextureTxnScheduler to track the issuing of dependencies and waiting for FwdTransactionIds.

This patch also cleans up the issuing of FwdTransactionIds themselves to be associated with a given
top-level protocol so that all sub-protocols have transaction numbers that can be safely compared amongst
each other. This makes dependency expiration more robust since any advancement of the transaction number
from any source can help retire expired dependencies.

Differential Revision: https://phabricator.services.mozilla.com/D197895
2024-01-09 11:53:14 +00:00
Jeff Muizelaar d1db802756 Bug 1873525 - qcms: Add back COPYING, add CONTRIBUTING.md and bump the version. r=gfx-reviewers,aosmond,supply-chain-reviewers
This also switches qcms to use a wildcard-audit because it's maintained
in m-c

Differential Revision: https://phabricator.services.mozilla.com/D197955
2024-01-09 04:04:09 +00:00
Hiroyuki Ikezoe 6fb77931ec Bug 1846124 - Make zoomToFocuedInput work for element in position:fixed subtree. r=botond
helper_zoomToFocusedInput_nested_position_fixed.html is a test case for bug
1627734 that zoomToFocusedInput doesn't reset the root scroll position to the top.

helper_zoomToFocusedInput_zoom_in_position_fixed.html is a test case that
zoomToFocusedInput zooms into an element in position:fixed subtree.

Differential Revision: https://phabricator.services.mozilla.com/D197281
2024-01-09 00:02:49 +00:00
Hiroyuki Ikezoe 4f22965e4f Bug 1724759 - Skip calling SetSingleTapOccurred for long-tap events. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D197309
2024-01-08 22:51:15 +00:00
Natalia Csoregi b2289eef93 Backed out changeset 9c4ce17422de (bug 1867360) for causing crashes on PRemoteQuotaObjectChild. CLOSED TREE 2024-01-08 23:18:19 +02:00
Nika Layzell c4aa6e4813 Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D195485
2024-01-08 19:48:23 +00:00
Dan Robertson 4e32887481 Bug 1872772 - Remove apz.scrollend-event.content.enabled preference. r=nchevobbe,botond,devtools-reviewers,webidl,smaug
The scrollend event has been content enabled by default for about a
year. Remove the preference that allows the feature to be chrome-only.

Differential Revision: https://phabricator.services.mozilla.com/D197699
2024-01-08 13:36:42 +00:00
sotaro cbf0e5ea15 Bug 1868927 - Remove RemoteTextureHostWrapper's async mode r=gfx-reviewers,lsalzman
By removing the async mode, remote texture implementation becomes simpler.

Differential Revision: https://phabricator.services.mozilla.com/D197323
2024-01-07 22:47:05 +00:00
Andrew Osmond accf1bcd8f Bug 1873084 - Prefer downgrading acceleration over disabling GPU process with initialization failures. r=jrmuizel
This patch makes it so that if we encounter an issue launching the GPU
process, we attempt to fallback first over disabling the GPU process.
This is because the different acceleration modes we might start with
change how we initialize. It may be possible to have a pure Software
WebRender GPU process with a given users configuration.

Differential Revision: https://phabricator.services.mozilla.com/D197827
2024-01-06 19:41:35 +00:00
Timothy Nikkel 488989b2d9 Bug 1872563. Change WebRenderLayerScrollData::mVisibleRegion from a region to a rect. r=botond
It's only ever set to a rect. This should save a little bit of time serializing this struct.

Differential Revision: https://phabricator.services.mozilla.com/D197469
2024-01-06 00:58:32 +00:00
Nicolas Silva ff86798488 Bug 1873164 - Update `wgpu` to revision 4b82121501a61c2c2e11cb472d70ba54af3aa12d. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler
Changelog

 * #4927 BGL Weak Pointer Deduplication Pool
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4927
 * #4958 Change examples page menu on smaller screens
   By Dinnerbone in https://github.com/gfx-rs/wgpu/pull/4958
 * #4950 Bump anyhow from 1.0.77 to 1.0.78
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4950
 * #4957 Disable Linux Tests
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4957
 * #4960 Fix incorrect ConfigureSurfaceError::TooLarge message
   By Dinnerbone in https://github.com/gfx-rs/wgpu/pull/4960
 * #4935 Add `cfg_aliases` to `wgpu`
   By daxpedda in https://github.com/gfx-rs/wgpu/pull/4935
 * #4939 hello_compute: check for missing command-line args
   By vilcans in https://github.com/gfx-rs/wgpu/pull/4939
 * #4948 Bump winit from 0.29.6 to 0.29.8
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4948
 * #4944 Fix xtask wasm-bindgen install
   By rukai in https://github.com/gfx-rs/wgpu/pull/4944
 * #4858 [glsl-in] fix swizzle in global const context
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4858
 * #4968 [gl] fix RGBA8 format capabilities
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4968
 * #4947 Avoid allocating during queue submit
   By udoprog in https://github.com/gfx-rs/wgpu/pull/4947
 * #4965 Bump serde from 1.0.193 to 1.0.194
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4965
 * #4975 Fix Hang in Multithreaded Compute Test
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4975
 * #4966 Bump anyhow from 1.0.78 to 1.0.79
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4966
 * #4978 Bump thiserror from 1.0.52 to 1.0.56
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4978
 * #4979 Bump syn from 2.0.46 to 2.0.47
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4979
 * #4977 Use Custom Mesa for Building
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4977
 * #4981 Bump serde_json from 1.0.108 to 1.0.110
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4981
 * #4959 wgpu-hal: Fix Mesa version check for version with suffix containing `.`
   By ids1024 in https://github.com/gfx-rs/wgpu/pull/4959
 * #4976 Shorten Lock Lifetimes
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4976
 * #4980 Pin DXC and Vulkan SDK version
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4980
 * #4974 gles: use already existing debug__fn private capabilty instead of checking extensions
   By valaphee in https://github.com/gfx-rs/wgpu/pull/4974
 * #4987 Remove Mac CI
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4987
 * #4990 Fix Queue::write_texture, Fix DX12 write_texture_subset_2d and re-enable the test.
   By dtzxporter in https://github.com/gfx-rs/wgpu/pull/4990
 * #4994 Bump syn from 2.0.47 to 2.0.48
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4994
 * #4993 Bump serde_json from 1.0.110 to 1.0.111
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4993
 * #4992 Bump gpu-allocator from 0.24.0 to 0.25.0
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4992
 * #4995 Add Verbosity Flags to wgpu-info
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4995
 * #4996 Dependency Update Rollup
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4996
 * #4954 Put raw texture access behind snatch guards
   By nical in https://github.com/gfx-rs/wgpu/pull/4954
 * #4954 Put raw texture access behind snatch guards
   By nical in https://github.com/gfx-rs/wgpu/pull/4954
 * #4969 Texture snatching
   By nical in https://github.com/gfx-rs/wgpu/pull/4969
 * #4969 Texture snatching
   By nical in https://github.com/gfx-rs/wgpu/pull/4969

Differential Revision: https://phabricator.services.mozilla.com/D197786
2024-01-05 21:57:42 +00:00
sotaro cfd47236fe Bug 1868928 - Handle ApplyAsyncImageForPipeline() for AsyncImagePipeline of sync WebRenderImageHost after waiting RemoteTextures ready at WebRenderAPI r=gfx-reviewers,lsalzman
This is preparation for Bug 1868927.

By deferring ApplyAsyncImageForPipeline() for TextureHost in AsyncImagePipeline of synchronous WebRenderImageHost, ApplyAsyncImageForPipeline() can be called after the RemoteTextureHostWrapper is in the ready state.

Differential Revision: https://phabricator.services.mozilla.com/D197320
2024-01-05 21:45:54 +00:00
Andrew Osmond 11874b2695 Bug 1873085 - Prefer disabling acceleration over GPU process with excessive device resets. r=gfx-reviewers,jrmuizel
When we encounter an excessive number of device resets in the GPU
process, we would previously just disable the GPU process over blaming
the acceleration itself. Now we either restart the GPU process in a
last ditch attempt to clear the device state, and failing that, disable
acceleration due to excessive resets.

Differential Revision: https://phabricator.services.mozilla.com/D197721
2024-01-04 21:10:07 +00:00
Andrew Osmond 52dcc43ac5 Bug 1873077 - Keep GPU process by default in safe mode. r=gfx-reviewers,jrmuizel
Firefox should be more stable with the GPU process and software
rendering than doing software rendering in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D197714
2024-01-04 20:05:38 +00:00
Kelsey Gilbert ef87b37f72 Bug 1655101 - Allow webgl.texImage gpu-blit for RGB8 if supported. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D194943
2024-01-04 18:38:52 +00:00
Nicolas Silva b55c07febd Bug 1872767 - Avoid touching gpu process glean probes outside of the main process. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D197676
2024-01-04 16:17:57 +00:00
Jonathan Kew 4170df881e Bug 1871009 - Improve mapping of the CoreText font-weight trait to values for the CSS font-weight property. r=layout-reviewers,emilio
Checking the fonts in HelveticaNeue.ttc on macOS Sonoma, both HelveticaNeue-Medium and -MediumItalic have the same weight (500) in their OS/2 table, and return the same value (0.23) for their kCTFontWeightTrait. Back in bug 931426 when the weight override pref was added, we were getting different weights from appKit for these two "Medium" faces, but that no longer appears to be an issue.

This patch makes our CoreTextWeightToCSSWeight mapping a bit more sophisticated, with the added data point of CSS/OpenType weight 500 = CoreText weight 0.23, which we're seeing here in HelveticaNeue. With this refinement in the mapping, we can drop the old override for the HelveticaNeue-MediumItalic face.

Differential Revision: https://phabricator.services.mozilla.com/D197665
2024-01-04 15:46:47 +00:00
Jonathan Kew 7d379bc9bd Bug 1872545 - Hoist color-font palette cache out of TextRunDrawParams to the nsPresContext or CanvasRenderingContext2D, for greater effectiveness. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D197463
2024-01-04 11:07:44 +00:00
serge-sans-paille fd7b78a368 Bug 1870395 - gfxAlphaRecovery - Neon version r=jrmuizel,gfx-reviewers
Depends on D196459

Differential Revision: https://phabricator.services.mozilla.com/D196860
2024-01-04 10:11:51 +00:00
serge-sans-paille 0e607b2b3f Bug 1870085 - Generalize gfxAlphaRecovery simd implementation r=jrmuizel,gfx-reviewers
Also get rid of unused code in the process.

Differential Revision: https://phabricator.services.mozilla.com/D196459
2024-01-04 10:11:51 +00:00
Iulian Moraru 260831d17d Backed out changeset 21beaf6ba627 (bug 1872545) for causing windows build bustages on FontPaletteCache.cpp. CLOSED TREE 2024-01-04 01:54:01 +02:00
Jonathan Kew b3387dce2c Bug 1872545 - Hoist color-font palette cache out of TextRunDrawParams to the nsPresContext or CanvasRenderingContext2D, for greater effectiveness. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D197463
2024-01-03 22:54:10 +00:00
Calixte 77aeaa184d Bug 1870243 - Cherry-pick https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/256 to correctly reset the current operator when several added highlights in a pdf are printed r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D197584
2024-01-03 16:09:28 +00:00
Cristian Tuns be4999cd86 Backed out changeset 395cc57551ec (bug 1872545) for causing build bustages in rust.mk CLOSED TREE 2024-01-03 05:14:31 -05:00
Nicolas Silva 23b86e3def Bug 1872658 - Update `wgpu` to revision 46757372cc02d6608124502104a0c225e1744fd7. r=webgpu-reviewers,supply-chain-reviewers,teoxoy
Changelog:

 * #4865 fix present mode for wgl
   By xiaopengli89 in https://github.com/gfx-rs/wgpu/pull/4865
 * #4873 Bump ctor from 0.2.5 to 0.2.6
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4873
 * #4874 Bump syn from 2.0.40 to 2.0.41
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4874
 * #4869 [naga wgsl-out] Include the `f` suffix on `f32` literals.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4869
 * #4850 [naga wgsl-in] Support abstract operands to binary operators.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4850
 * #4850 [naga wgsl-in] Support abstract operands to binary operators.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4850
 * #4850 [naga wgsl-in] Support abstract operands to binary operators.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4850
 * #4850 [naga wgsl-in] Support abstract operands to binary operators.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4850
 * #4850 [naga wgsl-in] Support abstract operands to binary operators.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4850
 * #4870 [naga wgsl] Let unary operators accept and produce abstract types.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4870
 * #4867 Reintroduce buffer snatching Part 1
   By nical in https://github.com/gfx-rs/wgpu/pull/4867
 * #4882 Bump zerocopy from 0.7.26 to 0.7.31
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4882
 * #4878 Buffer snatching part 2 - Refactor create_buffer
   By nical in https://github.com/gfx-rs/wgpu/pull/4878
 * #4815 Add `wgpu` crate features for backends
   By daxpedda in https://github.com/gfx-rs/wgpu/pull/4815
 * #4887 Allow clippy::pattern_type_mismatch
   By nical in https://github.com/gfx-rs/wgpu/pull/4887
 * #4886 Document wgpu & wgpu-core features
   By Wumpf in https://github.com/gfx-rs/wgpu/pull/4886
 * #4826 validation: More detailed on incompatible BGL
   By scoopr in https://github.com/gfx-rs/wgpu/pull/4826
 * #4888 Web: add support for more `RawWindowHandle` variants
   By daxpedda in https://github.com/gfx-rs/wgpu/pull/4888
 * #4890 Bump thiserror from 1.0.50 to 1.0.51
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4890
 * #4880 Simplify `ResourceMaps`
   By nical in https://github.com/gfx-rs/wgpu/pull/4880
 * #4891 Make the naga version in trunk as high as the latest published one
   By nical in https://github.com/gfx-rs/wgpu/pull/4891
 * #4893 Avoid allocating memory every time we might log a label
   By nical in https://github.com/gfx-rs/wgpu/pull/4893
 * #4894 Remove some locks in BindGroup
   By nical in https://github.com/gfx-rs/wgpu/pull/4894
 * #4862 Ensure that DeviceLostCallbackC is always called exactly once
   By bradwerth in https://github.com/gfx-rs/wgpu/pull/4862
 * #4900 Support Device fence sharing with dx12 on Windows
   By sotaroikeda in https://github.com/gfx-rs/wgpu/pull/4900
 * #4903 Bump tokio from 1.35.0 to 1.35.1
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4903
 * #4895 Check that raw buffers and raw bind groups are valid
   By nical in https://github.com/gfx-rs/wgpu/pull/4895
 * #4901 fix: docs
   By miaobuao in https://github.com/gfx-rs/wgpu/pull/4901
 * #4892 Simplify some code around buffer unmapping
   By nical in https://github.com/gfx-rs/wgpu/pull/4892
 * #4896 Buffer snatching
   By nical in https://github.com/gfx-rs/wgpu/pull/4896
 * #4851 Eagerly release GPU resources when we lose the device.
   By bradwerth in https://github.com/gfx-rs/wgpu/pull/4851
 * #4906 Use nightly for docs
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4906
 * #4908 Bump syn from 2.0.41 to 2.0.42
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4908
 * #4909 Bump profiling from 1.0.12 to 1.0.13
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4909
 * #4910 Bump anyhow from 1.0.75 to 1.0.76
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4910
 * #4913 Remove id32 Feature
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4913
 * #4914 Add BGL Deduplication Index Test
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4914
 * #4921 Fix typo "layout pipeline layout" -> "pipeline layout"
   By HactarCE in https://github.com/gfx-rs/wgpu/pull/4921
 * #4922 Bump winit from 0.29.4 to 0.29.5
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4922
 * #4924 Inline `document-features` usage, remove dep.
   By ErichDonGubler in https://github.com/gfx-rs/wgpu/pull/4924
 * #4871 Speed up Naga's `cargo xtask validate wgsl` from 12s to 0.8s
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4871
 * #4871 Speed up Naga's `cargo xtask validate wgsl` from 12s to 0.8s
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4871
 * #4871 Speed up Naga's `cargo xtask validate wgsl` from 12s to 0.8s
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4871
 * #4930 Bump winit from 0.29.5 to 0.29.6
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4930
 * #4929 Bump web-time from 0.2.3 to 0.2.4
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4929
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4902 [naga xtask] Run validation jobs in parallel, using jobserver.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4902
 * #4940 Align `wgpu_types::CompositeAlphaMode` serde serializations to spec
   By littledivy in https://github.com/gfx-rs/wgpu/pull/4940
 * #4936 Bump anyhow from 1.0.76 to 1.0.77
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4936
 * #4933 Bump thiserror from 1.0.51 to 1.0.52
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4933
 * #4932 Bump syn from 2.0.42 to 2.0.43
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4932

Differential Revision: https://phabricator.services.mozilla.com/D197519
2024-01-03 09:33:06 +00:00
Lee Salzman 8a291077ea Bug 1872646 - Only use DrawTargetWebgl::BeginFrame when actually mutating a canvas. r=aosmond
It's wasteful to call DrawTargetWebgl::BeginFrame if we're locking in a read-only mode. It may
also mess up DrawTargetWebgl's internal profiling if we count a read-only use as an actual frame.

Differential Revision: https://phabricator.services.mozilla.com/D197483
2024-01-02 19:35:04 +00:00
Jonathan Kew 5f8f825e05 Bug 1872545 - Hoist color-font palette cache out of TextRunDrawParams to the nsPresContext or CanvasRenderingContext2D, for greater effectiveness. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D197463
2024-01-02 13:12:29 +00:00
Narcis Beleuzu 6a84e2feb4 Backed out changeset e959df5e9484 (bug 1872545) for bustages on COLRFonts.cpp 2024-01-02 13:50:05 +02:00
Jonathan Kew 6a8e2f2bb9 Bug 1872545 - Hoist color-font palette cache out of TextRunDrawParams to the nsPresContext or CanvasRenderingContext2D, for greater effectiveness. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D197463
2024-01-02 09:52:49 +00:00
Jeff Muizelaar 8f39544d6a Bug 1872548 - Convert to MOZ_ASSERT inside GetBlobItemDataForGroup. r=gfx-reviewers,lsalzman
This code is pretty hot during display list building/grouping, so
let's only assert in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D197464
2024-01-01 00:34:32 +00:00
Lee Salzman f9e6ed2f41 Bug 1872522 - Decouple recorded texture locking from presentation. r=aosmond,gfx-reviewers
The idea of trying to obsolete the presented texture from the last frame when
creating a new texture, if we believe it wasn't used, seems problematic and
may not actually address the fundamental issue at hand.

It seems more like there are use-cases where the recorded texture is locked
and unlocked many times in succession, whereas we actually only intend to
present it once.

This decouples the TextureLock/TextureUnlock events from a new PresentTexture
event which handles the actual creation of remote texture ids, so that regardless
of how many times we lock/unlock the recorded texture, we don't actually churn
presentation unless we truly need to. This seems like a better way of addressing
the memory reuse issue than trying to remove textures since we don't create them
in the first place.

Differential Revision: https://phabricator.services.mozilla.com/D197453
2023-12-31 19:09:20 +00:00
Cosmin Sabou b3bbb5ca75 Backed out changeset 22c07e92d841 (bug 1868928) for causing memory leaks. 2023-12-30 14:52:41 +02:00
sotaro 695be3b0cd Bug 1868928 - Handle ApplyAsyncImageForPipeline() for AsyncImagePipeline of sync WebRenderImageHost after waiting RemoteTextures ready at WebRenderAPI r=gfx-reviewers,lsalzman
This is preparation for Bug 1868927.

By deferring ApplyAsyncImageForPipeline() for TextureHost in AsyncImagePipeline of synchronous WebRenderImageHost, ApplyAsyncImageForPipeline() can be called after the RemoteTextureHostWrapper is in the ready state.

Differential Revision: https://phabricator.services.mozilla.com/D197320
2023-12-30 11:27:21 +00:00
Lee Salzman b1d89237e5 Bug 1872327 - Don't leak runnables on shutdown in nsThreadPool. r=aosmond
It looks like this was an oversight in bug 1155059, that in one place an
already_AddRefed does not get converted to a RefPtr.

Differential Revision: https://phabricator.services.mozilla.com/D197374
2023-12-29 06:37:44 +00:00
Lee Salzman c4905b4957 Bug 1872159 - Remove assert in CanvasTranslator::FinishShutdown. r=aosmond
While the assert is well-intentioned, it is mostly just causing more problems
than it solves. Due to the nature of shutdown, are in a partially shutdown state
where sCanvasRenderThread goes away, even though the CanvasRender thread still
exists and is processing the last events in the queue. Because of this, the assert
fails, even though we are actually on the correct thread. It seems reasonable here
to just remove the assert in FinishShutdown, since ActorDestroy already verifies
we are on the correct thread.

Depends on D197374

Differential Revision: https://phabricator.services.mozilla.com/D197375
2023-12-28 20:45:30 +00:00
Norisz Fay 4d542e529c Backed out 3 changesets (bug 1872087, bug 1767344, bug 1872159) for causing gpu related leak failures CLOSED TREE
Backed out changeset 2c0ef884644c (bug 1872087)
Backed out changeset 0cf50076e7ee (bug 1872159)
Backed out changeset a4148511920c (bug 1767344)
2023-12-28 21:24:33 +02:00
Lee Salzman cfae6da88d Bug 1872159 - Remove assert in CanvasTranslator::FinishShutdown. r=aosmond
While the assert is well-intentioned, it is mostly just causing more problems
than it solves. Due to the nature of shutdown, are in a partially shutdown state
where sCanvasRenderThread goes away, even though the CanvasRender thread still
exists and is processing the last events in the queue. Because of this, the assert
fails, even though we are actually on the correct thread. It seems reasonable here
to just remove the assert in FinishShutdown, since ActorDestroy already verifies
we are on the correct thread.

Depends on D197374

Differential Revision: https://phabricator.services.mozilla.com/D197375
2023-12-28 16:31:07 +00:00
Narcis Beleuzu a5e86bb061 Backed out 2 changesets (bug 1870085, bug 1870395) as req by jrmuizel for causing regressions
Backed out changeset ec1150940506 (bug 1870395)
Backed out changeset 50dcd8b0416d (bug 1870085)
2023-12-28 18:03:57 +02:00
Makoto Kato 32c60cf33b Bug 1871901 - Don't build cpu-features.c in pixman if not Android/arm32. r=gfx-reviewers,lsalzman
pixman-arm.c uses cpu-features.h, but this is only for arm32 now.

Differential Revision: https://phabricator.services.mozilla.com/D197290
2023-12-28 03:51:48 +00:00
Lee Salzman 322f03f420 Bug 1872087 - Share recycled texture data across remote texture owners on a single client. r=sotaro,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D197324
2023-12-27 14:56:24 +00:00
Lee Salzman d5b5e8f109 Bug 1871744 - Use FIFO queue for recycling textures instead of stack. r=sotaro,gfx-reviewers
Moving to a FIFO queue means that textures that were just pushed into the recycling
queue will be reused last, reducing the amount of possible lock contention.

Differential Revision: https://phabricator.services.mozilla.com/D197291
2023-12-26 07:57:49 +00:00
sotaro 2c1cb667af Bug 1871744 - Remove ALLOC_MANUAL_SYNCHRONIZATION in CanvasTranslator::CreateTextureData() r=gfx-reviewers,lsalzman
ALLOC_MANUAL_SYNCHRONIZATION could be used only when ID3D11Texture2D is allocated by compositor device. But canvas device is not compositor device.

Differential Revision: https://phabricator.services.mozilla.com/D197276
2023-12-26 07:50:08 +00:00
Lee Salzman bdfc369603 Bug 1871811 - Keep texture datas locked over lifetime in CanvasTranslator. r=gfx-reviewers,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D197282
2023-12-26 07:48:24 +00:00
Lee Salzman 08899071a2 Bug 1871811 - Restore some locking in CanvasTranslator. r=aosmond,gfx-reviewers
It seems that locking has side-effect other than synchronization for
some backends, such as mapping data into readable/writeable memory. We
need to leave the lock calls in place, but so long as we leave
ALLOC_MANUAL_SYNCHRONIZATION in place for D2D, we will avoid created
a KeyedMutex which should still avoid synchronization overheads.

Meanwhile, incidental finding that a bug was caused by 1861605,
meaning KeyedMutexes stopped getting properly initialized in any case.
This fixes that too.

Differential Revision: https://phabricator.services.mozilla.com/D197271
2023-12-25 17:07:34 +00:00
Lee Salzman f374a44fba Bug 1871841 - Unregister remote texture owner when removing texture id. r=gfx-reviewers,jnicol
When we use a TextureData instead of a DrawTargetWebgl, we manually register a remote
texture owner on CanvasTranslator's RemoteTextureOwnerClient. Unlike DrawTargetWebgl,
this client will stick around after the texture info goes away, so we need to also
manually unregister it when removing a texture id.

Differential Revision: https://phabricator.services.mozilla.com/D197264
2023-12-25 09:43:57 +00:00