This article's documentation is for anything that uses the Source engine. Click here for more information.

mat_dxlevel

From Valve Developer Community
Jump to navigation Jump to search
English (en)Русский (ru)Translate (Translate)

mat_dxlevel is a console variable available in all Source Source games except all titles since Left 4 Dead engine branch Left 4 Dead engine branch (or some third-party branches) and above.

Note.pngNote:This command is hidden in any games running on Left 4 Dead engine branch Left 4 Dead engine branch and later branches. In some third-party branches, this command may not be available.
Furthermore, since around Source 2007 up to Source 2013, only DirectX 8.0 and 8.1 levels are supported, DX7 and earlier was dropped (except in Portal with RTX).
Note.pngNote:This command can be seen on Left 4 Dead engine branch Left 4 Dead engine branch when using SourceMod (sm_cvar mat_dxlevel), however, changing it will cause the game to freeze.

mat_dxlevel changes the DirectX (feature level) mode used within a Source game. The player is only able to use modes that their hardware supports. All modern graphics card since 2005 support atleast DirectX 9 with Shader Model 3 and later.

Here are the following DirectX versions and their respective values:

mat_dxlevel [DirectX version]
mat_dxlevel 60 - only on Source 2004, 2006
mat_dxlevel 70 - only on Source 2004, 2006 (and Portal with RTX/RTX Remix games)
mat_dxlevel 80
mat_dxlevel 81 - Softer shadow
...

For DirectX 9 the value depends on the hardware's capability:

mat_dxlevel 90 - DX9 with Shader Model 2
mat_dxlevel 92 - Mac/Linux only on Source 2009-2013, same as dxlevel 95. It is also default on L4D or above on all OS (incl. Windows).
mat_dxlevel 95 - DX9 with Shader Model 3
mat_dxlevel 98 - Xbox 360 only, always enabled
mat_dxlevel 100 - Source Filmmaker and Dota 2 (pre-Reborn), always enabled, game will still runs on D3D9, however. Also default on Left 4 Dead engine branch on some systems.

This can also be specified with Launch Options, use +mat_dxlevel [DirectX version] on the launch options of any Source game to do so. Alternatively, you can use -dxlevel [DirectX version], however this specifies a number of extra presets, including but not limited to:

  • Resolution
  • Windowed/Fullscreen status
  • MSAA sample count (mat_antialias)
  • Motion blur (mat_motion_blur_*)
  • Shadow depth textures
  • Gamma (mat_monitorgamma)
Note.pngNote:This command does not change the Direct3D renderer to run on other versions. All Source games will always run on Direct3D 9 (or 11/12 in some third-party games), regardless which mat_dxlevel is specified.
Warning.pngWarning:Using -dxlevel launch parameter makes alt tabbing in and out of the game really slow, this will also resets all video configs. It's better to use +mat_dxlevel launch parameter instead, or to place mat_dxlevel command inside a config file.
Futhermore, -dxlevel should be only used a workaround to fix the issue that the game (especially all Source 2013 games except Team Fortress 2) defaults on DX8 mode which may happen on some modern hardware.

See also