Jump to content
• Advertisement

[SlimDX] CreateFlags.AdapterGroupDevice

This topic is 3488 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

How do I correctly use the SlimDX.Direct3D9.CreateFlags.AdapterGroupDevice flag?
Quote:
 MSDN If this flag is set, the presentation parameters passed to IDirect3D9::CreateDevice should point to an array of D3DPRESENT_PARAMETERS.
I assume in SlimDX this would mean I should pass an array of PresentParameters to the Device constructor, but there is no such constructor that accepts an array. Am I missing something? Thanks.

Share this post

Share on other sites
Advertisement
No, we're missing the relevant constructor. We've been vaguely aware of it, but nobody asked and it slipped off the radar. I can put it in though.

Share this post

Share on other sites
Ok, I've just committed this change to Subversion. That version should be good to go. By the way, do you know what this flag is for? Because I have no idea what it actually accomplishes.

Share this post

Share on other sites
It's my understanding that this flag is intended to be used for multihead graphics cards, so you can use a single device to drive all its monitors.
I haven't used it yet though, so I'm not sure what kind of a difference it really makes in practice.

... After looking at your change, I wonder:
1. Did you just replace the Device constructor that takes a single PresentParameters? Don't you still want to have that option, too?
2. The DeviceEx class needs a similar change, right?

---
By the way did you get around to fix the D3D9Ex Direct3DEx.Adapters issue, too? I didn't see any changes related to that, but maybe I missed it.

FYI, I recompiled SlimDX with this change to get it working for me:
Index: Direct3DEx.cpp===================================================================--- Direct3DEx.cpp	(revision 851)+++ Direct3DEx.cpp	(working copy)@@ -86,6 +86,8 @@         }  		Construct( direct3D );++		InitAdapters(); 	}  	Direct3DEx^ Direct3DEx::FromPointer( IDirect3D9Ex* pointer )Index: Direct3D.h===================================================================--- Direct3D.h	(revision 851)+++ Direct3D.h	(working copy)@@ -47,6 +47,7 @@  		protected: 			Direct3D( bool doNotConstruct );+			void InitAdapters();  		public: 			Direct3D();Index: Direct3D.cpp===================================================================--- Direct3D.cpp	(revision 851)+++ Direct3D.cpp	(working copy)@@ -58,6 +58,11 @@ 	{ 		//called by Direct3D9Ex 	}+	+	void Direct3D::InitAdapters()+	{+		adapters = gcnew AdapterCollection( InternalPointer, false );+  }  	Direct3D::Direct3D() 	{

Thanks

Share this post

Share on other sites
Quote:
 Original post by samv1. Did you just replace the Device constructor that takes a single PresentParameters? Don't you still want to have that option, too?
I changed it to paramarray, actually. You can pass a single, an array, or multiple via args.
Quote:
 2. The DeviceEx class needs a similar change, right?
Good point.
Quote:
 By the way did you get around to fix the D3D9Ex Direct3DEx.Adapters issue, too? I didn't see any changes related to that, but maybe I missed it.
Heh, oops.

I've committed all of those changes now, let me know if I missed anything.

Oh, I see. Neat.

Thanks again.

Share this post

Share on other sites
The same applies to the Reset and ResetEx methods. (Just FYI; I guess I don't need this flag after all...)

Share this post

Share on other sites

• Advertisement
• Advertisement

• Popular Contributors

1. 1
2. 2
3. 3
4. 4
frob
15
5. 5
• Advertisement

• 16
• 12
• 20
• 12
• 17
• Forum Statistics

• Total Topics
632155
• Total Posts
3004485

×

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!