Direct3D feature levels discussion

Im sorry.
I did read your previous comments on that, removed the shaders thing and also the cross node sharing entry.

Did I got it right now ?
You should now mix what a feature level requires with the AMD/NVIDIA/Intel support to the entire API: there are other vendors, both mobile and desktop, and I guess if a feature level does not specify some capabilities, even it those are well known by AMD/Intel/NVIDIA hardware there should be a valid reason.
Moreover, all D3D12 feature data options can be optionally supported in ANY feature level, from 11_0 to 12_1, lil example: ROVs and CR can be used with a FL 11_0 device if the driver/hardware allows it.
Finally, Double precision floating point means 64-bit floating point support.
 
Thank you so much.

You mean that all D3D12 feature data options can be emulated in any feature levels from 11_0 to 12_1 ?
 
There is no emulation, except for cross sharing node (if supported by the driver) and the geometry shader bypass (which is a performance optimization, if not supported by the hardware, the driver will always create a dummy geometry shader). Optional means that it can be supported or not, it is not mandatory.
 
Please apologize me and correct me if i am wrong.

Is it correct to say that:

"All D3D12 feature data options can be optionally supported in any feature level, from FL11_0 to FL12_1. ¹²

¹Except for Cross Sharing Node ( emulated, if supported by the driver ) and Geometry Shader Bypass ( if not supported by the hardware, driver will always create a dummy Geometry Shader ).
²Optional means that it can be implemented or not, It is not mandatory."
 
Thanks but Id prefer to have more reliable information on this.
Huh? You essentially copied the optional feature table from an earlier version of the Wikipedia article (also posted here) - the latest version is as reliable as it can possibly be, considering the incomplete state of MSDN documentation on Direct3D 12 and beta status of WARP12 and graphics vendor drivers.

Specifically, you are not correct regarding typed UAV loads (optional below level 12_0, supported by Maxwell-1), UAVs at every stage (a basic Direct3D 12 feature, not part of any level), CR and ROV being unavailable for FL 11_0 (optional features on all supported levels), logical blend ops (an optional feature on level 11_0), UAV-only rendering with forced sample count (a D3D11.2 option [1] [2] [3] that doesn't exist in D3D12 - implies that sample count 8 is now a basic feature vs 1 in D3D11), number of UAV descriptors ("slot" count in D3D11) for Kepler/Maxwell, and linking UAV "slots" to feature levels (they are part of resource binding tiers).

From all the people on that thread there is only one that seems to be picking sides. :cool:
...
 
Last edited:
From all the people on that thread there is only one that seems to be picking sides. :cool:
You're new here, right? Keep that up and you're sure to be banned, which may be a good thing.

The person in this thread regularly contributing to the Wiki link is DmitryKo. :LOL:
 
Huh? You essentially copied the optional feature table from an earlier version of the Wikipedia article - the latest version is as reliable as it is currently possible, considering the incomplete state of MSDN documentation on Direct3D 12 and beta status of WARP12 and graphics vendor drivers.

Specifically, you are not correct regarding typed UAV loads (optional below level 12_0, supported by Maxwell-1), UAVs at every stage (a basic Direct3D 12 feature, not part of any level), CR and ROV being not possible in FL 11_0 (optional feature on all supported levels), logical blend ops (an optional feature on level 11_0), UAV-only rendering with forced sample count (a D3D11.2 option [1] [2] [3] that doesn't exist in D3D12, which probably implies sample count 8 is now a basic feature, vs 1 in D3D11), number of UAV descriptors ("slot" count in D3D11) for Kepler/Maxwell, and linking UAV "slots" to feature levels (they are a part of resource binding tiers).

...

The wiki has changed so many times now during the last days that I was not sure if I could rely on the information provided there.

Thank's for the efforts you and others have put into this subject.
 
Double precision floating point means 64-bit floating point support
Actually this is a two-tier option in WDDM 1.2 and Direct3d 11.1

1) DoublePrecisionFloatShaderOps option for feature level 11_0 hardware indicates support for shader operations with the double type (64-bit precision):
Direct3D reference - D3D11_FEATURE_DATA_DOUBLES structure

2) the same option requires a few additional shader ops only for feature level 11_1 hardware:
WDDM 1.2 - DirectX feature improvements in Windows 8 - Double-precision shader functionality
WDDM 1.2 - Direct3D software requirements in Windows 8

As always, on MSDN you can never get this information in one single place for some reason...
 
Last edited:
I hoped for standard swizzle, but looks like this will take a while to get supported from future architectures (I doubt that even Pascal will not support it)...

By the way, it's time to add cross node support, cross row major texture and standard swizzle cap bits...
 
I hoped for standard swizzle, but looks like this will take a while to get supported from future architectures (I doubt that even Pascal will not support it)...
The hardware does support standard swizzle (and fp16 of course, Broadwell too). It may not be enabled yet in the driver though, not sure.

And even if we don't get all the way to "bashing", I think it's fair for us to be proud of having clear leadership in DX12 features for the time being. Indeed several of the main features are there because of us. Not something most would have expected out of Intel a few years ago I don't think :)
 
Back
Top