Solved

How do I check version of DX supported by hardware?

Posted on 2011-03-04
7
600 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
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…

743 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