Direct3D feature levels discussion

What in D3D12 has been hobbled?
All the specification were rounded to match a well defined list of hardware architectures. This is why we have different capabilities tiers (and cap-bits) for different features and not only a couple or two of feature levels. Fermi was the oldest of the planned supported architectures ...
And regardless, I suspect Qualcomm is probably the limiting factor not Fermi.
I am not sure nor aware about Qualcomm implementation, last time I asked there were no D3D12 drivers for W10M...

Mine is just a pure speculation..
 
... do you think Fermi is less capable than anything they have today (or even their next gen)? I suspect (granted it's pure conjecture) there are at least a few areas that qualcomm is the limiting party.
If I remember the FL 11_1 discussion correctly, Nvidia hardware had big limits regarding to UAVs (in graphics pipeline shaders). The 8 UAV limit (in Tier 1 resource binding) is likely because of Fermi. Qualcomm could of course have the same limit. Who knows, they aren't exactly open about thier architecture.
 
If I remember the FL 11_1 discussion correctly, Nvidia hardware had big limits regarding to UAVs (in graphics pipeline shaders). The 8 UAV limit (in Tier 1 resource binding) is likely because of Fermi. Qualcomm could of course have the same limit. Who knows, they aren't exactly open about thier architecture.
Tier 1 of resource binding allows 64 UAV slots if the hardware support FL 11_1 (ie: haswell and broadwell). However all Tier1 GPUs in binding resources are not bindless (last time I tried on Haswell I had a runtime crash xD).
I am quite sure Fermi can bound only 128 srv to the pipeline (256 on later NV hardware), but I am not sure about other hardware, like intel Gen 7.5/8, ... or I am simply blending architecture limitations with CUDA? I do not remember how exactly CUDA references can be used to check real nvidia hardware limits.
 
Last edited:
Fermi is not a FL11_1 GPU if I remember correctly - it's 11_0.

But yeah I don't see the point in it being supported... probably just marketing that later got corrected by tech folks :)
 
Fermi is not a FL11_1 GPU if I remember correctly - it's 11_0.

But yeah I don't see the point in it being supported... probably just marketing that later got corrected by tech folks :)

A broader impression of incumbency and mind share due to the quantity of those cards out there?
There could be some cachet for Nvidia from a PR standpoint if "this old stuff *yawn*" could show up to the same fight as the competition's most modern architectures.
 
"Starting with the next release of NVIDIA Nsight, Fermi GPUs will no longer be supported."
http://docs.nvidia.com/nsight-visual-studio-edition/5.1/Content/Release_Notes_Main.htm
Lol
So Fermi is officially out now? That would explain its omission from this GDC presentation (see slide 42).
BTW Maxwell-2 is shown to have Resource Heap Tier 1 - but their driver was reporting Tier 2 in 2015 releases...

GDC 2016
Practical DirectX 12 - Programming Model and Hardware Capabilities
Gareth Thomas & Alex Dunn AMD & NVIDIA​
http://32ipi028l5q82yhj72224m8j.wpe...ogramming_Model_and_Hardware_Capabilities.pdf

https://www.qualcomm.com/news/onq/2...-microsoft-directx-12-and-qualcomm-snapdragon

Sure there isn't any driver support currently for WM10, but do you think Fermi is less capable than anything they have today (or even their next gen)? I suspect (granted it's pure conjecture) there are at least a few areas that qualcomm is the limiting party.
We don't know this, mobile chips did have virtual memory support right from the start. Max McMullen said in this very thread that Microsoft was considering all mobile hardware vendors, not just Qualcomm, when making their specification, and WDDM 2.x requirements were known since at least WinHEC 2006.

It's just Qualcomm would rather invest their limited resources into Vulkan on Android, not WDDM 2.0 /Windows 10 Mobile which didn't take up.
 
Level 12_0 for Kepler is a mistake - should have been level 11_0, as in the slide 42 above. Apart from Resource Heap Tier 1 for Maxwell-2 in both of these tables, everything else seems OK. Anyone with a Maxwell-2 card (GTX950-980 or Titan X) to run a feature test?
 
Last edited:
Level 12_0 for Kepler is a mistake - should have been level 11_0, as in the slide 42 above. Apart from Resource Heap Tier 1 for Maxwell-2 in both of these tables, everything else seems OK. Anyone with a Maxwell-2 card (GTX950-980 or Titan X) to run a feature test?
Is there easy program for that? if so, I can
 
Either DXCapsView from the standalone Windows 10 SDK release 1511 (alternatively, an insider preview SDK build 14332)...
or, my console-based tool attached to this post: https://forum.beyond3d.com/posts/1840641/
Tier 1 on these drivers (361.43)

Code:
Direct3D 12 feature checker (July 2015) by DmitryKo
https://forum.beyond3d.com/posts/1840641/

ADAPTER 0
"NVIDIA GeForce GTX 980"
VEN_10DE, DEV_13C0, SUBSYS_31701462, REV_A1
Dedicated video memory : 3221225472  bytes
Total video memory : 4294901760  bytes
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE (0)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_2 (2)
PSSpecifiedStencilRefSupported : 0
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 (1)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 0
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 0
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_1 (1)
MaxGPUVirtualAddressBitsPerResource : 40
MaxGPUVirtualAddressBitsPerProcess : 40
Adapter Node 0:  TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0

ADAPTER 1
"Microsoft Basic Render Driver"
VEN_1414, DEV_008C, SUBSYS_00000000, REV_00
Dedicated video memory : 0  bytes
Total video memory : 4294901760  bytes
Failed to create Direct3D 12 device
Error 887A0004: The specified device interface or feature level is not supported on this system.

FINISHED running on 2016-05-05 10:26:01
2 display adapters enumerated
 
Level 12_0 for Kepler is a mistake - should have been level 11_0, as in the slide 42 above. Apart from Resource Heap Tier 1 for Maxwell-2 in both of these tables, everything else seems OK. Anyone with a Maxwell-2 card (GTX950-980 or Titan X) to run a feature test?

And yet the damage is already done. Because of NV PR most enthusiasts think it's level 12_0 and that Nvidia has better support for Dx12 than its competitors.

Regards,
SB
 
I have a feeling gamer people will fixate on the new hardware instead rather soon.

I am surprised Maxwell 1 isn't capable of more than 11_0. But hey it's not fast enough for future games anyway. Which is probably true of everything below GM204 and Hawaii. The common 2GB RAM allotment of recent times is also becoming a significant impediment.

By the way, Fermi does have WDDM 2.0 drivers. I have seen it myself with a 560 Ti and a GT 520. Maybe there are benefits to that compared to running WDDM 1.3 on Win10.
 
Last edited:
I am surprised Maxwell 1 isn't capable of more than 11_0. But hey it's not fast enough for future games anyway. Which is probably true of everything below GM204 and Hawaii. The common 2GB RAM allotment of recent times is also becoming a significant impediment.
Kepler and Maxwell 1 are almost 11_1 capable. Only a couple minor features are missing. I fail to understand why Microsoft didn't exclude these features from the 11_1 spec. Because of this 11_1 is practically useless and we need to support 11_0 code paths for a long time.

2 GB memory will soon become the minimum. But you can't drop support of 2 GB cards, because top of the line Nvidia cards were 2 GB for a long time. Also Haswell IGP is limited to 2 GB of address space. 7970 has aged really well. It now beats GTX 580 in most games, while it was certainly behind it at launch. 3 GB of memory + excellent compute performance is nice for current titles.
 
Back
Top