No description
Find a file
Tin Švagelj 93b3152e8a
Initial commit
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
2024-08-29 06:29:35 +02:00
src Initial commit 2024-08-29 06:29:35 +02:00
Cargo.toml Initial commit 2024-08-29 06:29:35 +02:00
LICENSE-APACHE-2.0 Initial commit 2024-08-29 06:29:35 +02:00
LICENSE-MIT Initial commit 2024-08-29 06:29:35 +02:00
LICENSE-ZLIB Initial commit 2024-08-29 06:29:35 +02:00
README.md Initial commit 2024-08-29 06:29:35 +02:00

SPIR-V Shader Reflection

A library that reads SPIR-V binaries and provides binding descriptors, variable type information, constant value inspection, etc. at compile-time and runtime.

This streamlines experimentation with shaders and makes it simpler to keep the Vulkan pipeline configuration correct by shifting errors from program execution to compilation and making them much more obvious/clear.

Features

  • Provide information needed for construction of binding descriptors
  • Generate types for bindings and push constants
    • glam integration
  • Handle shader source conversion using naga
  • Bake in optimization using Embark Studios spirv tools wrapper.
  • Provide a macro for embedding metadata and SPIR-V bytecode into target binaries

Attribution

  • Binding descriptor inference code is based on rspirv-reflect.
  • SPIR-V binary normalization utility function is copied from ash.

License

This library is licensed under terenary MIT, Apache 2.0, Zlib license. Copies of the licenses are provided in the root of repository.