blob: f782e21b206cd69b2d2418d74c878f4eaeb238ac [file] [log] [blame] [view] [edit]
# SPIR-V Reader
This component translates SPIR-V written for Vulkan into the Tint AST.
The SPIR-V reader entry point is `tint::reader::spirv::Parser`, which
implements the Reader interface in `tint::reader::Reader`.
It's usable from the Tint command line:
# Translate SPIR-V into WGSL.
tint --format wgsl a.spv
## Supported dialects
The SPIR-V module must pass validation for the Vulkan 1.1 environment in SPIRV-Tools.
In particular, SPIR-V 1.4 and later are not supported.
For example, the equivalent of the following must pass:
spirv-val --target-env vulkan1.1 a.spv
Additionally, the reader imposes additional constraints based on:
* The features supported by WGSL. Some Vulkan features might not be supportable because
WebGPU must be portable to other graphics APIs.
* Limitations of the reader itself. These might be relaxed in the future with extra
engineering work.
## Feedback
Please file issues at https://crbug.com/tint, and apply label `SpirvReader`.
Outstanding issues can be found by using the `SpirvReader` label in the Chromium project's
bug tracker: https://bugs.chromium.org/p/tint/issues/list?q=label:SpirvReader