Direct3D feature levels discussion

Windows 10 build 16299.15 has been released, along with AMD Radeon 23.20.768.12 (WDDM 2.3) drivers (through Windows Update).
New caps bits set on a R9 290X card:
Code:
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY (15) (0b0000'1111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED (0)
BarycentricsSupported : 0
ExistingHeaps.Supported : 1
 
Last edited:
Regarding WDDM 2.3 support:
AMD: Would be nice to know if BarycentricsSupported are supported with 23.20.768.12 on newer Polaris or Vega cards similar to exposed on Vulkan..
Intel: seems 22.20.16.4785 or Build 23.20.16.4786 found on gfxbench has WDDM 2.3 support for Kabylake.. unfortunately I have HD 530 that hasn't even WDDM 2.2.. would be nice someone if someone can report just to see how fast
Intel supports Shader Model 6.1 and exposes other opt. caps as ViewInstancingTier)

finally later this year @DmitryKo you should compile for ARM64 Windows platforms to explore Qualcom Adreno DX12 implementation!
 
Would be nice to know if BarycentricsSupported are supported with 23.20.768.12 on newer Polaris or Vega cards
This option is probably deprecated, as DXIL 1.1 spec was changed to have mandatory "system values" instead of intrinsic instructions...

you should compile for ARM64 Windows platforms to explore Qualcom Adreno DX12 implementation

The code should compile right away.

Is any ARM64 Windows 10 capable system sold around the world?
The whole ARM64 affair is a big unknown right now. It is only supported by recently released Windows 10 RS3 (build 16299) and Visual Studio 2017 Update 4, and no consumer devices have been shown or announced during 2017.

Qualcomm seems to be more interested in 64-bit server processors like the recent 48-core Centriq, they've being trying to get ARM into servers for quite some time.

Is qualcomm directly releasing Adreno drivers for Windows 10?
Nah, Qualcomm seems to have wound down any Windows development after Phone 8.1. They don't even list D3D12 in the Adreno specs, though someone keeps adding this to the Wikipedia article.
 
Last edited:
Yeah, the only thing Qualcomm ever did for DirectX 12 was this photo: https://pbs.twimg.com/media/BjNnhyrCQAATdyy.png:large

Yeah the 950XL is feature level 11_1. I believe Microsoft writes the drivers, not qualcomm.
Windows 10 Mobile comes 32-bit (v7 instruction set) D3D12 runtime installed (you can check it with root access), but last time I asked Microsoft was not planning to release any D3D12 driver for it's capable mobile devices like the last Lumias 950 and 950XL (not such big surprise with #Nadella as Ceo).
 
I'm not implying that 950 currently has (or will have) DX12 drivers, but it does have DX11 (11_1) drivers. It is possible for that hardware to support DX12, but as you already mentioned not likely at this point.
 
This is not even an announcement. The market reaction already killed Windows Phone/Mobile - there are very few devices and the market share is below 1%.

Also, Windows 10 Mobile is essentially an updated version of Windows Phone 8/8.1, running on mobile phones and tablets with 32-bit ARM processors and based on Windows RT (Windows Runtime) subsystem and Metro/Modern UI (Windows Store Apps)/ UWP (Universal apps) series of APIs and visual design guidelines (such as the much hated tiles-based Start screen and stupid touch-friendly interface in Windows Settings and 'modern' apps).


Windows 10 for ARM64 is quite a different beast - a full-blown 64-bit Windows 10 Home/Professional/S/Enterprise with an x86 software emulation layer and full support for Win32 applications, much like the now-forgotten Windows XP 64-bit Edition for Itanium Systems. It is currently intended for 'Always Connected' ultra-mobile noteboks running existing line-of-business apps on the power-efficient 64-bit ARM platform, but might also appear in all-in-one desktops, headless servers and IoT devices.

http://www.zdnet.com/article/computex-2017-always-connected-pc-sounds-great-but-well-have-to-wait/
http://www.zdnet.com/article/micros...-windows-10-redstone-3-fall-2017-deliverable/

UPDATE Dec 17: ARM64 versions of Asus NovaGo TP370QL and HP Envy x2 (2017) are revealed; Lenovo, Xiaomi and Samsung will follow
http://www.zdnet.com/article/microsoft-debuts-windows-10-on-arm/
https://www.neowin.net/news/xiaomi-and-samsung-may-join-the-always-connected-windows-10-pc-crowd
 
Last edited:
MSDN has been updated, at least partially - still missing the "what's new" section, as well as some video decoding-related SDK interfaces and structures above ...

New for D3D12_FEATURE:
D3D12_FEATURE_D3D12_OPTIONS3
D3D12_FEATURE_DATA_D3D12_OPTIONS3
D3D12_VIEW_INSTANCING_TIER
D3D12_FEATURE_EXISTING_HEAPS
D3D12_FEATURE_DATA_EXISTING_HEAPS

New ID3D12Device3::
OpenExistingHeapFromFileMapping()
OpenExistingHeapFromAddress()
EnqueueMakeResident()

New ID3D12Fence1::
GetCreationFlags()

New ID3D12GraphicsCommandList2::
WriteBufferImmediate()


New D3D12_WRITEBUFFERIMMEDIATE_PARAMETER

New D3D12_WRITEBUFFERIMMEDIATE_MODE


New in ID3D12GraphicsCommandList1::
SetViewInstanceMask()

New D3D12_VIEW_INSTANCE_LOCATION

New D3D12_VIEW_INSTANCING_DESC

New D3D12_VIEW_INSTANCE_FLAGS

New D3D12_COMMAND_LIST_SUPPORT_FLAGS


New in D3D12_PIPELINE_STATE_SUBOBJECT_TYPE:
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING

New in D3D12_COMMAND_LIST_TYPE:
D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE
D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS

New in D3D12_RESOURCE_FLAGS:
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY

New in D3D12_RESOURCE_STATES:
D3D12_RESOURCE_STATE_VIDEO_DECODE_READ
D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE
D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ
D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE

New in D3D12_FENCE_FLAGS:
D3D12_FENCE_FLAG_NON_MONITORED

New in D3D12_QUERY_HEAP_TYPE:
D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS
D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP

New in D3D12_QUERY_TYPE:
D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS
 
Last edited:
Do I understand correctly that since Microsoft Basic Render Driver now with Windows 10 1709 support shader model 6.0 without experimental mode that its up to gpu manufacturers like AMD to release drivers that support their GPUs sm6.0 in normal mode as well.
 
Do I understand correctly that since Microsoft Basic Render Driver now with Windows 10 1709 support shader model 6.0 without experimental mode that its up to gpu manufacturers like AMD to release drivers that support their GPUs sm6.0 in normal mode as well.
Yes, last AMD beta drivers still reports SM 5.1 in "regular" mode.
 
Having updated to Win 10 1709, Kepler now reports Shader Model 6.1 in experimental mode.
Kepler reported SM 6.0 in "regular" mode in Win10 1703 when using the 387.92 driver.
 
Hi

My name is Andreas and I'm the graphics card editor at Hardwareluxx.de. As requested by many of our readers, the Direct3D 12 Feature Checker with our NVIDIA Titan V we reviewed a couple of days ago: https://www.hardwareluxx.de/index.p...titan-v-volta-architektur-im-gaming-test.html

ADAPTER 0
"NVIDIA TITAN V"
VEN_10DE, DEV_1D81, SUBSYS_121810DE, REV_A1
Dedicated video memory : 12120.0 MB (12708741120 bytes)
Total video memory : 28441.4 MB (29822961664 bytes)
Video driver version : 23.21.13.8859
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE (0) (0b0000'0000)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 0
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 0
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSup portedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_1 (1)
MaxGPUVirtualAddressBitsPerResource : 40
MaxGPUVirtualAddressBitsPerProcess : 40
Adapter Node 0: TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0, IsolatedMMU: 1
HighestShaderModel : D3D12_SHADER_MODEL_6_0 (0x0060)
WaveOps : 1
WaveLaneCountMin : 32
WaveLaneCountMax : 32
TotalLaneCount : 163840
ExpandedComputeResourceStates : 1
Int64ShaderOps : 1
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
CopyQueueTimestampQueriesSupported : 1
CastingFullyTypedFormatSupported : 1
WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY (15) (0b0000'1111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED (0)
BarycentricsSupported : 0
ExistingHeaps.Supported : 1
 
Andreas,
did you try to query the experimental developer mode on the Nvidia Titan V?


BTW, Radeon Adrenalin 17.12.1 (video driver 23.20.15002.11) now supports SM 6_1 and view instancing tier 1 in the developer mode; it also gains support for automatic shader cache.
Code:
HighestShaderModel : D3D12_SHADER_MODEL_6_1 (0x0061)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY | AUTOMATIC_INPROC_CACHE (7) (0b0000'0111)
ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_1 (1)
 
Last edited:
Andreas,
did you try to query the experimental developer mode on the Nvidia Titan V?
Code:
Windows 10 version 1703 (build 15063.540)
Checking for experimental shader models

ADAPTER 0
"NVIDIA TITAN V"
VEN_10DE, DEV_1D81, SUBSYS_121810DE, REV_A1
Dedicated video memory : 12120.0 MB (12708741120 bytes)
Total video memory : 28350.4 MB (29727567872 bytes)
Video driver version : 23.21.13.8859
Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
DoublePrecisionFloatShaderOps : 1
OutputMergerLogicOp : 1
MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE (0) (0b0000'0000)
TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
PSSpecifiedStencilRefSupported : 0
TypedUAVLoadAdditionalFormats : 1
ROVsSupported : 1
ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
StandardSwizzle64KBSupported : 0
CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
CrossAdapterRowMajorTextureSupported : 0
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_1 (1)
MaxGPUVirtualAddressBitsPerResource : 40
MaxGPUVirtualAddressBitsPerProcess : 40
Adapter Node 0:    TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0, IsolatedMMU: 1
HighestShaderModel : D3D12_SHADER_MODEL_6_0 (0x0060)
WaveOps : 1
WaveLaneCountMin : 32
WaveLaneCountMax : 32
TotalLaneCount : 163840
ExpandedComputeResourceStates : 1
Int64ShaderOps : 1
RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
DepthBoundsTestSupported : 1
ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
 
Back
Top