[SlimDX] Question about compatibility

Started by
6 comments, last by feal87 14 years, 5 months ago
I was trying to rewrite the low level code on my engine managing Directx 9/10. While i got no problem on DirectX9, when i was rewriting the DirectX10 code I got stuck. Every application crashed the driver after 5-6 seconds on the Intel X3100 (GMA965) in DirectX 10 mode, while if using the code for creating device/enumerating devices from SlimDX Sample framework (that i adapted for my engine) it works flawlessly forever. The question is simple, do the SlimDX team got any clues how to avoid this driver bug? (without me tracking down what's causing the problem? XD) Thanks.
Advertisement
Do the debug runtimes output anything?

If it is a driver bug, then there isn't much the SlimDX team can do.
Quote:Original post by adt7
Do the debug runtimes output anything?

If it is a driver bug, then there isn't much the SlimDX team can do.


No, the debug runtimes output nothing relevant.
Anyway what I am saying is :

If i use the code from the sample framework for enumerating/creating device everything works fine, if I try to create mine the whole WINDOWS crash (the intel driver crash 5 times and then Vista shut down itself). (its not a problem on my code cause the same code works fine on nVidia and Ati cards)
I was asking if the SlimDX developers knows why their code works fine on this card, if they've done some workaround to support it. (for example, even Pcsx2 make the OS crash if using DirectX10 mode with this card/driver :P)
All the source code for the sample framework is included in the SlimDX SDK so you could always take a look at it yourself and see what the differences are?
Quote:Original post by adt7
All the source code for the sample framework is included in the SlimDX SDK so you could always take a look at it yourself and see what the differences are?


I'm trying, but still haven't found what's different, i asked here hoping they know already about this. :P
Nope, no idea. The sample framework is obviously very robust, but nothing specific for faulty drivers is included.
Mike Popoloski | Journal | SlimDX
What does "Every application crashed the driver after 5-6 seconds " mean?
Does Windows display a message in the notification area saying that the driver crashed and is being reset?
Does your application fail with an exception or other kind of error? If it does, what is the error?

More directly on the subject, the fact that it takes 5-6 seconds sounds, to me, like it's possible you're somehow allocating objects every frame and never freeing them. It's not necessarily an object you're holding, it might be something SlimDX is doing for you.
I'd focus my search (when comparing the SlimDX framework and your implementation) on Get*() calls that run every frame on your implementation, and might be allocating a new object each call. If the driver has a bug, it might crash after allocating X objects. A simple Dispose of the correct object might fix it, but finding out which one you need to dispose, without adding incorrect dispose calls might be difficult and non-trivial.
Also, I remember a fix relating to some of the DXGI objects and them being reallocated - Are you using the latest version of SlimDX? Have you tried the latest SVN version?
Sirob Yes.» - status: Work-O-Rama.
Quote:Original post by sirob
What does "Every application crashed the driver after 5-6 seconds " mean?
Does Windows display a message in the notification area saying that the driver crashed and is being reset?
Does your application fail with an exception or other kind of error? If it does, what is the error?

More directly on the subject, the fact that it takes 5-6 seconds sounds, to me, like it's possible you're somehow allocating objects every frame and never freeing them. It's not necessarily an object you're holding, it might be something SlimDX is doing for you.
I'd focus my search (when comparing the SlimDX framework and your implementation) on Get*() calls that run every frame on your implementation, and might be allocating a new object each call. If the driver has a bug, it might crash after allocating X objects. A simple Dispose of the correct object might fix it, but finding out which one you need to dispose, without adding incorrect dispose calls might be difficult and non-trivial.
Also, I remember a fix relating to some of the DXGI objects and them being reallocated - Are you using the latest version of SlimDX? Have you tried the latest SVN version?


Yep the first, it start after 5-6 seconds. After that it crash continously for 5 times and then the OS reset. (i tried rerolling an old driver and it crashed after a little more...)

No, I don't think there is something related to object declared and not disposed. SlimDX in debug mode record what directx object has not being disposed and in my case it does not report anything...

This topic is closed to new replies.

Advertisement