• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

D3D12 articles - so much misunderstandings and miscommunications

Soldato
Joined
7 May 2006
Posts
12,192
Location
London, Ealing
I have read many articles about D3D12 and I think many of these are making more questions than answers. I'm tired of these misunderstandings and miscommunications on the hardware support, so here is a summary about the new API. Please understand that even if I'm posting here anonymously I have to keep some information secret. This post is based on public documentations, and these specs are finalized. Sorry to say but most of the tech journalists are lazy now, and they simply don't even do basic search for their articles.

Here is a simple FAQ:
- Is D3D12 require new hardware?
No! The API will works fine with the existing GPUs if the D3D12 driver exist for them. The actual hardware support already announced.
- What about the features?
Some feature will go, and some feature will come.
The low-level APIs will simplify the access to the hardware. In the past, many new features came to the API because the driver actually hid the GPU memory from the application. So every new thing had to be implemented in the API, and then a new driver introduced the support for it. After this the application can access the new feature. D3D12 will allow explicit access to the GPU memory so some earlier features will not accessible in D3D12 in their "traditional D3D11 form". But this is not a problem, because with explicit memory access all of these (and many more) can be implemented in the application. For example tiled resources will be gone in the actual form, but it is possible to write an own implementation for it.
The resource model will be also advancing, so for example Typed UAV Load will be a new feature.
- Are these new features will require new hardware?
The best answer is yes and no. This is a complicated question, and hard to answer it when the specs are not public. But let's say Typed UAV Load will require hardware support. The GCN based Radeons can support it, as well the Maxwell v2 (GM206/GM204) architecture. Maybe more hardware can access the feature from NVIDIA, but I don't know because they don't disclose what possible with Maxwell v1/Kepler/Fermi. Intel might support it, but I'm not familiar with these iGPUs.
But many of these new features can be... I don't want to say emulated, but some workaround is possible. So even if the hardware support is not present, the actual effect might be executable on all GPUs. Of course, these workarounds will have some performance hit.

These are the most important things to know.

There are some other important things like the binding model. I have read frequently that D3D12 is bindless. No it's not. Bindless is only possible with AMD GCN, and NV Kepler/Maxwell. D3D12 is a universal API, so bindless is not suitable for it. But this doesn't mean that the D3D12 binding model is bad. It's actually very nice.

In this PDF you can see the resource binding tiers at page 39 (if you don't want to download the file than here is an image). This is the D3D12 binding table, and the GPUs must support one of these tiers.
Most of the GPUs support the first tier or TIER1.
Maxwellv2 (GM206 and GM204) support the second tier or TIER2.
All GCN-based Radeons support the third tier or TIER3.
I'm expect that all future hardware will support TIER3.

One more thing. We all know that D3D12 is built for efficiency. Yep, this is true, but Microsoft only talk about the batch performance. Everybody knows the advantages, it will mostly! eliminate the limitations on the CPU side.
There are two other features in D3D12 that will eliminate the limitations on the GPU side! These will help to speed up the rendering even when the application seems to be limited by the GPU.
These optional features are called asynchronous DMA and asynchronous compute. Simple definitions:
- Asynchronous DMA will allow data uploads without pausing the whole pipeline. It will need two active DMA engines in the GPU so this feature is supported by all GCN-based Radeons or Maxwellv2(GM206/GM204)-based GeForce. Most modern NVIDIA GPUs use two DMA engines, but one of these disabled on the GeForce product line, so in the past this was a professional feature. On the GM206/GM204 GPUs the two DMA not just present in the hardware but activated as well.
- Asynchronous compute allow overlapping of compute and graphics workloads. Most GPUs can use this feature, but not all hardware can execute the workloads efficiently. The GCN-based Radeons with 8 ACEs! are very good at this in my own tests.

I can't tell you more, because there is an embargo for some infos.

If you want to ask what GPU is the best for D3D12 at present, than I will say go for a GCN-based Radeon (prefer GPUs with 8 ACEs) or a Maxwellv2(GM206/GM204)-based GeForce. These are the most future-proof architectures now, so these will support a higher resource binding tier and most of the optional D3D12 features.

http://forums.anandtech.com/showthread.php?t=2422223
 
Last edited:
Caporegime
Joined
24 Sep 2008
Posts
38,322
Location
Essex innit!
Is this guy associated with Microsoft or a game developer? He just looks like someone who is like us and posts on a forum, albeit with some ideas on DX12.

Starting new threads regarding a regular poster seems a little strange to me?
 
Caporegime
Joined
17 Mar 2012
Posts
47,636
Location
ARC-L1, Stanton System
But let's say Typed UAV Load will require hardware support. The GCN based Radeons can support it, as well the Maxwell v2 (GM206/GM204) architecture
Not Kepler?

Bindless is only possible with AMD GCN, and NV Kepler/Maxwell. D3D12 is a universal API,
Most of the GPUs support the first tier or TIER1.
Maxwellv2 (GM206 and GM204) support the second tier or TIER2.
All GCN-based Radeons support the third tier or TIER3
Kepler does not support TIER2? Maxwell does not support TIER3?

It will need two active DMA engines in the GPU so this feature is supported by all GCN-based Radeons or Maxwellv2(GM206/GM204)-based GeForce
Again, not Kepler?

- Asynchronous compute allow overlapping of compute and graphics workloads. Most GPUs can use this feature, but not all hardware can execute the workloads efficiently. The GCN-based Radeons with 8 ACEs! are very good at this in my own tests.
For all Nvidia's rhetoric about them working for 4 years with Microsoft on DX12 by the looks of this AMD's GCN has 'at least' the same native compatibility as Maxwell if not more, certainly more than Kepler.
 
Soldato
OP
Joined
7 May 2006
Posts
12,192
Location
London, Ealing
Is this guy associated with Microsoft or a game developer? He just looks like someone who is like us and posts on a forum, albeit with some ideas on DX12.

Starting new threads regarding a regular poster seems a little strange to me?

He is a game developer who i have known about for years, he is currently working on the PS4.
 
Man of Honour
Joined
13 Oct 2006
Posts
91,147
^^ By the time proper DX12 games come out that exploit those features the 290 and 780 will both be history.
 
Soldato
Joined
26 May 2009
Posts
22,101
Asynchronous DMA will allow data uploads without pausing the whole pipeline.

Wait, D3D12 is bringing BLAST PROCESSING to the PC? I'm sold! :p

(The joke: Blast processing is what SEGA called it when it was shouting about the Megadrives superiority over it's Nintendo rival).
 
Soldato
OP
Joined
7 May 2006
Posts
12,192
Location
London, Ealing
Which one?

I'm not interested in you trying to discredit the source, i gave you the benefit of the doubt by even replying to you in the first place and now you have just confirmed your intent, because who he actually works for is besides the point and not even important to the point, he is posting anonymously for good reason.
 
Last edited:
Caporegime
Joined
17 Mar 2012
Posts
47,636
Location
ARC-L1, Stanton System
^^ By the time proper DX12 games come out that exploit those features the 290 and 780 will both be history.

No doubt.

The thing is both AMD and Nvidia work with Microsoft all the time on API's and Drivers, they have done for the past 20 years.

Its easy for either one of them to shout about co-developing any Microsoft Graphics related software/API there in implying said Software/API as tailored for themselves.

And yet: its ironic with Nvidia's banging on about their work with Microsoft and DX12 for so many years its actually AMD's 3/4 year old architecture that has the better native compatibility for said DX12.

Did AMD miss another marketing trick or was this one just a bit too cheeky to make so much noise over?
 
Last edited:
Soldato
OP
Joined
7 May 2006
Posts
12,192
Location
London, Ealing
No doubt.

The thing is both AMD and Nvidia work with Microsoft all the time on API's and Drivers, they have done for the past 20 years.

Its easy for either one of them to shout about co-developing any Microsoft Graphics related software/API there in implying said Software/API as tailored for themselves.

And yet: its ironic with Nvidia's banging on about their work with Microsoft and DX12 for so many years its actually AMD's 3/4 year old architecture that has the better native compatibility for said DX12.

Did AMD miss another marketing trick or was this one just a bit too cheeky to make so much noise over?

AMD miss marketing tricks all the time.
 
Soldato
Joined
25 Apr 2007
Posts
5,255
^^ By the time proper DX12 games come out that exploit those features the 290 and 780 will both be history.

If the benefits are potentially night and day (which I've heard before but need to see myself), won't developers be falling over themselves to push out titles that look good and run well?

I'm not a programmer so I don't know what the learning curve is for new APIs.
 
Man of Honour
Joined
21 May 2012
Posts
31,940
Location
Dalek flagship
If the benefits are potentially night and day (which I've heard before but need to see myself), won't developers be falling over themselves to push out titles that look good and run well?

I'm not a programmer so I don't know what the learning curve is for new APIs.

I'm not a programmer either but my guess is DX12 will -

Look very good.

Run games slower than DX11 because of the above.

There will be hardly any games that support it for a long time.
 
Back
Top Bottom