Commit Graph
135 Commits
Author SHA1 Message Date
Andy Leiserson af98916ed1 Bug 2006720 - Expose additional WebGPU limits r=webgpu-reviewers,webidl,teoxoy,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D288807
2026-03-28 01:15:04 +00:00
Sylvestre Ledru 9eb1a31a98 Bug 2023419 - Remove Emacs/Vim modelines from dom/ r=emilio,media-playback-reviewers,webidl,padenot
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287843
2026-03-16 21:02:32 +00:00
André Bargull 22f5b5c7c5 Bug 2020608 - Part 12: Replace IsPowerOfTwo with std::has_single_bit outside of js/. r=sergesanspaille,profiler-reviewers,win-reviewers,gstoll,canaltinova
`mozilla::IsPowerOfTwo` is used in more code than the previous functions, so split
up the updates in three parts. This part updates non-SpiderMonkey code to use
`std::has_single_bit`. The next part updates SpiderMonkey code and the last part
finally removes `mozilla::IsPowerOfTwo`.

Differential Revision: https://phabricator.services.mozilla.com/D286320
2026-03-14 14:08:50 +00:00
Atila Butkovits 3578df2975 Revert "Bug 2020608 - Part 17: Use std::rot[lr] for Rotate(Left|Right). r=sergesanspaille" for causing bustages at PowerOfTwo.h.
This reverts commit eb884a9f65.

Revert "Bug 2020608 - Part 16: Use std::bit_ceil for RoundUpPow2. r=sergesanspaille"

This reverts commit 35a310aa8a.

Revert "Bug 2020608 - Part 15: Require unsigned integral types for CeilingLog2 and FindMostSignificantBit. r=sergesanspaille,nbp"

This reverts commit f682901ca2.

Revert "Bug 2020608 - Part 14: Remove mozilla::IsPowerOfTwo. r=sergesanspaille"

This reverts commit b998e4bd39.

Revert "Bug 2020608 - Part 13: Replace IsPowerOfTwo with std::has_single_bit in js/. r=sergesanspaille"

This reverts commit 00db5e1f32.

Revert "Bug 2020608 - Part 12: Replace IsPowerOfTwo with std::has_single_bit outside of js/. r=sergesanspaille,profiler-reviewers,win-reviewers,gstoll,canaltinova"

This reverts commit cec056f5d6.

Revert "Bug 2020608 - Part 11: Simplify PowerOfTwo. r=sergesanspaille,profiler-reviewers,canaltinova"

This reverts commit a2ee5b9053.

Revert "Bug 2020608 - Part 10: Prefer std::bit_width in MathAlgorithms.h. r=sergesanspaille"

This reverts commit 89d966bb97.

Revert "Bug 2020608 - Part 9: Prefer std::bit_width instead of std::countl_zero in js/src. r=sergesanspaille"

This reverts commit da9a43075a.

Revert "Bug 2020608 - Part 8: Replace CountTrailingZeroes with std::countr_zero. r=sergesanspaille"

This reverts commit d77ca273cb.

Revert "Bug 2020608 - Part 7: Replace CountLeadingZeroes32 with std::countl_zero or std::countl_one. r=sergesanspaille,nbp,profiler-reviewers,canaltinova"

This reverts commit 94929ae729.

Revert "Bug 2020608 - Part 6: Replace CountLeadingZeroes64 with std::countl_zero. r=sergesanspaille,profiler-reviewers,canaltinova"

This reverts commit 9b428168df.

Revert "Bug 2020608 - Part 5: Replace CountTrailingZeroes32 with std::countr_zero. r=sergesanspaille,manuel"

This reverts commit d3e77036b2.

Revert "Bug 2020608 - Part 4: Replace CountTrailingZeroes64 with std::countr_zero or std::countr_one. r=sergesanspaille"

This reverts commit 6a7bcee10e.

Revert "Bug 2020608 - Part 3: Replace CountPopulation32 with std::popcount. r=sergesanspaille"

This reverts commit e7b204177b.

Revert "Bug 2020608 - Part 2: Replace CountPopulation64 with std::popcount. r=sergesanspaille"

This reverts commit 1d6f98a622.

Revert "Bug 2020608 - Part 1: Add <bit> C++20 definitions to std.py. r=sergesanspaille"

This reverts commit 3ee4c6dcab.
2026-03-13 21:11:22 +00:00
André Bargull cec056f5d6 Bug 2020608 - Part 12: Replace IsPowerOfTwo with std::has_single_bit outside of js/. r=sergesanspaille,profiler-reviewers,win-reviewers,gstoll,canaltinova
`mozilla::IsPowerOfTwo` is used in more code than the previous functions, so split
up the updates in three parts. This part updates non-SpiderMonkey code to use
`std::has_single_bit`. The next part updates SpiderMonkey code and the last part
finally removes `mozilla::IsPowerOfTwo`.

Differential Revision: https://phabricator.services.mozilla.com/D286320
2026-03-13 20:20:10 +00:00
Jim Blandy cb0491c7ba Bug 2014617: Remove redundant constructors in WebGPU bindings. r=webgpu-reviewers,teoxoy
Remove unnecessary explicit `mfbt::RefPtr` construction from
initializer lists in `dom/webgpu` code. Use `std::move` where
appropriate.

Differential Revision: https://phabricator.services.mozilla.com/D281895
2026-02-09 20:29:52 +00:00
Teodor Tanasoaia c3cd2ab853 Bug 2005105 - Make all mPendingXPromises fields private and add enqueue/dequeue methods to access them. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D279653
2026-01-23 17:34:06 +00:00
Erich Gubler 314aba957b Bug 1989116 - feat(webgpu): recognize primitive-index as unimplemented GPUSupportedFeature r=webgpu-reviewers,webidl,smaug,nical
Differential Revision: https://phabricator.services.mozilla.com/D265159
2025-09-25 02:53:23 +00:00
Teodor Tanasoaia 03a627fbce Bug 1981225 - Consolidate ID-related logic in ObjectBase. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D261942
2025-08-27 11:22:00 +00:00
agoloman db150f25f2 Revert (Bug 1981187, Bug 1981225) - for causing build bustages RenderBundle.cpp.
This reverts commit cb3f1a84bb.

Revert "Bug 1981225 - Consolidate ID-related logic in `ObjectBase`. r=webgpu-reviewers,ErichDonGubler"

This reverts commit 793a7e81db.
2025-08-26 14:12:22 +00:00
Teodor Tanasoaia 793a7e81db Bug 1981225 - Consolidate ID-related logic in ObjectBase. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D261942
2025-08-26 13:23:27 +00:00
agoloman 167b30ae21 Revert (Bug 1981187, Bug 1981225)- for causing build bustages @RefPtr.h.
This reverts commit 5fb5283ac4.

Revert "Bug 1981225 - Consolidate ID-related logic in `ObjectBase`. r=webgpu-reviewers,ErichDonGubler"

This reverts commit 2d0cd2975f.
2025-08-26 11:18:12 +00:00
Teodor Tanasoaia 2d0cd2975f Bug 1981225 - Consolidate ID-related logic in ObjectBase. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D261942
2025-08-26 10:07:28 +00:00
Erich Gubler f801445744 Bug 1982674 - typo(webgpu): add space b/w sentences in device feat. diagnostic
Differential Revision: https://phabricator.services.mozilla.com/D260857
2025-08-12 22:15:50 +00:00
Emilio Cobos Álvarez 791917d8af Bug 1976665 - Sort headers in dom/. r=dom-core,media-playback-reviewers,webrtc-reviewers,dom-storage-reviewers,padenot,janv,smaug,jesup,jib
Most changes are automated. Relevant bit is dom/.clang-format. I had to
manually disable clang-format in a few places where importing external
files and so on that aren't self-contained, and fix a couple includes /
forward declarations.

Differential Revision: https://phabricator.services.mozilla.com/D256800
2025-08-05 11:47:34 +00:00
Teodor Tanasoaia 2ed25cea01 Bug 1975714 - Move remaining ID creation/destruction into resource creation/destruction functions. r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D258240
2025-07-25 16:34:44 +00:00
Teodor Tanasoaia 3f1ce44081 Bug 1975714 - Do not immediately resolve the lost promise on device.destroy(). r=webgpu-reviewers,nical
We can't immediately resolve the lost promise on `device.destroy()`
since it has to be well-ordered with the resolution of other promises.

I previously mentioned I had to demote 2 tests from tier 2 because I
thought they were relying on promise ordering that the spec doesn't
guarantee. Looking at the spec more throughly it turns out that the
specific steps outlined in the spec do guarantee the ordering but
the more succint "Promise Ordering" section does not mention this.

Tests in question:
https://gpuweb.github.io/cts/standalone/?q=webgpu:api,validation,state,device_lost,destroy:createComputePipelineAsync:*
https://gpuweb.github.io/cts/standalone/?q=webgpu:api,validation,state,device_lost,destroy:createRenderPipelineAsync:*

Differential Revision: https://phabricator.services.mozilla.com/D256126
2025-07-25 16:34:15 +00:00
Sandor Molnar 752f8e9d7d Revert "Bug 1975714 - Promote tests out of backlog. r=webgpu-reviewers,nical" for causing build bustages @ ComputePassEncoder.cpp
This reverts commit 22fb6f2691.

Revert "Bug 1975714 - Update backlog expectations. r=webgpu-reviewers,nical"

This reverts commit 72b4644a09.

Revert "Bug 1975714 - Use `MOZ_CAN_RUN_SCRIPT_BOUNDARY` for `reportCompilationMessagesToConsole`. r=webgpu-reviewers,ErichDonGubler"

This reverts commit 4394625f93.

Revert "Bug 1975714 - Assert that the IDs in server messages are the same as the ones the `WebGPUChild` actor expects. r=webgpu-reviewers,nical"

This reverts commit 5ce8cf9b12.

Revert "Bug 1978369 - Stop leaking queues. r=webgpu-reviewers,nical"

This reverts commit 32ab875eab.

Revert "Bug 1975714 - Move remaining ID creation/destruction into resource creation/destruction functions. r=webgpu-reviewers,nical"

This reverts commit 122e1a6529.

Revert "Bug 1975714 - Replace uses of `make_slice` with  `FfiSlice`. r=webgpu-reviewers,ErichDonGubler"

This reverts commit 62add844bf.

Revert "Bug 1975714 - Use `FfiSlice` in remaining places. r=webgpu-reviewers,ErichDonGubler"

This reverts commit 3812af72dd.

Revert "Bug 1975714 - Use an opaque pointer for `WebGPUParent`. r=webgpu-reviewers,ErichDonGubler"

This reverts commit bf83ea6553.

Revert "Bug 1975714 - Remove unneeded `#[allow(dead_code)]`. r=webgpu-reviewers,ErichDonGubler"

This reverts commit a84b40d4b8.

Revert "Bug 1977861 - Stop leaking BGLs returned by GPUPipelineBase.getBindGroupLayout(). r=webgpu-reviewers,ErichDonGubler"

This reverts commit b5ec027bf9.

Revert "Bug 1975714 - Turn function pointers into extern fns. r=webgpu-reviewers,nical"

This reverts commit d3681b7012.

Revert "Bug 1975714 - Make sure to resolve/reject all pending promises in `ClearActorState`. r=webgpu-reviewers,nical"

This reverts commit 2f607174ce.

Revert "Bug 1975714 - Do not immediately resolve the lost promise on `device.destroy()`. r=webgpu-reviewers,nical"

This reverts commit 1c10e1f698.

Revert "Bug 1960399 - Reject async pipeline creation with `GPUPipelineError`. r=webgpu-reviewers,nical"

This reverts commit ee47165e63.

Revert "Bug 1975714 - Correct comments. r=webgpu-reviewers,nical"

This reverts commit 9e0aabda0e.
2025-07-24 18:02:12 +00:00
Teodor Tanasoaia 122e1a6529 Bug 1975714 - Move remaining ID creation/destruction into resource creation/destruction functions. r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D258240
2025-07-24 17:05:41 +00:00
Teodor Tanasoaia 1c10e1f698 Bug 1975714 - Do not immediately resolve the lost promise on device.destroy(). r=webgpu-reviewers,nical
We can't immediately resolve the lost promise on `device.destroy()`
since it has to be well-ordered with the resolution of other promises.

I previously mentioned I had to demote 2 tests from tier 2 because I
thought they were relying on promise ordering that the spec doesn't
guarantee. Looking at the spec more throughly it turns out that the
specific steps outlined in the spec do guarantee the ordering but
the more succint "Promise Ordering" section does not mention this.

Tests in question:
https://gpuweb.github.io/cts/standalone/?q=webgpu:api,validation,state,device_lost,destroy:createComputePipelineAsync:*
https://gpuweb.github.io/cts/standalone/?q=webgpu:api,validation,state,device_lost,destroy:createRenderPipelineAsync:*

Differential Revision: https://phabricator.services.mozilla.com/D256126
2025-07-24 17:05:12 +00:00
Jamie Nicol b20a20439a Bug 1975457 - Rename webgpu::ExternalTexture to SharedTexture. r=webgpu-reviewers,nical
An ExternalTexture is a texture that is created and owned by gecko,
but shared with the webgpu implementation. It is used for webgpu
presentation. While this name describes the class well, it is
confusing due to webgpu having an entirely unrelated concept of
GPUExternalTexture.

This patch renames ExternalTexture, and all of its subclasses and
uses, to SharedTexture. This still describes the purpose accurately,
and has similarities to gl::SharedSurface which serves a similar
purpose for our webgl implementation.

Differential Revision: https://phabricator.services.mozilla.com/D255976
2025-07-03 19:02:24 +00:00
Sandor Molnar efedf71198 Revert "Bug 1975457 - Rename webgpu::ExtTex to ExternalTexture. r=webgpu-reviewers,nical" for causing build bustages @ ExternalTexture.cpp
This reverts commit 482781f3aa.

Revert "Bug 1975457 - Rename webgpu::ExternalTexture to SharedTexture. r=webgpu-reviewers,nical"

This reverts commit 0acc41c66b.
2025-07-03 17:59:24 +00:00
Jamie Nicol 0acc41c66b Bug 1975457 - Rename webgpu::ExternalTexture to SharedTexture. r=webgpu-reviewers,nical
An ExternalTexture is a texture that is created and owned by gecko,
but shared with the webgpu implementation. It is used for webgpu
presentation. While this name describes the class well, it is
confusing due to webgpu having an entirely unrelated concept of
GPUExternalTexture.

This patch renames ExternalTexture, and all of its subclasses and
uses, to SharedTexture. This still describes the purpose accurately,
and has similarities to gl::SharedSurface which serves a similar
purpose for our webgl implementation.

Differential Revision: https://phabricator.services.mozilla.com/D255976
2025-07-03 16:41:02 +00:00
Erich Gubler a9082018c0 Bug 1973770 - feat(webgpu): add GPUDevice.adapterInfo r=webgpu-reviewers,webidl,nical,smaug
Differential Revision: https://phabricator.services.mozilla.com/D254851
2025-06-28 03:47:17 +00:00
Serban Stanca c95e9f26e6 Revert "Bug 1973770 - feat(webgpu): add GPUDevice.adapterInfo r=webgpu-reviewers,webidl,nical,smaug" for causing build bustages in Device.h.
This reverts commit 1c1098ec61.

This reverts commit 50278ff45f.

This reverts commit a2b1140f55.
2025-06-27 23:13:25 +00:00
Erich Gubler 1c1098ec61 Bug 1973770 - feat(webgpu): add GPUDevice.adapterInfo r=webgpu-reviewers,webidl,nical,smaug
Differential Revision: https://phabricator.services.mozilla.com/D254851
2025-06-27 18:34:09 +00:00
Teodor Tanasoaia 045d762e13 Bug 1968122 - Queue messages in WebGPUChild. r=webgpu-reviewers,profiler-reviewers,canaltinova,nical
Differential Revision: https://phabricator.services.mozilla.com/D253977
2025-06-23 15:17:19 +00:00
Teodor Tanasoaia e000a13390 Bug 1968122 - Move AdapterRequestDevice into our Message enum. r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D253968
2025-06-23 15:16:52 +00:00
Teodor Tanasoaia 85589a3719 Bug 1968122 - Move QueueWriteAction into our Message enum. r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D253960
2025-06-23 15:16:29 +00:00
Teodor Tanasoaia 34fda53f53 Bug 1968122 - Replace individual Drop/Destroy IPDL messages with our own Message enum. r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D253953
2025-06-23 15:16:09 +00:00
Erich Gubler e7ca90a044 Bug 1955057 - chore(webgpu)!: remove GPUAdapter.isFallbackAdapter r=webgpu-reviewers,webidl,smaug,teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D242391
2025-06-06 07:02:45 +00:00
Sylvestre Ledru 8ae54ea4f9 Bug 1519636 - Reformat recent changes to the Google coding style r=geckoview-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,nalexander,gstoll,tcampbell,janv,julienw
Updated with clang-format version 19.1.7 (taskcluster-DYvBxDZJRVqTi8E7pTSJAQ)

Differential Revision: https://phabricator.services.mozilla.com/D249880
2025-05-17 19:11:13 +00:00
Erich Gubler 7200e21cb4 Bug 1964139 - feat(webgpu): mark texture-compression-astc-sliced-3d as implemented r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D247653
2025-05-08 23:37:42 +00:00
Erich Gubler 671268fd24 Bug 1964139 - fix(webgpu): recognize texture-compression-astc-sliced-3d as a GPUFeature r=webgpu-reviewers,webidl,smaug,nical
Differential Revision: https://phabricator.services.mozilla.com/D247652
2025-05-06 22:10:46 +00:00
Erich Gubler ad11b3767d Bug 1964142 - fix(webgpu): support the texture-compression-bc-sliced-3d feature r=webgpu-reviewers,webidl,smaug,nical
Differential Revision: https://phabricator.services.mozilla.com/D247654
2025-05-06 15:41:13 +00:00
Erich Gubler 5538a4810c Bug 1958278 - feat(webgpu): add core-features-and-limits to GPUSupportedFeature and unconditionally report it r=webgpu-reviewers,webidl,jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D244401
2025-04-08 22:37:10 +00:00
Nicolas Silva 95f7f24088 Bug 1923784 - Set the object labels where it was missing. r=webgpu-reviewers,teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D243449
2025-03-31 14:09:45 +00:00
Erich Gubler 58e940248a Bug 1955425 - chore(webgpu): support RFP for subgroup sizes r=webgpu-reviewers,teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D242427
2025-03-26 03:27:10 +00:00
Erich Gubler bbbd1302b5 Bug 1955417 - feat(webgpu): add support for unimplemented subgroups feature r=webgpu-reviewers,webidl,teoxoy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D242426
2025-03-26 03:27:10 +00:00
Erich Gubler 920660bd58 Bug 1955057 - feat(webgpu): add GPUAdapterInfo.isFallbackAdapter r=webgpu-reviewers,webidl,smaug,teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D242390
2025-03-24 17:56:33 +00:00
Erich Gubler 6d2c5a704d Bug 1891593 - feat(webgpu): enable shader-f16 feature broadcast r=webgpu-reviewers,teoxoy
holy smokes so many macOS failures 😭

Looks like we're probably doing something fundamental and wrong on that
platform, and I bet it's easy to fix.

Differential Revision: https://phabricator.services.mozilla.com/D242393
2025-03-24 14:10:43 +00:00
Erich Gubler a06dab1f5d Bug 1947780 - build(webgpu): update WGPU to 723abcb1d3d182f9a4bf973f02c6da39a4090f23 r=webgpu-reviewers,supply-chain-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D238138
2025-02-18 21:28:29 +00:00
Fatih Kilic 9b0c4f2224 Bug 1939903: Collect WebGPU limits and missing features. r=tjr,webidl,jimb,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D233197
2025-01-23 14:49:45 +00:00
Fatih Kilic 83dba06695 Bug 1940800: Spoof hardware support in RFP. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D233755
2025-01-23 14:49:44 +00:00
Fatih Kilic 403403810b Bug 1940797: Clamp limits in requestAdapter. r=tjr,jimb
Differential Revision: https://phabricator.services.mozilla.com/D233196
2025-01-23 14:49:44 +00:00
Cristian Tuns 6d135d7efe Backed out 5 changesets (bug 1940797, bug 1940800, bug 1940819, bug 1939881, bug 1939903) for causing build bustages in ContentChild.cpp CLOSED TREE
Backed out changeset f632ead9f4bd (bug 1939903)
Backed out changeset 30e9f5c7c5b7 (bug 1940800)
Backed out changeset 7ce4c97719aa (bug 1940797)
Backed out changeset f994cb8875ff (bug 1939881)
Backed out changeset ac7780c78455 (bug 1940819)
2025-01-22 19:42:49 -05:00
Fatih Kilic ca38fb13dd Bug 1939903: Collect WebGPU limits and missing features. r=tjr,webidl,jimb,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D233197
2025-01-22 23:46:33 +00:00
Fatih Kilic 6da71a1a9e Bug 1940800: Spoof hardware support in RFP. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D233755
2025-01-22 23:46:32 +00:00
Fatih Kilic 6d9fe6d3bb Bug 1940797: Clamp limits in requestAdapter. r=tjr,jimb
Differential Revision: https://phabricator.services.mozilla.com/D233196
2025-01-22 23:46:32 +00:00
Erich Gubler 7fb466071d Bug 1933324 - diag(webgpu): incl. Bugzilla URLs in TypeError for recognized-but-unsupported Device features r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D230169
2024-11-26 02:15:33 +00:00