/glslang.zig

glslang packaged for @ziglang

Primary LanguageC++MIT LicenseMIT

glslang.zig

This is a fork of KhronosGroup/glslang packaged for Zig

Why this fork ?

The intention under this fork is to package KhronosGroup/glslang for Zig. So:

  • Unnecessary files have been deleted,
  • The build system has been replaced with build.zig,
  • A cron runs every day to check KhronosGroup/glslang. Then it updates this repository if a new release is available.

How to use it

The goal of this repository is not to provide a Zig binding for KhronosGroup/glslang. There are at least as many legit ways as possible to make a binding as there are active accounts on Github. So you are not going to find an answer for this question here. The point of this repository is to abstract the KhronosGroup/glslang compilation process with Zig (which is not new comers friendly and not easy to maintain) to let you focus on your application. So you can use glslang.zig:

  • as raw (no available example, open an issue if you are interested in, we will be happy to help you),
  • as a daily updated interface for your Zig binding of KhronosGroup/glslang (again: no available example).

Important note

The current usage of this repository is centered around tiawl/shaderc.zig compilation. So for your usage it could break because some files have been filtered in the process. If it happens, open an issue: this repository is open to potential usage evolution.

Dependencies

The Zig part of this package is relying on the latest Zig release (0.13.0) and will only be updated for the next one (so for the 0.14.0).

Here the repositories' version used by this fork:

CICD reminder

These repositories are automatically updated when a new release is available:

This repository is automatically updated when a new release is available from these repositories:

zig build options

These additional options have been implemented for maintainability tasks:

  -Dfetch   Update .references folder and build.zig.zon then stop execution
  -Dupdate  Update binding

License

The unprotected parts of this repository are under MIT License. For everything else, see with their respective owners.