Using DX11 on a GTX 295?

Started by
8 comments, last by MJP 11 years, 5 months ago
Hi,
i worked with Frank Lunas Introduction to Directx 10 and so i decided to also buy the DX11 version. Then after i already ordered it, it came to my mind that i "just" have a gtx 295 which doesnt support directx 11 (but i was kinda stupid because i always just looked at the dxdiag which shows me the installed and not supported version) so my question is. Can i still work with the book/do the samples with my gtx 295, or if not is there a trick how i can bypass the problem?
greetings helgon

from time to time i find time

Advertisement
This will answer your question. You might need to change the samples to create your devices with a specific feature level (10.1, specifically, to match your graphics card) and you will not be able to use DX11-specific features with the hardware device (such as shader model 5, etc...)

On the other hand, if you are willing to take the performance hit, the reference driver supports every single DX feature. But of course it'll be slow, since it's emulated by the processor.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

somebody correct me if i'm spewing nonsense, but with the hardware emulation layer, it should default to software emulation for unsupported featuers, this means your hardware well go to waste, and your speeds well be horrible, but you should be alright if your not doing anything too taxing.
Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.
Thanks for your awnser.

Besides Hull and Domain Shaders (what seems to be tesselation) everything should also work on a DX 10.1 card, or? Or at least everything covered in the book?!

Can u tell me if i still can compile the samples "normal" if i set the shader model down to 4 (for example) ? Or does the sample code then make no sense anymore?

Regards

from time to time i find time


Can u tell me if i still can compile the samples "normal" if i set the shader model down to 4 (for example) ? Or does the sample code then make no sense anymore?

It should be mostly the same, although some select functions might only exist under SM5 and you might have less resource slots which may break the shader, but unlikely. It's hard to tell - your best bet is to try and grab some DX11 samples online and try and run them? See what works, what you need to change, etc..

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Oh you're right. I just tried out some DirectX 11 Samples and when i start them it tells me that it has to implement the entire Direct3D 11 feature set. Well, the sample works but incredible slow (even with a good CPU :/) - I gonna see how it works but maybe it's time for a new graphic card.

Thanks for your help guys

from time to time i find time

You can use the DX11 API on any card that is DX9.0 and above due to the feature levels, however when you start using DX11 specific features the runtime will have to switch to software processing and this is slow. Even a decent CPU doesn't have the same number of cores that a single GPU has, each shader unit is more or less a floating point CPU, so naturally it will run a lot slower on a CPU.

The instruction slots on SM4.0 are already set to no restrictions for pixel and vertex shader so SM5.0 VS and PS shader should just work(tm) if they don't use SM5 specific instructions. See this for more info on what each Shader model is capable of.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

I solved the problem by buying a 7870 but thanks for all the answers:)

from time to time i find time

I'm in the same position, I have a GTX 295 and it runs all my DX11 fine.
I was told by my lecturers that it uses software to run it, if the hardware isn't there.
There is no "software emulation layer". When you create a D3D device with a specified feature level, the GPU either supports the entire feature level or it doesn't. If it doesn't, the call to create the device fails. So if you successfully a create 10_1 device, you don't have to worry about any "software emulation" feature kicking in.

The closest thing to "software emulation" is the WARP device, which implements the 10_1 feature level with a high-performance software rasterizer. However it is not automatic: you have to explicitly ask for it when creating the device. There is also the "REF" device, which is full-featured but incredibly slow. It is not meant for actual use in applications, it's just there for verification/debugging purposes. It's also not automatic, you have to ask for it.

This topic is closed to new replies.

Advertisement