Solved

How do I check version of DX supported by hardware?

Posted on 2011-03-04
7
604 Views
Last Modified: 2012-05-11
Hi experts,

How do I check (in VC++) the versions of D3D/DX supported by the graphics hardware on the current system?

Thanks
0
Comment
Question by:chrispauljarram
  • 3
  • 3
7 Comments
 
LVL 10

Expert Comment

by:Martin_J_Parker
ID: 35036768
Do you have the DirectX SDK loaded?  There is sample code in there.
In the V9 SDK it was something like
\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Samples\C++\Misc\GetDXVer
0
 
LVL 12

Assisted Solution

by:mwochnick
mwochnick earned 100 total points
ID: 35036797
I found this post on an SDK example, don't have the sdk on my current computer
http://www.programmersheaven.com/2/FAQ-DIRECTX-Understand-Version-Programmatically

To determine the DirectX version programmatically there is a sample Application in the "DXSDK\Samples\C++\Misc\GetDXVer" folder. It first checks the DirectX version using DxDiag. If it can't find out the version it simply checks each file version. The return type of the "GetDXVersion" function will be a DWord indicating the version.
0
 

Author Comment

by:chrispauljarram
ID: 35039271
Hi,

Sure - but won't that just give the DX version installed in Windows? (e.g. in Win7 it's always DX11).  I need to know the capabilities of the current graphics card without having to create a D3D device and look for a fail (i.e. is dx10, dx10.1 or dx11 the max DX ver supported by the hardware?...)

Cheers,
Chris
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 10

Expert Comment

by:Martin_J_Parker
ID: 35039793
0
 

Author Comment

by:chrispauljarram
ID: 35045923
Hi Martin,

Not quite no - GetDeviceCaps is a D3D9 concept used to check the capabilities of a D3D9 device.  I need to be able to determine the max version of DX supported by a card (i.e. is it 9,10,10.1 or 11?), without having to actually try and create the device itself.

Sorry for the late response, Experts-exchange have decided I no longer need to be emailed when responses to my questions are posted!  (not a single email for any of the 3 responses above).

Thanks,
Chris
0
 
LVL 10

Accepted Solution

by:
Martin_J_Parker earned 400 total points
ID: 35056708
There did seem to be some sort of maintenance going on this morning as I couldn't get into EE first thing - your response problems could be linked to that.

So you need a way of interrogating the graphics card's device driver to see what version is supported by the card.  I don't have a DX10 or DX11 compatible card available to me at the moment - but I'm wondering how much of that information might be squirrelled away in the registry somewhere - may be worth a regedit search to see what you can find on your system.

You might be able to get some information through .NET 4.0 - you seem to be able to check if hardware is at least DX9 capable - but I don't know if it's enough for your purposes:
http://msdn.microsoft.com/en-us/library/ms742196.aspx
http://msdn.microsoft.com/en-us/library/system.windows.media.rendercapability.aspx
0
 

Author Closing Comment

by:chrispauljarram
ID: 35087093
.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

What my article will show is if you ever had to do processing to a listbox without being able to just select all the items in it. My software Visual Studio 2008 crystal report v11 My issue was I wanted to add crystal report to a form and show…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now