stk-code_catmod/lib/shaderc/third_party/spirv-tools/tools/sva
Benau bc1d885bd1 Add shaderc v2022.1 for GLSL to SPIR-V shaders
Ran ./utils/git-sync-deps already, removed some unneeded files
2022-03-17 12:21:20 +08:00
..
bin Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
src Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
tests Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
tools Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
.eslintrc.json Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
mocha.opts Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
package.json Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
README.md Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
rollup.config.js Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00
yarn.lock Add shaderc v2022.1 for GLSL to SPIR-V shaders 2022-03-17 12:21:20 +08:00

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
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.

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:

./tools/process_grammar.rb > src/spirv.data.json