74b412c826
This change attempts to parse the incoming SPIR-V shader modules with Naga SPIR-V front-end. It's not complete, but it returns an Error if it's unable to parse, in which case we just continue without the validation (for now). If it succeeds, we extract the reflection information from it, and use it for the pipeline. This is just a start. More states would need to be validated, and SPIR-V front-end needs more work. Differential Revision: https://phabricator.services.mozilla.com/D77170 |
||
---|---|---|
.. | ||
.cargo-checksum.json | ||
Cargo.toml | ||
README.md | ||
autogen_spirv.rs | ||
lib.rs |
README.md
spirv-headers of the rspirv project
The headers crate for the rspirv project which provides Rust definitions of SPIR-V structs, enums, and constants.
Usage
This project uses associated constants, which became available in the stable channel since 1.20. So to compile with a compiler from the stable channel, please make sure that the version is >= 1.20.
First add to your Cargo.toml
:
[dependencies]
rspirv_headers = "1.4"
Then add to your crate root:
extern crate spirv_headers;
Version
Note that the major and minor version of this create is tracking the SPIR-V spec,
while the patch number is used for bugfixes for the crate itself. So version
1.4.2
is tracking SPIR-V 1.4 but not necessarily revision 2. Major client APIs
like Vulkan/OpenCL pin to a specific major and minor version, regardless of the
revision.
Examples
Please see the documentation and project's README for examples.