Jump to content
  • Advertisement
pcmaster

D3D12 Reference/Software/WARP device?

This topic is 943 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys!

 

I've failed to find how to create Reference/Software/WARP devices for Direct3D 12 (not 11).

D3D12CreateDevice misses the D3D_DRIVER_TYPE argument from D3D11CreateDevice, so we there's no way to specify D3D_DRIVER_TYPE_REFERENCE or D3D_DRIVER_TYPE_WARP. The documentation on WARP itself still only mentions D3D11 and lower.

 

Am I missing something in the docs or is there really no reference software implementation? Thanks!

Share this post


Link to post
Share on other sites
Advertisement

Hi, you have to retrieve a WARP adapter using IDXGIFactory4::EnumWarpAdapter(), then pass the warp adapter to D3D12CreateDevice(). Remember that WARP adapter does not support full-screen mode.

 

EDIT: do not use a DXGI adapter with DXGI_ADAPTER_FLAG_SOFTWARE flag retrieved with IDXGIFactory::EnumAdapters() or IDXGIFactory1::EnumAdapters1().

Edited by Alessio1989

Share this post


Link to post
Share on other sites

Thank you Alessio, this is exactly what I've failed to find! Your answer will become a pointer to how do it :)

Share this post


Link to post
Share on other sites

Sounds like the name "WARP" has been scrapped in D3D12 but a "SOFTWARE" instead.

Share this post


Link to post
Share on other sites

Sounds like the name "WARP" has been scrapped in D3D12 but a "SOFTWARE" instead.

 

As Alessio pointed out, the function is called "EnumWarpAdapter", so it's still very much called WARP.

Share this post


Link to post
Share on other sites

 

Sounds like the name "WARP" has been scrapped in D3D12 but a "SOFTWARE" instead.

 

As Alessio pointed out, the function is called "EnumWarpAdapter", so it's still very much called WARP.

 

Oh, what's the SOFTWARE device mean then? A extremely slow simulation solution?

Share this post


Link to post
Share on other sites

SOFTWARE means you provide your own software driver implementation. It's an incredibly complicated concept, and is how REF and the original WARP were implemented under the covers. It has since been abandoned, though I'm not sure if deprecated is the right word for it.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!