from wiki:
Prior to DirectX 10, DirectX runtime was designed to be backward compatible with older drivers, meaning that newer versions of the APIs were designed to interoperate with older drivers written against a previous version's DDI. The application programmer had to query the available hardware capabilities using a complex system of "cap bits" each tied to a particular hardware feature. For example, a game designed for and running on Direct3D 9 with a graphics adapter driver designed for Direct3D 6 would still work, albeit most likely with degraded functionality.
However, the Direct3D 10 runtime in Windows Vista cannot run on older hardware drivers due to the significantly updated DDI, which requires a unified feature set and abandons the use of "cap bits".
Direct3D 11 runtime introduces Direct3D 9, 10, and 10.1 "feature levels", compatibility modes which allow use of only the hardware features defined in the specified version of Direct3D. For Direct3D 9 hardware, there are three different feature levels, grouped by common capabilities of "low", "med" and "high-end" video cards; the runtime directly uses Direct3D 9 DDI provided in all WDDM drivers.
|