servo/components
bors-servo 53467b80b9
Auto merge of #27536 - kunalmohan:update-wgpu, r=kvark
Major fixes in error reporting in GPUCommandEncoder and ErrorScope Model

<!-- Please describe your changes on the following line: -->
1. Update wgpu to use the error model on wgpu-core side. Register error Ids separately.
2. ~~Record errors only in `GPUCommandEncoder.finish()`. Errors are no longer recorded in ErrorScopes in transfer commands or while recording passes. Any errors that occur are stored on the server-side in `error_command_encoders: HashMap<id::CommandEncoderId, String>` and reported on `CommandEncoderFinish`. Note: This should be reverted when the spec gets updated.~~
3. Correct a major flaw in ErrorScope Model. If multiple operations are issued inside scope and an early operation fails, the promise resolves and script execution continues. The scope, however, was not popped until the results of all its operations were received. This meant that if the user issues another operation, it was assumed to be issued in an error scope that has already been popped by the user, which led to the failure of a number of tests. This is solved by storing a `popped` boolean to check whether `popErrorScope()` has been called on a scope or not. Operation is now issued in the lastest scope for which `popped == false`.

One of the tests used to crash, but it no longer does (All subtests under it fail now). That explains the large number of failing test expectations that have been added. Most of them fail due to the tests being outdated. I'll switch to the updated branch in the next PR.

r?@kvark

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [X] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2020-08-07 15:38:17 -04:00
..
allocator
atoms Add a sessionavailable event that allows content to enter an XR session without a user gesture 2020-07-10 14:09:18 -05:00
background_hang_monitor improve reliability of hang monitor tests 2020-07-07 12:45:14 +08:00
bluetooth
bluetooth_traits
canvas webgl: Support preserveDrawingBuffer. 2020-08-06 14:25:17 -04:00
canvas_traits Support for webxr layer management 2020-06-28 16:37:45 -05:00
compositing Revert "Update webrender." 2020-08-04 19:15:52 -04:00
config Introduce shell.crash_reporter.enabled pref 2020-08-03 17:31:34 +02:00
config_plugins
constellation Change ErrorScopeId type to NonZeroU64 2020-08-03 01:45:29 +05:30
debugger
deny_public_fields
derive_common style: Gracefully handle errors creating shared memory UA style sheets. 2020-06-04 01:50:36 +02:00
devtools devtools: Track multiple clients better, and cleanup streams when a client isn't reachable. 2020-08-06 09:55:01 -04:00
devtools_traits Console.Clear implemented 2020-07-29 22:19:18 +05:30
dom_struct
domobject_derive
embedder_traits UWP: support virtual keyboard 2020-07-02 10:57:34 +02:00
fallible
geometry
gfx Revert "Update raqote, font-kit, fontconfig." 2020-08-04 19:16:19 -04:00
gfx_traits Update webrender. 2020-06-11 14:07:39 -04:00
hashglobe
jstraceable_derive
layout Revert "Update harfbuzz, freetype, unicode-script." 2020-08-04 19:16:13 -04:00
layout_2020 Revert "Update harfbuzz, freetype, unicode-script." 2020-08-04 19:16:13 -04:00
layout_thread ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
layout_thread_2020 ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
layout_traits ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
malloc_size_of Change ErrorScopeId type to NonZeroU64 2020-08-03 01:45:29 +05:30
media Implement GPUSwapChain and GPUCanvasContext and interface with Webrender 2020-06-13 17:46:12 +05:30
metrics Remove support for energy profiling 2020-06-04 16:39:08 +02:00
msg ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
net Make reload button clear the network cache. 2020-07-27 22:34:07 -04:00
net_traits Make reload button clear the network cache. 2020-07-27 22:34:07 -04:00
pixels More Cargo.toml updates 2020-05-30 18:18:57 -07:00
profile Remove support for heartbeats profiling 2020-06-04 22:53:56 +02:00
profile_traits Remove support for heartbeats profiling 2020-06-04 22:53:56 +02:00
rand
range More Cargo.toml updates 2020-05-30 18:18:57 -07:00
remutex Fix rust's remutex source code link 2020-06-01 21:24:05 +09:00
script Auto merge of #27536 - kunalmohan:update-wgpu, r=kvark 2020-08-07 15:38:17 -04:00
script_layout_interface ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
script_plugins Update to 7/27 nightly rustc. 2020-07-27 12:56:57 -04:00
script_traits Fix ordering of mousemove event 2020-07-30 16:34:29 +05:30
selectors Fix typo 2020-07-01 13:49:28 -07:00
servo Pipe GST_DEBUG output to its own log file on UWP. 2020-08-07 10:28:54 -04:00
servo_arc More Cargo.toml updates 2020-05-30 18:18:57 -07:00
size_of_test
std_test_override
style Auto merge of #26447 - jdm:white-space-2020, r=nox 2020-07-29 10:29:30 -04:00
style_derive style: Rustfmt recent changes. 2020-06-04 02:02:50 +02:00
style_traits style: Miscellaneous servo build fixes. 2020-06-04 01:50:36 +02:00
to_shmem style: Gracefully handle errors creating shared memory UA style sheets. 2020-06-04 01:50:36 +02:00
to_shmem_derive style: Gracefully handle errors creating shared memory UA style sheets. 2020-06-04 01:50:36 +02:00
url Update referrer computation 2020-07-02 14:29:26 +05:30
webdriver_server update keyboard-types crate 2020-06-29 10:27:54 +02:00
webgpu Record errors in GPUCommandEncoder.BeginPass() and EncoderPass.endPass() 2020-08-07 22:36:05 +05:30
webrender_surfman webgl: Support preserveDrawingBuffer. 2020-08-06 14:25:17 -04:00
webrender_traits Implement GPUSwapChain and GPUCanvasContext and interface with Webrender 2020-06-13 17:46:12 +05:30