Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Direct3D
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Direct3D 11== {{See also|Windows Advanced Rasterization Platform}} '''Direct3D 11'''<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476342(v=vs.85).aspx#Full|title=Direct3D 11 Features|publisher=MSDN|access-date=30 September 2014}}</ref> was released as part of Windows 7. It was presented at Gamefest 2008 on July 22, 2008 and demonstrated at the [[Nvision]] 08 technical conference on August 26, 2008.<ref name="gamefest2008">{{cite web | url = http://www.microsoftgamefest.com/presentations/2008.htm | title = Gamefest 2008 Presentations | publisher = Microsoft | url-status = dead | archive-url = https://web.archive.org/web/20131113193604/http://www.microsoftgamefest.com/presentations/2008.htm | archive-date = 2013-11-13 }}</ref><ref name="nvision08">{{cite web | url = http://www.nvidia.com/content/nvision2008/tech_presentations.html | access-date = 2011-09-16 | title = Nvision 08 Tech Presentations|publisher=Nvidia}}</ref> The Direct3D 11 Technical Preview has been included in November 2008 release of DirectX SDK.<ref name=Nov2008SDK>{{cite web|url=http://www.microsoft.com/download/en/details.aspx?id=4064 |title=DirectX Software Development Kit, November 2008|publisher=Microsoft|date=2008-11-07}}</ref> AMD previewed working DirectX11 hardware at Computex on June 3, 2009, running some DirectX 11 SDK samples.<ref name="computex2009">{{cite web | url = https://www.engadget.com/2009/06/03/amd-shows-off-worlds-first-directx-11-gpu/| date=2009-06-03 |title = AMD shows off world's first DirectX 11 GPU|publisher=Engadget}}</ref> The Direct3D 11 runtime is able to run on Direct3D 9 and 10.x-class hardware and [[Device Driver Interface|drivers]] using the concept of [[#Feature levels|"feature levels"]], expanding on the functionality first introduced in Direct3D 10.1 runtime.<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><ref name="D3D11_downlevel">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476872|title=Direct3D 11 on Downlevel Hardware|access-date=2012-11-18 |publisher=MSDN}}</ref> Feature levels allow developers to unify the rendering pipeline under Direct3D 11 API and make use of API improvements such as better resource management and multithreading even on entry-level cards, though advanced features such as new shader models and rendering stages will only be exposed on up-level hardware.<ref name="GF08_D3D11downlevel"/><ref name="D3D11DDI">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/hardware/ff569862 |title=Windows Driver Kit β Supporting Direct3D 11|publisher=MSDN|access-date=2009-06-13}}</ref> There are three "10 Level 9" profiles which encapsulate various capabilities of popular DirectX 9.0a cards, and Direct3D 10, 10.1, and 11 each have a separate feature level; each upper level is a strict superset of a lower level.<ref name="FeatureLevels">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476876|title=Direct3D feature levels|publisher=MSDN|access-date=2012-07-02}}</ref> [[Tessellation (computer graphics)|Tessellation]] was earlier considered for Direct3D 10, but was later abandoned. GPUs such as [[Radeon R600]] feature a tessellation engine that can be used with Direct3D 9/10/10.1<ref name="dx9tessellation">{{cite web | url = http://null-ptr.blogspot.com/2008/07/using-ati-hardware-tesselation-in-dx9.html | date = 2008-07-14 | title = Using ATI hardware tessellation in DX9}}</ref><ref name="dx9-10-10.1tessellationSDK">{{cite web | url = http://developer.amd.com/gpu/radeon/Tessellation/Pages/default.aspx | title = AMD DX9 Tessellation SDK | url-status = dead | archive-url = https://web.archive.org/web/20101108055325/http://developer.amd.com/gpu/radeon/tessellation/pages/default.aspx | archive-date = 2010-11-08 }}</ref><ref name="dx9-10-10.1realtimetesselation">{{cite web | url = http://developer.amd.com/gpu_assets/Real-Time_Tessellation_on_GPU.pdf | title = Programming for Real-Time Tessellation on GPU | url-status = dead | archive-url = https://web.archive.org/web/20110727235724/http://developer.amd.com/gpu_assets/Real-Time_Tessellation_on_GPU.pdf | archive-date = 2011-07-27 }}</ref> and OpenGL,<ref name="ogltesselation">{{cite web | url = http://developer.amd.com/gpu/wgsdk/Pages/default.aspx | title = OpenGL Tessellation Samples | url-status = dead | archive-url = https://web.archive.org/web/20100409071830/http://developer.amd.com/GPU/WGSDK/Pages/default.aspx | archive-date = 2010-04-09 }}</ref> but it's not compatible with Direct3D 11 (according to Microsoft). Older graphics hardware such as Radeon 8xxx, GeForce 3/4 had support for another form of tesselation (RT patches, N patches) but those technologies never saw substantial use. As such, their support was dropped from newer hardware. Microsoft has also hinted at other features such as [[order independent transparency]], which was never exposed by the Direct3D API but supported almost transparently by early Direct3D hardware such as Videologic's [[PowerVR]] line of chips. ===Direct3D 11.0=== {{Redirect|DX11|the digital synthesizer|Yamaha DX11}} '''Direct3D 11.0''' features include: Support for Shader Model 5.0, Dynamic shader linking, addressable resources, additional resource types,<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476335(v=vs.85).aspx#Read_Write|title=New Resource Types|publisher=MSDN|access-date=30 September 2014}}</ref> subroutines, geometry instancing, coverage as pixel shader input, programmable interpolation of inputs, new texture compression formats (1 new LDR format and 1 new HDR format), texture clamps to limit WDDM preload, require 8-bits of subtexel and sub-mip precision on texture filtering, 16K texture limits, Gather4(support for multi-component textures, support for programmable offsets), DrawIndirect, conservative oDepth, Depth Bias,<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/cc308048(v=vs.85).aspx|title=Depth Bias|publisher=MSDN|access-date=30 September 2014}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/hh404489(v=vs.85).aspx|title=D3D11_RASTERIZER_DESC1 structure|publisher=MSDN|access-date=30 September 2014}}</ref> addressable stream output, per-resource mipmap clamping, floating-point viewports, shader conversion instructions, improved multithreading. * Shader Model 5<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff471356(v=vs.85).aspx|title=Shader Model 5|publisher=MSDN|access-date=30 September 2014}}</ref> * Support for '''[[Tessellation (computer graphics)|Tessellation]]'''<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476340(v=vs.85).aspx|title=Tessellation Overview|date=September 16, 2020 |publisher=Microsoft}}</ref> and Tessellation Shaders<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476340(v=vs.85).aspx|title=Tessellation Overview|publisher=MSDN|access-date=30 September 2014}}</ref> to increase at runtime the number of visible polygons from a low detail polygonal model * '''[[Thread (computer science)|Multithreaded]] rendering''' β to render to the same Direct3D device object from different threads for multi core CPUs * '''[[GPGPU|Compute shaders]]''' β which exposes the shader pipeline for non-graphical tasks such as [[stream processing]] and physics acceleration, similar in spirit to what [[OpenCL]], Nvidia [[CUDA]], [[ATI Stream]], and [[High Level Shader Language|HLSL]] [[Shader]] Model 5 achieve among others.<ref name="gamefest2008"/><ref name="nvision08"/> * Mandatory support for 4x MSAA for all render targets and 8x MSAA for all render target formats except R32G32B32A32 formats.<ref name="msdn.microsoft.com"/> Other notable features are the addition of two new texture compression algorithms for more efficient packing of high quality and HDR/alpha textures and an increased [[texture cache]]. First seen in the [[Release Candidate]] version, [[Windows 7]] integrates the first released Direct3D 11 support. The [[Windows Vista#Platform Update|Platform Update]] for [[Windows Vista]] includes full-featured Direct3D 11 runtime and DXGI 1.1 update, as well as other related components from Windows 7 like [[Windows Advanced Rasterization Platform|WARP]], [[Direct2D]], [[DirectWrite]], and [[Windows Imaging Component|WIC]].<ref>{{cite web|url=http://support.microsoft.com/kb/971644 |title=Description of the Platform Update for Windows Server 2008 and the Platform Update for Windows Vista |publisher=Support.microsoft.com |date=2012-10-02 |access-date=2013-06-15}}</ref><ref>{{cite web |url=http://blogs.msdn.com/directx/archive/2009/09/10/windows-7-transition-pack-for-windows-vista.aspx |title=The Platform Update for Windows Vista β DirectX Developer Blog β Site Home β MSDN Blogs |publisher=Blogs.msdn.com |date=2009-09-10 |access-date=2013-06-15 |url-status=dead |archive-url=https://web.archive.org/web/20140408062133/http://blogs.msdn.com/b/directx/archive/2009/09/10/windows-7-transition-pack-for-windows-vista.aspx |archive-date=2014-04-08 }}</ref> ===Direct3D 11.1=== '''Direct3D 11.1'''<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx|title=Direct3D 11.1 Features|publisher=MSDN|access-date=30 September 2014}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/hh404457(v=vs.85).aspx|title=D3D11_FEATURE_DATA_D3D11_OPTIONS structure|publisher=MSDN|access-date=30 September 2014}}</ref> is an update to the API that ships with [[Windows 8]].<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/hardware/dn653328(v=vs.85).aspx#tir|title=DirectX feature improvements in Windows 8|publisher=MSDN|access-date=30 September 2014}}</ref><ref name="D3D11.1_Features">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562 |title=Direct3D 11.1 Features|access-date=2009-09-13 |publisher=MSDN}}</ref> The Direct3D runtime in Windows 8 features [[DirectX Graphics Infrastructure|DXGI]] 1.2<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/hh404490(v=vs.85).aspx|title=DXGI 1.2 Improvements|publisher=MSDN|access-date=30 September 2014}}</ref> and requires new [[Windows Display Driver Model|WDDM 1.2]]<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/hardware/dn653373(v=vs.85).aspx|title=WDDM 1.2 features|publisher=MSDN|access-date=30 September 2014}}</ref> device drivers.<ref name=wddm_w8>{{cite web| url=http://msdn.microsoft.com/en-us/library/windows/hardware/br259098 |title=Windows Display Driver Model Enhancements in Windows Developer Preview|date=2011-09-13| publisher=MSDN}}</ref> Preliminary version of the Windows SDK for Windows 8 Developer Preview was released on September 13, 2011. The new API features shader [[Tracing (software)|tracing]] and HLSL compiler enhancements, support for minimum precision HLSL scalar data types,<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb509646(v=vs.85).aspx|title=Scalar Types|access-date=2 October 2014}}</ref> UAVs (Unordered Access Views) at every pipeline stage, target-independent rasterization (TIR), option to map SRVs of dynamic buffers with NO_OVERWRITE, shader processing of video resources, option to use logical operations in a render target, option to bind a subrange of a constant buffer to a shader and retrieve it, option to create larger constant buffers than a shader can access, option to discard resources and resource views, option to change subresources with new copy options, option to force the sample count to create a rasterizer state, option to clear all or part of a resource view, option to use Direct3D in Session 0 processes, option to specify user clip planes in HLSL on feature level 9 and higher, support for [[shadow buffer]] on feature level 9, support for video playback, extended support for shared Texture2D resources, and on-the-fly swapping between Direct3D 10 and 11 contexts and feature levels. Direct3D 11.1 includes new feature level 11_1, which brings minor updates to the shader language, such as larger constant buffers and optional double-precision instructions, as well as improved blending modes and mandatory support for 16-bit color formats to improve the performance of entry-level GPUs such as [[Intel HD Graphics]].<ref name=wddm_w8/><ref name="intelDX11.1">{{cite web| url=http://www.anandtech.com/show/4585/intels-haswell-igp-to-feature-directx-111-increased-professional-application-support |title=Intel's Haswell IGP to Feature DirectX 11.1, Increased Professional Application Support|date=2011-08-05|publisher=AnandTech}}</ref> WARP has been updated to support feature level 11_1. The [[Windows 7#Platform Update|Platform Update]] for [[Windows 7]] includes a limited set of features from Direct3D 11.1, though components that depend on WDDM 1.2 β such as [[#Feature levels|feature level]] 11_1 and its related APIs, or [[quad buffering]] for [[stereoscopic]] rendering β are not present.<ref name=W7PU_MSDN>{{cite web | url = http://msdn.microsoft.com/en-us/library/jj863687.aspx| title = DirectX Graphics β Platform Update for Windows 7 |date=2012-11-14| publisher=MSDN}}</ref><ref name=D3D11.1W7>{{cite web | url = http://blogs.msdn.com/b/chuckw/archive/2012/11/14/directx-11-1-and-windows-7.aspx| title = DirectX 11.1 and Windows 7 | work = Games for Windows and the DirectX SDK Blog | date = November 13, 2012}}</ref> ===Direct3D 11.2=== '''Direct3D 11.2'''<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx|title=DirectX programming|publisher=MSDN|access-date=30 September 2014|archive-url=https://web.archive.org/web/20131031094305/http://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx|archive-date=31 October 2013|url-status=dead}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn312084(v=vs.85).aspx|title=Direct3D 11.2 Features|publisher=MSDN|access-date=30 September 2014}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn280377(v=vs.85).aspx|title=D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure|publisher=MSDN|access-date=30 September 2014}}</ref> was shipped with [[Windows 8.1]].<ref name=DXSDK8.1>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/apps/bg182880|work=MSDN Library|title=Windows 8.1 Feature Guide β DirectX programming|date=June 26, 2013|access-date=June 27, 2013|archive-url=https://web.archive.org/web/20150827064512/https://msdn.microsoft.com/en-us/library/windows/apps/bg182880|archive-date=August 27, 2015|url-status=dead}}</ref><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> New hardware features require DXGI 1.3<ref name=MSDN_DXGI1.3>{{cite web|url=http://msdn.microsoft.com/en-us/library/dn280344 |title=DXGI 1.3 Improvements|work=MSDN Library|date=June 26, 2013}}</ref> with WDDM 1.3<ref name=wddm1.3>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/hardware/dn265512|title=What's new for Windows 8.1 Preview display drivers (WDDM 1.3)|publisher=MSDN|access-date=30 September 2014}}</ref> drivers and include runtime shader modification and linking, Function linking graph(FLG), inbox [[HLSL]] compiler, option to annotate graphics commands.<ref>{{Cite web |url=https://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx |title=Content Moved (Windows) |access-date=2015-03-06 |archive-url=https://web.archive.org/web/20160304115537/https://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx |archive-date=2016-03-04 |url-status=dead }}</ref> Feature levels 11_0 and 11_1 introduce optional support for tiled resources with shader level of detail clamp (Tier2).<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn280435(v=vs.85).aspx|title=D3D11_TILED_RESOURCES_TIER enumeration|publisher=MSDN|access-date=30 September 2014}}</ref> The latter feature effectively provides control over the hardware [[page table]]s present in many current GPUs.<ref name="build2013_D3Dtile">{{cite web|url = http://channel9.msdn.com/Events/Build/2013/4-063|title = Massive Virtual Textures for Games: Direct3D Tiled Resources|work = Channel9 β [[Build (developer conference)|BUILD]] 2013|date = June 26, 2013|author = Charles Hollemeersch, Matt Sandy}}</ref> [[Windows Advanced Rasterization Platform|WARP]] was updated to fully support the new features.<ref name="DXSDK8.1" /><ref name="MDSN_D3D11.2features">{{cite web|url=http://msdn.microsoft.com/en-us/library/dn312084|title=Direct3D 11.2 Features|work=MSDN Library|date=June 26, 2013}}</ref> There is no feature level 11_2 however; the new features are dispersed across existing feature levels. Those that are hardware-dependent can be checked individually via <code>CheckFeatureSupport</code>.<ref name=D3D11.2W8.1/><ref>{{cite web|url=http://blogs.msdn.com/b/chuckw/archive/2013/07/01/where-is-the-directx-sdk-2013-edition.aspx|title=MSDN Blogs|publisher=MSDN|access-date=30 September 2014}}</ref> Some of the "new" features in Direct3D 11.2 actually expose some old hardware features in a more granular way; for example <code>D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT</code> exposes partial support for instancing on feature level 9_1 and 9_2 hardware, otherwise fully supported from feature level 9_3 onward.<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn280414(v=vs.85).aspx|title=D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT structure|publisher=MSDN|access-date=30 September 2014}}</ref> '''Direct3D 11.X''' [[Direct3D 11.X]] is a superset of DirectX 11.2 running on the [[Xbox One]].<ref>{{cite web|url=http://blogs.windows.com/buildingapps/2013/10/14/raising-the-bar-with-direct3d/|title=Raising the Bar with Direct3D|work=Building Apps for Windows|date=October 14, 2013|access-date=30 September 2014}}</ref><ref>{{cite web|url=http://semiaccurate.com/2013/10/16/microsoft-rejects-mantle/|title=Microsoft officially turns down Mantle|date=October 16, 2013|access-date=30 September 2014}}</ref> It includes some features, such as draw bundles, that were later announced as part of DirectX 12.<ref name="channel9.msdn.com">Chris Tector's segment of http://channel9.msdn.com/Blogs/DirectX-Developer-Blog/DirectX-Evolving-Microsoft-s-Graphics-Platform (starting approx. 18 minute in.)</ref> ===Direct3D 11.3=== '''Direct3D 11.3'''<ref name="ReferenceD">{{cite web | url=https://msdn.microsoft.com/en-us/library/windows/desktop/dn903943(v=vs.85).aspx | title=Rendering (Direct3D 12 Graphics) - Win32 apps | date=December 30, 2021 }}</ref> shipped in July 2015 with Windows 10; it includes minor rendering features from Direct3D 12, while keeping the overall structure of the Direct3D 11.x API.<ref name="anandtech.com">{{cite web|url=http://www.anandtech.com/show/8544|title=AnandTech β Microsoft Details Direct3D 11.3 & 12 New Rendering Features|author=Ryan Smith|access-date=30 September 2014}}</ref><ref name="ReferenceA">{{cite web|url=http://www.anandtech.com/show/8526/nvidia-geforce-gtx-980-review/4|title=AnandTech β The NVIDIA GeForce GTX 980 Review: Maxwell Mark 2|author=Ryan Smith|access-date=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="redgamingtech.com">{{cite web|url=http://www.redgamingtech.com/directx-11-3-new-features-outline-tiled-resources-typed-uav-loads/|title=DirectX 11.3 New Features Outline β Tiled Resources β Typed UAV Loads|date=September 19, 2014|access-date=30 September 2014}}</ref> Direct3D 11.3 introduces optional Shader Specified Stencil Reference Value, Typed Unordered Access View Loads, Rasterizer Ordered Views (ROVs), optional Standard Swizzle, optional Default Texture Mapping, Conservative Rasterization (out of 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|access-date=22 February 2015}}</ref> optional [[Uniform memory access|Unified Memory Access (UMA)]] support, and additional Tiled Resources (tier 2) (Volume tiled resources).<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|access-date=28 March 2015}}</ref> ===Direct3D 11.4=== * '''Direct3D 11.4 version 1511''' β Initial Direct3D 11.4 was introduced with Windows 10 Threshold 2 update (version 1511) improving external graphics adapters support and DXGI 1.5.<ref name="Windows 10 SDK (November 2015)">{{Cite web|url=https://blogs.msdn.microsoft.com/chuckw/2015/11/30/windows-10-sdk-november-2015/|title = Games for Windows and the DirectX SDK blog}}</ref> * '''Direct3D 11.4 version 1607''' β Updated Direct3D 11.4 with Windows 10 Anniversary Update (version 1607) includes support WDDM 2.1 and for UHDTV HDR10 format ([[SMPTE ST 2084|ST 2084]]) and variable refresh rates support for UWP applications.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)