From a developer point of view, I have considered all the current NVidia cards (sans NV30) to be DX7 cards.
They do not support PS1.4, which is a DX8 feature.
NV30 supports a subset of DX9. I don't understand why NVidia does this. It's not like they did not know about the specifications of DX9. Yet they add things that are not supported by DX.
Supporting a subset of the DX specs really creates problems for developerss using DX to move on to the next level of graphics programmability.