/hello-webgpu

Cross-platform C++ example for WebGPU and Dawn

Primary LanguageC++

"Hello, Triangle" WebGPU and Dawn

MSVC workflow Xcode workflow Emscripten workflow

Starter project for C++ WebGPU/Emscripten and Dawn. Build for Windows using Visual Studio from 2015 onwards. Build for Emscripten using CMake (or on Windows using build-web.bat). Build for Mac using the Xcode project (tested with Xcode 11 & 12 and macOS 10.14, 10.15 & 11 beta).

Due to the changing nature of the API, browser compatibility is usually limited to the version as of the latest commit. Currently tested and working with Chrome Canary 103.0.5024.0 (with the --enable-unsafe-webgpu flag) and Emscripten 3.1.9.

The included libdawn is pre-built for Windows/MSVC and Mac; see instructions if you wish to build it yourself for Windows (out of the box Dawn on Windows builds with Depot Tools/Clang so MSVC's linker fails with the exposed std types).

Chrome and native side-by-side

Dawn is Apache 2.0 licensed (see LICENSE). The example code is released under a Creative Commons Zero license (or Public Domain, whichever is applicable in your jurisdiction).