From d1ecda540ddd6e9ab53f7981de65c3e435c1132c Mon Sep 17 00:00:00 2001 From: yum Date: Sat, 11 Oct 2025 13:04:57 -0700 Subject: more stuff --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 00ff565..174ccd2 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,17 @@ the idea here is just to make something like slangc.exe, but which doesn't require an entrypoint. +basics and gotchas + +- all functions marked `public` are exported as entrypoints. + - this causes slang to put their arguments in a cbuffer. we post-process them + to fix this. +- any autodiff function calls within a module must *not* be to `public` APIs. + - this is a consequence of the prior point. any public API is seen by slang + as an "entrypoint" which accepts a cbuffer argument. the autodiff logic + does not handle this edge case, so it tries to pass arguments to a function + which takes no arguments. + build instructions ```bash @@ -22,3 +33,4 @@ cd ../.. powershell.exe ./build.ps1 && ./build/bin/Release/modular_slange.exe ./test.slang ``` + -- cgit v1.2.3