- I have the June 2010 SDK, which is the latest.
- I've opened the D3D control panel and turned on Debug Runtimes, and set the max amount of debug output (was already doing this before).
- I'm linking with d3dx9d.lib (was already doing this before).
- I've set the project to compile with D3D_DEBUG_INFO.
- My project does NOT redirect all Output Window output to the Immediate window (this was apparently a possibility).
But I'm still not getting any d3dx debug output when D3DXCreateEffectFromFile fails or at any other time. I've run the BasicHLSL DX sample, and that certainly gives D3DX debug output, but my project doesn't, and it should, for at least 1 function, the one that fails, right? I don't think I'm using many other D3DX functions at this time.
I can't figure it out.
Oh, and the function that was failing, D3DXCreateEffectFromFile was failing because there was a compile error in the effects file. That's fine, I messed up and that's my fault, but the MSDN docs say "If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY."
Except that the return value was E_FAIL. And I was of course using the SUCCEEDED and FAILED macros and checking the 3 return values specified in the docs.
*sigh* I'm getting flashbacks to the 3 days I spent trying to figure out why a PS2 dev kit was crashing on startup. That also turned out to be a problem with the docs.
Can anyone give me any help with getting D3DX to give me debug output, or helping me understand why D3DXCreateEffectFromFile returns E_FAIL instead of one of the return values specified in the docs?