My team added the Vulkan SPIR-V backend to DXC starting in 2017. Vulkan benefitted by getting the latest greatest HLSL compiler. I don't speak for Microsoft but I can guess they benefitted by expanding the audience for and usage of HLSL.
(As I like to say, a programming language is a cultural artifact. Network effects matter a lot.)
Atomic loads and stores are sufficient for multi-threaded programming without tears, but they can't guarantee multi-threaded programming without tears.
This week's project: Reworking NVK cbuf support. We've had a lot of issues with too much internal stalling and I think a lot of them come down to the fact that we're re-binding cbufs every draw call.
My plan for root constants, is to do inline updates with the LOAD_CONSTANT_BUFFER command. I don't know how much of a difference there is but I strongly suspect this pipelines much better.
For bound cbufs, I'm planning to just make our dirty tracking way more competent.
Do you have a benchmark suite that you trust and curate? It would take the guesswork out of these tradeoffs. (Of course, mainly pushing it to the curation process.)
Yep. This is the dumbest part of Clspv. By dumb I mean the highest difficulty-to-intrinsic-value ratio, and often error prone.
The folks pushing this change have waved away the concerns expressed by the GPU community. Right there in the RFC discussion.
@oblomov
New Android feature. There's always solid line at the bottom of the screen. you tap that and the whole.screen goes ghost-like. You circle a part of an image for an image search, or circle or strike through words or a phrase to do a Google text search. The results overlay the bottom half of the screen. You can refine or restart, or discard the whole thing. The key is how easy it is to do without needing to get to a new screen
I think it’s semi-hilarious that there’s a blog post going around which basically says Metal Shading Language is by far the best shading language (without actually saying it)
Also the author gets bonus points for mentioning WGSL, but the loses them all again for complaining that WGSL isn’t more expressive than the languages it compiles to
That proposal seemed focused on ergonomics but entirely missed the interesting/hard parts of shading languages: uniformity and the implications thereof. We were talking past each other.
(Even today almost all programmers assume wrong things about how subgroup operations behave, including folks who should know better.)
Also nobody wanted a NEW language. I still get flack for this. Obligatory https://xkcd.com/927/