Граф коммитов

82 Коммитов

Автор SHA1 Сообщение Дата
Dzmitry Malyshau cdb4fe1fcb Bug 1622846 - Update BlendFactor API in WebGPU r=webidl,jimb,smaug
This is another incremental update of wgpu and WebGPU APIs.
It increases stability and makes us run most of the Austin's samples (again).
Likely fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1704148

Differential Revision: https://phabricator.services.mozilla.com/D112828
2021-04-22 19:18:49 +00:00
Dzmitry Malyshau 89ced952fc Bug 1622846 - Update wgpu and WebGPU IDL for the new copy views API r=webidl,jgilbert,smaug
Updates wgpu, WebGPU IDL, in particular the ImageCopyXxx types and render pass attachments.
Adds explicit mapping of the GPUTextureFormat enum. Our old casting was incorrect, because the enums diverged a bit.

Differential Revision: https://phabricator.services.mozilla.com/D110997
2021-04-08 14:35:42 +00:00
Butkovits Atila 8d90cf4b42 Backed out changeset 5b033d5d6e6d (bug 1622846) for causing bustages on WebGPUChild.cpp. CLOSED TREE 2021-04-08 06:08:25 +03:00
Dzmitry Malyshau 92d0383ea9 Bug 1622846 - Update wgpu and WebGPU IDL for the new copy views API r=webidl,jgilbert,smaug
Updates wgpu, WebGPU IDL, in particular the ImageCopyXxx types and render pass attachments.
Adds explicit mapping of the GPUTextureFormat enum. Our old casting was incorrect, because the enums diverged a bit.

Differential Revision: https://phabricator.services.mozilla.com/D110997
2021-04-07 22:46:47 +00:00
Dzmitry Malyshau 5249d3e499 Bug 1697509 - Fix WebGPU shaders and adapter limits r=jgilbert
Expose adapter limits, hook up spirv-cross

Differential Revision: https://phabricator.services.mozilla.com/D107840
2021-03-16 22:57:08 +00:00
Dzmitry Malyshau 27e5308381 Bug 1622846 - Update WebGPU API with wgpu r=jgilbert,webidl,smaug
This is another WebGPU API update, it picks up a lot of changes that were made recently:
  - new bind group layout
  - new render pipeline descriptor
  - new vertex formats
  - limits
  - compressed texture formats
  - index format
  - query sets
  - and more small ones!

It also brings in the updated `gfx/wgpu` to support these API changes.

Differential Revision: https://phabricator.services.mozilla.com/D107013
2021-03-04 21:25:46 +00:00
Brindusan Cristian cae8a0ef30 Backed out changeset 0c0c723b0a0e (bug 1622846) for build bustages in Device.h. CLOSED TREE 2021-03-04 22:02:58 +02:00
Dzmitry Malyshau 65199ec16a Bug 1622846 - Update WebGPU API with wgpu r=jgilbert,webidl,smaug
This is another WebGPU API update, it picks up a lot of changes that were made recently:
  - new bind group layout
  - new render pipeline descriptor
  - new vertex formats
  - limits
  - compressed texture formats
  - index format
  - query sets
  - and more small ones!

It also brings in the updated `gfx/wgpu` to support these API changes.

Differential Revision: https://phabricator.services.mozilla.com/D107013
2021-03-04 17:48:28 +00:00
Dzmitry Malyshau 6b5716d415 Bug 1680376 - WebGPU error handling infrastructure r=jgilbert,webidl,smaug
the goal of this PR is to provide the necessary
infrastructure to handle errors on the GPU process side and send them
back to the client side, triggering the uncaptured error events.

Differential Revision: https://phabricator.services.mozilla.com/D98542
2020-12-18 20:07:47 +00:00
Dzmitry Malyshau 8f74799ba5 Bug 1676916 - Implicit bind group layouts in WebGPU r=jgilbert,webidl,smaug
This change updates and enables Naga to get the
SPIRV shaders parsed, validated, and reflected back into
implicit bind group layouts.
WebGPU examples heavily rely on the implicit layouts now,
and the PR also updates the WebIDL to make that possible.
With the change, we are able to run most of the examples again!

Differential Revision: https://phabricator.services.mozilla.com/D96850
2020-11-13 14:15:49 +00:00
Dzmitry Malyshau f9116a751d Bug 1622846 - Serialize WebGPU descriptors via Serde for IPC r=jgilbert,webidl,smaug
This PR updates wgpu to the latest and changes the way we pass object descriptors to the GPU process.
Instead of trying to convert them between DOM-CPP-IPDL-FFI-Rust, we now do DOM-FFI-Rust
and serialize them by serde into ipc::ByteBuf objects.

Differential Revision: https://phabricator.services.mozilla.com/D94908
2020-11-07 02:43:09 +00:00
Csoregi Natalia 1a3ae2644d Backed out changeset bdd3d7eb5927 (bug 1622846) for linux bustage on gfx/wgpu/wgpu-types/src/lib.rs. CLOSED TREE 2020-11-07 00:48:50 +02:00
Dzmitry Malyshau 505438ed91 Bug 1622846 - Serialize WebGPU descriptors via Serde for IPC r=jgilbert,webidl,smaug
This PR updates wgpu to the latest and changes the way we pass object descriptors to the GPU process.
Instead of trying to convert them between DOM-CPP-IPDL-FFI-Rust, we now do DOM-FFI-Rust
and serialize them by serde into ipc::ByteBuf objects.

Differential Revision: https://phabricator.services.mozilla.com/D94908
2020-11-06 18:59:27 +00:00
Dzmitry Malyshau 8d81c7e769 Bug 1674917 - Update parking_lot to 0.11 r=nika
Differential Revision: https://phabricator.services.mozilla.com/D95610
2020-11-02 22:56:40 +00:00
Dzmitry Malyshau 5668f013a9 Bug 1622846 - WebGPU new mapping API r=webidl,jgilbert,smaug
This PR updates wgpu to 64ae59072d
It has a number of things (API updates, correctness fixes, etc), but the biggest part is the new mapping API.

Differential Revision: https://phabricator.services.mozilla.com/D92636
2020-10-19 17:19:12 +00:00
Dorel Luca 9ca588da3e Backed out changeset 13bb2d007f1f (bug 1622846) for Build bustage on android. CLOSED TREE 2020-10-19 19:28:27 +03:00
Dorel Luca 34a1c4ee15 Backed out changeset 802898bbe773 (bug 1671477) wrong bug number, changes belong to another bug. 2020-10-19 19:16:31 +03:00
Dzmitry Malyshau e67967d1df Bug 1671477 - Fix warning in a trivial cast in wgpu on Android r=padenot. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D94028
2020-10-19 15:56:00 +00:00
Dzmitry Malyshau 84fe9a5693 Bug 1622846 - WebGPU new mapping API r=webidl,jgilbert,smaug
This PR updates wgpu to 64ae59072d
It has a number of things (API updates, correctness fixes, etc), but the biggest part is the new mapping API.

Differential Revision: https://phabricator.services.mozilla.com/D92636
2020-10-19 15:08:55 +00:00
Nicholas Nethercote 5d45da52f2 Bug 1664105 - Upgrade `ron` to 0.6.2. r=kvark
Also update `base64` so that all webrender code is on the same version, as
required by the `webrender-lint-tidy` check.

Differential Revision: https://phabricator.services.mozilla.com/D89698
2020-09-11 06:22:37 +00:00
Cosmin Sabou 598ffecbd5 Backed out changeset 16d4d1f1a447 (bug 1664105) for linux webrender tidy bustage. CLOSED TREE 2020-09-11 08:13:57 +03:00
Nicholas Nethercote cc286890ec Bug 1664105 - Upgrade `ron` to 0.6.2. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D89698
2020-09-10 14:31:34 +00:00
Dzmitry Malyshau 544f262737 Bug 1653161 - Implement Queue.writeBuffer and writeTexture in WebGPU r=jgilbert,webidl,smaug
Updates wgpu to bd50867bb8c66ac9dec50046d066c02b8f7a3fc1

Differential Revision: https://phabricator.services.mozilla.com/D83734
2020-07-28 22:26:21 +00:00
Jeff Muizelaar b083673982 Bug 1654699. Update core-foundation/core-graphics. r=kvark,keeler,jcj,chunmin
This includes updates to authenticator, cubeb-coreaudio,
metal, gfx-backend-vulkan, gfx-backend-metal, freetype

libloading is duplicated because of ash

Differential Revision: https://phabricator.services.mozilla.com/D84688
2020-07-24 22:35:25 +00:00
Csoregi Natalia ea1ddfabbf Backed out changeset 9702b4a4f53c (bug 1654699) for Gtest failures. CLOSED TREE 2020-07-24 21:29:52 +03:00
Jeff Muizelaar b17ab0c2e7 Bug 1654699. Update core-foundation/core-graphics. r=kvark,keeler,jcj,chunmin
This includes updates to authenticator, cubeb-coreaudio,
metal, gfx-backend-vulkan, gfx-backend-metal, freetype

libloading is duplicated because of ash

Differential Revision: https://phabricator.services.mozilla.com/D84688
2020-07-24 15:59:54 +00:00
Mihai Alexandru Michis c3d9e17fa4 Backed out changeset 45fc4a780b2b (bug 1654699) for causing failures regarding AudioStream position.
CLOSED TREE
2020-07-23 23:13:52 +03:00
Jeff Muizelaar 4b666af85b Bug 1654699. Update core-foundation/core-graphics. r=kvark,keeler,chunmin
This includes updates to authenticator, cubeb-coreaudio,
metal, gfx-backend-vulkan, gfx-backend-metal, freetype

libloading is duplicated because of ash

Differential Revision: https://phabricator.services.mozilla.com/D84688
2020-07-23 17:01:14 +00:00
Dzmitry Malyshau 74b412c826 Bug 1641370 - Add optional SPIR-V shader validation to WebGPU, via naga r=jgilbert
This change attempts to parse the incoming SPIR-V shader modules with
Naga SPIR-V front-end. It's not complete, but it returns an Error if it's unable to parse,
in which case we just continue without the validation (for now).
If it succeeds, we extract the reflection information from it, and use it for the pipeline.

This is just a start. More states would need to be validated, and SPIR-V front-end needs more work.

Differential Revision: https://phabricator.services.mozilla.com/D77170
2020-06-22 21:21:18 +00:00
Dzmitry Malyshau 421a94b374 Bug 1637998 - Fix multi-threaded cleanup of wgpu command pools r=groves
Differential Revision: https://phabricator.services.mozilla.com/D77156
2020-05-31 04:14:17 +00:00
Dzmitry Malyshau e5e0a70cb4 Bug 1637998 - Hook up loom for concurrency testingting of wgpu r=groves
Differential Revision: https://phabricator.services.mozilla.com/D77159
2020-05-28 03:38:21 +00:00
Dzmitry Malyshau d6f8c568eb Bug 1637998 - Make wgpu pass destruction more explicit r=groves
The old way of calling `into_vec` on destruction was awkward

Differential Revision: https://phabricator.services.mozilla.com/D77154
2020-05-28 03:12:13 +00:00
Dzmitry Malyshau 9c32261cd8 Bug 1637998 - wgpu create_surface refactor r=groves
just reducing some code

Differential Revision: https://phabricator.services.mozilla.com/D77150
2020-05-28 03:07:42 +00:00
Dzmitry Malyshau abaaa872a5 Bug 1634425 - Integrate WebGPU API tracing r=jgilbert
This is the logic of tracing the WebGPU API calls at the level of wgpu-core,
serialized into a folder of choosing on the user drive. Traces are extremely portable,
they can be shared (on BugZilla) and then replayed on the developer machine,
which can have a different architecture from the users machine.

The standalone player is introduced in `gfx/wgpu/player`, similar to WebRender's Wrench.

The output dir is controlled by "dom.webgpu.traceDir" pref. No tracing happens if it's empty.

Differential Revision: https://phabricator.services.mozilla.com/D73333
2020-05-27 16:49:03 +00:00
Bogdan Tara 6ed3c943f7 Backed out changeset f4ed4d3e0e9e (bug 1634425) for hazard failure on WebGPUParent.cpp CLOSED TREE 2020-05-27 01:12:40 +03:00
Dzmitry Malyshau 67c0d914f3 Bug 1634425 - Integrate WebGPU API tracing r=jgilbert
This is the logic of tracing the WebGPU API calls at the level of wgpu-core,
serialized into a folder of choosing on the user drive. Traces are extremely portable,
they can be shared (on BugZilla) and then replayed on the developer machine,
which can have a different architecture from the users machine.

The standalone player is introduced in `gfx/wgpu/player`, similar to WebRender's Wrench.

The output dir is controlled by "dom.webgpu.traceDir" pref. No tracing happens if it's empty.

Differential Revision: https://phabricator.services.mozilla.com/D73333
2020-05-26 21:15:40 +00:00
Dzmitry Malyshau 3e9c29fbeb Bug 1633661 - Keep wgpu bind group layouts alive r=groves
Differential Revision: https://phabricator.services.mozilla.com/D75340
2020-05-15 15:10:10 +00:00
Dzmitry Malyshau 4a18e10f04 Bug 1637998 - Fix wgpu swapchain cleanup on exit r=groves
Differential Revision: https://phabricator.services.mozilla.com/D75337
2020-05-15 14:59:18 +00:00
Dzmitry Malyshau 04f9e98d99 Bug 1637998 - Improve wgpu assertion errors r=groves
this improves the assertion messages, adds issue templates, and implements `From<TextureFormat>` for `TextureComponentType`.

Differential Revision: https://phabricator.services.mozilla.com/D75322
2020-05-15 02:11:41 +00:00
Dzmitry Malyshau 7bd6183491 Bug 1634239 - Keel WebGPU adapter alive r=groves
The internal logic accesses adapters during command recording.
This PR makes up to keep that reference for while the device lives.

Differential Revision: https://phabricator.services.mozilla.com/D73278
2020-05-01 14:29:04 +00:00
Dzmitry Malyshau 01bd7e3c8a Bug 1632323 - Separate WebGPU internal usage bits from the public API r=groves
Differential Revision: https://phabricator.services.mozilla.com/D72065
2020-04-23 15:52:01 +00:00
Dzmitry Malyshau 4b29474d3f Bug 1630813 - Remove gfx/wgpu/wgpu-native, move wgpu-remote out into gfx/wgpu_bindings r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D71699
2020-04-22 15:35:13 +00:00
Dzmitry Malyshau dee044c7f2 Bug 1629738 - Keep WebGPU pipeline layouts alive r=jgilbert
We need to access the contents of pipeline layouts on CPU
when we are recording commands. This PR adds refcounting to them
and improves the destruction code path to happen once all references are gone.

Differential Revision: https://phabricator.services.mozilla.com/D70868

--HG--
extra : moz-landing-system : lando
2020-04-14 21:51:45 +00:00
Dzmitry Malyshau 97fcffa123 Bug 1629896 - Fix WebGPU vertex format values r=jgilbert
it wasn't matching webgpu-native or the WebIDL

Differential Revision: https://phabricator.services.mozilla.com/D70942

--HG--
extra : moz-landing-system : lando
2020-04-14 21:21:21 +00:00
Dzmitry Malyshau 86ff5eeab6 Bug 1629739 - Fix WebGPU buffer unmap warning r=jgilbert
it was a bogus warning that erroneously fire when Gecko flushed mapped contents

Differential Revision: https://phabricator.services.mozilla.com/D70789

--HG--
extra : moz-landing-system : lando
2020-04-14 21:09:17 +00:00
Dzmitry Malyshau 15435c2bf5 Bug 1622846 - Update WebGPU TextureDescriptor API r=jgilbert,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D70762

--HG--
extra : moz-landing-system : lando
2020-04-14 12:52:03 +00:00
Dzmitry Malyshau 964f4f889c Bug 1629605 - wgpu tracking fixes r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70707

--HG--
extra : moz-landing-system : lando
2020-04-14 00:32:50 +00:00
Brindusan Cristian 090d7a16dc Backed out changeset 2c1a2c08592a (bug 1629605) for sm bustages. CLOSED TREE 2020-04-14 03:11:24 +03:00
Dzmitry Malyshau 64c80998c6 Bug 1629605 - wgpu tracking fixes r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70707

--HG--
extra : moz-landing-system : lando
2020-04-13 22:46:31 +00:00
Dzmitry Malyshau a3e5cb126b Bug 1617369 - Rustfmt pass over gfx/wgpu r=sylvestre
uses the default config with rustfmt-stable

Differential Revision: https://phabricator.services.mozilla.com/D70698

--HG--
extra : moz-landing-system : lando
2020-04-13 17:26:41 +00:00