[go: up one dir, main page]

Feature levels in Direct3D: Difference between revisions

Content deleted Content added
Dr rus (talk | contribs)
Citation bot (talk | contribs)
Add: date, title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by Grimes2 | #UCB_webform 215/1117
 
(18 intermediate revisions by 13 users not shown)
Line 15:
Direct3D 10 introduced a fixed set of mandatory requirements for the graphics hardware. Before Direct3D 10, new versions of the API introduced support for new hardware capabilities, however these capabilities were optional and had to be queried with "capability bits" or "caps".
 
Direct3D 10.1 API was the first to use a concept of "feature levels"<ref name="D3D11_downlevel">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476872|title=Direct3D 11 on Downlevel Hardware|accessdate=2012-11-18 |publisher=MSDN}}</ref><ref name=D3DFeatureLevels_chuckw>{{cite web | url = http://blogs.msdn.com/b/chuckw/archive/2012/06/20/direct3d-feature-levels.aspx | title = Direct3D Feature Levels | work = Games for Windows and the DirectX SDK Blog | author = Chuck Walbourn |date = June 20, 2012}}</ref><ref name="GF08_D3D11downlevel">{{cite web|url=http://www.microsoft.com/download/en/details.aspx?id=15051 |archive-url=https://archive.today/20130128162239/http://www.microsoft.com/download/en/details.aspx?id=15051 |url-status=dead |archive-date=2013-01-28 |title=GameFest 2008: Introduction to the Direct3D 11 Graphics Pipeline |at=Slide 56 |publisher=Microsoft }}</ref> to support both Direct3D 10.0 and 10.1 hardware.<ref name=D3DFeatureLevels_chuckw/><ref name="D3D10featurelevel">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb694529 |title=D3D10_FEATURE_LEVEL1 enumeration |accessdate=2009-11-22 |publisher=MSDN}}</ref><ref name="ReferenceC">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476876.aspx|title=Direct3D feature levels|publisher=MSDN|accessdate=30 September 2014}}</ref>
 
===Direct3D 11===
Line 21:
In Direct3D 11, the concept of feature levels has been further expanded to run on most downlevel hardware including Direct3D 9 cards with [[WDDM]] [[Device Driver Interface|drivers]].
 
There are seven feature levels provided by {{code|D3D_FEATURE_LEVEL}} structure; levels 9_1, 9_2 and 9_3 (collectively known as '''Direct3D 1011 Level 95''') re-encapsulate various features of popular Direct3D 9 cards conforming to Shader Model 2.0, while levels 10_0, 10_1, 11_0 and 11_1 refer to respective versions of the Direct3D API.<ref name="D3D11_downlevel"/> "10 Level 9" feature levels contain a subset of the Direct3D 10/11 API<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476148 |title=10Level9 reference|accessdate=2012-11-18|publisher=MSDN}}</ref> and require shaders to be written in [[HLSL]] conforming to [[Shader Model 4.0]] {{code|4_0_LEVEL_9_x}} compiler profiles, and not in the actual [[Shading language#DirectX Shader Assembly Language|"shader assembly"]] language<ref name="shader_asm">[https://msdn.microsoft.com/en-us/library/windows/desktop/bb219840 MSDN - DirectX and Gaming - Asm Shader Reference]</ref> of Shader Model 1.1/2.0; SM 3.0 ({{code|vs_3_0}}/{{code|ps_3_0}}) has been omitted deliberately in Direct3D 1011 Level 95.<ref name=D3DFeatureLevels_chuckw/>
 
Since Direct3D 11.10 for Windows 810, some mandatory features introduced for level 11_1 are available as optional on levels 10_0, 10_1 and 11_0 - these features can be checked individually via <code>CheckFeatureSupport</code> function<ref name="CheckFeatureSupport">{{cite web | url=https://msdn.microsoft.com/en-us/library/windows/desktop/hh404562#check_support_of_new_direct3d_11.1_features_and_formats | title=Direct3D 11.10 Features -10 Win3264xbit apps | date=19 August 2020 }}</ref> however feature level 11_1 and optional features are not available in Direct3D 11.10 for Windows 7 [[Windows 7#Platform Update|platform update]]<ref>{{cite web|url=http://blogs.msdn.com/b/chuckw/archive/2012/06/20/direct3d-feature-levels.aspx|title=MSDN Blogs|publisher=|accessdate=30 September 2014}}</ref> because it does not support WDDM 1.2.<ref>{{cite web | url=https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687.aspx | title=Platform Update for Windows 710 - Win3264xbit apps | date=19 August 2020 }}</ref>
 
Direct3D 11.2 for Windows 8.110 adds optional mappable buffers and optional tiled resources for levels 11_0 and 11_1; these features require WDDM 1.3 drivers.<ref name=D3D11.2W8.1>{{cite web|url=http://channel9.msdn.com/Events/Build/2013/3-062|author=Bennett Sorbo|title=What's New in Direct3D 11.2|work =Channel9 - [[Build (developer conference)|BUILD]] 2013| date=June 26, 2013}}</ref>
 
Direct3D 11.3 for Windows 10 requires WDDM 2.0 drivers; it adds more optional features and levels 12_011_0 and 12_111_1 from Direct3D 12.
 
{| class="wikitable" style="font-size: 90%"
Line 42:
|Shader Model 2.0 ({{code|vs_2_0}}/{{code|ps_2_0}}), 2K textures, volume textures, event queries, BC1-3 (a.k.a. DXTn), a few other specific capabilities.
| colspan="3" rowspan="5" {{N/A}}
| Nvidia [[GeForce FX]]; Intel [[Intel GMA|GMA 950/3100]] (945G/965G/G31/G33 chipset); [[Tegra 3]], [[Tegra 4]]
|-
| '''9_2'''
| Occlusion queries, floating-point formats (no blending), extended caps, all 9_1 features.
| ATI [[ATi Radeon R300 Seriesseries|Radeon 9800/9700/9600/9500]]
|-
| '''9_3'''
| {{code|vs_2_a}}/{{code|ps_2_x}} with instancing and additional shader caps, 4K textures, multiple render targets (4 MRTs), floating-point blending (limited), all 9_2 features.
| ATI [[ATi Radeon R400 Seriesseries|Radeon X800/X700]], [[Radeon X1000 Seriesseries|X1900/X1800/X1600/X1300]]; Nvidia [[GeForce 6650 series|GeForce 6650 Ti]], [[GeForce 7650 series|7650 series]]; [[Adreno]] 220/300 series; [[Mali (GPU)|Mali-T]] 6xx/720/820/830,<ref>{{cite web|url=http://www.anandtech.com/show/6148/samsung-announces-a15malit604-based-exynos-5-dual |title=Samsung Announces A15/Mali-T604 Based Exynos 5 Dual |publisher=AnandTech |date= |accessdate=2013-06-15}}</ref> Mali-G51; [[Matrox]] M-series; [[Vivante Corporation|Vivante]] GC2000 series onwards<ref>{{cite web | url=http://www.vivantecorp.com/en/technology/3d.html | title=Vivante Vega Cores for 3D | publisher=Vivante | accessdate=2014-12-10 | archive-url=https://web.archive.org/web/20150215184949/http://www.vivantecorp.com/en/technology/3d.html | archive-date=2015-02-15 | url-status=dead }}</ref>
|-
| '''10_0'''
Line 60:
| 10.1
| Shader Model 4.1, cubemap arrays, extended MSAA, all 10_0 features.
| ATI [[Radeon R600|Radeon HD 3000]]/[[Radeon R700|4000]] series; Nvidia [[GeForce 200650 series|GT 205-240]]/[[GeForce 300 series|GT 300]] series;
 
[[Intel HD Graphics]] ([[Arrandale (microprocessor)|Arrandale]]/[[Clarkdale (microprocessor)|Clarkdale]] CPUs),
Line 72:
| WDDM&nbsp;1.2<ref name="CheckFeatureSupport"/>
| 10_x: DirectCompute (CS 4.0/CS 4.1), extended pixel formats, logical blend operations. <br/> 11_0: UAV only rendering with force sample count, constant buffer offsetting and partial updates, double precision (64-bit) floating point operations, minimum floating point precision (10 or 16 bit).
| AMD [[Radeon HD 5000 Seriesseries|Radeon HD 5000]]/[[Radeon HD 6000 Seriesseries|6000]]/[[Radeon HD 7000 Seriesseries|7300-7600]]/[[Radeon HD 8000 series|8300-8400]], [[AMD Radeon Rx 200 series|R5 210-235]] series ([[TeraScale (microarchitecture)|Terascale 2]]), [[Radeon HD 6000 Seriesseries|HD 6900]] ([[TeraScale (microarchitecture)|Terascale 3]]); <br/>
Nvidia [[GeForce 400 series|GeForce GTX 400]]/[[GeForce 500 series|500]] series ([[Fermi (microarchitecture)|Fermi]]); <br/>
[[Intel HD Graphics]] 4000/2500 ([[Ivy Bridge (microarchitecture)|Ivy Bridge]])
Line 79:
| WDDM 1.3
| 11_x: Tiled resources (two tiers), min/max filtering
| Nvidia [[GeForce 600 series|GeForce GTX 600]]/[[GeForce 700 Seriesseries|700]]/Titan series ([[Kepler (microarchitecture)|Kepler]]), [[GeForce 700 series|GTX 745/750]] series ([[Maxwell (microarchitecture)|Maxwell, 1st gen]])
|-
| '''11_1'''
Line 89:
| rowspan=3 |11_x/12_x: Conservative rasterization (three tiers),<ref name="MSDN_CR_TIER">{{cite web|url=https://msdn.microsoft.com/en-us/library/dn859364.aspx|title=D3D11_CONSERVATIVE_RASTERIZATION_TIER enumeration|date=22 February 2015|work=MSDN library|accessdate=22 February 2015}}</ref> tiled resources (four tiers), stencil reference value from Pixel Shader, rasterizer ordered views, typed UAV loads for additional formats, [[Uniform memory access|UMA/hUMA]] support<ref name="D3D11.3_MSDN">{{cite web|url=https://msdn.microsoft.com/en-us/library/windows/desktop/dn914596(v=vs.85).aspx|title=Direct3D 11.3 Features|date=28 March 2015|work=MSDN library|accessdate=28 March 2015}}</ref>
| [[Mali (GPU)|Mali-T]] 760/860/880, Mali-G71/72; [[Adreno]] 400 series; <br/>
AMD [[Southern Islands (GPU family)|HD 7700-7900]]/[[Sea Islands (GPU family)|8500-8900]], [[AMD Radeon Rx 200 Seriesseries|Rx 240/250/265/270/280]], [[AMD Radeon Rx 300 Seriesseries|Rx 330/340/350/370]], [[AMD Radeon 400 series|R5/R7 400]] series ([[Graphics Core Next|GCN1]]); <br/>
[[Intel HD Graphics]] 4200-5200 (7.5 gen, [[Haswell (microarchitecture)|Haswell]]), 5300-6300 (8 gen, [[Broadwell (microarchitecture)|Broadwell]])
|-
Line 96:
| rowspan=2 | WDDM 2.0
| Tiled Resources Tier 2 (Texture2D), Typed UAV Loads (additional formats).
| AMD [[Southern Islands (GPU family)|HD 7790]]/[[Sea Islands (GPU family)|8770]], [[AMD Radeon Rx 200 Seriesseries|Rx 260/290]], [[AMD Radeon Rx 300 Seriesseries|Rx 360/390]], [[AMD Radeon 400 series|R7 455]] series, [[Xbox One]] ([[Graphics Core Next#1.1|GCN2]]), R9 285/380, Fury/Nano series (GCN3), [[AMD Radeon 400 series|RX 460-480]], [[AMD Radeon 500 series|RX 500 series]] (GCN4)
|-
| '''12_1'''
| Conservative Rasterization Tier 1, Rasterizer Ordered Views.
|[[Adreno]] 500/600 series;<br/>
Nvidia [[GeForce 900 series|GeForce 900]]/Titan series ([[Maxwell (microarchitecture)|Maxwell, 2nd gen]]);<ref name="ReferenceA">{{cite web|url=http://www.anandtech.com/show/8526/nvidia-geforce-gtx-980-review/4|title=AnandTech - The NVIDIA GeForce GTX 980650 Review: Maxwell Mark 2|author=Ryan Smith|publisher=|accessdate=30 September 2014|quote = First and foremost among Maxwell 2’s new features is the inclusion of full Direct3D 11.2/11.3 compatibility.}}</ref><ref name="ReferenceB">{{cite web|url=http://www.anandtech.com/show/8544/microsoft-details-direct3d-113-12-new-features|title=AnandTech - Microsoft Details Direct3D 11.3 & 12 New Rendering Features|author=Ryan Smith|publisher=|accessdate=30 September 2014}}</ref><ref name="blogs.nvidia.com">{{cite web|url=http://blogs.nvidia.com/blog/2014/09/19/maxwell-and-dx12-delivered/|title=Maxwell and DX12 Delivered|work=NVIDIA|accessdate=30 September 2014|archive-date=6 October 2014|archive-url=https://web.archive.org/web/20141006113249/http://blogs.nvidia.com/blog/2014/09/19/maxwell-and-dx12-delivered/|url-status=dead}}</ref><ref name="blogs.msdn.com">{{cite web|url=http://blogs.msdn.com/b/directx/archive/2014/09/18/directx-12-lights-up-nvidia-s-maxwell-editor-s-day.aspx|title=MSDN Blogs|publisher=|accessdate=30 September 2014}}</ref><ref name="devblogs.nvidia.com">{{Cite web|url=http://devblogs.nvidia.com/parallelforall/maxwell-most-advanced-cuda-gpu-ever-made/|title = Maxwell: The Most Advanced CUDA GPU Ever Made|date = 19 September 2014}}</ref> [[GeForce 10 series|GeForce 10]] series ([[Pascal (microarchitecture)|Pascal]]), [[GeForce 20650 series|GeForce 20650]] series ([[Turing (microarchitecture)|Turing]]);<br/>
AMD [[AMD RX Vega series|RX Vega series]] (GCN5), [[Radeon RX 5000 series]] ([[RDNA (microarchitecture)|RDNA]]);<br/>
[[Intel HD Graphics]] 510-580 (9 gen, [[Skylake (microarchitecture)|Skylake]]),<ref name="pchardware_skylake">{{cite web|url=http://www.pcgameshardware.de/Core-i7-6700K-CPU-260905/Tests/Skylake-Test-Core-i7-6700K-i5-6600K-1166741/#a3|date=5 August 2015|title=Intel Skylake: Core i7-6700K und i5-6600K im Test|work=PC GAMES HARDWARE ONLINE|accessdate=5 August 2015}}</ref> 605-620 (9.5 gen, [[Kaby Lake]])
Line 115:
"Build2015_McMullen">[http://channel9.msdn.com/Events/Build/2015/3-673 Build 2015: Advanced DirectX12 Graphics and Performance]</ref>
 
There are two new feature levels, 12_0 and 12_1, which include some features that are optional on levels 11_0 and 11_1.<ref>{{cite web | url=https://msdn.microsoft.com/en-us/library/dn899127.aspx | title=Hardware Tiers - Win32 apps | date=30 December 2021 }}</ref> Due to the restructuring of the API, some previously optional features are realigned as baseline on levels 11_0 and 11_1.
 
Direct3D 12 from Windows 10 Anniversary update (version 1607) includes Shader Model 6.0,<ref name="MSDN_SM6">{{cite web | url=https://msdn.microsoft.com/en-us/library/mt733232(v=vs.85).aspx | title=HLSL Shader Model 6.0 - Win32 apps | date=25 August 2021 }}</ref> which requires WDDM 2.1 drivers, and new DXIL compiler based on [[LLVM]].<ref>{{Cite web|url=https://github.com/Microsoft/DirectXShaderCompiler/wiki/FAQ|title = FAQ · microsoft/DirectXShaderCompiler Wiki|website = [[GitHub]]}}</ref> Windows 10 Creators Update versions 1703 and 1709 include Shader Model 6.1 and WDDM 2.2/2.3.
 
{| class="wikitable" style="font-size: 90%"
Line 136:
Metacommands, variable shading rate, raytracing, mesh shaders, sampler feedback.
 
Other optional features defined by D3D_FEATURE structures.<ref>{{Cite web|url=https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_feature|title = D3D12_FEATURE - Win32 apps| date=14 February 2023 }}</ref>
 
| Nvidia [[GeForce 400 series|GeForce GTX 400]]/[[GeForce 500 series|500]] series ([[Fermi (microarchitecture)|Fermi]]), [[GeForce 600 series|GeForce GTX 600]]/[[GeForce 700 Seriesseries|700]]/Titan series ([[Kepler (microarchitecture)|Kepler]]), [[GeForce 700 series|GTX 745/750]] series ([[Maxwell (microarchitecture)|Maxwell, 1st gen]])
|-
| '''11_1'''
| Logical blend operations, target-independent rasterization, increased UAV slot count.
| [[Mali (GPU)|Mali-G]]71/72;<br/>
AMD [[Southern Islands (GPU family)|HD 7700-7900]]/[[Sea Islands (GPU family)|8500-8900]], [[AMD Radeon Rx 200 Seriesseries|Rx 240/250/265/270/280]], [[AMD Radeon Rx 300 Seriesseries|Rx 330/340/350/370]], [[AMD Radeon 400 series|R5/R7 400]] series ([[Graphics Core Next|GCN1]]); <br/>
[[Intel HD Graphics]] 4200-5200 (7.5 gen, [[Haswell (microarchitecture)|Haswell]]), 5300-6300 (8 gen, [[Broadwell (microarchitecture)|Broadwell]])
|-
Line 149:
|WDDM 2.0
| Resource Binding Tier 2, Tiled Resources Tier 2 (Texture2D), Typed UAV Loads (additional formats)
| rowspan="2"| AMD [[Southern Islands (GPU family)|HD 7790]]/[[Sea Islands (GPU family)|8770]], [[AMD Radeon Rx 200 Seriesseries|Rx 260/290]], [[AMD Radeon Rx 300 Seriesseries|Rx 360/390]], [[AMD Radeon 400 series|R7 455]] series, [[Xbox One]] ([[Graphics Core Next#1.1|GCN2]]), R9 285/380, Fury/Nano series (GCN3), [[AMD Radeon 400 series|RX 460-480]], [[AMD Radeon 500 series|RX 500 series]] (GCN4)
|-
|rowspan="2"|WDDM 2.1
Line 170:
| '''CORE_1_0'''
|MCDM<ref name=Core_1.0/>
| Compute-only device: Resource Binding Tier 1 (with restrictions), Shader Model 6.0, DXIL, Compute Shaders only<ref name=Core_1.0>{{Cite web|url=https://docs.microsoft.com/en-us/windows/win32/direct3d12/core-feature-levels|title = The Direct3D 12 Core 1.0 Feature Level - Win32 apps| date=2 July 2020 }}</ref>
| Shader Model 6.0-6.7, metacommands.
| Intel NPU ([[Meteor Lake]],<ref>{{cite web | url=https://www.techpowerup.com/review/intel-meteor-lake-technical-deep-dive/4.html | title=Intel Meteor Lake Technical Deep Dive | date=19 September 2023 }}</ref><ref>{{cite web | url=https://www.anandtech.com/show/20046/intel-unveils-meteor-lake-architecture-intel-4-heralds-the-disaggregated-future-of-mobile-cpus/4 | title=Intel Unveils Meteor Lake Architecture: Intel 4 Heralds the Disaggregated Future of Mobile CPUs }}</ref> [[Arrow_Lake_(microprocessor)|Arrow Lake]])
|?
|}
 
Direct3D 12 introduces a revamped resource binding model, allowing explicit control of memory. Abstract resource "view" objects<ref>{{cite web | url=https://msdn.microsoft.com/en-us/library/windows/desktop/ff476900(v=vs.85).aspx | title=Introduction to a Resource in Direct3D 11 - Win32 apps | date=6 October 2021 }}</ref> which allowed random read/write access are now represented by resource descriptors, which are allocated using memory heaps and tables.<ref name="engel">{{cite web |url=https://software.intel.com/en-us/articles/introduction-to-resource-binding-in-microsoft-directx-12 |author=[[Wolfgang Engel]] |title=Introduction to Resource Binding in Microsoft DirectX 12}}</ref> This model is supported on majority of existing desktop GPU architectures and requires WDDM 2.0 drivers. Supported hardware is divided into three Resource Binding tiers, which define maximum numbers of descriptors that can be used for CBV (constant buffer view), SRV (shader resource view) and UAV (unordered access view); CBVs and SRVs per pipeline stage; UAVs for all pipeline stages; samplers per stage; and the number of SRV descriptor tables. Tier 3 hardware such as AMD GCN and, Intel Skylake has no limitations, allowing fully bindless resources only limited by the size of the descriptor heap, while Tier 1 (Nvidia Fermi, Intel Haswell/Broadwell) and Tier 2 (Nvidia Kepler) hardware impose some limits on the number of descriptors ("views") that can be used simultaneously. Additionally, buffers and textures can mixed together in the same resource heap only on hardware supporting Resource Heap Tier 2, while Tier 1 hardware requires separate memory heaps for buffers, textures, and render-target and depth stencil surfaces. Resource binding tier 1 and resource heap tier 1 are required for all supporting hardware.
 
{{anchor|binding}}
Line 223:
| Tiled Texture3D ||colspan="2" {{no}} ||colspan="2" {{yes}}
|-
| Texture tile data-inheritance<ref>{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/memory-aliasing-and-data-inheritance#data-inheritance|title = Memory Aliasing and Data Inheritance - Win32 apps| date=30 December 2021 }}</ref> ||colspan="3" {{no}} || {{yes}}
|}
 
Line 279:
! scope="col" | [[Intel Graphics Technology#Gen11 architecture|Gen11]]<BR/>[[Ice Lake (microprocessor)|(Ice Lake)]]
! scope="col" | [[Intel Graphics Technology#Xe-LP architecture (Gen12)|Alchemist / Xe-LP / Gen12]]<BR/>[[Tiger Lake (microarchitecture)|(TGL]] / [[Rocket Lake|RKL]] / [[Alder Lake|ADL]] / [[Raptor Lake (microarchitecture)|RPL)]]
! scope="col" | [[Intel Arc|Alchemist / Xe-HPG / Gen12.7]])<BR/>([[Intel Arc|(Intel Arc Graphics)]])
|-
! colspan="2" scope="row" | Maximum feature level
Line 296:
 
|-
! scope="row" | Tiled resources<ref name="tiled">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/api/D3D12/ne-d3d12-d3d12_tiled_resources_tier|title = D3D12_TILED_RESOURCES_TIER (D3d12.h) - Win32 apps| date=31 January 2022 }}</ref><ref name="volumetiled">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/volume-tiled-resources|title = Volume tiled resources (Direct3D 12) - Win32 apps| date=30 December 2021 }}</ref>
!4
|{{yes|Tier 3}}
Line 304:
 
|-
! colspan="2" scope="row" | Typed UAV loads for additional formats<ref name="typedUAV">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/typed-unordered-access-view-loads|title=Typed unordered access view (UAV) loads - Win32 apps|date=30 December 2021 }}</ref>
|{{yes}}
|colspan="4" {{yes}}
Line 311:
 
|-
! scope="row" | Conservative rasterization<ref name="CR">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/conservative-rasterization|title = Direct3D 12 Conservative Rasterization - Win32 apps| date=30 December 2021 }}</ref>
!3
|{{yes|Tier 3}}
Line 319:
 
|-
! colspan="2" scope="row" | Rasterizer-ordered views<ref name="ROV">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/rasterizer-order-views|title = Rasterizer-ordered views - Win32 apps| date=30 December 2021 }}</ref>
|{{yes}}
|colspan="2" {{no}} ||colspan="2" {{yes}}
Line 326:
 
|-
! colspan="2" scope="row" | Stencil reference value from Pixel Shader<ref name="stencil">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/shader-specified-stencil-reference-value|title = Shader Specified Stencil Reference Value (Direct3D 12 Graphics) - Win32 apps| date=30 December 2021 }}</ref>
|{{yes}}
|colspan="4" {{yes}}
Line 333:
 
|-
! colspan="2" scope="row" | UAV slots for all stages<ref name="resource">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/descriptor-heaps|title = Descriptor Heaps - Win32 apps| date=30 December 2021 }}</ref>
|{{yes|full heap}}
|colspan="4" {{yes|full heap}}
Line 340:
 
|-
! colspan="2" scope="row" | Logical blend operations<ref name="blend">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-1-features#use-logical-operations-in-a-render-target|title = Direct3D 11.1 Features - Win32 apps| date=19 August 2020 }}</ref><ref name="capability">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d12/capability-querying|title = Capability querying - Win32 apps| date=30 December 2021 }}</ref>
|{{yes}}
|colspan="4" {{yes}}
Line 347:
 
|-
! colspan="2" scope="row" | Double precision (64-bit) floating point operations<ref name="doubles">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_doubles|title = D3D11_FEATURE_DATA_DOUBLES (D3d11.h) - Win32 apps| date=22 February 2024 }}</ref><ref name="doubleprecision_11.1">{{Cite web|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/display/directx-feature-improvements-in-windows-8#dblshader|title=DirectX feature improvements in Windows 8 - Windows drivers|date=15 December 2021 }}</ref>
|{{yes}}
|colspan="4" {{yes}}
Line 354:
|colspan="1" {{no}}
|-
! colspan="2" scope="row" | Minimum floating point precision<ref name="capability" /><ref name="minprecision">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-1-features#use-hlsl-minimum-precision|title = Direct3D 11.1 Features - Win32 apps| date=19 August 2020 }}</ref>
| {{yes|10 or 16 bit}}
| colspan="2" {{partial|32 bit}} || colspan="2" {{good|16 bit}}
Line 370:
 
|-
! colspan="2" scope="row" | Per-resource virtual addressing<ref name="virtualaddr">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_feature_data_gpu_virtual_address_support|title=D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (D3d12.h) - Win32 apps|date=2 April 2021 }}</ref>
|{{good|32 bit}}
|colspan="2" {{yes|40 bit}} || colspan="2" {{yes|44 bit}} || {{yes|47 bit}}
|colspan="8" {{yes|40 bit}}
|colspan="2" {{good|31 bit}} || colspan="2" {{yes|38 bit}} || colspan="2" {{yes|44 bit}}
Line 379:
! colspan="2" scope="row" | Per-process virtual addressing<ref name="virtualaddr" />
|{{yes|47 bit}}
|colspan="2" {{yes|40 bit}} || colspan="2" {{yes|44 bit}} || {{yes|48 bit}}
|colspan="8" {{yes|40 bit}}
|{{partial|31 bit}} || colspan="5" {{yes|48 bit}}
 
|-
! scope="row" | View instancing<ref name="viewinstancing">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ne-d3d12-d3d12_view_instancing_tier|title = D3D12_VIEW_INSTANCING_TIER (D3d12.h) - Win32 apps| date=31 January 2022 }}</ref><ref name="viewinstancingdesc">{{Cite web|url=https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_view_instancing_desc|title = D3D12_VIEW_INSTANCING_DESC (D3d12.h) - Win32 apps| date=2 April 2021 }}</ref>
!3
|{{partial|Tier 1}}
Line 394:
! scope="row" | Raytracing<ref>{{Cite web|url=https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_raytracing_tier|title=D3D12_RAYTRACING_TIER (d3d12.h)|last=windows-sdk-content|website=docs.microsoft.com|language=en-us|access-date=2019-09-08}}</ref>
!2
|{{noyes|Tier 1.1}}
|colspan="3" {{no}} || {{yes|Tier 1.1}}
|colspan="4" {{no}} || colspan="3" {{good|Tier 1}} || colspan="1" {{yes|Tier 1.1}}
Line 418:
! scope="row" | [[Texture mapping unit|Sampler]] feedback<ref>{{Cite web|url=https://microsoft.github.io/DirectX-Specs/d3d/SamplerFeedback.html|title=Sampler Feedback}}</ref>
!2
|{{noyes|Tier 1}}
|colspan="3" {{no}} || {{yes|Tier 1}}
|colspan="6" {{no}} || colspan="2" {{good|Tier 0.9}}