SPIRV-010Editor-Template is a custom 010Editor binary template for analyzing and visualizing SPIR-V binaries. SPIR-V is the intermediate language for defining shaders and compute kernels, primarily used in Vulkan, OpenCL, and WebGPU.
The template (spirv.bt
) is a composite of several components, each designed to handle a specific aspect of SPIR-V binaries:
-
./src/spirv_main.bt
This is the main entry point for the template and is manually authored. -
./src/spirv_core_grammar_inc.bt
This file is responsible for parsing SPIR-V operands and is auto-generated by the Python script
generate_grammar_inc.py
. It is based on the SPIR-V grammar definitions.To regenerate
spirv_core_grammar_inc.bt
, run the following command:python generate_grammar_inc.py --grammar path_to_grammar_file --output spirv_core_grammar_inc.bt
You can find the grammar file at the SPIRV-Headers repository.
-
./src/spirv_inc.bt
This file contains definitions for SPIR-V constants and is generated by a custom fork of the official SPIRV-Headers repository. You can find the fork here.
This project is licensed under the MIT License. See the LICENSE file for more details.
- SPIR-V is a registered trademark of the Khronos Group Inc.
- 010Editor is a registered trademark of SweetScape Software Inc.
This repository and its maintainers are not affiliated with or endorsed by the Khronos Group Inc. or SweetScape Software Inc. Use of their trademarks does not imply any relationship or endorsement.