Search code examples
directxdirectx-11

What's the difference between WARP drivers, reference drivers and software drivers?


In DirectX 11, there are four types of drivers:

  • D3D_DRIVER_TYPE_HARDWARE
  • D3D_DRIVER_TYPE_REFERENCE
  • D3D_DRIVER_TYPE_SOFTWARE
  • D3D_DRIVER_TYPE_WARP

The first one is hardware driver which is widely known to us, and we always use this one in our program. The last 3 are WARP driver, reference driver and software driver. From the document on MSDN, I am not quite clear what's the differences of these 3 kinds of drivers. The same is they are all implement by software, but, what's the differences?


Solution

  • Reference device and Software device http://www.gamedev.net/topic/631456-whats-the-difference-between-d3d-driver-type-software-and-d3d-driver-type-reference/

    For WARP device http://msdn.microsoft.com/en-us/library/gg615082.aspx

    Reference device is provided as pre-release in general (so people can start to write code using full featured api without having hardware support yet), the problem being that reference device (and anything but hardware really) is so slow it's mostly unusable.