Jump to content

  • Log In with Google      Sign In   
  • Create Account

can Direct3D applications developed on VS2013 be deployed on older OSes?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 Hassanbasil   Members   -  Reputation: 192

Like
0Likes
Like

Posted 07 March 2014 - 04:42 PM

Hello!

 

I'm running Windows 8.1 with Visual Studio Ultimate 2013. I'm trying to deploy my Direct3D applications on older OSes, specifically Windows 8.0 or possibly Windows 7. The application does not seem to run on Windows 8.0 due to D3DCompiler_47.dll not existing. I tried including the DLLs in Windows Kits\8.1\Redist\D3D\x86\ with the application, but it does not respond to execution (nothing happens when I run).

 

What exactly am I missing? Is there a legitimate redistributable package for Direct3D 11/11.1?

 

Regards,

Hasan Al-Jawaheri



Sponsor:

#2 aregee   Members   -  Reputation: 1026

Like
0Likes
Like

Posted 07 March 2014 - 08:34 PM

Seems like Direct X SDK has been moved to Windows SDK from Windows 8.

 

http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275%28v=vs.85%29.aspx

 

Windows 8.1 SDK is located here:

 

http://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx

 

EDIT: Oh sorry, was a bit quick to read your question...

 

I think this article answers your question:

 

http://blogs.msdn.com/b/chuckw/archive/2010/09/08/not-so-direct-setup.aspx

 

See the three points at the end of the article.


Edited by aregee, 07 March 2014 - 08:41 PM.


#3 Hassanbasil   Members   -  Reputation: 192

Like
0Likes
Like

Posted 08 March 2014 - 03:36 AM

Thanks for the reply!

 

Turns out some interfaces, such as ID3DDevice2, are not supported on earlier versions of windows. And so were ID2D1Factory2 and many other interfaces. I had to downgrade the interfaces to previous versions (e.g ID3DDevice1 instead of 2). I really have no clue how they relate or work but I'm fine with it, I don't think I needed them anyway.



#4 Norman Barrows   Crossbones+   -  Reputation: 2369

Like
0Likes
Like

Posted 08 March 2014 - 12:24 PM

its always best to start with a minimum target machine in mind - hardware, OS version, and directx version. as you write code, you make sure any API calls you use are supported by the minimum target machine. you can then add options for higher end features on later versions of windows and directx, and newer hardware. then enable them during install if you find later versions of windows or directx or newer hardware. how "backward compatible" your software is will determine the maximum possible installed base, IE how many people have PCs that can run your game, and therefore might buy it.

 

I'm using vs2012 to write games that are software backward compatible to something like directx9.0c and windows 2000 or maybe even XP. minimum hardware is something like a dual core with onboard graphics chip (about a 2-3 year old baseline machine).   Minimum target is a 2 year old baseline pc with onboard graphics only, directx9.0c, and windows 7. But it will probably run on even older PCs (IE Vista machines).


Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

 

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

 

 


#5 MJP   Moderators   -  Reputation: 11824

Like
2Likes
Like

Posted 08 March 2014 - 01:00 PM

Yeah it's pretty weird. Back in D3D9 days, things were confusing because there were cap bits. With D3D10 MS made everything dead simple, but required Vista and new hardware. With D3D10.1 and D3D11 things got more complicated since there were feature levels, but this was still better than caps bits. With D3D11.1 and 11.2 caps bits are back (but there's still feature levels!), they require a new OS version*, and things are more confusing than ever.

 

*Technically D3D11.1 was back-ported to Win7, but in a extremely limited way. They basically back-ported everything required for new Direct2D functionality so that IE could use it, but didn't back-port the new D3D functionality since it was tied to a WDDM version. This meant that the new 11.1 interfaces were available, but you couldn't actually use any of the new stuff exposed by them because the 11_1 feature level wasn't supported. So yeah, confusing as hell.


Edited by MJP, 08 March 2014 - 02:28 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS