WACS.WASI.GFX.Webgpu
0.1.0-preview
dotnet add package WACS.WASI.GFX.Webgpu --version 0.1.0-preview
NuGet\Install-Package WACS.WASI.GFX.Webgpu -Version 0.1.0-preview
<PackageReference Include="WACS.WASI.GFX.Webgpu" Version="0.1.0-preview" />
<PackageVersion Include="WACS.WASI.GFX.Webgpu" Version="0.1.0-preview" />
<PackageReference Include="WACS.WASI.GFX.Webgpu" />
paket add WACS.WASI.GFX.Webgpu --version 0.1.0-preview
#r "nuget: WACS.WASI.GFX.Webgpu, 0.1.0-preview"
#:package WACS.WASI.GFX.Webgpu@0.1.0-preview
#addin nuget:?package=WACS.WASI.GFX.Webgpu&version=0.1.0-preview&prerelease
#tool nuget:?package=WACS.WASI.GFX.Webgpu&version=0.1.0-preview&prerelease
WACS.WASI.GFX.Webgpu
WASI-GFX wasi:webgpu@0.0.1 host bindings for WACS. The fourth
wasi-gfx WIT package, mirroring the browser WebGPU spec verbatim.
This is the contract assembly — [WitSource]-tagged
interfaces (generated from wit/webgpu.wit) plus the
WitBindings dispatcher that ties them into the WACS runtime.
The actual GPU backend lives in WACS.WASI.GFX.Silk and wraps
Silk.NET.WebGPU /
wgpu-native.
Surface covered
gpu.request-adapter/adapter.request-device/device.queue.- Buffers:
device.create-buffer,buffer.{map-async, get-mapped-range-get-with-copy, get-mapped-range-set, unmap, destroy}. - Textures + views:
device.create-texture,texture.{create-view, destroy}. - Shaders + pipelines:
device.create-shader-module,device.{create-bind-group-layout, create-pipeline-layout, create-bind-group},device.{create-compute-pipeline, create-render-pipeline}. - Command encoding:
device.create-command-encoder,command-encoder.{begin-compute-pass, begin-render-pass, copy-buffer-to-buffer, copy-texture-to-buffer, finish},compute-pass-encoder+render-pass-encoderoperations,queue.{submit, write-buffer, on-submitted-work-done}. - Swap-chain bridge:
device.connect-graphics-context(ctx)— the wgpu-side hook that fuses an OS surface (held bywasi:surface) to a wgpu device forget-current-buffer+present(driven bywasi:graphics-context.context). - Async work:
gpu-future(request-device,map-async,on-submitted-work-done) signals throughManualResetPollableso the guest'swasi:io/poll.poll(...)wakes on completion.
Status
Feature-complete for the parity fixtures shipped in this repo.
Verified end-to-end through both the interpreter and transpiler
paths against Spec.Test/components/fixtures/:
wasi-webgpu-hello-compute— compute pipeline + map-async readback.wasi-webgpu-hello-render— render pipeline + copy-texture-to-buffer.wasi-webgpu-game-of-life— bind-group ping-pong + multi-pass compute.wasi-webgpu-game-of-life-windowed— full swap-chain throughsurface+graphics-context+webgpu.
See docs/WASI_GFX_USAGE.md
for the usage guide and the
Wacs.WASI.GFX.Silk README
for backend internals (wgpu-native binding, swap-chain bridge,
threading model).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- WACS (>= 0.15.20)
- WACS.ComponentModel (>= 0.4.0)
- WACS.HostBindings.Abstractions (>= 0.3.0)
- WACS.WASI.GFX (>= 0.2.0-preview)
- WACS.WASI.Preview2 (>= 0.5.0)
-
net8.0
- WACS (>= 0.15.20)
- WACS.ComponentModel (>= 0.4.0)
- WACS.HostBindings.Abstractions (>= 0.3.0)
- WACS.WASI.GFX (>= 0.2.0-preview)
- WACS.WASI.Preview2 (>= 0.5.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WACS.WASI.GFX.Webgpu:
| Package | Downloads |
|---|---|
|
WACS.WASI.GFX.Silk
Silk.NET/SDL + wgpu-native backend for WACS.WASI.GFX. Implements IBackend for wasi:graphics-context, wasi:surface, wasi:frame-buffer, and wasi:webgpu on top of SDL2 + wgpu-native via Silk.NET. Ships as a sibling NuGet so consumers wiring a different backend don't pull SDL's or wgpu-native's binaries. Preview: tracks the wasi-gfx proposal at WASI Phase 2 — the WIT surface may change as the proposal evolves. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview | 51 | 5/16/2026 |