naga_oil
naga_oil copied to clipboard
I took a stab at replacing one of the existing pieces of code with winnow. I went for winnow instead of the usual `nom` library, because epage's winnow is [significantly...
I'm adding a bit more documentation here and there as I go through the source code. This is mainly documentation for things that weren't immediately obvious to me. Still a...
I've noticed that quite a few projects have started using naga oil. 🎉 This has lead to reasonable feature requests in WGSL language servers and WGSL tools: - https://github.com/PolyMeilex/vscode-wgsl/issues/25 -...
```wgsl #import dep::{foo, bar} struct Example { bar: u32, } fn test() { let example = Example(0u); foo(example.bar); } ``` This code produces this error: ``` error: invalid field accessor...
Pipeline override constants will be fully implemented in a followup PR. They're theoretically working, but they need tests and also need a function to map the unmangled names to the...
fixes #81 ignore comment markers in `"` quotes (unless the quote is already in a comment). also fix `*/` incorrectly stripping the marker and returning ` `, and `/* //*`...
Consider this piece of shader code: ``` #import "embedded://path/to/shader.wgsl"::foo ``` Currently, `naga_oil` recognizes the "//" part of the import path as comments and replaces the line with `#import "embedded:`, so...
This is more of a design question. If I have a type inside a module which is named the same as the module itself, I'd want to be able to...
It appears that you can't use wgsl alias from a composable module. It works when using you are using from the make module file though. ```rust composer .add_composable_module(ComposableModuleDescriptor { source:...
This example is straight from the [w3 examples](https://www.w3.org/TR/WGSL/#example-ad1395c9) which follows the valid path. It appears that the `align(16)` attribute is not applied when the struct is defined in a composable...