Jump to content

Microsoft makes DirectX 12 shader compiler open-source

New DirectX Shader Compiler based on Clang/LLVM now available as Open Source

 

Quote

The DirectX HLSL (High Level Shading Language) compiler is now available as an open source project built on the Clang/LLVM framework.
 

Microsoft drives the leading GPU shader language

Since 2002, HLSL has been a key focus of industry collaboration on GPU programming. As the shader language for the popular DirectX12 API, HLSL is at the forefront of innovation in gaming on both Windows 10 and Xbox. Due to the clear importance of industry collaboration, we have made our latest technology available to a broader audience. This release brings industry collaboration on GPU programming and shader compiler development into a new era of opportunity.
 

The DirectX Shader Compiler is now open source

Yes, the source is public. Because the source is available, developers can check to see how the compiler works at the smallest level of detail. You can download it, modify it, and make it a part of any system you are building. You can port it to other platforms. You can also contribute your ideas and code to the project directly, or collaborate with other partners (including hardware vendors) on new contributions.
 

The HLSL compiler is now based on Clang/LLVM technology

The Clang/LLVM framework is a large-scale compiler framework suitable for compiling massive codebases. Using Clang for the shader front-end enables robust operation immediately, plus easier extensibility and innovation over time. Using the LLVM framework, the new compiler emits a new binary shader format known as DXIL. The large Clang/LLVM ecosystem of tools, utilities, documentation, expertise, etc. is now available to help with integrating shaders into major products.
 

HLSL now supports new wave intrinsics

While the primary focus of the new codebase has been on consistency and scale, a new GPU programming model is enabled in HLSL via the wave intrinsics. These new routines help developers write shaders that take explicit advantage of the SIMD nature of GPU processors to improve performance for algorithms like geometry culling, lighting, and I/O.
 

User impact

The broader collaboration opportunities of open source, combined with the production scale technology of the Clang/LLVM foundation should result in faster creation of more complex shaders in apps and games. User will see these as much richer visual experiences arriving in shorter timeframes.

 

Is making the compiler open source the same thing as making DX12 open-source? That's my presumption, here.

 

Anyway, I figure that motivations for Microsoft to do this might include:

a) Vulkan looking attractive to developers due to its open-source nature, as well as being cross-platform, and Microsoft feels they have to do more to incentivise developers to use DX12 instead of Vulkan

b) DX12 games are not establishing a great track record for performance improvement, so far, with games usually losing performance in DX12 mode. And so, maybe Microsoft hopes that by making DX12 open-source, that people will start finding ways to improve DX12 implementation and effectiveness in games, and thereby increase the attractiveness of the DX12 brand, or at least prevent its luster from fading too much below its marketing hype

 

I think that one interesting outcome of this might be that DirectX 12 support gets non-officially added to Windows 7, and Windows 8.

Edited by GoodBytes
Fixed quote formating

You own the software that you purchase - Understanding software licenses and EULAs

 

"We’ll know our disinformation program is complete when everything the american public believes is false" - William Casey, CIA Director 1981-1987

Link to comment
Share on other sites

Link to post
Share on other sites

If they have indeed made it open source, then that's very uncharacteristic of Microsoft.

Current LTT F@H Rank: 90    Score: 2,503,680,659    Stats

Yes, I have 9 monitors.

My main PC (Hybrid Windows 10/Arch Linux):

OS: Arch Linux w/ XFCE DE (VFIO-Patched Kernel) as host OS, windows 10 as guest

CPU: Ryzen 9 3900X w/PBO on (6c 12t for host, 6c 12t for guest)

Cooler: Noctua NH-D15

Mobo: Asus X470-F Gaming

RAM: 32GB G-Skill Ripjaws V @ 3200MHz (12GB for host, 20GB for guest)

GPU: Guest: EVGA RTX 3070 FTW3 ULTRA Host: 2x Radeon HD 8470

PSU: EVGA G2 650W

SSDs: Guest: Samsung 850 evo 120 GB, Samsung 860 evo 1TB Host: Samsung 970 evo 500GB NVME

HDD: Guest: WD Caviar Blue 1 TB

Case: Fractal Design Define R5 Black w/ Tempered Glass Side Panel Upgrade

Other: White LED strip to illuminate the interior. Extra fractal intake fan for positive pressure.

 

unRAID server (Plex, Windows 10 VM, NAS, Duplicati, game servers):

OS: unRAID 6.11.2

CPU: Ryzen R7 2700x @ Stock

Cooler: Noctua NH-U9S

Mobo: Asus Prime X470-Pro

RAM: 16GB G-Skill Ripjaws V + 16GB Hyperx Fury Black @ stock

GPU: EVGA GTX 1080 FTW2

PSU: EVGA G3 850W

SSD: Samsung 970 evo NVME 250GB, Samsung 860 evo SATA 1TB 

HDDs: 4x HGST Dekstar NAS 4TB @ 7200RPM (3 data, 1 parity)

Case: Sillverstone GD08B

Other: Added 3x Noctua NF-F12 intake, 2x Noctua NF-A8 exhaust, Inatek 5 port USB 3.0 expansion card with usb 3.0 front panel header

Details: 12GB ram, GTX 1080, USB card passed through to windows 10 VM. VM's OS drive is the SATA SSD. Rest of resources are for Plex, Duplicati, Spaghettidetective, Nextcloud, and game servers.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, sazrocks said:

If they have indeed made it open source, then that's very uncharacteristic of Microsoft.

I'd treat it the same way I'd treat the same as Windows 10-with suspicion. Because Microsoft never does something for free without an ulterior motive.

"We also blind small animals with cosmetics.
We do not sell cosmetics. We just blind animals."

 

"Please don't mistake us for Equifax. Those fuckers are evil"

 

This PSA brought to you by Equifacks.
PMSL

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Delicieuxz said:

One interesting outcome of this might be that DirectX 12 support is added to Windows 7, and Windows 8.

DX11 was only going to be available for Win7 and later too, but they eventually released it for Vista.  So you have a point there.

 

On the other hand, a lot of people only upgraded to Win10 because of the better framerates that DX12 promised (but failed to deliver so far in most games).  If it's ported to Win7 and Win8.1, they'll have lost the only reason why so many people "upgraded" to Win10.  So I'm pretty sure they'll find some way to stop that from happening. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Captain Chaos said:

DX11 was only going to be available for Win7 and later too, but they eventually released it for Vista.  So you have a point there.

 

On the other hand, a lot of people only upgraded to Win10 because of the better framerates that DX12 promised (but failed to deliver so far in most games).  If it's ported to Win7 and Win8.1, they'll have lost the only reason why so many people "upgraded" to Win10.  So I'm pretty sure they'll find some way to stop that from happening. 

If WDDM 2.0 gets backported to Windows 8.1 then I'm going back to 8.1.

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, sazrocks said:

If they have indeed made it open source, then that's very uncharacteristic of Microsoft.

There was a time when I would have agreed but in the last many years they've really changed.

Solve your own audio issues  |  First Steps with RPi 3  |  Humidity & Condensation  |  Sleep & Hibernation  |  Overclocking RAM  |  Making Backups  |  Displays  |  4K / 8K / 16K / etc.  |  Do I need 80+ Platinum?

If you can read this you're using the wrong theme.  You can change it at the bottom.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Captain Chaos said:

DX11 was only going to be available for Win7 and later too, but they eventually released it for Vista.  So you have a point there.

 

On the other hand, a lot of people only upgraded to Win10 because of the better framerates that DX12 promised (but failed to deliver so far in most games).  If it's ported to Win7 and Win8.1, they'll have lost the only reason why so many people "upgraded" to Win10.  So I'm pretty sure they'll find some way to stop that from happening. 

Realistically only those with AMD graphics cards benefit the most from DirectX 12, and even then its only because AMD's DirectX 11 performance takes a long time to get up to par with Nvidia. As it stands I've downgraded to Windows 7 after Windows 10 randomly broke again (I already had a Windows 7 SSD set up), and so far I still don't miss it at all. Pretty much DirectX 12 is the only reason to use Windows 10 at all, especially with Windows 7, 8/8.1 and even more so Vista being more secure.

"We also blind small animals with cosmetics.
We do not sell cosmetics. We just blind animals."

 

"Please don't mistake us for Equifax. Those fuckers are evil"

 

This PSA brought to you by Equifacks.
PMSL

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, Captain Chaos said:

 

On the other hand, a lot of people only upgraded to Win10 because of the better framerates that DX12 promised (but failed to deliver so far in most games).  

I'd say it delivered better framerates but not for the majority of gamers (aka intel and Nvidia gpus) 

Link to comment
Share on other sites

Link to post
Share on other sites

Interesting...

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

28 minutes ago, Delicieuxz said:

Is making the compiler open source the same thing as making DX12 open-source? That's my presumption, here.

It is not.

 

From what I gather, the runtime is still closed source, and that's what really matters. The other parts of DX12 are still closed source as well. This is one one part of the DX12 SDK that is being open sourced.

 

Don't expect anything big to come out of this. Probably Microsoft's way of trying to appear a bit more open to attract developers away from Vulkan.

Link to comment
Share on other sites

Link to post
Share on other sites

something to give developers a bit more visibility and code portability. They need to make it attractive to devs in the face of vulkan.

Link to comment
Share on other sites

Link to post
Share on other sites

i honestly would rather have that they completely fuck up DX12. better cross platform performance is their worst nightmare and thats exactly what i want. what bennefit do they get from people developing for their platform if its not exclusive to their product?

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Dabombinable said:

I'd treat it the same way I'd treat the same as Windows 10-with suspicion. Because Microsoft never does something for free without an ulterior motive.

Microsoft's ulterior motive is to kill off Vulkan, or at least make it irrelevant enough that hardly anybody supports it, thus continuing the status quo that Windows is the platform of choice for video games (i.e. what happened with OpenGL).

Intel i7 5820K (4.5 GHz) | MSI X99A MPower | 32 GB Kingston HyperX Fury 2666MHz | Asus RoG STRIX GTX 1080ti OC | Samsung 951 m.2 nVME 512GB | Crucial MX200 1000GB | Western Digital Caviar Black 2000GB | Noctua NH-D15 | Fractal Define R5 | Seasonic 860 Platinum | Logitech G910 | Sennheiser 599 | Blue Yeti | Logitech G502

 

Nikon D500 | Nikon 300mm f/4 PF  | Nikon 200-500 f/5.6 | Nikon 50mm f/1.8 | Tamron 70-210 f/4 VCII | Sigma 10-20 f/3.5 | Nikon 17-55 f/2.8 | Tamron 90mm F2.8 SP Di VC USD Macro | Neewer 750II

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, sazrocks said:

If they have indeed made it open source, then that's very uncharacteristic of Microsoft.

Microsoft was one of the biggest contributor to linux for years. I dont know where they stand nowadays but dont forget that.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, LAwLz said:

It is not.

 

From what I gather, the runtime is still closed source, and that's what really matters. The other parts of DX12 are still closed source as well. This is one one part of the DX12 SDK that is being open sourced.

 

Don't expect anything big to come out of this. Probably Microsoft's way of trying to appear a bit more open to attract developers away from Vulkan.

No, but open sourcing the shader compiler could help the developers of Linux implementations of DirectX to get a bit of insight into Microsoft's methods and optimizations.

 

5 hours ago, sazrocks said:

If they have indeed made it open source, then that's very uncharacteristic of Microsoft.

Microsoft is a high paying member of the Linux foundation. Anything is possible.

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, Sniperfox47 said:

No, but open sourcing the shader compiler could help the developers of Linux implementations of DirectX to get a bit of insight into Microsoft's methods and optimizations.

 

24 minutes ago, Sniperfox47 said:

Microsoft is a high paying member of the Linux foundation. Anything is possible.

They're not just a high paying member lol.

 

They are the highest paying member xD.

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

Well nice. Good that both DX12 and Vulkan are out there and improving. Initial DX12 games, while DX12 is still in it's infancy, performed badly not due to new API but rather that it's ported and not built from the ground up in mind. Also terrible game ports, bad coding and engine optimizations. I'm excited and looking forward for more Vulkan and DX12 games, that are actually build from the ground up with NEW APIs though.

And no, we don't need bellow W10 support really, seriously. It's enough as we drag old tech as it is already, which doesn't help but hinders progress. 

Would be great to see a game or games with both DX12 and Vulkan as options, that would be amazing!

| Ryzen 7 7800X3D | AM5 B650 Aorus Elite AX | G.Skill Trident Z5 Neo RGB DDR5 32GB 6000MHz C30 | Sapphire PULSE Radeon RX 7900 XTX | Samsung 990 PRO 1TB with heatsink | Arctic Liquid Freezer II 360 | Seasonic Focus GX-850 | Lian Li Lanccool III | Mousepad: Skypad 3.0 XL / Zowie GTF-X | Mouse: Zowie S1-C | Keyboard: Ducky One 3 TKL (Cherry MX-Speed-Silver)Beyerdynamic MMX 300 (2nd Gen) | Acer XV272U | OS: Windows 11 |

Link to comment
Share on other sites

Link to post
Share on other sites

21 minutes ago, Bento said:

I wonder WHEN these games will appear?) not heard the news about this?)

Probably and hopefully the ones that are yet to be announced in future and ones that are just in development with this in mind.

| Ryzen 7 7800X3D | AM5 B650 Aorus Elite AX | G.Skill Trident Z5 Neo RGB DDR5 32GB 6000MHz C30 | Sapphire PULSE Radeon RX 7900 XTX | Samsung 990 PRO 1TB with heatsink | Arctic Liquid Freezer II 360 | Seasonic Focus GX-850 | Lian Li Lanccool III | Mousepad: Skypad 3.0 XL / Zowie GTF-X | Mouse: Zowie S1-C | Keyboard: Ducky One 3 TKL (Cherry MX-Speed-Silver)Beyerdynamic MMX 300 (2nd Gen) | Acer XV272U | OS: Windows 11 |

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Fetzie said:

Microsoft's ulterior motive is to kill off Vulkan, or at least make it irrelevant enough that hardly anybody supports it, thus continuing the status quo that Windows is the platform of choice for video games (i.e. what happened with OpenGL).

 

I think this is correct.  Microsoft is worried that DX12 is not taking off and not giving any improvements really but Vulkan is and it is also multi platform.  

 

Releasing the debug tool for Windows (finaly) and now this are all because they're scared of Vulkan.  And rightfully so, hopefully DX itself dies and is never reborn again

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, Captain Chaos said:

DX11 was only going to be available for Win7 and later too, but they eventually released it for Vista.  So you have a point there.

 

On the other hand, a lot of people only upgraded to Win10 because of the better framerates that DX12 promised (but failed to deliver so far in most games).  If it's ported to Win7 and Win8.1, they'll have lost the only reason why so many people "upgraded" to Win10.  So I'm pretty sure they'll find some way to stop that from happening. 

But they already, shall we say, forcefully persuaded most of those users to move to 10 anyways. 

-------

Current Rig

-------

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, Dabombinable said:

Realistically only those with AMD graphics cards benefit the most from DirectX 12

Oops, I forgot all about AMD.  Yeah, those with AMD cards notice a big difference indeed. 

They now have up to 5 FPS, 7 if they use Crossfire and hack the games' settings files to put the graphics below the minimum.  xD

 

As for the humans, on our Nvidia cards the difference is negligible. 

 

20 minutes ago, Misanthrope said:

But they already, shall we say, forcefully persuaded most of those users to move to 10 anyways. 

Meh, a couple of updates and all their systems are so FUBAR that they have to reinstall.  At that point it's up to us to point out that there are better OSes than Win10.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×