DirectX Versions

From Valve Developer Community
(Redirected from Dxlevel)
Jump to navigation Jump to search
English (en)日本語 (ja)Русский (ru)Translate (Translate)
Advanced Video Options, with Hardware & Software DirectX level highlighted and showing a new feature classic effects. High dynamic range moved to video options. On modern systems, the "Hardware DirectX level" (also referred to as "feature level") usually should display as "DirectX 9.8+" (or "DirectX 9.0" on Intel graphics card) or integrated graphics.

Source engine games (prior to Left 4 Dead), has a DirectX level systems to provide compatibility with older (DX8 or earlier) or weaker DirectX 9-capable GPUs, by disabling certain graphical features not available (or works poorly) in older/weaker graphics card and lowering the graphical settings.

Each section has 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 run the game with lower DirectX levels on the newer graphics card, use the mat_dxlevel cvar, or -dxlevel command line arguments. Set it to 60, 70, 80, 81, 90 or 95 to set the corresponding DirectX version; it is not possible to run at a higher level than the graphics hardware is capable of.

Warning.pngRisk of Confusion:There is a misconception that changing mat_dxlevel or dxlevel will also make Source engine runs on different version of Direct3D, but this is not true as changing mat_dxlevel (DirectX levels), does not actually change Direct3D version to Direct3D 8 or earlier. Source will always run on Direct3D 9 renderer (or Direct3D 11/12 on some third-party engine branches). However, various DirectX 9 features, assets and shaders will be disabled or fallback to DirectX 8 or earlier for compatibility with older graphics card, or to improve performance with older GPUs that have poor support for DirectX 9. Older DirectX levels are also used to allow Nvidia's RTX Remix (used in Portal with RTX and upcoming Half-Life 2 RTX, and requires fixed-function shaders) to add raytracing while also replacing DX7/DX8 level assets with PBR capable materials.

Additionally, DirectX levels should not be confused with Direct3D versions. As a example, GeForce FX 5x00 by default, while support DirectX 9.0a level, the game will force the card to run at DirectX 8.0 level (or Direct3D 9 feature level 8.0) by default (according to dxsupport.cfg), due to the graphics card known for having poor performance and graphical issues in DX9 level.

Note.pngNote:Source games and engine branches released by Valve since Left 4 Dead Left 4 Dead drop support for all DirectX 8 (or earlier) cards, aswell replaced the old DirectX feature level system with new shader & effect details option and automatic GPU memory size detection. This meant that all games running on Left 4 Dead engine branch (or later branches) only supports DirectX 9.0c level cards.
The only modern Source engine branch that still supports older DirectX levels (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 or later cards.
Note.pngNote:Most modern PC with modern GPUs are now DirectX 12 capable (and fully support all DX9 levels and features in Source). Make alternate assets or shader fallback if you want, but almost no one will see them unless they launched the game with DirectX 8 level or have a very old graphics card, or by launching a game that utilizes Nvidia RTX Remix (Portal with RTX and Half-Life 2 RTX).
Icon-Bug.pngBug:On some modern systems, or in some games, when a Source 2013 game is run for the first time, the game may default to DirectX 8 level (and DirectX 9.0 level instead of 9.0+ on laptops with Intel HD Graphics or switchable integrated/dedicated GPUs).
To fix this issues, see Fix DirectX 8.0 level on modern hardware. After doing the steps on that section, the Hardware DirectX level should display DirectX 9.0+. Next, configure your video settings (most systems should be able to handle "High" or "Very High" texture, model, shader, shadows, etc. easily).
Users must remove the -dxlevel command line after launching the game once to prevent the game from reset the video settings to default.  (tested in: Half-Life 2 Portal)
Icon-Bug.pngBug:Some effects appears to be less visible, such as the volumetric lighting model used to fake the volumetric lighting effect compared to DirectX 8 level, or DirectX 9 on older version of Half-Life 2.[1][2] See #Train Station  (tested in: Half-Life 2)

DirectX levels

Icon-Important.pngImportant:
  • Since Source 2006, DirectX 6 is no longer supported but still unofficially supported, and in Source 2007 or Source 2009, both DirectX 6 and 7 support has been dropped (except RTX Remix games).
  • Starting with Left 4 Dead engine branch and later Source games, the DirectX levels system (aswell as all DirectX 8 and early DirectX 9 cards) was dropped in favor of shader & effect details option and automatic GPU memory size detection.
  • While DirectX 8 level is supported in Source 2007, Source 2009 and Source 2013, not all pre-L4D branch games support them and using it may crashes the game, such as Postal III and many third-party Source games.

DirectX 6 compatibility level

Referred to as "DirectX 6.0" on video settings and "dxlevel 60". DirectX 6-class graphics cards include the Nvidia TNT2 and Matrox G400.

These graphics card and this DirectX version are not officially supported by Valve, but still functional until Source 2007.

DirectX 7 compatibility level

Referred to as "DirectX 7.0" on video settings and "dxlevel 70". DirectX 7-class graphics cards include the Nvidia GeForce 256, 2, 2MX and 4MX cards and the ATI Radeon R100 (7xxx) series.

Additionally, RTX Remix games such as Portal with RTX Portal with RTX and the upcoming Half-Life 2 RTX Half-Life 2 RTX uses DirectX 7 level, then replacing the textures, models and lighting with PBR textures and ray-traced lighting, then renders in Vulkan (using DXVK) before converting again to Direct3D 12 (DX12).[3]

Features
  • Blob shadows
  • Displacement map texture blending

DirectX 8 compatibility level

Note.pngNote:As mentioned above, when a Source 2013 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

Referred to as "DirectX 8.0" on video settings 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 and graphical glitches with the DX9 rendering path).[4]

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" on video settings 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.

Like most of the GeForce FX 5x00 series card, both FX 5800 and 5900 (which are DX9 cards) also suffers from performance issues and graphical glitches on DirectX 9 level.[4] But unlike other GeForce FX 5x00 cards, it runs on DirectX 8.1 level which has soft dynamic shadows.

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 6 series (6600, 6800) and the ATI Radeon 9500/9600, 9700/9800, X300/X600 and X800 cards.

Features
  • Shader Model 2.0, 2.0a and 2.0b
  • 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.
    • To enable High shadows on Intel GPUs, use "-force_vendor_id 0x10DE -force_device_id 0x1088", tricking the game into thinking that the user has a "NVIDIA GeForce GTX 590", enabling High shadows.
    • The command above may not be available in older Source games prior to 2012/2013, you can workaround this using Pcgw icon.png other methods listed on PCGW.
  • Normal-mapped lighting on models
  • Improved-quality specular effects

Since Source 2006 Source 2006:

Since Source 2007 Source 2007:

  • Motion Blur

Since Half-Life 2 20th anniversary:

  • Defaults to MSAA 4X
  • LOD set to "0" (r_lod)
  • Detail distance up to "4096"

DirectX 9.0+ - Shader Model 3

Referred to as "DirectX 9.0c", "dxlevel 92" (Mac/Linux) and "dxlevel 95" (Windows), aswell as "Direct3D 9.0c". This is the last version of Direct3D that support all version of Windows 98/98SE/ME/2000 and XP.

DirectX 9.0+/Direct3D 9.0c class graphics card includes Nvidia GeForce 6 series (6600, 6800) and ATI Radeon X1000.

Supported games

dxlevel 95 (or DirectX 9.0c) was first introduced with Half-Life 2: Lost Coast, Day of Defeat: Source and later Source 2006 Source 2006. Left 4 Dead engine branch games and above requires DirectX 9.0c in order to run.

Features

Since Half-Life 2 20th anniversary:

  • Defaults to MSAA 4X
  • LOD set to "0" (r_lod)
  • Detail distance up to "4096"
  • Bicubic lightmap

Direct3D 9Ex / Windows Aero DirectX extensions

Also referred to as "DirectX 9Ex", "DX9Ex", or "D3D9Ex". This feature is exclusive to Source 2013 Source 2013 and Counter-Strike: Global Offensive Counter-Strike: Global Offensive engine branch. DX9Ex may improve/reduce performance on certain hardware, depending on the graphics driver.

DX9Ex is only available on Windows Vista or later.

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 9.0+ level on other platforms

Game consoles (dxlevel 97/98)

Referred to as "dxlevel 97" (PS3)[confirm] and "dxlevel 98" (Xbox 360). Made specifically for both PlayStation 3 and Xbox 360. Equivalent to dxlevel 95 on PC.

Confirm:While dxlevel 97 can be only seen in Portal 2 (both PC and PS3), it is not confirmed whether the PS3 version actually uses it. See talk page.
Icon-Important.pngImportant:This version doesn't do anything much in PC builds of any game (the game will reset to dxlevel 95 after changing video settings). Only works for Xbox 360 or PlayStation 3, where it is required (and enabled by default).
Features

Mac/Linux/Android (dxlevel 92)

These platform uses dxlevel 92, which is also equivalent to dxlevel 95, but use the translator ToGL to convert the DirectX calls to OpenGL calls, or uses DXVK to convert DirectX calls to Vulkan. Only on macOS macOS and Linux Linux, and other platforms/operating systems that do not support Direct3D and DirectX.

DirectX 10

Introduced with the release of Windows Windows Vista (and it was only supported on Vista or later), DirectX 10 (and D3D10) is not supported on Windows XP. Referred to as "dxlevel 100".

DirectX 10-class graphics cards include the Nvidia GeForce 8/9/100/200/300 series, Intel GMA X3100, X3500, GMA 4500, and the ATI Radeon HD 2000/3000 series cards.

While Intel HD Graphics (2010), Intel HD 2000/3000 is technically a DX10 card, Source by default (according to dxsupport.cfg) forces it to run at dxlevel 90 instead of dxlevel 95, even if you launch the game for the first time with Nvidia/AMD high performance GPUs on a laptop with dual switchable GPU (integrated and dedicated).

Features
  • Unified shader pipeline (fixed-function pipeline has been dropped)
  • Shader Model 4.x
Supported games

While dxlevel 100 is mentioned in dxsupport.cfg on all games since Left 4 Dead engine branch and above, none of the Source engine branch actually supports and use Direct3D 10.
Additionally, Valve later said that DirectX 9 is still sufficient, therefore no Source engine games actually uses Direct3D 10.[5]
All of the DX10 features shown in that PDF file was already supported on "dxlevel 95" (DirectX 9 SM 3.0) and Xbox 360 (which uses "dxlevel 98").

D3D9 renderer with DX10 level

In Source FilmmakerSource Filmmaker by default, aswell as the original release of Dota 2 Dota 2,[6] both games runs on DX10 level, but the renderer still remains on Direct3D 9.

DirectX 11

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

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.

Like previous Intel graphics cards, Intel HD 2500/4000 is technically a DX11 card, Source by default (according to dxsupport.cfg with "Intel Unknown" profile) forces it to run at dxlevel 90 instead of dxlevel 95, even if you launch the game for the first time with Nvidia/AMD high performance GPUs on a laptop with dual switchable GPU (integrated and dedicated).

Features
  • Shader Model 5.0
  • Multithreaded rendering
  • Support for Tessellation
Supported games

Source 2 Source 2 natively supports and runs on Direct3D 11 by default, but Source 2 also supports Direct3D 9 for older DX9 GPUs (support was dropped in 2021 with Dota 2 update, with only SteamVR Home still support DX9). Titanfall branch was the first Source branch that supported D3D11. Direct3D 11 also has backward compatibility support for DirectX 10 or earlier feature level cards, but some later games may require DirectX 11 level cards.

DirectX 12

Introduced in 2015, later backported to Windows 7 in 2019. D3D12 and 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.

Like previous Intel graphics cards, while these are technically a DX12 card, Source by default (according to dxsupport.cfg with "Intel Unknown" profile) forces it to run at dxlevel 90 instead of dxlevel 95, even if you launch the game for the first time with Nvidia/AMD high performance GPUs on a laptop with dual switchable GPU (integrated and dedicated).

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
  • Ray tracing (since Windows 10 October 2018 (1809) Update, requires RT-capable GPUs)
  • Dynamic refresh rate (since Windows 11)
Supported games

dxsupport.cfg

Result after modifying dxsupport.cfg on a system running NVIDIA GeForce RTX 3060. The game recognizes the card and set MSAA to 8x, and anisotropic filtering to 16x, while also marking it as recommended setting.

dxsupport.cfg is a file located at the bin folder of the game. It is used to set the graphical settings (MSAA, anisotropic filtering, etc.) or DirectX versions for a specific graphics card listed on the file.

For example, on the system with GeForce FX 5900, the game will first detect the exact card and load the "GeForce FX 5900" profile according to its "VendorID" (0x10de) and "DeviceID" (0x0334), then set the default launch resolution to 800x600, DirectX level 8.1 (with max level 9.0), disable motion blur and set Anisotropic filtering to 2X. The GeForce FX 5900 along with other FX 5x00 series are technically DX9 card, but as mentioned above, it suffered from poor performance and graphical glitches with DX9 rendering path.[4]

Over time, this file was later updated to include new GPUs up to the GeForce 500 series or Radeon HD 6000 series (in most Source games), and later in Half-Life 2 20th anniversary update, changing detail props distance to "4096", set MSAA to 4x and enabling Bicubic lightmaps by default when running on DirectX 9.0+ (the command itself is mislabeled as "r_bicubic_lightmap", instead of "r_lightmap_bicubic").

This file is automatically generated by "dxsupport.pl" Perl script, which was not included anywhere on the game folder nor the officially released Source 2013 or Alien Swarm code. The file can be also manually edited to include new GPUs (such as NVIDIA GeForce RTX 3060 as a example).

Additionally, dxsupport.cfg also includes other DirectX versions such as dxlevel 92/97/98/100, these only works on console ports (Xbox 360, PlayStation 3), Dota 2 and SFM (both are only Source games run on DirectX 10 level, but using D3D9 renderer), or platforms such as Mac/Linux (which uses dxlevel 92 and uses ToGL to convert DirectX calls to OpenGL).

GPUs not listed on the dxsupport.cfg will instead load the "NVidia/ATI/Intel Unknown" and set certain graphics to low and anti-aliasing to disabled (or MSAA 4x since 20th anniversary) by default, sometime this can cause a bug that the game defaults to DirectX 8 level even on modern hardware. The game may also default to DirectX 9.0 instead of 9.0+ (95) when running on a laptop with dual switchable GPU (integrated Intel & dedicated Nvidia/AMD), this issues does not affect integrated AMD GPUs.

DirectX levels Graphics card
DirectX 6.0
dxlevel 60
NVIDIA TNT2
Matrox G400
DirectX 7.0
dxlevel 70
NVIDIA GeForce 256, 2, 2MX and 4MX
ATI Radeon R100 (7xxx)
DirectX 8.0
dxlevel 80
NVIDIA GeForce4 Ti and most of the GeForce FX 5x00 series
GeForce 6600 GT / Go 6600
DirectX 8.1
dxlevel 81
NVIDIA GeForce FX 5800 and 5900
ATI Radeon 8500/9100 and 9000/9200 cards.
DirectX 9.0
dxlevel 90
Nvidia GeForce 6 series (6600, 6600 LE, 6800)
ATI Radeon 9500/9600, 9700/9800, X300/X600 and X800 cards
All Intel graphics card (incl. Intel HD 2000/3000 or later)
DirectX 9.0+
dxlevel 95
Nvidia GeForce 6 series (6600, 6800)
ATI Radeon X1000

Maximum GPU detected/listed on dxsupport.cfg:
GeForce 8800, Radeon X1000 series, Intel GMA 3000/X3000 (Source 2006)
GeForce GT 520 - GTX 590, Radeon HD 6000 series, Intel HD 3000 (Source 2007 - Source 2013)
GeForce GT 610 - GTX 690, Radeon HD 7000/8000 series, Intel HD 4600 (Left 4 Dead 2)
GeForce 510 - GTX 590, GTX 680, Radeon HD 7000 series, Intel HD 4000 (Portal 2 engine branch)
GeForce GT 520 - GTX 590, Radeon HD 6000/7900 series, Intel HD 3000 (Counter-Strike: Global Offensive)
GeForce GT 710 - GTX 780 Ti, Radeon R9 200 series, Intel Unknown only (Titanfall branch)

RTX 3060 profile example

This is a example profile for the Nvidia GeForce RTX 3060, combined with ConVar taken from "Nvidia 7800 GTX" dxsupport.cfg profile.

Expand to show example
"887" { "name" "NVIDIA GeForce RTX 3060" "VendorID" "0x10de" "MinDeviceID" "0x2504" "MaxDeviceID" "0x2504" "DefaultRes" "3840" // Run the game at 4K (or maximum possible resolution your monitor support) when first launched. // (optional) Minimum GPU driver versions required to run the game "m_nDriverVersion_BuildHigh" "11" "m_nDriverVersion_BuildLow" "6371" // (optional) Minimum GPU driver versions required to run the game (Windows Vista or later) "m_nDriverVersion_Vista_BuildHigh" "11" "m_nDriverVersion_Vista_BuildLow" "6369" "CentroidHack" "1" "ConVar.mat_antialias" "8" // Set MSAA to 8x "ConVar.mat_forceaniso" "16" // Set anisotropic filtering to 16x // Detail props distance (some newer NVIDIA and ATI GPUs have "1600" detail distance), but for some reasons this was absent on later GPUs and Unknown profile by default, resulting more noticeable pop-ins of vegetation and other detail props. "ConVar.cl_detaildist" "1600" "ConVar.cl_detailfade" "400" "ConVar.r_fastzreject" "1" // Activate/deactivates a fast z-setting algorithm to take advantage of hardware with fast z reject. "ConVar.mat_motion_blur_enabled" "0" // Motion blur - disabled by default "ConVar.r_waterforcereflectentities" "1" // Water - Reflect all entities }

Fix DirectX 8.0 level on modern hardware

On some modern hardware (or systems with newer graphics card), when you start Half-Life 2, Counter-Strike: Source or Portal (and some Source 2013) games for the first time, the game may default to DirectX 8 level, or DirectX 9.0 (on laptops with dual switchable GPUs, systems with Intel HD Graphics/Intel Arc) instead of DirectX 9.0+.

To fix this, run the game once with -dxlevel 95 command line argument (or launch options), then quit the game and remove the command line (to prevent the game from changing video settings to default). The "Hardware DirectX level" should display as DirectX 9.0+ on the video options.

Sample screenshots

Note.pngNote:Starting with Source 2007 or Source 2009, all DirectX feature levels prior to DX8 were dropped, while DX9 (since Source 2006) added support for HDR (later improved in Source 2007), color correction and other newer graphical features not present in older engine branches.
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).

Half-Life 2 Canals

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

DirectX levels Old Engine New Engine (Source 2013) 20th Anniversary
DirectX 6.0 Old Engine - DirectX 6.0 (dxlevel 60) Unsupported since Source 2007
DirectX 7.0 Old Engine - DirectX 7.0 (dxlevel 70) Unsupported since Source 2007
DirectX 8.0 Old Engine - DirectX 8.0 (dxlevel 80) New Engine - DirectX 8.0 (dxlevel 80) [Todo]
DirectX 8.1 Old Engine - DirectX 8.1 (dxlevel 81) New Engine - DirectX 8.1 (dxlevel 81) [Todo]
DirectX 9.0+ Old Engine - DirectX 9.0+ (dxlevel 90) New Engine - DirectX 9.0+ (dxlevel 95) [Todo]

Half-Life 2 Dropship

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

DirectX levels Old Engine New Engine (Source 2013) 20th Anniversary
DirectX 6.0 Old Engine - DirectX 6.0 (dxlevel 60) Unsupported since Source 2007
DirectX 7.0 Old Engine - DirectX 7.0 (dxlevel 70) Unsupported since Source 2007
DirectX 8.0 Old Engine - DirectX 8.0 (dxlevel 80) New Engine - DirectX 8.0 (dxlevel 80) [Todo]
DirectX 8.1 Old Engine - DirectX 8.1 (dxlevel 81) New Engine - DirectX 8.1 (dxlevel 81) [Todo]
DirectX 9.0+ Old Engine - DirectX 9.0+ (dxlevel 90) New Engine - DirectX 9.0+ (dxlevel 95) [Todo]

Half-Life 2 Storm drain

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

DirectX levels Old Engine New Engine (Source 2013) 20th Anniversary
DirectX 6.0 Old Engine - DirectX 6.0 (dxlevel 60) Unsupported since Source 2007
DirectX 7.0 Old Engine - DirectX 7.0 (dxlevel 70) Unsupported since Source 2007
DirectX 8.0 Old Engine - DirectX 8.0 (dxlevel 80) New Engine - DirectX 8.0 (dxlevel 80) [Todo]
DirectX 8.1 Old Engine - DirectX 8.1 (dxlevel 81) New Engine - DirectX 8.0 (dxlevel 81) [Todo]
DirectX 9.0+ Old Engine - DirectX 9.0+ (dxlevel 90) New Engine - DirectX 9.0+ (dxlevel 95) [Todo]

Half-Life 2 Zombie

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

DirectX levels Old Engine New Engine (Source 2013) 20th Anniversary
DirectX 6.0 Old Engine - DirectX 6.0 (dxlevel 60) Unsupported since Source 2007
DirectX 7.0 Old Engine - DirectX 7.0 (dxlevel 70) Unsupported since Source 2007
DirectX 8.0 Old Engine - DirectX 8.0 (dxlevel 80) New Engine - DirectX 8.0 (dxlevel 80) [Todo]
DirectX 8.1 Old Engine - DirectX 8.1 (dxlevel 81) New Engine - DirectX 8.1 (dxlevel 81) [Todo]
DirectX 9.0+ Old Engine - DirectX 9.0+ (dxlevel 90) New Engine - DirectX 9.0+ (dxlevel 95) [Todo]

Half-Life 2 Train Station (fake volumetric lighting)

These screenshots shows the differences between DirectX 8 and 9 on the fake volumetric lighting. While the DirectX 9.0+ volumetric lighting on Old Engine was slightly less visible compared to DX8 counterpart, the volumetric lighting on New Engine DX9 was even less visible (or nearly invisible) compared to Old Engine's DX9, probably due to a bug (or changes to the lighting/shaders) on Source 2007 and later.[1][2] This has been fixed in Half-Life 2: Update.

DirectX levels Old Engine New Engine (Source 2013) 20th Anniversary
DirectX 6.0 Old Engine - DirectX 6.0 (dxlevel 60) Unsupported since Source 2007
DirectX 7.0 Old Engine - DirectX 7.0 (dxlevel 70) Unsupported since Source 2007
DirectX 8.0 Old Engine - DirectX 8.0 (dxlevel 80) New Engine - DirectX 8.0 (dxlevel 80) [Todo]
DirectX 8.1 Old Engine - DirectX 8.1 (dxlevel 81) New Engine - DirectX 8.1 (dxlevel 81) [Todo]
DirectX 9.0+ Old Engine - DirectX 9.0+ (dxlevel 95) New Engine - DirectX 9.0+ (dxlevel 95) [Todo]

Portal Portals

These screenshots compares the texture and particles quality on the portals. Also Portal with RTX added here as it's the only Source 2013 game which support DX7 level, but with all of it's materials replaced with PBR-capable materials and real-time ray-traced lighting.

DirectX levels Image
DirectX 7.0 and earlier Unsupported and non-functional. Screenshot identical to DirectX 8.0.
DirectX 7.0
(Portal with RTX only)
Portals on DirectX 7.0 level (only supported in Portal with RTX) (dxlevel 70)
DirectX 8.0 Portals on DirectX 8.0 (dxlevel 80)
DirectX 8.1 Portals on DirectX 8.1 (dxlevel 81)
DirectX 9.0+
(LDR)
Portals on DirectX 9.0+ (dxlevel 95), with HDR disabled
DirectX 9.0+
(HDR)
Portals on DirectX 9.0+ (dxlevel 95), with HDR enabled

References

References
3. In the game files, there is dxvk.conf, used to store RTX Remix configuration. The game itself then renders as Direct3D 12 (DX12), confirmed when using third-party applications like RivaTurner Statistics Server (RTSS).
4. This video shows the example of DirectX 9 performance issues on GeForce FX 5x00 series card.
5. PCGH interview about Left 4 Dead, part 2
Doug Lombardi (Valve): Well I mean there is always that tradeoff between taking the time to adopt the engine to a new API, right. And for us we feel like there still things in DX9 that we can achieve without having to go through the pains of moving to DX 10. That is very worthwhile and allows us the time to concentrate on other pieces. So for us as a company and our game designs, we've looked at the tradeoff of the work to move to DX 10 and we have always kind of felt that there is not really enough there for us to delay whatever game we are working on by six to eight month just to say we've a DX10 game. The other thing that is worth mentioning too is to run DX10 natively under the API you have to have both the card and vista. If you google to the Steam hardware survey where we poll peoples machines on Steam you can see that right now there is only about thirteen percent of those people that have both, the DX 10 card and Vista. So you have to look at that as well and say is it worth to investing for thirteen percent of the audience.
6. User:leonidakarlach (June 4, 2024) - According to 🖿dota\cfg\video.txt (generated when the game is launched):
"setting.mindxlevel" "92" "setting.maxdxlevel" "100" "setting.dxlevel" "100"

The game also report that it's using DirectX 10.0 according to the hidden VGUI Options menu by typing gamemenucommand openoptionsdialog, go to Video > Advanced > Hardware DirectX level. Third-party software like RivaTurner Statistics Server (RTSS) showing that it's still uses Direct3D 9.0, however.