D3D11CreateDevice failed

Started by
30 comments, last by klaswullt 9 years, 1 month ago

Hello,

I have a huge problem. I can't run my program in Debug, I use the D3D11_CREATE_DEVICE_DEBUG when I want to initialize DX 11. However, it works in Release mode. I tried toreinstall the DirectX SDK but it's not successfull sad.png

Yesterday everything was working fine and not today sad.png

The source code that initialize DX 11:


UINT createDeviceFlags = 0;
#if defined(DEBUG) || defined(_DEBUG)  
    createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif

D3D_FEATURE_LEVEL featureLevel;
HRESULT hr = D3D11CreateDevice(
		0,                 // default adapter
		md3dDriverType,
		0,                 // no software device
		createDeviceFlags, 
		0, 0,              // default feature level array
		D3D11_SDK_VERSION,
		&md3dDevice,
		&featureLevel,
		&md3dImmediateContext);

if( FAILED(hr) )
{
	MessageBox(0, L"D3D11CreateDevice Failed.", 0, 0);
	DXTrace( __FILE__, __LINE__, hr, DXGetErrorDescription(hr), FALSE );
	return false;
}

These are the information I get:


First-chance exception at 0x7751c41f in SpinningCube.exe: Microsoft C++ exception: _com_error at memory location 0x0031ec88..
An undetermined error occurred hr=E_FAIL (0x80004005)

Thanks in advance !

Advertisement

I'm getting the same problem as well. I think it has something to do with the update yesterday.

Perception is when one imagination clashes with another

I'm getting the same problem as well. I think it has something to do with the update yesterday.

I also installed the update yesterday :(

Amazing... Look at the information of the update: http://support.microsoft.com/kb/2670838

If you are a Windows 7 DirectX developer who uses the June 2010 DirectX Software Development Kit (SDK), you will have to update your development environments after you install this platform update. The following development .dll files that are associated with the DirectX SDK are incompatible with this platform update:
  • D3D10SDKLayers.dll
  • D3D11SDKLayers.dll
  • D3D10ref.dll
  • D2D1debug.dll

You can use one of the following applications or tools to update these .dll files:

  • The Windows 8 SDK: This SDK updates the current development environment with new headers, libs, and tools. This includes the previously-listed development .dll files. This update does not update the C or C++ compilers or the IDE, but this update does enable developers to integrate the new features of the platform update into their applications.
  • Microsoft Visual Studio 2012: This application includes the Windows 8 SDK, the Visual Studio 2012 IDE, and the new compilers. It also enables developers to integrate the new features of the platform update into their applications.
  • Remote Tools for Visual Studio 2012: These tools are the minimum requirement in order to continue using the Direct3D debug layer. These tools update only the previously-listed development .dll files. These tools do not enable developers to integrate the new features of the platform update into their applications. These tools are available in the "Remote Tools for Visual Studio 2012" section of the Visual Studio Download Center, or can be downloaded from the following links. These packages can be safely installed on development systems: Note The Pix for Windows tool from the DirectX SDK is incompatible with this platform update. See Debugging Shaders in Visual Studio for more information about the new tools available in Visual Studio 2012.
For more developer information about this platform update, go to the following MSDN website:

You've got to be kidding me. Now in order to debug shaders I need to use the Graphics Diagnostic tool that requires you to buy Visual Studios. That's ridiculous.

Perception is when one imagination clashes with another

You've got to be kidding me. Now in order to debug shaders I need to use the Graphics Diagnostic tool that requires you to buy Visual Studios. That's ridiculous.

No, that's Microsoft...

Solution found for the D3D11_CREATE_DEVICE_DEBUG flag:

For developers currently working on applications in Microsoft Visual Studio 2010 or earlier using theD3D11_CREATE_DEVICE_DEBUG flag, be aware that calls to D3D11CreateDevice will fail. This is because the D3D11.1 runtime now requires D3D11_1SDKLayers.dll instead of D3D11SDKLayers.dll. To get this new DLL (D3D11_1SDKLayers.dll), install the Windows 8 SDK, Visual Studio 2012, or the Visual Studio 2012 remote debugging tools. See the Debug Layer documentation for more info. You can download Visual Studio 2012 remote debugging tools from either of these links:

Yeah this whole thing is pretty bad. I really don't like that they've effectively killed PIX, and their replacement requires a paid version of Visual Studio.

Forgive me if I missed something, but does this require you to have the professional edition of Visual Studio 2012? What about the express edition? If the former is true, then that's really unfortunate for the large number of indie game devs that can't afford it. No disrespect to Microsoft, but wow, that doesn't sound like it will go down very well with Windows devs, and maybe increase the piracy rate for their professional IDE. And people complain about Apple...

Shogun.

EDIT: Okay, it does require the paid version. So, what is Microsoft thinking? That only the big time professional devs can debug their games? \/_\/

Yeah I think it's a really poor move on their part. This means that if you want a free graphics debugging tool you'll have to stick to Nsight and GPU PerfStudio.

This topic is closed to new replies.

Advertisement