DeferredContext and Interfaces(Dynamic Linkage) Problems [DX BUG?]

Started by
3 comments, last by VirusFree 11 years, 10 months ago
I have stumbled on a problem while trying to use shader interface (dynamic linkage) with a deferred context.

From all the tests i did , i can only conclude that this is a DirectX 11 (or graphic card driver ?) bug when trying to replay a CommandList in which you have used classinstance and interface variables. It seems only the first class you set on an interface will be used throughout the execution of the list.

I tried it with both SlimDX and SharpDX and got the same behavior. I also examined the call sequence using PIX in which i can see that the interfaces are set to the correct classes during recording , but that makes little difference when it comes to ExecuteCommandList.

I attached the slimdx test project i did if anyone want to give it a try.
It's based on MiniTri11 , and draws 2 extra triangles using deferredcontext and sets differect classes for the interface slot.
It SHOULD draw a red , a blue and a gray triangle ... but both triangles end up red.
( try switching the order of 'iface.ClassInstance = b1;' and b2 and see that then they both end up blue.. )

If anyone has a solution for this it would be highly appreciated smile.png
Advertisement
I wouldn't be surprised if there were a driver bug, since dynamic linkage doesn't get a lot of usage. You can find out for sure by running with the REF device, and seeing if that produces the correct behavior.

I wouldn't be surprised if there were a driver bug, since dynamic linkage doesn't get a lot of usage. You can find out for sure by running with the REF device, and seeing if that produces the correct behavior.


Thanks !! that was a great idea !! .. and the result is that with using a REF device i get the expected behavior ! Which means that this is a DRIVER BUG!

So if anyone has the same problem and stumbles on this thread , check your drivers tongue.png

here are my specs (which are buggy) :
Driver : NVIDIA
Driver Version: 285.62 WHQL
Driver Release Date: 2011.10.24
Yeah, driver bugs are unfortunately not that uncommon. Sometimes you can work around them by re-arranging your shader code a bit or changing optimization levels.
Just a quick update , for whoever may need this information ..

I informed nvidia about this bug and it is finally fixed. The driver version which fixes this is 301.42

This topic is closed to new replies.

Advertisement