aboutsummaryrefslogtreecommitdiffstats
path: root/components/webgpu
Commit message (Collapse)AuthorAgeFilesLines
* Use workspace definitions for all crates and update to the 2021 edition (#32544)Martin Robinson2024-06-181-5/+5
|
* webgpu: Implement device lost (#32354)Samson2024-06-173-27/+88
| | | | | | | | | | | | | * device lost promise should be init at creation of device object * device lost impl * lock for device poll workaround for wgpu deadlocks * expect * Less lost reason reasoning in script
* webgpu: Enable gles support (#32452)Hieu Do2024-06-091-1/+1
|
* webgpu: Parse and forward backend prefs to wgpu (#32410)Hieu Do2024-05-311-2/+14
| | | Signed-off-by: Hieu Do <hieudn.uh@gmail.com>
* clippy: Fix warnings in `components/webgpu/wgpu_thread.rs` (#32392)Farid2024-05-311-30/+25
| | | | | | | | | | | | | * clippy: Fix warnings in `components/webgpu/wgpu_thread.rs` Signed-off-by: Jujumba <far77578@gmail.com> * clippy: `test-tidy` failure in `components/webgpu/wgpu_thread.rs` Signed-off-by: Jujumba <far77578@gmail.com> --------- Signed-off-by: Jujumba <far77578@gmail.com>
* webgpu: Move errorscopes to WGPU thread (#32304)Samson2024-05-225-118/+297
| | | | | | | | | | | | | | | | | | | | | * Prepare errorscopes logic in wgpu_thread * remove scope_id from ipc * new GPUErrors per spec * remove cotent timeline error_scope * fixup poperrorscope types * device_scope -> gpu_error and nice errors * Handle errors detection more elegantly * good expectations * new expectations * Make error_scope.errors Vec as per spec
* Move non-gfx things out of `gfx_traits` and create a `base` crate (#32296)Martin Robinson2024-05-174-4/+4
| | | | | | | | | | | | | | | | | | | | | | | For a long time, `gfx_traits` has held a lot of things unrelated to graphics and also unrelated to the `gfx` crate (which is mostly about fonts). This is a cleanup which does a few things: 1. Move non `gfx` crate things out of `gfx_traits`. This is important in order to prevent dependency cycles with a different integration between layout, script, and fonts. 2. Rename the `msg` crate to `base`. It didn't really contain anything to do with messages and instead mostly holds ids, which are used across many different crates in Servo. This new crate will hold the *rare* data types that are widely used. Details: - All BackgroundHangMonitor-related things from base to a new `background_hang_monitor_api` crate. - Moved `TraversalDirection` to `script_traits` - Moved `Epoch`-related things from `gfx_traits` to `base`. - Moved `PrintTree` to base. This should be widely useful in Servo. - Moved `WebrenderApi` from `base` to `webrender_traits` and renamed it to `WebRenderFontApi`.
* webgpu: Use WGPU poller thread for poll_all_devices (#32266)Samson2024-05-153-22/+149
| | | | | | | | | | | * Use special WGPU poller thread for poll_all_devices * Switch to latest wgpu This is required to fix some deadlocks. * non-blocking poll unconditionally * small fixes
* webgpu: Refactor webgpu crate (#32255)Samson2024-05-085-1383/+1448
| | | | | | | * wgpu(_core) -> wgc * Refactor webgpu crate split lib.rs into multiple modules
* webgpu: Update to wgpu 0.20 (#32173)Samson2024-05-081-7/+33
| | | | | | | | | | | * Update wgpu to 0.20 * good expectations * Throw TypeError in configure on unsupported format instead of panic * Expect * `into_command_buffer_id`,`into_command_encoder_id`
* webgpu: Use safe callbacks & try_recv_timeout (#32008)Samson2024-04-301-164/+95
| | | | | | | | | | | | | * Use safe callback in SwapChainPresent and remove present_buffer_maps * Use rust closure in BufferMapAsync * Remove buffer_maps and dead code elimination * scope id passthrough * Inline callbacks * try_recv timeout and halve DEVICE_POLL_INTERVAL
* webgpu: Update wgpu to 0.19 (#31995)Samson2024-04-263-197/+206
| | | | | | | | | | | * Update wgpu to https://github.com/gfx-rs/wgpu/commit/32e70bc1635905c508d408eb1cf22b2aa062ffe1 (0.19) * Update expect only good * reexpect * remove dbg stuff * Remove all occurrences of dx11_hub
* webgpu: Implement onSubmittedWorkDone (#31772)Samson2024-04-041-0/+18
| | | | | | | | | | | | | | | | | | | | | | | * Implement onSubmittedWorkDone * Use rust closures for callback & actually remove entries from hashmap. * Remove hashmap * Fix warnings * Update expectations * clean flaky crashes * re * Update components/script/dom/gpuqueue.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* clippy: Fix assorted warnings in `components/` (#31628)eri2024-03-131-3/+9
| | | | | | | * clippy: fix assorted warnings in `components/` * fix: new and default * fix: review comments
* clippy: fix warnings in various modules in components (#31568)eri2024-03-081-11/+3
| | | | | | | | | * clippy: fix warnings in various modules in components * fix: unit tests * fix: build on android * fix: all samplers use new_boxed
* Move Stylo to its own repo (#31350)Delan Azabani2024-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove packages that were moved to external repo * Add workspace dependencies pointing to 2023-06-14 branch * Fix servo-tidy.toml errors * Update commit to include #31346 * Update commit to include servo/stylo#2 * Move css-properties.json lookup to target/doc/stylo * Remove dependency on vendored mako in favour of pypi dependency This also removes etc/ci/generate_workflow.py, which has been unused since at least 9e71bd6a7010d6e5723831696ae0ebe26b47682f. * Add temporary code to debug Windows test failures * Fix failures on Windows due to custom target dir * Update commit to include servo/stylo#3 * Fix license in tests/unit/style/build.rs * Document how to build with local Stylo in Cargo.toml
* Fix failed request for adapter when not available (#31002)Taym Haddadi2024-01-091-13/+13
| | | Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* WebGPU: always send exit message to script before exiting (#30989)Gregory Terzian2024-01-031-6/+6
| | | | | | | | | * webgpu: always send exit message to script before exiting * Update expectations --------- Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Update wgpu to 0.18.1 (#30926)Samson2023-12-253-6/+11
| | | | | | | * Update wgpu to 0.18.1 * Fix webgpu code * tidy
* Move `*_traits` and other shared types to `shared`Martin Robinson2023-11-031-2/+2
| | | | | | | | | | | | This is the start of the organization of types that are in their own crates in order to break dependency cycles between other crates. The idea here is that putting these packages into their own directory is the first step toward cleaning them up. They have grown organically and it is difficult to explain to new folks where to put new shared types. Many of these crates contain more than traits or don't contain traits at all. Notably, `script_traits` isn't touched because it is vendored from Gecko. Eventually this will move to `third_party`.
* Add GPUSupportedFeatures and update GPUSupportedLimits (#30359)Samson2023-09-141-0/+5
| | | | | | | * GPUSupportedFeatures * New supported limits * Update expectations
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-112-37/+35
| | | | | * strict imports formatting * Reformat all imports
* Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 (#30323)Martin Robinson2023-09-102-4/+3
| | | | | | | | | | | | | | | | | | * Upgrade vendored version of WebRender * Patch WebRender: upgrade version of gleam * Restore hit testing implementation * Fix WebRender warnings * Adapt Servo to new WebRender * Update results * Add a workaround for #30313 This slightly expands text boundaries in order to take into account the fact that layout isn't measuring glyph boundaries.
* remove `extern crate` (#30311)Samson2023-09-082-11/+10
| | | | | | | | | | | * remove extern crate * Update components/script_plugins/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Update wgpu to 0.17 (#30147)Samson2023-08-213-9/+9
|
* Upgrade whole webgpu stack (#29795)Samson2023-08-203-176/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow noidl files in script/dom/webidls * Upgrade wgpu to 0.16 and refresh whole webgpu implementation * Update WebGPU test expectations * misc * MutNullableDom -> DomRefCell<Option<Dom for GPUTexture * Direct use of GPUTextureDescriptor * Remove config from GPUCanvasContext * misc * finally blue color * gpubuffer "handle" error * GPU object have non-null label * gpu limits and info * use buffer_size * fix warnings * Cleanup * device destroy * fallback adapter * mach update-webgpu write webgpu commit hash in file * Mising deps in CI for webgpu tests * Updated expectations * Fixups * early reject * DomRefCell<Option<Dom -> MutNullableDom for GPUTexture
* Try to `use` WebRender types moreMartin Robinson2023-07-101-18/+22
| | | | | The newer versions of WebRender move types around between `webrender` and `webrender_api` and this will reduce the churn during the upgrade.
* Vendor the current version of WebRenderMartin Robinson2023-07-031-1/+1
| | | | | | | | This is a step toward upgrading WebRender, which will be upgraded and patched in the `third_party` directory. This change vendors the current private branch of WebRender that we use and adds a `patches` directory which tracks the changes on top of the upstream WebRender commit described by third_party/webrender/patches/head.
* Start the transition to workspace dependenciesMartin Robinson2023-05-171-6/+6
| | | | | | | This will ultimately make it simpler to update crate dependencies and reduce duplicate when specifying requirements. Generally, this change does not touch dependencies that are only used by a single crate. We could consider moving them to workspace dependencies in the future.
* Bump euclid to 0.22Martin Robinson2023-01-261-1/+1
| | | | | | | | | | | | | - Also updates raqote to latest with an upgrade of font-kit to 0.11 applied on as a patch - Update lyon_geom to the latest version Major change: - All matrices are now stored in row major order. This means that parameters to rotation functions no longer should be negated. - `post_...()` functions are now named `then()`. `pre_transform()` is removed, so `then()` is used and the order of operations changed.
* chore(deps): bump `smallvec` from 0.6 to 1.9 in all local packagesyvt2022-10-101-1/+1
| | | | | `smallvec ^0.6` no longer compiles after `nightly-2022-07-15` if the `union` feature is enabled.
* fixup! Update arrayvec.Josh Matthews2022-04-011-2/+4
|
* Update arrayvec.Josh Matthews2022-04-012-7/+7
|
* Pin git revisions of dependencies that aren't compatible in newer revisions.Josh Matthews2020-11-121-2/+2
|
* Use Device limits and features provided by userKunal Mohan2020-09-231-2/+2
| | | | Spec update
* prevent unconditional cloning of resultsKunal Mohan2020-08-271-9/+9
|
* Prevent redundant texture and buffer destroy callsKunal Mohan2020-08-251-7/+5
|
* fix presentation beltKunal Mohan2020-08-231-6/+9
|
* defer encoding errors to finish()Kunal Mohan2020-08-221-26/+34
|
* upgrade wgpu to v0.6Kunal Mohan2020-08-222-2/+4
|
* Implement GPUPipelineBase for implicit pipeline layoutsKunal Mohan2020-08-191-4/+45
|
* update wgpuKunal Mohan2020-08-161-70/+26
|
* Remove entries from error_command_buffers on dropKunal Mohan2020-08-081-0/+4
|
* Record errors in GPUCommandEncoder.BeginPass() and EncoderPass.endPass()Kunal Mohan2020-08-071-17/+43
|
* Register invalid resources separatelyKunal Mohan2020-08-061-51/+115
|
* update wgpuKunal Mohan2020-08-061-11/+10
|
* Change ErrorScopeId type to NonZeroU64Kunal Mohan2020-08-032-66/+22
| | | | And extract it from WebGPURequest
* Record validation error in mapAsync()Kunal Mohan2020-08-021-1/+6
|
* Error handling for promise returning operationsKunal Mohan2020-08-021-15/+31
|
* Report errors from void returning operationsKunal Mohan2020-08-011-11/+55
|