Skip to main content
GameDev.net gamedev.net
🔒 Locked

D3D11CreateDevice failed

Started by Atemu Feb 28, 2013 at 2:36 PM 30 replies 58.6k views
Original Post
Atemu
Atemu

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 !

Seabolt
Seabolt

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
Atemu
Atemu

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 :(

Atemu
Atemu

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:
Seabolt
Seabolt

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
Atemu
Atemu

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...

Atemu
Atemu

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:
MJP
MJP

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.

blueshogun96
blueshogun96

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? \/_\/

MJP
MJP

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.

Seabolt
Seabolt

Can't you flex your MVP muscle, MJP? Make them change their mind? Haha.

Perception is when one imagination clashes with another
Yourself
Yourself

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.

There is also Intel GPA

Flimflam
Flimflam

Microsoft's decisions lately have generally left me feeling disappointed... They look eager to rid themselves of "freeloading" developers despite their products being a positive thing for the platform. I knew the moment Microsoft tried to get rid of the proper Express editions where we were heading.

Hodgman
Hodgman


If the former is true, then that's really unfortunate for the large number of indie game devs that can't afford it.

Yeah that's really disappointing.

If you're strapped for cash, you can actually buy a professional version of an older VS version such as 2008 for very cheap, but the latest version always costs a kidney!

Aqua Costa
Aqua Costa

It seems that Microsoft is determined on making the lives of indie developers/students a lot harder... First they stop supporting XNA and now this, I'm pretty sure developing for the next XBox will be close to impossible for indies, let's hope the PS4 will be more indie friendly.

I'm just glad my University provides Visual Studio 2012 Ultimate licenses for free to all students.

thezbuffer
thezbuffer

MJP wasn't at the summit this year. But the rest of us gave the feedback to them that the VS tools provided need to be in the free version (and also not hidden under the C++ parts of Visual Studio). They did seem to hear the message but I have no idea how fast they can react even if they agree with it.

ZMan
NiteLordz
NiteLordz

I have tried nSIght and GPU PerfStudio 2.0 as well as Pix. Each application crashes upon startup now. They worked fine prior to the update that we are discussing. Does nSight or any of the other applications run for anyone who has done the update? if so, have you done anything besides installing the Windows 8 SDK.

I am using windows 7 and visual studio 2010

thanks much

Code makes the man
MJP
MJP

I just tried the release candidate of NSight 3.0 on Win7 with VS 2010 and it seemed to work fine. Are you still using version 2.2?

NiteLordz
NiteLordz

yea, i am using version 2.2

where is version 3.0 when i go to nvidia all i see is version 2.2 for visual studio 2010

Code makes the man
NiteLordz
NiteLordz

scratch that, found it

Code makes the man

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.