├── .github └── workflows │ └── cmake.yml ├── .gitignore ├── CMakeLists.txt ├── README.md ├── cmake ├── CMakePolyfill.cmake ├── FetchSlang.cmake ├── SlangUtils.cmake ├── TargetProperties.cmake └── Utils.cmake ├── doc ├── logo-dark.svg ├── logo-light.svg └── logo.svg ├── examples ├── 00_no_codegen │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ └── shaders │ │ └── add-buffers.slang ├── 01_simple_kernel │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ └── shaders │ │ └── hello-world.slang ├── 02_multiple_entrypoints │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ └── shaders │ │ └── buffer-math.slang ├── 03_module_import │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ ├── other-shaders │ │ ├── computeMainDivide.slang │ │ └── utils.slang │ └── shaders │ │ └── buffer-math.slang ├── 04_uniforms │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ └── shaders │ │ └── buffer-scalar-math.slang ├── 05_autodiff │ ├── CMakeLists.txt │ ├── README.md │ ├── main.cpp │ └── shaders │ │ └── simple_autodiff.slang ├── CMakeLists.txt └── common │ ├── CMakeLists.txt │ ├── include │ └── slang-webgpu │ │ └── examples │ │ └── webgpu-utils.h │ └── src │ └── webgpu-utils.cpp ├── src ├── CMakeLists.txt ├── common │ ├── CMakeLists.txt │ ├── include │ │ └── slang-webgpu │ │ │ └── common │ │ │ ├── io.h │ │ │ ├── kernel-utils.h │ │ │ ├── logger.h │ │ │ ├── result.h │ │ │ ├── slang-result-utils.h │ │ │ └── variant-utils.h │ └── src │ │ └── io.cpp └── generator │ ├── CMakeLists.txt │ ├── binding-template.tpl │ └── main.cpp ├── tests └── test_examples.py └── third_party ├── CMakeLists.txt ├── README.md ├── cli11 ├── CLI11.hpp └── CMakeLists.txt ├── magic_enum ├── CMakeLists.txt └── magic_enum │ ├── magic_enum.hpp │ ├── magic_enum_all.hpp │ ├── magic_enum_containers.hpp │ ├── magic_enum_flags.hpp │ ├── magic_enum_format.hpp │ ├── magic_enum_fuse.hpp │ ├── magic_enum_iostream.hpp │ ├── magic_enum_switch.hpp │ └── magic_enum_utility.hpp └── webgpu ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── cmake └── utils.cmake ├── dawn ├── CMakeLists.txt ├── dawn-git-tag.txt └── include │ └── webgpu │ ├── webgpu-raii.hpp │ └── webgpu.hpp ├── emscripten ├── CMakeLists.txt ├── emscripten-git-tag.txt └── include │ └── webgpu │ ├── webgpu-raii.hpp │ └── webgpu.hpp └── wgpu-native ├── CMakeLists.txt ├── include └── webgpu │ ├── webgpu-raii.hpp │ └── webgpu.hpp └── wgpu-native-git-tag.txt /.github/workflows/cmake.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/.github/workflows/cmake.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build*/ 2 | .vscode 3 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/README.md -------------------------------------------------------------------------------- /cmake/CMakePolyfill.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/cmake/CMakePolyfill.cmake -------------------------------------------------------------------------------- /cmake/FetchSlang.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/cmake/FetchSlang.cmake -------------------------------------------------------------------------------- /cmake/SlangUtils.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/cmake/SlangUtils.cmake -------------------------------------------------------------------------------- /cmake/TargetProperties.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/cmake/TargetProperties.cmake -------------------------------------------------------------------------------- /cmake/Utils.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/cmake/Utils.cmake -------------------------------------------------------------------------------- /doc/logo-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/doc/logo-dark.svg -------------------------------------------------------------------------------- /doc/logo-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/doc/logo-light.svg -------------------------------------------------------------------------------- /doc/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/doc/logo.svg -------------------------------------------------------------------------------- /examples/00_no_codegen/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/00_no_codegen/CMakeLists.txt -------------------------------------------------------------------------------- /examples/00_no_codegen/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/00_no_codegen/README.md -------------------------------------------------------------------------------- /examples/00_no_codegen/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/00_no_codegen/main.cpp -------------------------------------------------------------------------------- /examples/00_no_codegen/shaders/add-buffers.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/00_no_codegen/shaders/add-buffers.slang -------------------------------------------------------------------------------- /examples/01_simple_kernel/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/01_simple_kernel/CMakeLists.txt -------------------------------------------------------------------------------- /examples/01_simple_kernel/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/01_simple_kernel/README.md -------------------------------------------------------------------------------- /examples/01_simple_kernel/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/01_simple_kernel/main.cpp -------------------------------------------------------------------------------- /examples/01_simple_kernel/shaders/hello-world.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/01_simple_kernel/shaders/hello-world.slang -------------------------------------------------------------------------------- /examples/02_multiple_entrypoints/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/02_multiple_entrypoints/CMakeLists.txt -------------------------------------------------------------------------------- /examples/02_multiple_entrypoints/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/02_multiple_entrypoints/README.md -------------------------------------------------------------------------------- /examples/02_multiple_entrypoints/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/02_multiple_entrypoints/main.cpp -------------------------------------------------------------------------------- /examples/02_multiple_entrypoints/shaders/buffer-math.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/02_multiple_entrypoints/shaders/buffer-math.slang -------------------------------------------------------------------------------- /examples/03_module_import/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/03_module_import/CMakeLists.txt -------------------------------------------------------------------------------- /examples/03_module_import/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/03_module_import/README.md -------------------------------------------------------------------------------- /examples/03_module_import/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/03_module_import/main.cpp -------------------------------------------------------------------------------- /examples/03_module_import/other-shaders/computeMainDivide.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/03_module_import/other-shaders/computeMainDivide.slang -------------------------------------------------------------------------------- /examples/03_module_import/other-shaders/utils.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/03_module_import/other-shaders/utils.slang -------------------------------------------------------------------------------- /examples/03_module_import/shaders/buffer-math.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/03_module_import/shaders/buffer-math.slang -------------------------------------------------------------------------------- /examples/04_uniforms/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/04_uniforms/CMakeLists.txt -------------------------------------------------------------------------------- /examples/04_uniforms/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/04_uniforms/README.md -------------------------------------------------------------------------------- /examples/04_uniforms/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/04_uniforms/main.cpp -------------------------------------------------------------------------------- /examples/04_uniforms/shaders/buffer-scalar-math.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/04_uniforms/shaders/buffer-scalar-math.slang -------------------------------------------------------------------------------- /examples/05_autodiff/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/05_autodiff/CMakeLists.txt -------------------------------------------------------------------------------- /examples/05_autodiff/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/05_autodiff/README.md -------------------------------------------------------------------------------- /examples/05_autodiff/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/05_autodiff/main.cpp -------------------------------------------------------------------------------- /examples/05_autodiff/shaders/simple_autodiff.slang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/05_autodiff/shaders/simple_autodiff.slang -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/CMakeLists.txt -------------------------------------------------------------------------------- /examples/common/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/common/CMakeLists.txt -------------------------------------------------------------------------------- /examples/common/include/slang-webgpu/examples/webgpu-utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/common/include/slang-webgpu/examples/webgpu-utils.h -------------------------------------------------------------------------------- /examples/common/src/webgpu-utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/examples/common/src/webgpu-utils.cpp -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/CMakeLists.txt -------------------------------------------------------------------------------- /src/common/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/CMakeLists.txt -------------------------------------------------------------------------------- /src/common/include/slang-webgpu/common/io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/include/slang-webgpu/common/io.h -------------------------------------------------------------------------------- /src/common/include/slang-webgpu/common/kernel-utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/include/slang-webgpu/common/kernel-utils.h -------------------------------------------------------------------------------- /src/common/include/slang-webgpu/common/logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/include/slang-webgpu/common/logger.h -------------------------------------------------------------------------------- /src/common/include/slang-webgpu/common/result.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/include/slang-webgpu/common/result.h -------------------------------------------------------------------------------- /src/common/include/slang-webgpu/common/slang-result-utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/include/slang-webgpu/common/slang-result-utils.h -------------------------------------------------------------------------------- /src/common/include/slang-webgpu/common/variant-utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/include/slang-webgpu/common/variant-utils.h -------------------------------------------------------------------------------- /src/common/src/io.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/common/src/io.cpp -------------------------------------------------------------------------------- /src/generator/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/generator/CMakeLists.txt -------------------------------------------------------------------------------- /src/generator/binding-template.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/generator/binding-template.tpl -------------------------------------------------------------------------------- /src/generator/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/src/generator/main.cpp -------------------------------------------------------------------------------- /tests/test_examples.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/tests/test_examples.py -------------------------------------------------------------------------------- /third_party/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/README.md -------------------------------------------------------------------------------- /third_party/cli11/CLI11.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/cli11/CLI11.hpp -------------------------------------------------------------------------------- /third_party/cli11/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/cli11/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/magic_enum/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_all.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_all.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_containers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_containers.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_flags.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_flags.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_format.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_format.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_fuse.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_fuse.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_iostream.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_iostream.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_switch.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_switch.hpp -------------------------------------------------------------------------------- /third_party/magic_enum/magic_enum/magic_enum_utility.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/magic_enum/magic_enum/magic_enum_utility.hpp -------------------------------------------------------------------------------- /third_party/webgpu/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/webgpu/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/LICENSE.txt -------------------------------------------------------------------------------- /third_party/webgpu/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/README.md -------------------------------------------------------------------------------- /third_party/webgpu/cmake/utils.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/cmake/utils.cmake -------------------------------------------------------------------------------- /third_party/webgpu/dawn/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/dawn/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/webgpu/dawn/dawn-git-tag.txt: -------------------------------------------------------------------------------- 1 | chromium/6838 2 | -------------------------------------------------------------------------------- /third_party/webgpu/dawn/include/webgpu/webgpu-raii.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/dawn/include/webgpu/webgpu-raii.hpp -------------------------------------------------------------------------------- /third_party/webgpu/dawn/include/webgpu/webgpu.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/dawn/include/webgpu/webgpu.hpp -------------------------------------------------------------------------------- /third_party/webgpu/emscripten/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/emscripten/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/webgpu/emscripten/emscripten-git-tag.txt: -------------------------------------------------------------------------------- 1 | 3.1.72 2 | -------------------------------------------------------------------------------- /third_party/webgpu/emscripten/include/webgpu/webgpu-raii.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/emscripten/include/webgpu/webgpu-raii.hpp -------------------------------------------------------------------------------- /third_party/webgpu/emscripten/include/webgpu/webgpu.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/emscripten/include/webgpu/webgpu.hpp -------------------------------------------------------------------------------- /third_party/webgpu/wgpu-native/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/wgpu-native/CMakeLists.txt -------------------------------------------------------------------------------- /third_party/webgpu/wgpu-native/include/webgpu/webgpu-raii.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/wgpu-native/include/webgpu/webgpu-raii.hpp -------------------------------------------------------------------------------- /third_party/webgpu/wgpu-native/include/webgpu/webgpu.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eliemichel/SlangWebGPU/HEAD/third_party/webgpu/wgpu-native/include/webgpu/webgpu.hpp -------------------------------------------------------------------------------- /third_party/webgpu/wgpu-native/wgpu-native-git-tag.txt: -------------------------------------------------------------------------------- 1 | v23.0.0-gamma 2 | --------------------------------------------------------------------------------