microsoft / DirectXTK12

The DirectX Tool Kit (aka DirectXTK12) is a collection of helper classes for writing DirectX 12 code in C++
https://walbourn.github.io/directx-tool-kit-for-directx-12/
MIT License
1.5k stars 395 forks source link

Default to DXC/DXIL Shader Model 6 for CMake and Windows SDK 19041 #96

Closed walbourn closed 3 years ago

walbourn commented 3 years ago

At this point, Shader Model 6 is mature and broadly supported, so I've switched these projects to use it by default:

DirectXTK_Desktop_2019_Win10.vcxproj
DirectXTK_GDK_2017.vcxproj
DirectXTK_GDK_2019.vcxproj
DirectXTK_Windows10_2019.vcxproj

The CMakeLists.txt now has a new build option which defaults to ON called BUILD_DXIL_SHADERS to control use of DXC vs. FXC.

For the Gaming.Xbox.*.x64 configurations in DirectXTK_GDK_201x.vcxproj it was already always using Shader Model 6. These updates are for Gaming.Desktop.x64

The Desktop and Windows 10 VS 2017 projects were not updated to use DXIL because they are set up for the Windows 10 SDK (17763) which was the last version to come included with VS 2017, and this version has some known bugs with the DXC compiler.

walbourn commented 3 years ago

Updates for the test suite are here.

walbourn commented 3 years ago

Since I haven't updated the 2017 projects, the NuGet packages will still be using FXC for a little while longer...