DirectX Versions

From Valve Developer Community
Jump to: navigation, search
English (en)日本語 (ja)русский (ru)
Edit

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 (Xbox 360) 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.pngImportant:Please note that this has nothing to do with changing the Direct3D renderer (D3D for short, incorrectly refers to DirectX renderer) to use 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 are only capable of rendering with feature level (FL) version 8.x or older, or to allow modern tools such as Nvidia Nvidia's RTX Remix (also used in Portal with RTX and upcoming Half-Life 2 RTX), which currently only support DX9 (D3D9) or earlier (with feature level 8.x or lower, or with fixed function pipelines), to work properly.
Note.pngNote:Source games and engine branches released by Valve since Left 4 Dead Left 4 Dead no longer support DirectX feature levels below DirectX 9. The only modern Source engine branch that still supports older DirectX versions (down to 8.0) is Source 2013 Source 2013. Some third-party Source engine branch or Source successor, Source 2, will only support DirectX 11 (including the Direct3D renderer) or later.
Note.pngNote:Modern systems always run with DX9 - DX11 or newer. Players running on DX8 level cards or older are now non-existent (according to Steam Survey, which only tracks systems that have Steam installed). Make alternate assets if you want, but almost no one will see them unless they launched the game with -dxlevel 80/81 manually or have a very old system, or by launching a game that utilizes Nvidia RTX Remix, which was only used in Portal with RTX Portal with RTX and Half-Life 2 RTX Half-Life 2 RTX, used to convert most of the DX8 level graphics, or by triggering a bug that Source 2013 Source 2013 commonly had which only occurs on modern systems.
Icon-Bug.pngBug:On some modern systems, when a Source 2013 Source 2013 game is run for the first time, the game may default to DirectX 8 materials.
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.

DirectX Capabilities

DirectX 6 / D3D9 with feature level 6

Warning.pngWarning:Most likely no longer works since Source 2006 Source 2006, trying to enable DX6 would sometimes reset it to DirectX 7.0/8.0 instead.

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 / D3D9 with feature level 7

Warning.pngWarning:Most likely no longer works since Source 2007 Source 2007/Source 2009 Source 2009, trying to enable DX7 would sometimes reset it to DirectX 8.0 instead, except in Portal with RTX Portal with RTX.

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.pngNote:RTX Remix games such as Portal with RTX Portal with RTX and the upcoming Half-Life 2 RTX Half-Life 2 RTX render the graphics in this DirectX level with D3D9 renderer, or possibly in DX8 level mode, by replacing the textures and lighting with raytraced ones, then rendering in Vulkan after converting D3D9 to Vulkan.

Features

  • Blob shadows
  • Displacement map texture blending

DirectX 8.0 / D3D9 with feature level 8.0

Warning.pngWarning:All versions of DirectX 8 are no longer supported in Left 4 Dead engine branch Left 4 Dead engine branch and above.

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).

Note.pngNote:Due to a bug in some Source 2013 Source 2013 games, when the game is launched for the first time, it may default to DirectX 8.0, even if you have a newer GPU.
A bug report can be found here: Issue 540 on GitHub
Note.pngNote:RTX Remix games such as Portal with RTX Portal with RTX and the upcoming Half-Life 2 RTX Half-Life 2 RTX render the graphics in this DirectX level with D3D9 renderer, or possibly in DX7 level mode, by replacing the textures and lighting with raytraced ones, then rendering in Vulkan after converting D3D9 to Vulkan.

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 / D3D9 with feature level 8.1

Referred to as "DirectX 8.1" and "dxlevel 81".

Included in Windows Windows XP or later, also available on Windows Windows 98/98SE/ME, 2000.

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 / D3D9 (Shader Model 2)

Introduced in December 2002, referred to as "DirectX 9.0" and "dxlevel 90".

Included in Windows XP SP2 or later, also available on Windows 98/98SE/ME, 2000.

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
  • Normal-mapped lighting on models
  • Improved-quality specular effects

Since Source 2006 Source 2006:

Since Source 2007 Source 2007:

  • Motion Blur
"dxlevel 92", "dxlevel 97"

These are equivalent to dxlevel 90 and dxlevel 95, but use a ToGL translator to convert the DirectX calls to OpenGL calls. Only on macOS macOS and Linux Linux, and other platforms/operating systems that does not support Direct3D and DirectX.

DirectX 9 / D3D9.0c - Shader Model 3 (in all games since Source 2006 Source 2006)

Referred to as "DirectX 9.0+" and "dxlevel 95". Last version supported for all version of Windows 98/98SE/ME/2000 and XP. Older Source 2 games like Dota 2 Dota 2 previously supported Direct3D 9, before it was dropped in 2021.

Features

DX9Ex

Referred to as "dxlevel 98". Made specifically for Xbox 360 Xbox 360.

Warning.pngWarning:Doesn't work or doesn't do anything much in PC builds of any game (which instead reset to dxlevel 95). Only works for Xbox 360, where it is required.
Confirm.pngConfirm: Counter-Strike: Global Offensive Counter-Strike: Global Offensive also use DX9Ex, but it is unknown which "dxlevel" this game is currently using. DX9Ex in CS:GO is not the same as the one used in Xbox 360 Source games.
Features

Differences of dxlevel 95 (DX9 SM 3.0) and 98 (DX9Ex) (according to "dxsupport.cfg" on Half-Life 2 Half-Life 2):

  • Default resolution from 1024x768 (dxlevel 95) to 640x480 (dxlevel 98).
  • "mat_forceaniso" "1" (dxlevel 95) > "8" (dxlevel 98)
  • "mat_forcehardwaresync" "1" (dxlevel 95) > "0" (dxlevel 98)
  • "r_waterforcereflectentities" "0" (dxlevel 95) > "1" (dxlevel 98)

DirectX 10 / D3D10 (DXGI)

Introduced in November 2006 with the release of Windows 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 Nvidia GeForce 8 series, Intel GMA X3100, X3500, GMA 4500, Intel HD Graphics (2010) and the Radeon ATI Radeon HD 2000/3000 series cards.

Games with Direct3D 10 (DX10) support

There are currently no Source engine branch which actually render in DirectX 10 mode (or use Direct3D 10) despite being mentioned in this GDC 2008 PDF which shows some differences.
All of the DX10 features shown in that PDF file already existed in "dxlevel 95" (DirectX 9 SM 3.0) and Xbox 360 Xbox 360 (which uses "dxlevel 98").

DX9/D3D9 renderer with DX10 feature level (only in Source Filmmaker SFM)

Note.pngNote:This version isn't enabled by default and doesn't do anything outside of Source FilmmakerSource Filmmaker, where it is required to run. This will NOT enable DirectX 10 at all unless the engine is modified.

DirectX 11 / D3D11 (DXGI)

For more DX11 features (which may or may not used in third-party Source Source or Source 2 Source 2 engine), see Wikipedia's DirectX 11 page.

Introduced in 2009 with the release of Windows Windows 7, 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 Nvidia GeForce 400 (except GeForce 405) series, Intel HD Graphics 2500, HD 4000 (2012), and the Radeon ATI Radeon HD 5000 series.

Source 2 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 Dota 2 since 2021 update). Prior to Source 2 (and other Source third-party branch) releases, Tf-16px.png Titanfall engine branch was the only Source Source branch that supported DX11.

Features

  • Shader Model 5.0
  • Multithreaded rendering

Games with Direct3D 11 (DX11) support

DirectX 12 / D3D12 (DXGI)

Introduced in 2015 with the release of Windows Windows 10, later backported in 2019 to Windows Windows 7. DX12 and D3D12 are not supported on Windows 8 or 8.1. Referred to as "dxlevel 120".

DirectX 12-class graphics cards include the Nvidia Nvidia GeForce 900 series, Intel HD Graphics (from 2015-2016), and the Radeon AMD Radeon 200 (GCN 2.0), Radeon 300 series cards.

Note.pngNote:This is only available in Apex Legends Apex Legends. It can be enabled using -eac_launcher_settings SettingsDX12.json launch options.
There are currently no Source 2 games that use DirectX 12 (or the D3D12 renderer).

Features

For more DX12/D3D12 features (which may or may not used in third-party Source Source or Source 2 Source 2 engine), see Wikipedia's Direct3D 12 page.
  • Low-level rendering API, similar to Vulkan
  • Shader Model 5.1
  • Raytracing (since Windows October 2018 Update)
    • Note.pngNote: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.pngNote:All Half-Life 2 Half-Life 2 screenshots shown here applies to older versions of the Source engine. Starting with Source 2007 Source 2007 or Source 2009 Source 2009, most version of DirectX/D3D feature levels except DX8 were dropped, while DX9 added support for HDR and other newer graphical features not present in older engine branches.
Additionally, all screenshots appeared to be based off the default settings, with no anti-aliasing and little to no anisotropic filtering (or bilinear/trilinear texture filtering).

Half-Life 2 Canals

These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water.

DirectX 6.0 Canals5 dx6.jpg
DirectX 7.0 Canals5 dx7.jpg
DirectX 8.0 Canals5 dx8.jpg
DirectX 8.1 Canals5 dx81.jpg
DirectX 9.0+ Canals5 dx9.jpg

Half-Life 2 Dropship

These screenshots show shadow quality at different rendering levels, ranging from none to soft, dynamic shadows.

DirectX 6.0 Canals2 dx6.jpg
DirectX 7.0 Canals2 dx7.jpg
DirectX 8.0 Canals2 dx8.jpg
DirectX 8.1 Canals2 dx81.jpg
DirectX 9.0+ Canals2 dx9.jpg

Half-Life 2 Storm drain

These screenshots show directional lightmaps and cube-mapped specular effects.

DirectX 6.0 Canals3 dx6.jpg
DirectX 7.0 Canals3 dx7.jpg
DirectX 8.0 Canals3 dx8.jpg
DirectX 8.1 Canals3 dx81.jpg
DirectX 9.0+ Canals3 dx9.jpg

Half-Life 2 Zombie

These screenshots demonstrate the use of normal-mapping on models. The final shot has full, normal-mapped lighting.

DirectX 6.0 Zombie dx6.jpg
DirectX 7.0 Zombie dx7.jpg
DirectX 8.0 Zombie dx8.jpg
DirectX 8.1 Zombie dx81.jpg
DirectX 9.0+ Zombie dx9.jpg

Portal 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 Testchamber0 dx80.jpg
DirectX 8.1 Testchamber0 dx81.jpg
DirectX 9.0+ Testchamber0 dx95.jpg