18 releases (10 breaking)

0.12.0+sdk-1.3.268.0 Dec 20, 2023
0.11.0+1.5.4 Oct 29, 2021
0.10.0+1.5.4 Aug 17, 2021
0.8.0 May 5, 2021
0.1.0 Nov 8, 2016

#189 in Graphics APIs

Download history 6324/week @ 2025-09-24 5838/week @ 2025-10-01 4471/week @ 2025-10-08 5327/week @ 2025-10-15 4916/week @ 2025-10-22 5173/week @ 2025-10-29 5009/week @ 2025-11-05 5376/week @ 2025-11-12 4329/week @ 2025-11-19 6821/week @ 2025-11-26 6885/week @ 2025-12-03 8986/week @ 2025-12-10 8339/week @ 2025-12-17 2363/week @ 2025-12-24 2890/week @ 2025-12-31 3295/week @ 2026-01-07

18,377 downloads per month
Used in 28 crates (19 directly)

Apache-2.0

2.5MB
60K SLoC

core of the rspirv project

Crate Documentation

The core crate of the rspirv project providing APIs for processing SPIR-V modules:

  • The whole SPIR-V grammar (instruction layouts and their operands)
  • A data representation of SPIR-V modules and its loader and builder
  • A structured representation of SPIR-V modules (under developing)
  • SPIR-V binary module decoding and parsing functionalities
  • A lifting infrastructure for converting data representation into structured representation.

This crate defines a common SPIR-V data representation (DR) as the medium for various purposes. It also provides a builder to build the DR interactively and a parser to parse a given SPIR-V binary module into its DR. The parser handles decoding and parsing of SPIR-V binary modules according to the grammar, the parsed instructions are sent to the consumer.

The data representation, as the name shows, focuses on presenting the data within a SPIR-V module; a higher level structured representation is currently under developing.

Usage

First add to your Cargo.toml:

[dependencies]
rspirv = "0.12.0"

Examples

Please see the documentation and project's README for examples.

Dependencies