14 unstable releases (6 breaking)

0.7.0 Aug 22, 2020
0.6.0 Mar 9, 2020
0.5.5 Mar 9, 2020
0.5.4 Sep 17, 2018
0.1.0 Nov 8, 2016

#249 in Graphics APIs

Download history 78/week @ 2020-08-10 54/week @ 2020-08-17 71/week @ 2020-08-24 59/week @ 2020-08-31 74/week @ 2020-09-07 55/week @ 2020-09-14 32/week @ 2020-09-21 109/week @ 2020-09-28 51/week @ 2020-10-05 48/week @ 2020-10-12 62/week @ 2020-10-19 88/week @ 2020-10-26 68/week @ 2020-11-02 421/week @ 2020-11-09 66/week @ 2020-11-16 52/week @ 2020-11-23

244 downloads per month
Used in 5 crates

Apache-2.0

1.5MB
42K 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.7"

Then add to your crate root:

extern crate rspirv;

Examples

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

Dependencies

~3.5MB
~85K SLoC