DirectX Versions: Difference between revisions
m (→DirectX levels) |
No edit summary |
||
Line 252: | Line 252: | ||
{{ref2|cite id=2|Jasper Carmack ({{Twitter|@JasperCarmack|icon=hide}}) (April 3, 2024). "{{Twitter|JasperCarmack/status/1775370362198601835|When loading the save for comparison, you need to wait a little bit because the light glows are scripted to come on after a delay. So 1 {{=}} dx8, 2 {{=}} dx9 on load, 3 {{=}} dx9 after 5 seconds|icon=hide}}". ''{{twitter}}''. Retrieved {{#time: F d, Y }}.}} | {{ref2|cite id=2|Jasper Carmack ({{Twitter|@JasperCarmack|icon=hide}}) (April 3, 2024). "{{Twitter|JasperCarmack/status/1775370362198601835|When loading the save for comparison, you need to wait a little bit because the light glows are scripted to come on after a delay. So 1 {{=}} dx8, 2 {{=}} dx9 on load, 3 {{=}} dx9 after 5 seconds|icon=hide}}". ''{{twitter}}''. Retrieved {{#time: F d, Y }}.}} | ||
{{ref2|cite id=3|In the game files, there is {{code|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).}} | {{ref2|cite id=3|In the game files, there is {{code|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).}} | ||
{{ref2|cite id=4| | {{ref2|cite id=4|[https://youtu.be/Xf15h_SB1CU?t=375 This video] shows the example of DirectX 9 performance issues on GeForce FX 5x00 series card.}} | ||
{{ref2|cite id=5|[https://web.archive.org/web/20080517140112/http://www.pcgameshardware.de/aid,643448/Interview/PCGH_interview_about_Left_4_Dead_part_2/&page{{=}}2 PCGH interview about Left 4 Dead, part 2]<br>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.}} | {{ref2|cite id=5|[https://web.archive.org/web/20080517140112/http://www.pcgameshardware.de/aid,643448/Interview/PCGH_interview_about_Left_4_Dead_part_2/&page{{=}}2 PCGH interview about Left 4 Dead, part 2]<br>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.}} | ||
{{ref2|cite id=6|[[User:kr0tchet|User:leonidakarlach]] (June 4, 2024) - According to {{path|dota\cfg\video|txt}} (generated when the game is launched): | {{ref2|cite id=6|[[User:kr0tchet|User:leonidakarlach]] (June 4, 2024) - According to {{path|dota\cfg\video|txt}} (generated when the game is launched): |
Revision as of 20:58, 10 October 2024
Source engine games (prior to Left 4 Dead), has a DirectX level systems that allow the games to run properly on 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.
This page 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 run the game with lower DirectX levels on 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.



The only modern Source engine branch that still supports older DirectX levels (down to 8.0) is



To fix this, run the game once with -dxlevel 95 command line option (which will change to DirectX 9.0+ level), change your video settings to whatever you want (many PCs can handle "High" or "Very High" graphics settings), then save by clicking OK (or Apply then OK), then remove the command line and restart the game, it should show as Hardware DirectX level: DirectX 9.0+ on the video options. 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:




DirectX levels

- 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
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.
Additionally, RTX Remix games such as Portal with RTX and the upcoming
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

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 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" 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]
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". The last version is supported for all version of Windows 98/98SE/ME/2000 and XP, aswell as the last version of DirectX/Direct3D 9.
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. 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 .

Features
- GPU Particle Physics
DX9Ex / Windows Aero DirectX extensions
DX9Ex may improve/reduce performance on certain hardware, depending on the 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
- Unified shader pipeline
- 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 are rendered using Direct3D 10.[4]
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 Filmmaker by default, aswell as the original release of
Dota 2,[6] both games runs on DX10 level, but still rendered in Direct3D 9.
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
- Support for Tessellation
Supported games
Source 2 natively supports and runs on this version of DirectX (and Direct3D) 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 DX11.
- All
Source 2 games
Strata Source
Titanfall branch
Vindictus (introduced in later updates, but the game still uses dxlevel 95 level instead.)
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 (DX7 level) to Vulkan then converted again to D3D12.[6]
Features


- 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)
Sample screenshots

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).
Canals
These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water.
DirectX levels | 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+ | ![]() |
![]() |
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) |
---|---|---|
DirectX 6.0 | ![]() |
Unsupported since Source 2007 |
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.
DirectX levels | 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+ | ![]() |
![]() |
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) |
---|---|---|
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. 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]
DirectX levels | 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+ | ![]() |
![]() |
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) |
![]() |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ (without HDR) |
![]() |
DirectX 9.0+ (with HDR) |
![]() |
References
References | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|