DirectX Developer Blog
devblogs.microsoft.com/directx · Company blog · on HN since 2019
Microsoft's DirectX team announces graphics and storage API news such as DirectStorage, HLSL standardization, SPIR-V adoption, and work graphs.
What HN saysHN links it for DirectX announcements in discussions about Windows graphics latency, with some commenters calling Vulkan and DX12 a failed design.
86HN people shared it
53linked it in comments
86stories submitted
1.1Kstory points
4 months agolast shared
2019people per year2026
Most-shared posts
- 1DirectX is coming to the Windows Subsystem for Linux19 people · 772 points · first shared 2020 · 527 comments on HN
- 2DirectStorage Is Coming to PC8 people · 7 points · first shared 2020 · discussion on HN
- 3DirectX Adopting SPIR-V as the Interchange Format of the Future6 people · 174 points · first shared 2024 · 133 comments on HN
- 4DirectStorage API Now Available on PC5 people · 18 points · first shared 2022 · discussion on HN
- 5DirectStorage 1.1 Coming Soon5 people · 11 points · first shared 2022 · discussion on HN
- 6Ecma Technical Committee 57: Standardization of the High-Level Shading Language4 people · 5 points · first shared 2026 · discussion on HN
- 7The OpenCL and OpenGL Compatibility Pack for Windows 10 on ARM4 people · 3 points · first shared 2020 · discussion on HN
- 8DirectX 12 Work Graphs now stable3 people · 10 points · first shared 2024 · 1 comments on HN
- 9Open Sourcing Direct3D 9 on 123 people · 4 points · first shared 2021 · 2 comments on HN
- 10DirectStorage Developer Preview now available3 people · 3 points · first shared 2021 · discussion on HN
- 11Hardware Accelerated GPU Scheduling3 people · 3 points · first shared 2020 · discussion on HN
- 12In the works: OpenCL and OpenGL mapping layers to DirectX3 people · 2 points · first shared 2020 · discussion on HN
- 13Coming to DirectX 12– Mesh Shaders and Amplification Shaders3 people · 1 points · first shared 2019 · discussion on HN
- 14Demystifying full screen optimizations3 people · first shared 2021
- 15Celebrating 10 Years of DirectX 122 people · 7 points · first shared 2025 · 1 comments on HN
What HN people wrote when they linked it
zokier · 2025-01-26
> Its definitely the same on Windows as it always was, which is the platform I most developed games for.
Not really. Most games use "borderless windowed" mode instead of fullscreen exclusive, and even FSE is not true exclusive mode anymore in most cases.
https://devblogs.microsoft.com/directx/demystifying-full-screen-optimi…
> When using Fullscreen Optimizations, your game believes that it is running in Fullscreen Exclusive, but behind the scenes, Windows has the game running in borderless windowed mode. When a game is run in borderless windowed mode, the game does not have full control of the display– that overarching control is given back to the Desktop Window Manager (DWM).
see also https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/for-best-…
raphlinus · 2019-03-21
I think you're right about GPU tending to have worse latency, but I think it's because that's the way the swap chain is set up and the use of blocking present calls. I've been studying this and am pretty sure I know how to make low latency on Windows work, mostly it's following the advice in [1]. If you do it right, then on modern hardware, DirectFlip kicks in and that saves you an additional frame that would ordinarily be eaten by the compositor. I plan to measure this at some point in the not too distant future, or would be happy to mentor somebody interested in taking it on.
[1]: https://devblogs.microsoft.com/directx/dxgi-flip-model/
cyber_kinetist · 2024-02-17
This adds more to the evidence that Vulkan / DX12 seems like a failed API design, when too many graphics engineers are reinventing the wheel by building their render-graph API on top of these (propietary triple-A game engines, Unreal Engine, and now Godot...) Instead of real-time graphics APIs providing all these low-level manual synchronization primitives and cumbersome PSOs, maybe they should just provide an official Render Graph API instead? Provide all of the operations and its dependencies in an acyclic graph up-front, and the driver handles synchronization automatically in the most performant manner tailored to the hardware.
I guess there needed some trial-and-error in the gamedev world for about a decade to really nail down a nice to use but also performant graphics API design. Vulkan being originated from the Mantle API from AMD didn't help - since it was a low-level console API mainly accustomed to AMD's GPUs and really didn't seem like it would fit for a more "general-purpose" API spanning a huge range of hardware and can stand the test of time. And with Microsoft's DX12 hastely copying from AMD's initial design it also has all the same issues (The irony is that DX11 is still the best graphics API you can use in gamedev in Windows in terms of ergonomics and even performance - seeing many trying to dauntingly build a DX12 backend and end up performing worse than DX11...)
Nowadays I'm obversing that the industry has known these issues for a while and are…
timvisee · 2020-09-28
Great article. Would like to see this become a reality.
I'm not so sure about this idea though, if Microsoft would ever take this path, it'll probably be far far in the future.
I think Microsoft releases and Edge version for Linux in an attempt to get Linux users on board to use their products. People using this will probably be less reluctant to try other Microsoft products as well.
Edge is based on Chromium, which is already Linux native. It probably took Microsoft minimal effort to release a Linux binary as well, making this a win-win situation for them.
Now to strengthen that argument; Microsoft did not release any other enduser software for native Linux yet, such as Office or other Windowws native tools. At least, I'm not aware of any. Maybe this is something they'll take on in the future, only one can dream. Now I know there's .NET Core and PowerShell, but I'd hardly call that enduser software.
At the same time they're working on various things that seem like a vender-lockin. I'll give two examples.
The first is the Windows/Microsoft Store and UWP. More and more applications (and AAA games) are released through this store as UWP apps. These UWP apps (and the store) cannot be emulated (yes I know Wine is not an emulator) on a Linux host at this moment and function as a DRM layer, nor do I think this will happen anytime soon.
As second example, take DirectX. Microsoft recently showed plans for supporting DirectX on Linux…
Telaneo · 2026-06-22
hnuser123456 · 2025-12-18
MS/NV are trying to start a program to pre-compile shaders for common hardware configurations and games/engines, and simply download them to clients.
https://devblogs.microsoft.com/directx/introducing-advanced-shader-del…
pjmlp · 2025-09-21
That strategy is described here, and comes from game developers wanting DirectX to be untied from OS versions as it used to be.
https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/
ack_complete · 2025-09-21
The Agility SDK is unrelated to what is being discussed here. It is a delivery mechanism for the Direct3D 12 runtime instead of DXGI, it is opt-in from the application side, and is done through a more stable loader stage in the core OS instead of hot-patching.
It does, however, give insight into the situation that the DirectX team is in. The in-box version of D3D12Core in the latest version of Windows 11 is SDK version 612. This can be compared against the released Agility SDK versions:
https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/
SDK version 612 is just before the 613 Agility SDK release on 3/11/2024. This means that the version of DirectX 12 they are able to ship in the main OS is a year and a half behind the latest released version.
TazeTSchnitzel · 2025-05-27
More details: https://devblogs.microsoft.com/directx/announcing-the-opencl-and-openg…
Like Apple, I think Microsoft see OpenGL as a legacy compatibility thing only.
BearOso · 2025-05-13
> Of course, but that is only for Vulkan, technically it is possible with OpenGL 4.6, but I doubt anyone is bothering with it.
https://devblogs.microsoft.com/directx/directx-adopting-spir-v/
lostmsu · 2025-04-19
Microsoft indicated they are switching to SPIR-V from DXIL: https://devblogs.microsoft.com/directx/directx-adopting-spir-v/
fidotron · 2025-01-11
How about https://devblogs.microsoft.com/directx/enabling-neural-rendering-in-di…
It's almost like some of us actually understand what's coming and aren't just being offensive asses.
modeless · 2024-10-08
Also DirectX is adopting SPIR-V, so that will help in the future as well.
Yes, it's true! https://devblogs.microsoft.com/directx/directx-adopting-spir-v/
dagmx · 2024-07-26
Metal’s closest equivalent is Indirect Command Buffers.
https://developer.apple.com/documentation/metal/indirect_command_encod…
However, there is no direct equivalent to work graphs. This DirectX blog goes over the differences in DirectX’s equivalent to indirect calls and work graphs better
https://devblogs.microsoft.com/directx/d3d12-work-graphs/
That said, a lot of what the AMD paper talks about can be done without work graphs, just with more care required.
jsheard · 2024-07-12
Microsoft is pushing something along those lines with DirectSR, the idea is that game engines integrate one set of generic hooks which can then be routed to any of the vendor upscalers transparently.
https://devblogs.microsoft.com/directx/directsr-preview/
ahartmetz · 2024-06-03
It's somewhat hard to find, so lest anyone thinks I'm making it up, here are two things I have heard of - DirectX passthrough and (probably related) DirectML passthrough
https://devblogs.microsoft.com/directx/directx-heart-linux/
https://learn.microsoft.com/en-us/windows/ai/directml/pytorch-wsl#set-…
dragontamer · 2024-03-30
That's just called DirectStorage and was added as part of Windows 10 (erm.... some update in Windows 10).
The PS5 and Xbox both have GPU-access of NVMe Flash.
------
So you are right. But what you are talking about happened like 5 years ago.
EDIT: https://devblogs.microsoft.com/directx/directstorage-developer-preview…
Looks like 3 years ago for Win10. But I feel like I heard it sooner than that as NVidia or AMD specific API calls.
codeulike · 2024-03-22
https://devblogs.microsoft.com/directx/introducing-neural-processor-un…
DirectML is a low-level API that provides a common abstraction layer for hardware vendors to expose their machine learning accelerators. DirectML works with any DirectX 12-compatible device including GPUs and now NPUs. Support for Intel Core Ultra processors with Intel AI Boost was developed in close collaboration with Intel.
jameshilliard · 2023-02-14
This is Microsoft's new EEE strategy, except that the new "Extinguish" target isn't all Linux systems but rather just any non-WSL based Linux systems. Microsoft offers WSL based Linux on Azure and they want developers to write software that's locked into WSL based Linux.
Microsoft isn't even hiding this at all as they even list it as a specific goal of the directx related changes being pushed to mesa:
https://devblogs.microsoft.com/directx/in-the-works-opencl-and-opengl-…
> Make it easier for developers to port their apps to D3D12. For developers looking to move from older OpenCL and OpenGL API versions to D3D12
singhrac · 2022-11-22
This is likely related to Microsoft’s DirectStorage API: https://devblogs.microsoft.com/directx/directstorage-1-1-now-available… While this is mostly game-focused, I wonder if ML training libraries will take advantage of this, since transferring training examples is often a huge bottleneck.
corysama · 2022-11-22
There is a new interest in GPU-side general-purpose decompression due to Microsoft pushing DirectStorage.
https://devblogs.microsoft.com/directx/directstorage-1-1-coming-soon/
Const-me · 2022-10-24
Yeah, that's more or less correct.
> The new combined shader will be named "Mesh" shader
It's only new for Vulkan. On Windows and XBox, mesh shaders were implemented couple years ago:
https://devblogs.microsoft.com/directx/coming-to-directx-12-mesh-shade…
This new Vulkan extension is a direct copy-paste of the above, leveraging the same hardware.
However, the hardware support for mesh shaders is less than ideal. That thing needs feature level 12.2, so-called "DirectX 12 Ultimate".
It only works on nVidia Turing (GeForce 20 series) or newer, and AMD RDNA2 (Radeon RX 6000 series, and current generation of game consoles).
EMM_386 · 2022-03-07
> I wonder how they implement fast loading times
Proper DX12 is still on the roadmap.
They will do it like this:
https://devblogs.microsoft.com/directx/directstorage-is-comi...
lmeyerov · 2022-01-22
Edit: Looks like OpenCL in WSL2 is still very much TBD -- https://github.com/microsoft/OpenCLOn12/issues/32
---
Interesting, thanks:
* OpenCL 1.2 -> DX12 coverage seems to be passing the repo's tests
* Unclear what's left for either a manual build or an automatic/upstreamed mesa install (https://devblogs.microsoft.com/directx/directx-heart-linux/). We saw the priority examples for the project during announce was ARM/mobile (2020), so still curious...
Nullabillity · 2021-10-20
According to the blog post mentioned earlier[0]:
1. Their kernel implementation is effectively just a paravirtualized proxy to the Windows DX API. So it won't be useful for bare metal users.
2. Only the kernel driver is open source (and presumably that is only thanks to the GPL). The user-mode library is a proprietary component shipped with Windows. I assume this is also DRMed to only work on top of Hyper-V/WSL2, just like many of their VSCode extensions deliberately block usage with unbranded builds (see also: AARD code[1], this isn't exactly new for them).
[0]: https://devblogs.microsoft.com/directx/directx-heart-linux/
[1]: https://en.wikipedia.org/wiki/AARD_code
teddyfrozevelt · 2021-10-20
They're already doing it with WSL specific features such as the DirectX driver.
https://devblogs.microsoft.com/directx/directx-heart-linux/
jd3 · 2021-10-07
It's been a long time since I used Chrome on Windows — do you know if Chrome's fullscreen mode leverages exclusive fullscreen/fse/fullscreen optimizations[0]?
I'm pretty sure that's what most games use to bypass the forced DWM vsync. For example, when I used Dolphin on one of those cheap 60hz IPS LCD monitors with no internal scaler, I always preferred the lower latency + tearing in exclusive fullscreen compared to the laggy + smooth windowed mode. There was honestly such a stark difference between the two that I found the game to be unplayable in DWM's windowed vsync mode.
[0]: https://devblogs.microsoft.com/directx/demystifying-full-screen-optimi…
edit: to answer my own question, it looks like Chrome does not use exclusive fullscreen https://news.ycombinator.com/item?id=28784108
pitterpatter · 2021-09-16
>DirectStorage for instance (allowing P2P DMA between your GPU and SSD) is only going to be available in Windows 11 apparently.
Pretty sure they backtracked on that. "As such, games built against the DirectStorage SDK will be compatible with Windows 10, version 1909 and up"
https://devblogs.microsoft.com/directx/directstorage-developer-preview…
opencl · 2021-09-13
They've done a little bit of that with DirectX for WSL2.
https://devblogs.microsoft.com/directx/directx-heart-linux/
garaetjjte · 2021-09-13
>An example of Extend would be building features for WSL that only work in WSL, not Linux proper.
That thing already exists, DirectX is available only under WSL: https://devblogs.microsoft.com/directx/wp-content/uploads/sites/42/202…
Extinguish phase is not clear though. (at least for now)