3 ms·
I have an irrational dislike of SPIR-V. On the flip side of the coin I think MLIR is a work of genius — especially as a springboard for ideas in developing cust
by thechao 4y ago
I have an irrational dislike of SPIR-V. On the flip side of the coin I think MLIR is a work of genius — especially as a springboard for ideas in developing custom IR.
- fooker 4y agoMLIR is also siloing compiler research and development. Every one and their mother has their own proprietary MLIR dialect nowadays, and the era of competitive open source compilers is sort of fading.
- trogdc 4y agoThey probably would have their own proprietary "something" anyways, if not MLIR.
- fooker 4y agoMLIR makes this significantly easier. You no longer have to maintain a whole compiler!
- trogdc 4y agoSure, but I think this mostly results in a difference in quality/velocity, not proprietary vs open.
- fooker 4y agoThat does not seem correct. The open source vs proprietary decision is usually a decision taken based on exactly this difference. The sole reason for many companies to upstream some of their stuff is that they do not have to keep up with the firehose of upstream changes on their own.
- trogdc 4y agoSome companies might be in the position to make that choice, but I'd guess most aren't really equipped for it. First of all there's the issue of getting your changes upstream, you have to convince the community it's worth their time to help maintain your code, plus a quality bar you have to meet. And then once it's upstream you're committed to drinking from the firehose, instead of updating at your own pace, and there's extra scrutiny on every change you make. I really think most of these proprietary users are just figuring things out as they go, and doing that upstream 1. wouldn't be accepted, and 2. wouldn't make sense for them in the first place. But I'll admit that's speculation, I don't have intimate knowledge of what everyone's doing :)
- delta_p_delta_x 4y ago> I have an irrational dislike of SPIR-V Out of curiosity, why?
- imtringued 4y agoGames ship with source based shaders. SPIR-V basically means games ship binary shaders.
- TazeTSchnitzel 4y agoSPIR-V is a lot more like minified JavaScript or JVM bytecode than it is like x86 code, at least. In some cases the games' shaders haven't had any optimisation done and you can more or less fully reconstruct the original GLSL, albeit without comments or identifiers. Also a lot of textual shaders were already unreadable generated code. But for the ones that weren't, it's definitely a loss for those of us trying to peak at the internals of games, indeed :)
- thechao 4y agoI … don’t know? Originally, it just felt like some janky subset of LLVM-IR: close enough to almost work with the standard tooling, right out of the box, but not quite. It’s been nearly 10 years since I’ve looked at it, though, so what do I know? I don’t even know if they kept the design I was shown.