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
VirusFreeMember Since 11 Feb 2012
Offline Last Active Jun 03 2012 06:36 PM
- Group Members
- Active Posts 3
- Profile Views 272
- Member Title Member
- Age Age Unknown
- Birthday Birthday Unknown
No latest visitors to show