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)
- [SPIRV] Resulting matrix vector product code looks unoptimized HOT 2
- Vertex entrypoints missing from capability system? HOT 3
- `GetAttributeAtVertex` is not correctly implemented for SPIRV. HOT 1
- Add compile flag to allow register() for Vulkan HOT 2
- slang-test failures with the latest Vulkan SDK 1.3.283.0
- Sanity check for compiling multiple shaders in a single file to SPIR-V library with Slang API HOT 1
- Disable all failing metal tests and enable full testing on CI. HOT 2
- Passthrough linking of shader-modules with embedded DXIL
- Implement `InputPatch` and `OutputPatch` for spirv.
- There is no way to keep unused descriptor bindings when compiling to SpirV HOT 4
- `Optional` type doesn't work in generic function.
- Validation error, "Flat decoration on target XX storage class must be Input or Output" HOT 5
- Capability System: Simplify capabilities before printing HOT 3
- Crash on invalid entry point parameter
- Request for a generic descriptor indexing intrinsic HOT 16
- `[[vk::builtin("DrawIndex")]]` is not supported. HOT 2
- Use ExplicitLod instructions for texture sampling in vertex shader HOT 2
- textureQueryLod needs to be used with ImageQuery capability
- GLSL matrix row/column major-ness issue HOT 2
- CTS test failures with -emit-spirv-directly
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.