one way to do it —

Intel turns to code translation to run old DirectX9 games on its newest GPUs

DirectX9 is still in relatively wide use, given that it's 20 years old.

<em>Team Fortress 2</em> is one of several still-popular games that use the DirectX9 API instead of a more modern version.
Enlarge / Team Fortress 2 is one of several still-popular games that use the DirectX9 API instead of a more modern version.
Valve

Intel's graphics marketing team is currently in the middle of an expectations-setting PR blitz around its upcoming Arc GPUs. Partly because of immature drivers, the new graphics cards generally perform much better in newer games using the DirectX12 and Vulkan APIs than they do in older DirectX and OpenGL games. The problem for Intel is that not all games use the latest APIs, especially competitive multiplayer titles that have been around for a while.

For older games using the DirectX9 API, the company has come up with a unique solution. Tom's Hardware reports that Intel's latest GPUs will no longer support DirectX9 natively, instead relying on a Microsoft-provided software translation layer called D3D9On12 to convert Direct3D9 API calls into Direct3D12 ones (Direct3D is the name for the 3D graphics-related parts of DirectX).

Intel's support page, dated August 10, says that D3D9On12 will be used on all Arc GPUs and the integrated GPUs in 12th-generation Core processors. Despite being nearly identical to their 12th-gen counterparts, the integrated GPUs in 11th-generation CPUs will continue to support DirectX9 natively unless they're in a PC with an Arc GPU present.

Microsoft says that D3D9On12 is "a complete and relatively performant implementation of a D3D9 driver," but Intel notes that it can cause issues in some games, including "visual errors, artifacts, flickering, or even crashes." That said, a buggy native Direct3D9 implementation can cause the same problems.

Intel may be giving up some performance by turning to DirectX9 translation for these GPUs, but the company is also freeing up resources to focus on DirectX11 and other versions as it tries to improve its Arc GPU drivers. The company can also now punt any performance issues and bugs in DirectX9 games to Microsoft (indeed, as of this writing, many of Intel's linked D3D9On12 information pages redirect to its homepage, but the one telling people to go to Microsoft with problems is working fine).

DirectX9 is an important version of the API for older PC games, partly because it was the final version supported by Windows XP. That operating system’s dominance and long life, plus its lighter system requirements relative to Windows Vista and 7, made it so popular with gamers that it was a common development target for many years—a surprising number of still widely played games are based on this version of the API, including Counter-Strike: Global Offensive and Team Fortress 2. Valve's DOTA 2 only removed DirectX9 support last year.

Channel Ars Technica