Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    D

    Dzmitry Malyshau

    kvark.github.io · Personal blog · on HN since 2016

    Dzmitry Malyshau (kvark), a graphics engineer on WebGPU and wgpu, writes about SPIR-V, shaders, and GPU APIs.

    Visit blogRSSHN submissions
    ProgrammingWeb DevelopmentSystems & Performance
    What HN says

    HN commenters cite his SPIR-V posts as a technical explanation of why WebGPU uses WGSL, and call his summary of the debate balanced.

    Stats for nerds
    17HN people shared it
    21linked in comments
    980story points
    Oct 2025last shared
    2021people per year2025

    Top posts on HN

    1. 1
      NixOS on Framework Laptop
      1 person · 358 points · first shared 2021 · 245 comments on HN
    2. 2
      Point of WebGPU on Native
      3 people · 184 points · first shared 2020 · 94 comments on HN
    3. 3
      Missing Structure in Technical Discussions
      2 people · 161 points · first shared 2020 · 38 comments on HN
    4. 4
      Feasibility of low-level GPU access on the Web
      1 person · 128 points · first shared 2018 · 128 comments on HN
    5. 5
      Implementing WebGPU in Gecko
      3 people · 124 points · first shared 2019 · 45 comments on HN
    6. 6
      Defining the Web platform in the context of 3D API
      1 person · 5 points · first shared 2017 · Discussion on HN
    7. 7
      Horrors of SPIR-V
      7 people · 3 points · first shared 2021 · Discussion on HN
    8. 8
      Wgpu API Tracing Infrastructure
      2 people · 3 points · first shared 2020 · Discussion on HN
    9. 9
      Mozilla's capture infrastructure for debugging WebRender
      1 person · 2 points · first shared 2018 · Discussion on HN
    10. 10
      Tale of Alignment with Vulkan
      1 person · 2 points · first shared 2021 · Discussion on HN

    What HN people wrote when they linked it

    • j-pbMar 2022

      The author list and W3C document are pretty much irrelevant, the actual working group is what counts.

      After thinking about it some more, I've come to the conclusion that I've actually not been strong enough in my initial accusation, and that Apple is trying to smother any threat that WebGPU poses to its native App supremacy.

      The story is essentially:

      Apple wants SPIRV dead.
      Mozilla wants SPIRV alive.
      Google wants SPIRV alive.

      Google developed a human readable text version for SPIRV, which is isomorphic to the binary version, akin to WASM <-> WAT.

      Mozilla wants SPIRV, which Apple fully rejects (because of some legal dispute with Chronos, where Apple probably tries to get a patent for something that Chronos has as prior art or something), but they are open to googles proposal of a textural intermediary, which is isomorphic.

      Mozilla and Google agree, because they'll all compile down to SPIRV anyways, except for Apple which will target Metal.

      This decision is captured in the W3C proposal which to this day contains the Isomorphism property.

      That's the Embrace, WGSL is born.

      Apple convinces Mozilla and Google that WGSL should be even more human readable, since user readable formats are the backbone of the open web. But for more convenience WGSL will need more features. Extend.

      Apple convinces Mozilla and Google that now that the language has grown anyways they should make it much more compatible with other shading languages in general, SPIRV will not be the only target,…

    • raphlinusSep 2024

      Faith Ekstrand has an impressive track record of compiler work and has written a few blog posts[1], [1a]. Her Mastodon[2] is also worth a follow.

      SPIR-V is important in the compute shader space, especially because DXIL and Metal's AIR are similar. I'm going to link three articles critical of SPIR-V: [3], [4], [5].

      WebGPU [6] is interesting for a number of reasons, largely because they're trying to actually nail down the semantics, and also make it safe (see the uniformity analysis [7] in particular, which is a very "compiler" approach to a GPU-specific problem). Both Tint and naga projects are open source, with lots of high quality discussion in the issue trackers.

      Shader languages suck, and we really need a good one. Promising approaches are Circle [8] (which is C++ based, very advanced but not open source), and Slang [9] (an evolution of HLSL). The Vcc work (also related to [4]) is worth studying.

      Best of luck! This is a fascinating, if frustrating, space, and there's lots of room to improve things.

      [1]: https://www.gfxstrand.net/faith/blog/

      [1a]: https://www.collabora.com/news-and-blog/blog/2024/04/25/re-converging-control-flow-on-nvidia-gpus/

      [2]: https://mastodon.gamedev.place/@gfxstrand

      [3]: https://kvark.github.io/spirv/2021/05/01/spirv-horrors.html

      [4]: https://xol.io/blah/the-trouble-with-spirv/

      [5]: https://themaister.net/blog/2022/08/21/my-personal-hell-of-translating-dxil-to-spir-v-finale/

      [6]: https://github.com/gpuweb/gpuweb

      [7]:…

    • slimsagDec 2023

      What he wrote was not just a devils advocate position. I encourage everyone to read it in full. Also his 'Horrors of SPIR-V' article a year later[0] which has this conclusion:

      > I had a chance to work with SPIR-V rather intimately, and I’m becoming convinced that most of the defenders of this format (who like to criticize WGSL in turn) have little experience actually doing anything with it [...] I was one of them. SPIR-V is probably a good format for what it was made for: driver compilers. It’s not as good for the intermediate portable representations of your shaders.

      [0] http://kvark.github.io/spirv/2021/05/01/spirv-horrors.html

      > Apple's other stance, very strongly stated, was that no binary IR of any kind was acceptable, full stop.

      Very strongly stated /where/?

      I linked my source, in which kvark clearly stated two things (not as part of his 'devils advocate' position) that directly contradict your claim:

      > There is much more to it than just "Apple cannot do X" that often shows up.

      > the group agreed to [...] take the semantics of SPIR-V where it makes sense

      If there really is a source for it, I'd love to see it (genuinely).

    • littlestymaarMar 2021

      You may want to read this summary of the arguments pro and con SPIR-V, made by Kvark a gfx engineer at Mozilla, so you have a more balanced view of the topic :

      The summary exists in two variants: a graphic summary[1] and a textual one[2].

      [1] https://kvark.github.io/webgpu-debate/SPIR-V.component.html

      [2] https://kvark.github.io/webgpu-debate/SPIR-V.html

    • skitterOct 2021

      Apparently wgsl was created because SPIR-V isn't well suited for being an intermediate representation to target graphics APIs other than Vulkan itself.
      Some notes of intrest: https://kvark.github.io/spirv/2021/05/01/spirv-horrors.html

    • kvarkMay 2021

      WebGPU on native is the best bet to bring back the times where you could reasonably write once and run everywhere. See also - http://kvark.github.io/web/gpu/native/2020/05/03/point-of-webgpu-native.html

    Related

    gfx-rs Bloggfx-rs.github.io19 people

    The rise of wgpu

    gfx-rs Blog
    Company · last shared 2024
    Josh Barczakjoshbarczak.com18 people

    OpenGL Is Broken

    Josh Barczak
    Personal · last shared 2025
    Yosoygamesyosoygames.com.ar18 people

    Maybe it’s time to talk about a new Linux Display Driver Model

    Yosoygames
    Personal · last shared 2025
    DirectX Developer Blogblogs.msdn.microsoft.com/directx18 people

    Announcing Microsoft DirectX Raytracing

    DirectX Developer Blog
    Company · last shared 2019
    Hans-Kristian Arntzen (Themaister)themaister.net25 people

    I designed my own fast game streaming video codec – PyroWave

    Hans-Kristian Arntzen (Themaister)
    Personal · last shared 2026
    Hexops Devlogdevlog.hexops.com27 people

    Zig, parser combinators, and why they're awesome

    Hexops Devlog
    Company · last shared 2025
    Dimitri Glazkovglazkov.com26 people

    What the Heck is Shadow DOM?

    Dimitri Glazkov
    Personal · last shared 2026
    Aras Pranckevičiusaras-p.info79 people

    I accidentally Blender VSE

    Aras Pranckevičius
    Personal · last shared 2026