mach/gpu-dawn
Stephen Gutekanst a0b513f0da gpu-dawn: use source scanning for tint_core_all_src target
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-13 01:58:17 -07:00
..
.github gpu-dawn: CI: use Zig libc versions not the system versions 2022-02-13 00:29:19 -07:00
libs gpu-dawn: update to latest Dawn version as of Dec 23, 2021 2021-12-24 01:53:33 -07:00
src gpu-dawn: use source scanning for tint_core_all_src target 2022-02-13 01:58: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: add Dawn submodule to subrepository 2022-02-12 15:21:16 -07:00
build.zig gpu-dawn: use source scanning for tint_core_all_src target 2022-02-13 01:58:17 -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.