Jump to content
  • Advertisement
Sign in to follow this  
SeraphLance

DX11 DX11 on a DX10-class GPU -- How far can you go?

This topic is 1487 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

I'd like to be able to start a project in DirectX 11 to learn the API, but currently my GPU (GTS 250) only supports DirectX 10.  I know that 11 has some level of backwards compatibility, and I plan to get a new Graphics card within the next month or two.  I'd like to be able to get something down in the meantime with DirectX 10 features and just add the 11 stuff when I pick up a new GPU, but is this really practicable, or are the DX10(11) and DX11 code paths largely independent?

Share this post


Link to post
Share on other sites
Advertisement

DX11 is just a superset of DX10 so yes, there should be no problems :)

If you choose to switch to DX11 further on all you need to do is switch a single flag; all your old "DX10 feature level" code will run without any need to change it.

Share this post


Link to post
Share on other sites

you won't be able to use tesselation. as far as i know, i think thats the only thing that d3d11 can actually do that d3d10 can't. I don't know if it works for tesselation, but when you create the device, you can set the device up as D3D_DRIVER_TYPE_SOFTWARE, which should emulate the hardware in software. its really slow to use this, but you should be able to use everything directx has to offer even if your gpu doesn't support it. if you create a device like this, everything is done on the cpu, so its really slow

Edited by iedoc

Share this post


Link to post
Share on other sites
D3D_DRIVER_TYPE_SOFTWARE is for 3rd party software implementation (the DLL is linked in the _In_ HMODULE Software parameter when you create the device).
 
D3D_DRIVER_TYPE_REFERENCE and D3D_DRIVER_TYPE_WARP provide a software implementation without the need of 3rd party software. The first is the slowest but implements all D3D features (with some limitation, like low filtering levels), the second is SIMD accelerated but provides more limitations. http://msdn.microsoft.com/en-us/library/ff476328.aspx

Share this post


Link to post
Share on other sites

I mentioned using a software driver type because i wasn't for sure if you'd need a 3rd party driver for using a reference driver or if directx comes with one. i've never used either one, and just know they exist. You should be able to use a software driver type which does not need to reference a driver

 

EDIT: nevermind, your right, i should have just said to use a reference driver in the first place

Edited by iedoc

Share this post


Link to post
Share on other sites

Other things you won't be able to use with feature level 10:

 

  1. 'Real' compute shaders (D3D11 supports a very limited version compute shaders for 10-level devices, but it's mostly useless)
  2. Read-only depth buffers
  3. Expanded MSAA support (reading from MSAA depth buffers, per-sample pixel shaders, SV_Coverage as input, interpolate to sample position)
  4. Cubemap arrays
  5. Append/Consume buffers
  6. UAV's from the pixel shader
Edited by MJP

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!