BUILD: Details On Direct3D 11.1by Ryan Smith on September 14, 2011 2:42 PM EST
We're currently sitting in a Microsoft session on DirectX in Metro, where Microsoft is discussing the improvements they've made to DirectX for use with Metro. Every individual DirectX graphics API is getting some kind of improvement, but of course Direct3D is the most captivating.
Direct3D 11.1 will come with Windows 8 (no mention of it being backported to Vista/7, but I'd count on it). The focus on D3D 11.1 has been on performance and efficiency by adding new methods to more efficiently do some common tasks, but there are also a few new features to quickly mention.
- Cap bits are back in a way after being removed in D3D 10; the primary purpose of these seems to be to allow Win8 to better handle supporting traditional Intel/NVIDIA/AMD GPUs, and more exotic SoC GPUs by allowing applications to see if the GPU is a tile based deferred renderer, among other things.
- Direct3D has better access to Media Foundation (Windows' video playback/encode API). It's now possible to pipe MF output through pixel shaders before display.
- WARP, the software rasterizer, has been given a performance boost
- Shader tracing has been added for developers to trace shader performance (previously this would require GPU-specific tools)
- Stereoscopic 3D support has been added to D3D. We don't have the details of the underpinnings here, but we expect that this will be the vendor-neutral S3D API users have bee clamoring for, without requiring devs to directly interact with quad buffers on a per-vendor basis
Further Reading: MSDN - Direct3D 11.1 Features
Post Your CommentPlease log in or sign up to comment.
View All Comments
LtGoonRush - Wednesday, September 14, 2011 - linkDo these new DX11.1 features require new graphics hardware, or can they be supported by a driver update on DX11 hardware?
tipoo - Wednesday, September 14, 2011 - linkNew hardware. Just like 10, 10.1, 11.
inighthawki - Wednesday, September 14, 2011 - linkDo you know that for fact or assuming, because that isnt necessarily the case if the new feature doesnt specifically require hardware support. DirectX is just a software API, it can gain new features without needing new hardware. You can use DirectX11 with directx 9/10/10.1/11 class hardware and still gain very important features like multithreaded contexts (so long of course that the drivers support it).
Targon - Wednesday, September 14, 2011 - linkI agree, though it would have been nice if Microsoft would treat DirectX in that way. There should ALWAYS have been a software failover if the hardware does not support certain functions, even if performance would suffer. Allowing software to disable features to avoid performance degradation would be better than just not having these features be available.
inighthawki - Wednesday, September 14, 2011 - linkThere's probably a more technical reason that it can't be done dealing with devices and contexts and how they are all synced up, it might be too difficult or impossible to mix the software features in, who knows.
If you really want, though, you could probably just create a second device mapped to a WARP device, and using your own feature detection, decide whether to send the data through the hardware or software pipeline.
I don't know quite enough about how the data is bound to the pipeline though, it may be impossible to share resource like that.
Perhaps this is what the new DX11.1 device context sharing will enable. It might be interesting to look into that.
smitty3268 - Wednesday, September 14, 2011 - linkThe problem with giving everything a software fallback is that you then have to come up with a complicated querying mechanism for applications to check whether a feature is truly supported or just a software fallback. That can work for a feature here and there, but en masse just becomes ugly. And going without forces applications to do mini-benchmarks whenever they try to use a feature and guess whether or not it works acceptably or if they should fallback to a less demanding codepath that will actually run at an acceptable level.
LtGoonRush - Thursday, September 15, 2011 - linkAlso, one of the key purposes of DirectX levels is to ensure that the same features will always be available across all compliant hardware, otherwise we get back to the bad old days of OpenGL using extensions for everything
Ph0b0s - Thursday, September 15, 2011 - linkI think the jury is still out on that. Only when Microsoft finalise the spec, can GPU makers look and see whether the additions of .1 can be done on current hardware or not.
Reading through the above, I don't see (to my un-expert eye) anything that screams new hardware required. Like tessellation hardware with DX11. In the same way some DX11 upgrades were upgrades for both DX 10 and DX 11 hardware, these might be the same.
The question that will then come is whether having DX11.1 as driver upgrade for existing DX 11 cards is in Nvidia and ATI's interest....
Ryan Smith - Thursday, September 15, 2011 - linkMicrosoft isn't saying. I need to huddle with AMD and NV, and then I'll get back to you.
What I do know is that WDDM 1.2 drivers (which is one of the D3D 11.1 requirements) will be available for all of AMD's DX11-class hardware. So it's entirely possible that D3D11.1 will work on at least some current hardware.
Ph0b0s - Thursday, September 15, 2011 - linkAs I said above it is not surprising Microsoft will not comment on this. It is rare for one company to comment on another companies products or make any promises about them. It is something for AMD, NVIDIA and INTEL to comment on. So any news you can get from them would be very interesting.
But they may also not be in a position to comment as I don't know how set in stone the 11.1 specs are at the moment. GPU makers will not want to promise comparability until things are settled.
If 11.1 does require new hardware, I for one will be waiting until DX 12 as my cards are pretty new. 11.1 may well go the way of 10.1, if new hardware is needed, i.e with hardly any support.