Comments (4)
We may need to move to spirv 1.6 as a user opt-in option instead of doing it wholesale, so some of those workaround logic still need to exist until we can confirm no one is still relying on 1.5.
from slang.
Right, I wasn't sure whether it was intended for slang to always target the latest spir-v version, that comment made me think as if it is. Could you elaborate on what do you mean with "workaround logic"? 1.6 doesn't forbid anything you'd do when targeting 1.5 except the thing with BranchConditional
.
If slang already satisfies that requirement (never generates BranchConditional
where true and else blocks are the same) it seems like it's just a matter of plumbing glsl_spirv_1_N
into SPIR-V emitter which I'd be willing to work on, but I'm kinda concerned about that comment in the snippet in the OP and it's not very clear as to which tests it's referring to. I guess I should just try running all slang/tests
and see what blows up.
from slang.
That comment is obsolete and you can disregard it. We are currently targeting 1.5 intentionally. We don't aim to always support latest version defined in the header because we need to support users who can't target a newer spirv model.
We should allow dynamic selection of target spirv version, in that if the user calls a spirv 1.6 function or specified the spirv 1.6 target profile explicitly, then we generate spirv according to the 1.6 spec.
from slang.
And we definitely welcome/appreciate your contribution! Let me know if you need any input or help from us.
from slang.
Related Issues (20)
- Unable to use vectors in initialization list of other vectors HOT 1
- Initializers example in the Slang User Guide does not compile. HOT 1
- Metal: Function return type incorrectly checked when assigning address space
- Incorrect initializers when using interfaces HOT 1
- Variant of `GatherAlpha()` that takes a `status` argument is not supported
- Properly handle the mismatching "mutating" signature for implementing interfaces HOT 1
- Metal: `legalizeArrayReturnType` leads to missing address space for `Out` parameter
- AD Cleanup: Fix inconsistency between `ForwardDerivativeDecoration` and `UserDefinedBackwardDerivativeDecoration`
- Multidimensional `ConstantBuffer` array usage triggers assert
- Will Slang support `using` for type aliasing? HOT 3
- Unable to use `const` in `typedef` statement HOT 3
- Unexpected ambiguous call. HOT 2
- There is no way to emit WGSL HOT 4
- Metal: Opaque type return/inout-param/out-param either infinitely-loops or crashes
- Metal: atomic instructions for buffers HOT 2
- Add Tint as a downstream compiler HOT 3
- Add WGSL as an output target
- Extraneous type conformances causes compiler error. HOT 2
- Metal: Slang does not legalize `[[color(n)]]`/`[[attribute(n)]]` attributes correctly HOT 4
- tests/cpu-program/gfx-smoke.slang fails on local test HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slang.