What are the components of DX10

A poster on a previous thread on AVSim.com made the comment:

"DX10 is an API from what I understand, e.g. they could compile it for XP, if they wanted to, it doesn't have to be exclusive for Viata. besides I don't care about it that much it will be late and buggy you can count on it."

And I thought there are a couple of points worth making:

1)Any D3D release has 3 parts:
a)the API programmers use
b)the runtime that commmunicates with the OS kernel and driver
c)the DDI(device driver interface)and driver that manages the hw

2)DX10 is out and nVidia has shipped product that works with it.

WRT to my point 1:

It is factually wrong that "they could just compile it for XP".

The runtime and its communication with the kernel is tied to the OS. There were significant changes in the runtime-kernel interaction in Vista. That would have to be back-ported to XP ( in addition to the API work ) and changes made to the XP kernel. Its not XP at that point, it is Vista. The changes are that significant.

In addition the DDI and drivers themselves significantly changed. This would mean developing an additional DDI layer, an additional DDK, validating the DDI and the test driver that would be required to give guidance to the IHVs, having additional WHQL suites, additional logo work, and additional driver development by the IHVs. Given how much work it is to get a Vista D3D10 driver up, this is non-trivial.

None of that is easy. And thats before the additional SDK work on XP to support developers.

WRT to my point 2:

By definition DX10 is not late. It is in Vista. Vista was late. Time will tell if there are any critical bugs in DX10 but early results indicate not.