Jump to content
  • Advertisement
Sign in to follow this  
keinmann

[SlimDX] Factory1 constructor fails (RESOLVED)

This topic is 2855 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm having an odd problem and can't figure it out. My home/office internet went down about 5+ months ago, and my crappy ISP (HughesNET) wouldn't even fix it. At the time, I was using the August '09 SDK on my primary work PC, a desktop. So when this happened, I started doing all programming on a laptop. I installed on the laptop the June '10 SDK, and everything has been going great. But my satellite was repaired yesterday, so I've moved back to my big, bad desktop for development. I updated to the June '10 SDK, but immediately my code was failing. The culprit:

Factory1 factory1 = new Factory1();

I tested in a console application with JUST that line and it fails as well. So I know there is something going wrong deep in that constructor; maybe in SlimDX, or maybe in DX/DXGI itself. I then noticed I was running SlimDX June '10 SDK but only had the Aug '09 DirectX SDK. So I got the June '10 Dx SDK and installed it. Still no go. My only guess is to try all over again. Uninstall everything, reinstall, reboot, retry.

Does anyone have any idea what could be going wrong, or could you suggest a course of action to resolve the problem? It's really a crippling one and has everything on halt!

[Edited by - keinmann on October 22, 2010 9:43:49 PM]

Share this post


Link to post
Share on other sites
Advertisement
Does your computer support DXGI 1.1? You need Vista SP2 or Windows 7.

If it does, describe what's actually happening when you say it "fails". Does it crash? Throw an exception? If so, what type of exception and what's the stack trace? Do the debug runtimes give any additional information?

Share this post


Link to post
Share on other sites
I'm sorry I didn't give that information in the first place, but I wasn't able to run it again and copy the information when I posted. I will run the code again, and edit this post to include the necessary information in just a moment. I'm back in the office now, so I can do it. And it's throwing an exception, not CTD.

Ok, here we are:

Type :: SEHException

Message :: "External component has thrown an exception."

Stack Trace ::

at CreateDXGIFactory1(_GUID* , Void** )
at SlimDX.DXGI.Factory1..ctor()
at DXGITest.Program.Main(String[] args) in C:\Users\ATC\Documents\Visual Studio 2008\Projects\Testing Grounds\DXGITest\DXGITest\Program.cs:line 14
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Target Site :: {Int32 CreateDXGIFactory1(_GUID*, Void**)}

EDIT: Yes, my PC supports DXGI 1.1, and I'm using Vista SP2.

Share this post


Link to post
Share on other sites
I guess I was wrong, and that I don't have DXGI 1.1 Support? I remembered the Caps Viewer, and this PC only lists DXGI 1.0 Devices, while the laptop lists 1.1 Devices. So I guess my ignorance got me again!

But I don't understand WHY this PC wouldn't support 1.1! It's got better specs:

Windows Vista SP2
Microsoft .NET 4.0
nVidia GTX-275 Graphics Card
8GB RAM
...forget my HD space, but it's unreal.

Now I know this has nothing to do with how much RAM I have and whatnot. But point is this is no slacker of a PC and it's got good, relatively new hardware. The laptop has an nVidia GTX-260M, 4GB RAM and about the same system config. So there's only one thing I can think of now: Updates & Drivers!

I've kept the laptop up to date. I've religiously used Windows Update to keep everything up to the minute, I installed brand new nVidia DirectX *Drivers* just a week ago. But my desktop has been offline and hasn't had an update in over 5 months. I know the drivers for the desktop's graphics card are dinosaurian and need to be updated, and Windows itself is way behind. (But I'll have to wait until 1am to update since it's a huge amount of downloads and HughesNET sucks and limits downloads to 300MB/day)

So could updating Windows and the drivers get DXGI 1.1 going for me? Or is this a more complex system/hardware configuration issue?

EDIT: I was able to get the new nVidia GTX-275 driver now, since it was only 150+MB. Installing it did not enable any sort of DXGI 1.1 support as far as I can tell. So now I'm curious as to what it takes to support DXGI 1.1?

[Edited by - keinmann on October 22, 2010 9:25:13 PM]

Share this post


Link to post
Share on other sites
Fixed! Let me describe what I did to fix it in case anyone else happens upon this problem.

1) First, if you have existing DirectX or SlimDX installations, I'd recommend you uninstall it all to start with a clean slate. However, it's NOT required if nothing is corrupted.

a) If you take this step, reinstall the latest Dx and SlimDX SDK (currently June '10 SDK)

2) Update your graphics card drivers if you haven't recently done so...

3) See this page, and install this small windows update:

http://support.microsoft.com/kb/971512/

When you install that update (be sure to select the correct one for your system), it will enable the newest DirectX features, such as DXGI 1.1 support and other things. At that point, everything should be fine. The Microsoft DX11 samples should work fine, and you should be able to program with Dx11 and DXGI 1.1 features.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!