chriscalef wrote:Hey, what's the procedure for making a DX11 build? I did a fresh update, and noted that TORQUE_D3D11 was checked in CMake, but when I tried to compile, it failed looking for D3D9.h. Do I need to uncheck DIRECTX at the same time as checking TORQUE_D3D11? (Testing that...)
EDIT: Nope, that didn't fix it either. Do I still need the DX9 SDK in order to build an exclusively DX11 executable?
Yes you still require the old june 2010 dx sdk unfortunately. Both the GFX D3D9 device and SFX XAudio device both depend on it. Just a small correction on the above, the xaudio thing is correct but also the current implementation of D3D9 gfx makes use of d3dx which MS removed when they released the windows sdk, since D3D9 is getting removed in 4.0 it made no sense to waste any time making the D3D9 gfx device work without d3dx (which is entirely possible to do). In 4.0 xaudio will be an opt in feature (i.e disabled by default) so by default the old june dx sdk will not be required unless you compile in xaudio support.
The problem with xaudio is version 2.7 requires the old june 2010 dx sdk and the windows sdk only supports xaudio 2.8+, Windows 7 only supports xaudio 2.7 and not 2.8. That presents a bit of a nightmare because xaudio 2.7 code is not completely compatible with 2.8, it requires changes to compile. So if we support only 2.7 we need to also support the old june 2010 dx sdk and if we only support 2.8 (with the windows sdk) than it won't work with windows 7. There are actually ways around this but it's not very nice, MS describe one way here using a hard coded path to the old june 2010 dx sdk
https://blogs.msdn.microsoft.com/chuckw/2012/04/02/xaudio2-and-windows-8/ for windows 7 builds. That is a nasty solution because it's a compile time solution and if you want to support windows 7 still (i'm sure most of us do), than you are stuck using the old june 2010 sdk. Hopefully all that makes sense. We have actually updated to using openal-soft recently so hopefully that suits everyone's sound needs ok and this xuadio thing is a total non issue
