- C++ 81.8%
- POV-Ray SDL 8.7%
- Zig 5.9%
- C 3.4%
- Pawn 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- b.args is gone: the run steps pass arguments through with Run.addPassthruArgs. - minimum_zig_version is the Zig master this was tested with, 0.17.0-dev.2377+b6896c430, and the fork has its own fingerprint. - The README says what the fork is. |
||
| generated | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
glslang_zig
This is a fork of Games by Mason's glslang_zig
whose zig-master branch carries only build.zig changes, so it builds with Zig master
(tested with 0.17.0-dev.2377+b6896c430). Glslang, SPIRV-Tools and SPIRV-Headers are the
upstream versions pinned in build.zig.zon, unchanged.
Glslang ported to the Zig build system. If you're compiling shaders from the build system, see also mr_glsl.
Contributions or bug reports are welcome if behavior differs from official build system.
Zig Version
See build.zig.zon for the current Zig version. For support for previous versions of Zig, see releases.
Usage
See mr_glsl for example usage.
Version
See build.zig.zon for current version info of the form $PACKAGE_VERSION+$GLSLANG_VERSION.
Known Differences
- The official build process has a web target for the
glslangartifact, but this project does not. Contributions are welcome. - The official build process symlinks
glslangtoglslangValidator. This build outputsglslangValidatorinstead ofglslangand does not provide a symlink because the library artifact is already namedglslang. - The tests are not built.
- Compiler flags for exceptions, rtti, etc are not configurable (see build.zig for current values.)
How To Change the Glslang Version
The version of glslang is set in build.zig.zon.
Glslang depends on SPIRV-Headers, and SPIRV-Tools. When changing the glslang version you may need to update these dependencies, to find out if this is necessary check your glslang's known-good.json.
Glslang and SPIRV-Tools' official build processes generate headers at compile time. These are cached in the generated directory, and can be regenerated via the official build processes.