This change adds support for CanvasContext presenting WebGPU via CPU readback.
The presentation is handled mostly on GPU process side by managing a list of staging buffers
and copying the contents into a WR external image (backed by an external buffer).
Differential Revision: https://phabricator.services.mozilla.com/D68032
--HG--
extra : moz-landing-system : lando
This change adds support for CanvasContext presenting WebGPU via CPU readback.
The presentation is handled mostly on GPU process side by managing a list of staging buffers
and copying the contents into a WR external image (backed by an external buffer).
Differential Revision: https://phabricator.services.mozilla.com/D68032
--HG--
extra : moz-landing-system : lando
Previously, we kept the object IDs managed on content side only.
The GPU side would work with given indices.
When an object is destroyed, we'd free the ID on the content side and signal the GPU to delete the object.
Problem is that on the GPU process the object may still be kept alive for as long as any dependants are alive.
What this change is doing - hooking up the callbacks to the *actual* freeing of IDs on the GPU side.
These callbacks end up in messages from WebGPUParent to WebGPUChild, and only then the IDs are freed
on the content side and able to be reused.
Differential Revision: https://phabricator.services.mozilla.com/D67211
--HG--
extra : moz-landing-system : lando
Updates `wgpu` code as well as our WebIDL bindings.
The `wgpu-types` is a new component crate that has public types available to
Rust applications that target the Web directly.
Differential Revision: https://phabricator.services.mozilla.com/D67013
--HG--
extra : moz-landing-system : lando
this change adds an ability to create WebGPU textures, views, and samplers
Differential Revision: https://phabricator.services.mozilla.com/D63595
--HG--
extra : source : 8f51a5fac21cb52e2ddb647f0b99a9bfccb41f6a
Adds support for bind groups and compute pipelines
The end goal of this PR is to run the compute example.
Differential Revision: https://phabricator.services.mozilla.com/D60746
--HG--
extra : moz-landing-system : lando
Adds support for bind groups and compute pipelines
The end goal of this PR is to run the compute example.
Differential Revision: https://phabricator.services.mozilla.com/D60746
--HG--
extra : moz-landing-system : lando
This is the basic functionality needed to work with buffers.
What it doesn't have:
- ability to re-map the buffer for writing
- async writing map
- most of the validation
Differential Revision: https://phabricator.services.mozilla.com/D55656
--HG--
extra : moz-landing-system : lando
This is the basic functionality needed to work with buffers.
What it doesn't have:
- ability to re-map the buffer for writing
- async writing map
- most of the validation
Differential Revision: https://phabricator.services.mozilla.com/D55656
--HG--
extra : moz-landing-system : lando
We're vendoring it already so no reason not to. Only a couple dependencies left
after these to get rid of 0.6.
Differential Revision: https://phabricator.services.mozilla.com/D56044
--HG--
extra : moz-landing-system : lando