mach/gpu-dawn
Stephen Gutekanst 1b579559e0 gpu-dawn: when using binary release, also use headers from release
With this change, you do not even need to download the generated Dawn repository.
This reduces the download size substantially, as that repository is around 1.2G.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-27 22:25:52 -07:00
..
.github gpu-dawn: CI: upload headers.json + tarball 2022-02-27 19:29:58 -07:00
dev gpu-dawn: CI: cleanup between bundle regeneration 2022-02-27 19:48:29 -07:00
libs gpu-dawn: update libs/dawn to generated-2022-02-17 2022-02-18 01:36:37 -07:00
src gpu-dawn: correct kernel32.GetModuleHandleW call 2022-02-26 23:34:17 -07:00
.gitattributes gpu-dawn: initialize subrepository 2022-02-12 15:21:16 -07:00
.gitignore gpu-dawn: initialize subrepository 2022-02-12 15:21:16 -07:00
.gitmodules gpu-dawn: update libs/dawn to generated-2022-02-17 2022-02-18 01:36:37 -07:00
build.zig gpu-dawn: when using binary release, also use headers from release 2022-02-27 22:25:52 -07:00
LICENSE gpu-dawn: initialize subrepository 2022-02-12 15:21:16 -07:00
LICENSE-APACHE gpu-dawn: initialize subrepository 2022-02-12 15:21:16 -07:00
LICENSE-MIT gpu-dawn: initialize subrepository 2022-02-12 15:21:16 -07:00
README.md gpu-dawn: clarify README 2022-02-12 15:21:16 -07:00

mach/gpu-dawn, WebGPU/Dawn built with Zig Hexops logo

mach/gpu-dawn builds Dawn (Google's WebGPU implementation), requiring nothing more than zig and git to build and cross-compile static Dawn libraries for every OS.

  • No cmake
  • No ninja
  • No gn
  • No system dependencies (xcode, etc.)
  • Cross compilation supported out of the box
  • Builds a single static libdawn.a with everything you need.

This repository is a separate copy of the same library in the main Mach repository, and is automatically kept in sync, so that anyone can use this library in their own project / engine if they like!

Warning: Under heavy development!

This package is still under heavy development, Linux and macOS are working but Windows is not yet.

Zig Dawn/WebGPU interface

This package implements the the mach/gpu Zig interface which, for Zig developers, allows swapping between WebGPU implementations seamlessly similar to the std.mem.Allocator interface.

Generated code

Dawn itself relies on a fairly large amount of dependencies, generated code, etc. To avoid having any dependency on Google build tools, code generation, etc. we maintain a minor fork of Dawn which has generated code and third-party dependencies comitted.