GithubHelp home page GithubHelp logo

goki / gosl Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 382 KB

Go as a shader language: converts Go code to SPIR-V via HLSL

License: BSD 3-Clause "New" or "Revised" License

Go 93.87% Makefile 0.15% HLSL 5.97%
go golang gpu gpu-computing hlsl hlsl-shader shaders

gosl's Introduction

Go Report Card pkg.go.dev docs GitHub Actions Workflow Status Test Coverage Version

Cogent Core is a free and open source framework for building powerful, fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web with a single Go codebase, allowing you to Code Once, Run Everywhere (Core). See the Cogent Core Website for more information, including extensive documentation and editable interactive running examples. The website itself is a Cogent Core app running on the web using wasm.

gosl's People

Contributors

kkoreilly avatar rcoreilly avatar siboehm avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

siboehm

gosl's Issues

Optimization for vulkan1.2 emits a confusing message..

Finally got around to looking at args to glslc and realized we weren't optimizing! Now passing the -O flag.

Now that we are optimizing, if you set the --target-env=vulkan1.2 which is appropriate, it gives a confusing error in the axon test case:

shaderc: internal error: compilation succeeded but failed to optimize: 2nd operand of Decorate: operand BufferBlock(3) requires SPIR-V version 1.3 or earlier
  OpDecorate %Neurons BufferBlock

so using 1.1 for now, but should try to figure this out. also going through the source code to fix the atomic add issue so may have some insight from there.

There is much I don't understand about these decorators and registers and whatnot. Need to read these at some point:

Not doing type inference on NrnV function in axon

e.g., in axon/act.go

		var gknaMed, gknaSlow float32 // note: gosl can't infer types from NrnV function
		gknaMed = NrnV(ctx, ni, di, GknaMed)
		gknaSlow = NrnV(ctx, ni, di, GknaSlow)

should be easy enough to fix. reports an invalid type.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.