~eliasnaur/gio-cpu

cmd/compile: add Vulkan function name to error messages
init.sh: don't build SwiftShader with -Werror
cmd/compile: remove GLSL hash from output

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~eliasnaur/gio-cpu
read/write
git@git.sr.ht:~eliasnaur/gio-cpu

You can also use your local clone with git send-email.

#Compile and run compute programs on CPU

This projects contains the compiler for turning Vulkan SPIR-V compute shaders into binaries for arm64, arm or amd64, using SwiftShader with a few modifications. A runtime implemented in C and Go is available for running the resulting binaries.

The primary use is to support a CPU-based rendering fallback for Gio. In particular, the gioui.org/shader/piet package contains arm, arm64, amd64 binaries for piet-gpu.

#Compiling and running shaders

The init.sh script clones the modifed SwiftShader projects and builds it for 64-bit and 32-bit. SwiftShader is not designed to cross-compile which is why a 32-bit build is needed to compile shaders for arm.

The example/run.sh script demonstrates compiling and running a simple compute program.

#Issues and contributions

See the Gio contribution guide.