Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 11 Feb 2012
Offline Last Active Jun 03 2012 06:36 PM

Topics I've Started

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

11 February 2012 - 09:27 AM

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 Posted Image