Martin Robinson
0e616e0c5d
api: Flatten and simplify Servo preferences ( #34966 )
...
Flatten and simplify Servo's preferences code. In addition, have both
preferences and options passed in as arguments to `Servo::new()` and
make sure not to use the globally set preferences in `servoshell` (as
much as possible now).
Instead of a complex procedural macro to generate preferences, just
expose a very simple derive macro that adds string based getters and
setters.
- All command-line parsing is moved to servoshell.
- There is no longer the concept of a missing preference.
- Preferences no longer have to be part of the resources bundle because
they now have reasonable default values.
- servoshell specific preferences are no longer part of the preferences
exposed by the Servo API.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-14 13:54:06 +00:00
Samson
05ecb8eddb
webgpu: renovate gpucanvascontext and webgpu presentation to match the spec ( #33521 )
...
* Reimpl gpucanvascontext
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* ValidateTextureDescriptorAndCreateSwapChain
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* reconfigure
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* resize
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* work around deadlocks in wgpu core
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* match spec even more by moving all swapchain operations into one updatecontext
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* error handling
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* enable one test
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* label dummy texture
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* update expect
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* clean some expectation (they are not flaky anymore)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* one more
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* change for configuration change in update_wr_image
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* DEFAULT_IMAGE_FORMAT
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* fixup
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* introduce WebGPUImageDescriptor
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-10-01 10:03:11 +00:00
Samson
687f356db9
webgpu: Factor out swapchain to separate file ( #33367 )
...
* Move some stuff to swapchain.rs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Use typed WebGPUContextId instead of u64
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Extract create_swapchain function and move more stuff in it
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* extract destroy_swapchain
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* extract swapchain_present
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* extract update_wr_image callback
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* fixup
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-09-09 13:29:04 +00:00
Samson
f989d3776e
separate Queue&Device Id ( #32966 )
...
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-08-08 07:53:17 +00:00
Samson
91ca727eb9
webgpu: Divide message code into separate files ( #32700 )
...
* Spilt webgpu ipc messages even more
* Add license to mod.rs
* file docs
2024-07-12 11:01:15 +00:00
Samson
99c1f886b8
webgpu: Update wgpu and revamp RenderPass ( #32665 )
...
* Update wgpu and revamp RenderPass
* Set good expectations
* Set one bad expectation
* send_render_command
* small fixups
* docs
* doc
* Put RenderPass inside PassState
* Use Pass enum for ComputePass too
* fix docs
2024-07-04 12:16:42 +00:00
Samson
794110ebe5
webgpu: Move errorscopes to WGPU thread ( #32304 )
...
* 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
2024-05-22 16:47:35 +00:00
Samson
00f267e289
webgpu: Use WGPU poller thread for poll_all_devices ( #32266 )
...
* 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
2024-05-15 03:36:01 +00:00
Samson
168d43f24a
webgpu: Refactor webgpu crate ( #32255 )
...
* wgpu(_core) -> wgc
* Refactor webgpu crate
split lib.rs into multiple modules
2024-05-08 13:53:39 +00:00
Samson
c4f8599404
webgpu: Update to wgpu 0.20 ( #32173 )
...
* 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`
2024-05-08 05:38:11 +00:00
Samson
b6748db69d
webgpu: Use safe callbacks & try_recv_timeout ( #32008 )
...
* 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
2024-04-30 11:47:57 +00:00
Samson
4af413cd04
webgpu: Update wgpu to 0.19 ( #31995 )
...
* Update wgpu to 32e70bc163
(0.19)
* Update expect only good
* reexpect
* remove dbg stuff
* Remove all occurrences of dx11_hub
2024-04-26 07:04:15 +00:00
Samson
62a916ce5c
webgpu: Implement onSubmittedWorkDone ( #31772 )
...
* 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>
2024-04-04 08:12:40 +00:00
eri
03d64d0675
clippy: Fix assorted warnings in components/
( #31628 )
...
* clippy: fix assorted warnings in `components/`
* fix: new and default
* fix: review comments
2024-03-13 08:31:58 +00:00
eri
3a5ca785d3
clippy: fix warnings in various modules in components ( #31568 )
...
* clippy: fix warnings in various modules in components
* fix: unit tests
* fix: build on android
* fix: all samplers use new_boxed
2024-03-08 14:28:04 +00:00
Taym Haddadi
fddc4a430f
Fix failed request for adapter when not available ( #31002 )
...
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
2024-01-09 09:12:53 +00:00
Gregory Terzian
f44ff83c20
WebGPU: always send exit message to script before exiting ( #30989 )
...
* webgpu: always send exit message to script before exiting
* Update expectations
---------
Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
2024-01-03 17:19:50 +00:00
Samson
7973cb6458
Update wgpu to 0.18.1 ( #30926 )
...
* Update wgpu to 0.18.1
* Fix webgpu code
* tidy
2023-12-25 07:11:37 +00:00
Samson
d22d97f8c8
Add GPUSupportedFeatures and update GPUSupportedLimits ( #30359 )
...
* GPUSupportedFeatures
* New supported limits
* Update expectations
2023-09-14 13:23:12 +00:00
Samson
aad2dccc9c
Strict import formatting (grouping and granularity) ( #30325 )
...
* strict imports formatting
* Reformat all imports
2023-09-11 19:16:54 +00:00
Martin Robinson
a9d37cb85a
Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 ( #30323 )
...
* 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.
2023-09-10 12:38:56 +00:00
Samson
711dbbd4af
remove extern crate
( #30311 )
...
* 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>
2023-09-08 12:11:31 +00:00
Samson
db2cbff9d6
Update wgpu to 0.17 ( #30147 )
2023-08-21 07:40:06 +00:00
Samson
71e0372ac1
Upgrade whole webgpu stack ( #29795 )
...
* 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
2023-08-20 23:16:46 +00:00
Martin Robinson
3230162fd0
Try to use
WebRender types more
...
The newer versions of WebRender move types around between `webrender` and
`webrender_api` and this will reduce the churn during the upgrade.
2023-07-10 17:35:50 +02:00
Josh Matthews
b3742b779c
fixup! Update arrayvec.
2022-04-01 01:44:27 -04:00
Josh Matthews
a7c87af9ca
Update arrayvec.
2022-04-01 01:14:13 -04:00
Kunal Mohan
3661aa3d8c
Use Device limits and features provided by user
...
Spec update
2020-09-23 11:37:03 +05:30
Kunal Mohan
85b6bbb33a
prevent unconditional cloning of results
2020-08-27 21:18:25 +05:30
Kunal Mohan
851f83c61f
Prevent redundant texture and buffer destroy calls
2020-08-25 11:07:25 +05:30
Kunal Mohan
40288783a1
fix presentation belt
2020-08-23 21:18:55 +05:30
Kunal Mohan
9c3967158a
defer encoding errors to finish()
2020-08-22 17:43:10 +05:30
Kunal Mohan
e1bfc7aa0d
upgrade wgpu to v0.6
2020-08-22 17:42:40 +05:30
Kunal Mohan
f082a507da
Implement GPUPipelineBase for implicit pipeline layouts
2020-08-19 16:44:26 +05:30
Kunal Mohan
732efdacbd
update wgpu
2020-08-16 12:35:38 +05:30
Kunal Mohan
8ff00f0e9c
Remove entries from error_command_buffers on drop
2020-08-08 20:20:07 +05:30
Kunal Mohan
1d80f57aab
Record errors in GPUCommandEncoder.BeginPass() and EncoderPass.endPass()
2020-08-07 22:36:05 +05:30
Kunal Mohan
072770dbc0
Register invalid resources separately
2020-08-06 10:48:17 +05:30
Kunal Mohan
01c8b24e9f
update wgpu
2020-08-06 00:21:45 +05:30
Kunal Mohan
ce6e09a3aa
Change ErrorScopeId type to NonZeroU64
...
And extract it from WebGPURequest
2020-08-03 01:45:29 +05:30
Kunal Mohan
8eff1d74de
Record validation error in mapAsync()
2020-08-02 14:25:18 +05:30
Kunal Mohan
cd8d9162e6
Error handling for promise returning operations
2020-08-02 12:45:22 +05:30
Kunal Mohan
8cb5fad828
Report errors from void returning operations
2020-08-01 16:32:37 +05:30
Kunal Mohan
4e38633009
Refactor and improve GPUErrorScopes
...
Remove use of equivalent BGLs
2020-07-30 23:36:58 +05:30
Kunal Mohan
aff22db33f
Implement GPURenderBundleEncoder and GPURenderBundle
2020-07-24 12:45:23 +05:30
Kunal Mohan
75abccb16b
update wgpu, use serializable descriptors
2020-07-22 23:22:13 +05:30
Kunal Mohan
5285c07f1f
Implement GPUCommandEncoder.copy commands
2020-07-21 21:00:23 +05:30
Kunal Mohan
cdc0a75fe4
Update GPUObjectBase webidl and cleanup valid flags
2020-07-20 23:03:53 +05:30
Kunal Mohan
785497af63
Ensure GPUDevice cleanup in GlobalScope
2020-07-17 21:17:38 +05:30
Kunal Mohan
37d606621d
address review comments
2020-07-17 02:23:39 +05:30