warvstar / hello-webgpu

Cross-platform C++ example for WebGPU and Dawn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

No build tool setup for test.cpp yet (for testing sync costs without webgpu) Use this to build cls && emcc test.cpp -o out/web/test.html -lpthread -s PROXY_TO_PTHREAD=1 -s USE_PTHREADS --profiling-funcs -s NO_EXIT_RUNTIME=1 -O3

can run locally with 'emrun out/web/test.html'

"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 100.0.4851.0 (with the --enable-unsafe-webgpu flag) and Emscripten 3.1.2.

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).

About

Cross-platform C++ example for WebGPU and Dawn


Languages

Language:C++ 48.3%Language:JavaScript 27.1%Language:C 11.4%Language:HTML 11.1%Language:Objective-C++ 1.8%Language:CMake 0.2%Language:Batchfile 0.2%Language:Objective-C 0.1%