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

95 Коммитов

Автор SHA1 Сообщение Дата
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
sotaro 8ced81fbf4 Bug 1637524 - Move DestroyRenderTexture() to TextureHost r=nical
The function is not specific to BufferTextureHost.

Differential Revision: https://phabricator.services.mozilla.com/D75044
2020-05-13 08:31:09 +00:00
Simon Giesecke 997dbb2670 Bug 1626570 - Improve handling of copying arrays in dom/webgpu/. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D73666
2020-05-06 11:42:53 +00:00
Dzmitry Malyshau 2a8ae88483 Bug 1634829 - Update WebGPU blend descriptors r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D73530
2020-05-02 15:52:26 +00:00
Dzmitry Malyshau 0dc10fb897 Bug 1632755 - Unlink CanvasContext from the refresh driver r=aosmond
It looks like the context is registered to the refresh driver without my direct interaction, yet I'm responsible to unlink it.
Looks like a bad design to me?

Differential Revision: https://phabricator.services.mozilla.com/D72469
2020-04-28 15:03:41 +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 02f2325796 Bug 1630072 - WebGPU CanvasContext invalidation r=jgilbert,aosmond
This change enables light tracking of the commands and submissions
that affect a CanvasContext. Upon reaching the GPUQueue, they send
a signal for the parent HTML Element to be invalidated.
We are also invalidating the HTML Element and requesting a new
frame to be built on the creation of the swapchain.

Differential Revision: https://phabricator.services.mozilla.com/D71194
2020-04-20 23:50:04 +00:00
Dzmitry Malyshau f84ef4af83 Bug 1622846 - WebGPU dummy destroy() and optional stencil states r=webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D71201
2020-04-16 19:28:22 +00:00
Dzmitry Malyshau f9d8b44745 Bug 1630316 - Deallocate WebGPU shmems r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D71079

--HG--
extra : moz-landing-system : lando
2020-04-15 19:58:08 +00:00
Dzmitry Malyshau fb52476b4f Bug 1630114 - Fix default dimensionality of WebGPU texture views r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70966

--HG--
extra : moz-landing-system : lando
2020-04-15 03:53:45 +00:00
Dzmitry Malyshau 4bd2a0b2bb Bug 1630082 - Refactor WebGPU sampler descriptor IPC r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70953

--HG--
extra : moz-landing-system : lando
2020-04-15 02:28:51 +00:00
Dzmitry Malyshau 45898087b9 Bug 1629851 - Avoid WebGPU buffer flush on reads r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70866

--HG--
extra : moz-landing-system : lando
2020-04-14 21:26:45 +00:00
Dzmitry Malyshau 97d1fb315e Bug 1630054 - Properly free WebGPU swapchain buffers r=jgilbert
The unassigned buffers aren't associated with `wgpu-server` objects, they are just IDs allocated on the content side. So to free them, we just need to send an appropriate message.

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

--HG--
extra : moz-landing-system : lando
2020-04-14 21:59:13 +00:00
Dzmitry Malyshau 6823350719 Bug 1629896 - Fix WebGPU vertex attribute pointers r=jgilbert
the pointer wasn't advanced properly

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

--HG--
extra : moz-landing-system : lando
2020-04-14 22:40:15 +00:00
Dzmitry Malyshau 8238a62e51 Bug 1629955 - Don't fail WebGPU Instance creation r=jgilbert
we can't fail at Navigator.gpu
Instead, we reject the promise of requestAdapter

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

--HG--
extra : moz-landing-system : lando
2020-04-14 21:11:10 +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 d652ce10bb Bug 1602888 - WebGPU copy operations r=jgilbert,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D70637

--HG--
extra : moz-landing-system : lando
2020-04-13 13:59:24 +00:00
Dzmitry Malyshau e8a60d2eab Bug 1624174 - Update wgpu to get the coordinate spaces right r=jgilbert
The updated wgpu has the coordinate space fixes.
Depends on

  - https://phabricator.services.mozilla.com/D70421
  - https://phabricator.services.mozilla.com/D70432
  - https://phabricator.services.mozilla.com/D70646

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

--HG--
rename : third_party/rust/rendy-descriptor/Cargo.toml => third_party/rust/gfx-descriptor/Cargo.toml
rename : third_party/rust/rendy-memory/Cargo.toml => third_party/rust/gfx-memory/Cargo.toml
rename : third_party/rust/rendy-memory/src/allocator/dynamic.rs => third_party/rust/gfx-memory/src/allocator/general.rs
rename : third_party/rust/rendy-memory/src/heaps/heap.rs => third_party/rust/gfx-memory/src/heaps/heap.rs
rename : third_party/rust/rendy-memory/src/utilization.rs => third_party/rust/gfx-memory/src/stats.rs
extra : moz-landing-system : lando
2020-04-13 13:42:15 +00:00
Dzmitry Malyshau 266fb28b6c Bug 1629024 - Run WebGPU tests on nightly only r=jgilbert
follow-up to D70435

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

--HG--
extra : moz-landing-system : lando
2020-04-13 14:00:57 +00:00
Dzmitry Malyshau 30ebe67957 Bug 1622846 - Fix WebGPU AttributeSet r=webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D70635

--HG--
extra : moz-landing-system : lando
2020-04-12 22:48:09 +00:00
Dzmitry Malyshau dd19cf7ac2 Bug 1602133 - Fix WebGPU canvas map population r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70081

--HG--
extra : moz-landing-system : lando
2020-04-07 18:53:34 +00:00
Dzmitry Malyshau 3021defc28 Bug 1602133 - WebGPU presentation r=jgilbert,webidl,smaug,aosmond
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
2020-04-06 22:29:18 +00:00
Cosmin Sabou 2f4d9af7d3 Backed out changeset bc6b2b003c6e (bug 1602133) for causing build bustages on CanvasRenderingContextHelper.cpp.
--HG--
extra : histedit_source : 917f3627a3e3f8dab0d806b69fc716bfd9f1d483
2020-04-06 23:46:51 +03:00
Dzmitry Malyshau 5004affc0e Bug 1602133 - WebGPU presentation r=jgilbert,webidl,smaug,aosmond
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
2020-04-06 20:10:03 +00:00
Bogdan Tara 7f7cc68c64 Backed out changeset 377a757c583d (bug 1602133) for webgpu related bustages CLOSED TREE 2020-04-06 21:59:57 +03:00
Dzmitry Malyshau 4c3a924336 Bug 1602133 - WebGPU presentation r=jgilbert,webidl,smaug,aosmond
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
2020-04-02 19:55:01 +00:00
Dzmitry Malyshau dcf75e7f03 Bug 1622261 - Refactor the ID recycling to always cycle through the GPU process
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
2020-03-23 07:54:08 +00:00
Dzmitry Malyshau 8ce137c6f3 Bug 1617086 - Include WebGPU pass dependencies into CC r=jgilbert
follow-up to D65319

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

--HG--
extra : moz-landing-system : lando
2020-03-18 17:29:51 +00:00
Dzmitry Malyshau 80b79d4414 Bug 1622846 - WebGPU bindings update to the spec r=jgilbert,webidl,smaug
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
2020-03-16 21:32:37 +00:00
Boris Zbarsky c878a8bb26 Bug 1619112 part 2. Pass char literals instead of char16_t literals into ErrorResult throwing methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65538

--HG--
extra : moz-landing-system : lando
2020-03-06 21:04:58 +00:00
Dzmitry Malyshau 7eb1434fa4 Bug 1617086 - Keep WebGPU pass dependencies alive while recording r=jgilbert
Since we switched to "software" pass recording,
`wgpu` no longer keeps references to the objects used when recording a pass.
This means Gecko needs to keep them alive up until the encoding is done.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 03:30:41 +00:00
Dzmitry Malyshau 1b1bc98a76 Bug 1614703 - WebGPU render pipeline creation r=jgilbert,webidl,baku
Differential Revision: https://phabricator.services.mozilla.com/D64833

--HG--
extra : moz-landing-system : lando
2020-03-03 16:37:02 +00:00
Mihai Alexandru Michis 1e6afc5e96 Backed out changeset f1c86e7d23cd (bug 1614703) for causing bustages in WebGPUParent.cpp
CLOSED TREE
2020-03-03 17:23:55 +02:00
Dzmitry Malyshau 53a10a49a5 Bug 1614703 - WebGPU render pipeline creation r=jgilbert,webidl,baku
Differential Revision: https://phabricator.services.mozilla.com/D64833

--HG--
extra : moz-landing-system : lando
2020-03-03 15:08:24 +00:00
Tooru Fujisawa 9939f785e0 Bug 1612515 - Part 4: Move RunCBindgen.py to /build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D64541

--HG--
rename : layout/style/RunCbindgen.py => build/RunCbindgen.py
extra : moz-landing-system : lando
2020-02-28 14:07:15 +00:00
Dzmitry Malyshau 5437a922a7 Bug 1614702 - WebGPU textures, texture views, and samplers r=jgilbert,webidl,smaug
this change adds an ability to create WebGPU textures, views, and samplers

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

--HG--
extra : source : 8f51a5fac21cb52e2ddb647f0b99a9bfccb41f6a
2020-02-24 20:12:16 +00:00
Dorel Luca 0d23881940 Backed out changeset 8f51a5fac21c (bug 1614702) for build-notarization failures. CLOSED TREE 2020-02-25 00:54:54 +02:00
Dzmitry Malyshau 757896954c Bug 1614702 - WebGPU textures, texture views, and samplers r=jgilbert,webidl,smaug
this change adds an ability to create WebGPU textures, views, and samplers

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

--HG--
extra : moz-landing-system : lando
2020-02-24 20:12:16 +00:00
Sylvestre Ledru ca6530131a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan,kvark
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-02-24 15:33:38 +00:00
Mike Shal c8abdd68c2 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D63438

--HG--
extra : moz-landing-system : lando
2020-02-21 00:05:17 +00:00
Csoregi Natalia 6360b24e80 Backed out 2 changesets (bug 1616630) for Android bustage. CLOSED TREE
Backed out changeset 15016546c954 (bug 1616630)
Backed out changeset dcb7dc51633b (bug 1616630)
2020-02-20 21:24:11 +02:00
Mike Shal 39492660f4 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Depends on D63437

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

--HG--
extra : moz-landing-system : lando
2020-02-20 16:21:55 +00:00
Dzmitry Malyshau 199a362906 Bug 1602131 - WebGPU render passes r=jgilbert,webidl,smaug
Adds support for recording render passes in WebGPU.
The `wgpu` logo is also added to the repository ("gfx/wgpu/logo.png") under [CC-BY-SA](https://creativecommons.org/licenses/by-sa/3.0/) license.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 19:25:30 +00:00
Mike Shal d8e4653d19 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 13:22:46 +00:00
Boris Zbarsky 6c66fa85a4 Bug 1615022 part 2. Require an rvalue reference to reject a Promise with an ErrorResult. r=farre,kvark
The rejection process consumes the ErrorResult, so an rvalue reference is the honest thing here.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 15:42:30 +00:00
Cosmin Sabou ff39f9206d Backed out 2 changesets (bug 1613263, bug 1611326) for presummably causing l10n langpack bustages. a=backout
Backed out changeset 77e54e76848a (bug 1611326)
Backed out changeset 36ba18ac3a68 (bug 1613263)
2020-02-14 15:02:21 +02:00
Mike Shal ad0c283ab2 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 23:07:04 +00:00