views:

51

answers:

3

I'm writing a Direct3D application, using DirectX 9. Although it works on my PC, I need to make it work on a wide range of systems. I need to know what capabilities I can expect to see on other systems. Is there a list of the DirectX capabilities that graphics cards support?

I've found one site, which I'll post as an answer, but it's a bit out of date.

Edit #1: Of course I will test for all the capabilities before I use them. But there are two different approaches to a missing capability: either workaround it or just fail to start. I need to know how many people will be affected before I decide which approach to take.

Edit #2: By "capabilities" I mean the values in D3DCAPS9 returned by IDirect3D9::GetDeviceCaps. These can (and do) differ amongst different graphics cards.

A: 

Chris Dragon's Direct3D and OpenGL Device Capabilities Database is extremely well-done, but a bit out of date.

user9876
A: 

DirectX 9 was last updated (DirectX 9.0C) in 2004, and that was a fairly minor update. The original release was in 2002.

IMO, it's not worth even trying to work around missing DirectX 9 capabilities -- anybody whose card isn't capable of DirectX 9 is long-since accustomed to only ancient games working at all.

Jerry Coffin
Maybe I didn't explain very well... I assume there is a DirectX 9 driver installed, the question is about what features exist in the hardware. This is because DirectX only exposes features that actually exist, and (unlike DirectX 10) there's no minimum feature set that all cards are guaranteed to support.
user9876
I've edited the question to try to clarify it...
user9876
+2  A: 

There's an excel spreadsheet of capabilities of all major graphics cards in DXSDK. Find it in the SDK's Samples\C++\Direct3D\ConfigSystem\CardCaps.xls. It also gives the lowest common denominator that all cards can support.

The newer SDKs come with the spreadsheet of newer cards, while the older versions of DXSDK come with the spreadsheet of older cards. It seems MS is keeping updating it. You can choose based on your needs.

Dudu
Thankyou, that's perfect.
user9876