diff --git a/README.md b/README.md index 1373458..3602f5f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # gosl +**IMPORTANT UPDATE:** [Cogent Core](https://github.com/cogentcore/core) now has an improved version of gosl in its [vgpu/gosl](https://github.com/cogentcore/core/tree/main/vgpu/gosl) package and associated sub-packages. This version will not be further maintained or developed. The v1 version is still needed for the v1 version of emergent. + `gosl` implements Go as a shader language for GPU compute shaders: converts Go code to HLSL, and then uses the [glslc](https://github.com/google/shaderc) compiler (e.g., from a vulkan package) to compile into an `.spv` SPIR-V file that can be loaded into a vulkan compute shader. `glslc` must be [installed](https://askubuntu.com/questions/1252585/how-to-install-glslc-on-ubuntu-20-04)! Thus, `gosl` enables the same CPU-based Go code to also be run on the GPU. The relevant subsets of Go code to use are specifically marked using `//gosl:` comment directives, and this code must only use basic expressions and concrete types that will compile correctly in a shader (see [Restrictions](#restrictions) below). Method functions and pass-by-reference pointer arguments to `struct` types are supported and incur no additional compute cost due to inlining (see notes below for more detail).