• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

bin/25-Apr-2025-3313

src/25-Apr-2025-6,4055,803

tests/25-Apr-2025-7467

tools/25-Apr-2025-12088

.eslintrc.jsonD25-Apr-2025642 2625

.gitignoreD25-Apr-202576 76

README.mdD25-Apr-20251.1 KiB4230

mocha.optsD25-Apr-202512 21

package.jsonD25-Apr-2025650 2625

rollup.config.jsD25-Apr-2025103 87

yarn.lockD25-Apr-202565.5 KiB1,4751,254

README.md

1# SVA
2
3SPIR-V Assembler for WebGPU. The SPIR-V Assembler is a JavaScript library to
4convert SPIR-V assembly (as produced by spirv-dis in SPIR-V Tools) into a
5SPIR-V binary. The assembler assumes it is generating WebGPU SPIR-V and thus has
6the following limitations.
7
8 * Only 32 bit integers and floats supported
9 * Only GLSL accepted as an extended instruction set
10 * Doesn't support ! syntax for integers
11 * Doesn't support hex encoding for float
12
13```shell
14yarn install
15yarn test
16```
17
18You can also use `yarn watch` to watch all of the files and re-run tests as
19needed.
20
21## Webserver
22Using `yarn serve` will start a webserver on localhost:5000. If you load the
23`tests/index.html` file this will load the SVA files into browser.
24
25## Command Line
26There is a simple assembler binary with can be executed from the command line.
27
28```shell
29yarn sva tests/simple.spv_asm
30```
31
32The above will generate a `o.sva` file in the current directory.
33
34## Update spirv.data.json
35
36If there is a new spirv-headers release update the externals folder checkout
37and then:
38
39```shell
40./tools/process_grammar.rb > src/spirv.data.json
41```
42