DirectX Versions
This is a description of what each version of DirectX is capable of, for reference when creating fallback materials for older GPUs with lower DirectX feature levels. Under each heading are features not available in previous versions of DirectX.
To test lower-quality DirectX levels on a more advanced graphics card, use the mat_dxlevel cvar. Set it to 60, 70, 80, 81, 90, 95 or 98 () to set the corresponding DirectX version; it is not possible to run at a higher level than the graphics hardware is capable of.
![Icon-Important.png](/w/images/thumb/5/5c/Icon-Important.png/10px-Icon-Important.png)
mat_dxlevel
, does not change the Direct3D renderer (incorrectly refers to DirectX renderer) to render the game on Direct3D 8 or older. Source will always run on Direct3D 9 (or Direct3D 11/12 on some third-party branches). However, the materials, effects and shaders will be changed or disabled for compatibility with older GPUs that predates Direct3D 9, or to allow modern tools such as Nvidia's RTX Remix (also used in Portal with RTX and upcoming Half-Life 2 RTX), which currently only support DX9 or earlier (with compatibility level 8.x or lower, or with fixed function pipelines), to work properly.![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Left 4 Dead](/w/images/thumb/a/ad/Icon-L4D.png/16px-Icon-L4D.png)
![Source 2013](/w/images/thumb/1/11/Src13-16px.png/32px-Src13-16px.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Icon-Bug.png](/w/images/thumb/b/b4/Icon-Bug.png/10px-Icon-Bug.png)
To fix this, run the game once with
-dxlevel 95
command line option, change your video settings, then save by clicking OK (or Apply then OK), then close the game, open it again, it should show as Software DirectX level: DirectX 9.0+ on the video options.![Icon-Bug.png](/w/images/thumb/b/b4/Icon-Bug.png/10px-Icon-Bug.png)
func_illusionary
used for fake volumetric lighting, or the game looks more desaturated compared to DirectX 8 mode.[1][2] See #Train StationDirectX Capabilities
Contents
- 1 DirectX Capabilities
- 2 Sample screenshots
- 3 References
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
Starting with Left 4 Dead engine branch and later Source games, all DirectX 8 versions, are no longer supported. Cards that doesn't support DirectX 9.0c are also dropped.
In Portal with RTX and in other RTX Remix Source games, the game will run on DirectX 7 in order to make RTX Remix work. Also, when using Vulkan renderer (DXVK), using dxlevel
lower than 90, such as 80/81 for DirectX 8 will cause the game to not render properly.
DirectX 6 compatibility level
Introduced in August 1998, referred to as "DirectX 6.0" and "dxlevel 60
". DirectX 6-class graphics cards include the Nvidia TNT2 and Matrox G400.
DirectX 7 compatibility level
Introduced in September 1999, referred to as "DirectX 7.0" and "dxlevel 70
". DirectX 7-class graphics cards include the Nvidia GeForce 256, 2, 2MX and 4MX cards and the ATI Radeon 7xxx series.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Portal with RTX](/w/images/thumb/0/09/Portalrtx_icon.png/32px-Portalrtx_icon.png)
![Half-Life 2 RTX](/w/images/thumb/f/f5/Icon-HL2_RTX.png/32px-Icon-HL2_RTX.png)
Features
- Blob shadows
- Displacement map texture blending
DirectX 8 compatibility level
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
A bug report can be found here: Issue 540 on GitHub
Introduced in November 2000, referred to as "DirectX 8.0" and "dxlevel 80
". DirectX 8-class graphics cards include the Nvidia GeForce4 Ti and most of the GeForce FX 5x00 series (while technically DirectX 9 cards, the latter suffer from major performance problems with the DX9 rendering path).
Features
- Refractions with the use of a du/dv map
- Dynamic shadows
- Directional lighting on world brushes using normal maps
- Cube-mapped specular effects
- Cube-mapped water
- Low-quality reflective water (used sparingly)
DirectX 8.1 compatibility level
Referred to as "DirectX 8.1" and "dxlevel 81
". DirectX 8.1-class graphics cards include the Nvidia GeForce FX 5800 and 5900 and the ATI Radeon 8500/9100 and 9000/9200 cards.
Features
- Soft edge dynamic shadows
DirectX 9 (Shader Model 2)
Introduced in December 2002, referred to as "DirectX 9.0" and "dxlevel 90
".
DirectX 9-class graphics cards include the Nvidia GeForce 6600 and 6800 series and the ATI Radeon 9500/9600, 9700/9800, X300/X600 and X800 cards.
Features
- Refractions with the use of a bump-map
- High-quality reflective water (used frequently)
- Softer edge dynamic shadows
- This means that the "High" shadows detail option will be visible and can be selected (except on Intel GPUs by default).
- Normal-mapped lighting on models
- Improved-quality specular effects
Since Source 2006:
- High dynamic range rendering (disabled by default)
- Phong shading
- Color Correction
Since Source 2007:
- Motion Blur
"dxlevel 92
"
Equivalent to dxlevel 95
, but use the translator ToGL to convert the DirectX calls to OpenGL calls. Only on macOS and
Linux, and other platforms/operating systems that do not support Direct3D and DirectX.
DirectX 9.0c - Shader Model 3
Referred to as "DirectX 9.0+" and "dxlevel 95". Last version supported for all version of Windows 98/98SE/ME/2000 and XP, aswell as last version of DirectX/Direct3D 9.
Supported games
Direct3D 9.0c was first introduced with Half-Life 2: Lost Coast, Day of Defeat: Source and later Source 2006. Left 4 Dead engine branch games and above requires DirectX 9.0c in order to run.
Features
- Lightwarp support
- High dynamic range rendering (enabled by default)
DX9.0c on Xbox 360
Referred to as "dxlevel 98
". Made specifically for .
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
dxlevel 95
after changing video settings). Only works for Xbox 360, where it is required (and enabled by default).Features
- GPU Particle Physics
DX9Ex / Windows Aero DirectX extensions
DX9Ex may improve/reduce performance on certain hardware, depending on graphics driver. Works the same as "dxlevel 95". (only in
)
In Source 2013, DX9Ex can be disabled/enabled by toggling the "Windows Aero extensions" in Video Options > Advanced, or through mat_disable_d3d9ex
console command.
In Counter-Strike: Global Offensive, DX9Ex can be disabled using the -disable_d3d9ex
command line.
DirectX 10
Introduced in November 2006 with the release of Windows Vista, and only supports the said operating systems, DX10 is not supported on Windows XP. Referred to as "
dxlevel 100
".
DirectX 10-class graphics cards include the Nvidia GeForce 8 series, Intel GMA X3100, X3500, GMA 4500, Intel HD Graphics (2010) and the ATI Radeon HD 2000/3000 series cards.
Features
- Shader Model 4.0
Supported games
There are currently no Source engine branch which actually render in Direct3D 10 (aka DX10 mode) despite being mentioned in this GDC 2008 PDF which shows some differences. Additionally, Valve said that DirectX 9 is still sufficient, therefore no Source engine are rendered using Direct3D 10.[4]
All of the DX10 features shown in that PDF file were already available in "dxlevel 95
" (DirectX 9 SM 3.0) and Xbox 360 (which uses "dxlevel 98
").
D3D9 renderer with DX10 features
In Source Filmmaker by default, aswell as the original release of
Dota 2,[3] both games runs on Direct3D 9 with some DX10 features.
DirectX 11
Introduced in 2009, DirectX 11 requires Windows Vista (with SP2 & Platform Update installed) and later, and some later DX11 versions require Windows 7, 8 or later. Referred to as "dxlevel 110
".
DirectX 11-class graphics cards include the Nvidia GeForce 400 (except GeForce 405) series, Intel HD Graphics 2500, HD 4000 (2012), and the ATI Radeon HD 5000 series.
Features
- Shader Model 5.0
- Multithreaded rendering
Supported games
Source 2 natively supports and runs on this version of DirectX by default, but previous versions are also available for older hardware that only support DX9 (except in Dota 2 since 2021 update). Prior to Source 2 (and other Source third-party branch) releases, Titanfall engine branch was the only Source branch that supported DX11.
DirectX 12
Introduced in 2015, later backported to Windows 7 in 2019. DX12 are not supported on Windows 8 or 8.1. Referred to as "dxlevel 120
".
DirectX 12-class graphics cards include the Nvidia GeForce 900 series, Intel HD Graphics (from 2015-2016), and the AMD Radeon 200 (GCN 2.0), Radeon 300 series cards.
Supported games
Apex Legends - using
-anticheat_settings=SettingsDX12.json
command line argument- All games using RTX Remix (including
Portal with RTX) - converts D3D9 to Vulkan then converted again to D3D12.[5]
Features
![Source](/w/images/thumb/1/10/Icon-Source.png/16px-Icon-Source.png)
![Source 2](/w/images/thumb/5/52/Icon-Source_2.png/16px-Icon-Source_2.png)
- Low-level rendering API, similar to Vulkan
- Shader Model 5.1
- Raytracing (since Windows October 2018 Update, requires RT-capable GPUs)
Note:This ray tracing feature is also available in Portal RTX, but it's uses a different renderer (Vulkan) with DirectX 8 feature level.
- Dynamic refresh rate (since Windows 11)
Sample screenshots
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Half-Life 2](/w/images/thumb/6/60/Hl2_icon.png/18px-Hl2_icon.png)
Additionally, all screenshots appeared to be based off the default settings (with the exception of Train Station screenshots with maximum settings and MSAA 8X), with no anti-aliasing and little to no anisotropic filtering (or bilinear/trilinear texture filtering).
On some hardware running newer version of Half-Life 2, the game may run at 4X MSAA and has 8X anisotropic filtering by default, unlike previous versions (Old Engine).
![Blank image.png](/w/images/b/ba/Blank_image.png)
Canals
These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water.
Old Engine | New Engine (Source 2013) | |
---|---|---|
DirectX 6.0 | ![]() |
Unsupported since Source 2006 |
DirectX 7.0 | ![]() |
Unsupported since Source 2007 |
DirectX 8.0 | ![]() |
![]() |
DirectX 8.1 | ![]() |
![]() |
DirectX 9.0+ | ![]() |
![]() |
Dropship
These screenshots show shadow quality at different rendering levels, ranging from none to soft, dynamic shadows.
Old Engine | New Engine (Source 2013) | |
---|---|---|
DirectX 6.0 | ![]() |
Unsupported since Source 2006 |
DirectX 7.0 | ![]() |
Unsupported since Source 2007 |
DirectX 8.0 | ![]() |
![]() |
DirectX 8.1 | ![]() |
![]() |
DirectX 9.0+ | ![]() |
![]() |
Storm drain
These screenshots show directional lightmaps and cube-mapped specular effects.
Old Engine | New Engine (Source 2013) | |
---|---|---|
DirectX 6.0 | ![]() |
Unsupported since Source 2006 |
DirectX 7.0 | ![]() |
Unsupported since Source 2007 |
DirectX 8.0 | ![]() |
![]() |
DirectX 8.1 | ![]() |
![]() |
DirectX 9.0+ | ![]() |
![]() |
Zombie
These screenshots demonstrate the use of normal-mapping on models. The final shot has full, normal-mapped lighting.
Old Engine | New Engine (Source 2013) | |
---|---|---|
DirectX 6.0 | ![]() |
Unsupported since Source 2007 |
DirectX 7.0 | ![]() |
Unsupported since Source 2007 |
DirectX 8.0 | ![]() |
![]() |
DirectX 8.1 | ![]() |
![]() |
DirectX 9.0+ | ![]() |
![]() |
Train Station (fake volumetric lighting)
These screenshots shows the differences between DirectX 8 and 9 on the fake volumetric lighting. The volumetric lighting was less visible with some effects missing on DX9, compared to DX8,[1][2] likely because of a bug introduced since Source 2007/2009.[confirm]
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Half-Life 2](/w/images/thumb/6/60/Hl2_icon.png/18px-Hl2_icon.png)
![Source 2013](/w/images/thumb/1/11/Src13-16px.png/32px-Src13-16px.png)
![Half-Life 2](/w/images/thumb/6/60/Hl2_icon.png/18px-Hl2_icon.png)
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |
DirectX 9.0+ (after reloading the map) | ![]() |
Portals
These screenshots compares the texture and particles quality on the portals.
DirectX 7.0 and earlier | Unsupported and non-functional. Screenshot identical to DirectX 8.0. |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |
References
References | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|