mach/gpu-dawn
Stephen Gutekanst 5b594ce40e gpu-dawn: do not include OS and libc version in download URLs
I'm not sure including the OS and libc version in download URLs makes much sense. It may
be useful to include them as metadata in the future alongside the release, but it seems
better to exclude these from the URL (especially so that others can download them from a
script without fear of them changing for non-Zig consumption.)

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-28 02:20:37 -07:00
..
.github gpu-dawn: do not include OS and libc version in download URLs 2022-02-28 02:20:37 -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: do not include OS and libc version in download URLs 2022-02-28 02:20:37 -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.