| # SVA |
| |
| SPIR-V Assembler for WebGPU. The SPIR-V Assembler is a JavaScript library to |
| convert SPIR-V assembly (as produced by spirv-dis in SPIR-V Tools) into a |
| SPIR-V binary. The assembler assumes it is generating WebGPU SPIR-V and thus has |
| the following limitations. |
| |
| * Only 32 bit integers and floats supported |
| * Only GLSL accepted as an extended instruction set |
| * Doesn't support ! syntax for integers |
| * Doesn't support hex encoding for float |
| |
| ```shell |
| yarn install |
| yarn test |
| ``` |
| |
| You can also use `yarn watch` to watch all of the files and re-run tests as |
| needed. |
| |
| ## Webserver |
| Using `yarn serve` will start a webserver on localhost:5000. If you load the |
| `tests/index.html` file this will load the SVA files into browser. |
| |
| ## Command Line |
| There is a simple assembler binary with can be executed from the command line. |
| |
| ```shell |
| yarn sva tests/simple.spv_asm |
| ``` |
| |
| The above will generate a `o.sva` file in the current directory. |
| |
| ## Update spirv.data.json |
| |
| If there is a new spirv-headers release update the externals folder checkout |
| and then: |
| |
| ```shell |
| ./tools/process_grammar.rb > src/spirv.data.json |
| ``` |