Direct3D Mobile Device Capabilities (Windows Embedded CE 6.0)
Microsoft® Direct3D Mobile® uses two methods to allow applications to discover and tailor their operations to the capabilities of the driver installed on the system: capability bits and profiles.
Capability bits are predefined flags corresponding to very specific functional elements that a driver might support. The members of the D3DMCAPS structure are used by the Direct3D Mobile middleware to record the presence or absence of these flags. By doing this the D3DMCAPS structure contains a complete description of a driver's capabilities.
You can retrieve the capability bits associated with a driver by calling the IDirect3DMobile::GetDeviceCaps or the IDirect3DMobileDevice::GetDeviceCaps methods. Both of these methods return a D3DMCAPS structure that describes the exact capabilities of the device.
With Direct3D Mobile profiles, Microsoft defines broad sets of driver features that must be present for a driver to implement a profile. You can write an application using these profiles and be confident that all features in a particular profile are implemented when a driver reports that it supports that profile.
IHVs may be certain that their driver complies with a given profile by using the Windows Embedded CE 6.0 Test Kit (CETK) for Direct3D Mobile. It contains validation tests for each profile that Microsoft defines.
You can query the driver to find out which profiles it supports by calling the IDirect3DMobile::CheckProfile method. You can specify which profile to check by using the elements of the D3DMPROFILE enumeration. All Direct3D Mobile drivers must support the base profile, D3DMPROFILE_BASE.
Even if your application is designed around a particular profile, you can still query individual capability bits directly to determine advanced levels of support or to implement special cases.