Jump to content

  • Log In with Google      Sign In   
  • Create Account

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


Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
6 replies to this topic

#1   Members   

2406
Like
2Likes
Like

Posted 26 June 2014 - 10:34 AM

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?



#2   Members   

639
Like
0Likes
Like

Posted 26 June 2014 - 10:50 AM

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.



#3   Members   

4381
Like
1Likes
Like

Posted 26 June 2014 - 11:18 AM

You only need to create a device with feature level 10.0.

You can read more about here:http://msdn.microsoft.com/en-us/library/ff476876.aspx

Edited by Alessio1989, 26 June 2014 - 11:23 AM.

"Recursion is the first step towards madness." - "Skeggǫld, Skálmǫld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

#4   Members   

2143
Like
1Likes
Like

Posted 26 June 2014 - 11:32 AM

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, 26 June 2014 - 11:39 AM.

Braynzar Soft - DirectX Lessons & Game Programming Resources!

#5   Members   

4381
Like
2Likes
Like

Posted 26 June 2014 - 11:46 AM

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
"Recursion is the first step towards madness." - "Skeggǫld, Skálmǫld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

#6   Members   

2143
Like
0Likes
Like

Posted 26 June 2014 - 11:55 AM

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, 26 June 2014 - 12:06 PM.

Braynzar Soft - DirectX Lessons & Game Programming Resources!

#7   Moderators   

18213
Like
4Likes
Like

Posted 26 June 2014 - 05:26 PM

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, 26 June 2014 - 05:27 PM.





Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.