What is the purpose of the D3DCREATE_PUREDEVICE flag?
Use the D3DCREATE_PUREDEVICE flag during device creation to create a pure device. A pure device does not save the current state (during state changes), which often improves performance; this device also requires hardware vertex processing. A pure device is typically used when development and debugging are completed, and you want to achieve the best performance. One drawback of a pure device is that it does not support all Get* API calls; this means you can not use a pure device to query the pipeline state. This makes it more difficult to debug while running an application. Below is a list of all the methods that are disabled by a pure device. • ID3D10Device9::GetClipPlane • ID3D10Device9::GetClipStatus • ID3D10Device9::GetLight • ID3D10Device9::GetLightEnable • ID3D10Device9::GetMaterial • ID3D10Device9::GetPixelShaderConstantF • ID3D10Device9::GetPixelShaderConstantI • ID3D10Device9::GetPixelShaderConstantB • ID3D10Device9::GetRenderState • ID3D10Device9::GetSamplerState • ID3D10Devic