How to Fix “Fatal Error: Call to undefined function D3D12” on Windows



If you are playing a PC game and suddenly see an error such as “Fatal Error: Call to undefined function D3D12”, “Fatal Error D3D12”, or a crash that mentions D3D12, it can be confusing.

Many users immediately think that DirectX 12 is missing from their computer. In reality, that is not always the case.

D3D12 refers to Direct3D 12, the graphics API used by Windows games and applications to communicate with your GPU. A D3D12-related crash can be caused by several things, including an outdated graphics driver, damaged game files, corrupted shader cache, incompatible graphics settings, unstable GPU overclocking, insufficient VRAM, Windows problems, or a bug in the game's DirectX 12 implementation.

This guide explains the most useful solutions, starting with the easiest ones.


What Does the D3D12 Fatal Error Mean?



D3D12 is Microsoft's Direct3D 12 graphics API and is part of the DirectX graphics technology used by modern Windows games.

When a game uses DirectX 12, it communicates with your graphics card through the D3D12 system. If something goes wrong during rendering, the game may close and display a fatal error.

For example, Unreal Engine games can report errors from the D3D12RHI component. Epic's documentation explains that D3D12 errors can have very different causes, including GPU crashes, invalid API arguments, device removal, and memory-related problems.

Therefore, there is no single universal D3D12 fix.

The good news is that you can troubleshoot the problem systematically.


Solution 1: Restart Your PC

Before making complicated changes, completely restart Windows.

A D3D12 crash can sometimes be triggered by a temporary problem with:

  • The graphics driver

  • GPU memory

  • A background application

  • Shader compilation

  • DirectX resources

  • A previous game crash

Close the game and restart your computer.

After restarting, launch the game again before opening applications such as:

  • MSI Afterburner

  • RivaTuner

  • Discord overlays

  • NVIDIA overlays

  • AMD overlays

  • Recording software

  • GPU monitoring tools

If the game works after restarting, the problem may have been temporary.


Solution 2: Update Your Graphics Driver

One of the first things you should check is your GPU driver.

D3D12 relies heavily on the graphics driver. A corrupted or outdated driver can cause games to crash while starting, loading a level, compiling shaders, or rendering certain effects.

Epic Games also recommends verifying that the latest available GPU driver is installed when investigating GPU crashes.

Depending on your graphics card, update the driver through the appropriate manufacturer's software or website.

NVIDIA users

Open the NVIDIA App and check for a new graphics driver.

AMD users

Open AMD Software: Adrenalin Edition and check for driver updates.

Intel users

Use Intel's graphics driver update tools if you are using Intel integrated or Arc graphics.

After installing a new driver, restart Windows.




Solution 3: Perform a Clean Graphics Driver Installation

If updating the driver does not solve the problem, the existing driver installation may be damaged.

A normal update does not always remove every problematic driver component.

Try performing a clean installation of your graphics driver.

For NVIDIA and AMD users, the manufacturer's driver installer generally provides a clean-install option.

During installation, select the option that performs a fresh or clean installation when available.

Restart your computer after the installation.

When should you try this?

A clean installation is especially useful if:

  • The game worked before a driver update.

  • Several games are crashing.

  • You recently changed your graphics card.

  • You upgraded from an older GPU.

  • The crash started after a Windows or driver update.

  • D3D12 crashes occur in multiple games.


Solution 4: Verify the Game Files

A damaged game file can cause graphics-related crashes.

This is particularly common after:

  • Interrupted updates

  • Game patches

  • Power failures

  • Storage problems

  • Mod installations

  • Antivirus interference

If you purchased the game through Steam, use the Verify Integrity of Game Files option.

The general process is:

  1. Open Steam.

  2. Go to your Library.

  3. Right-click the affected game.

  4. Select Properties.

  5. Open Installed Files.

  6. Select Verify integrity of game files.

  7. Wait for the process to finish.

  8. Start the game again.

If you use Epic Games Launcher or another launcher, use its equivalent file-verification or repair option.

This is one of the safest solutions because it does not require changing Windows system files.




Solution 5: Try DirectX 11 Instead of DirectX 12

This is one of the most useful troubleshooting methods.

If the game supports DirectX 11, try launching it using DX11.

Many games allow you to add a launch option such as:

-dx11

Some games may use:

-d3d11

The exact command depends on the game.

For Steam:

  1. Open Steam.

  2. Go to your Library.

  3. Right-click the game.

  4. Select Properties.

  5. Find Launch Options.

  6. Enter the appropriate DX11 command.

  7. Start the game.

If the game becomes stable under DirectX 11, this provides an important clue.

It suggests that the problem may be related specifically to the game's DirectX 12 renderer, your GPU driver, or compatibility between the game and your hardware.

For example, a recent Unreal Engine game crash report showed that using -dx11 stopped repeated D3D12 GPU crashes, helping isolate the issue to the D3D12 rendering path.

Important

Do not assume DX11 is always better.

DirectX 12 can provide newer rendering features and better performance in some games. Use DX11 mainly as a diagnostic test or workaround when the game supports it.




Solution 6: Disable GPU Overclocking

If your graphics card is overclocked, temporarily return it to stock settings.

This includes:

  • GPU core overclock

  • VRAM overclock

  • Undervolting

  • Custom power limits

Even if another game appears stable, a particular DirectX 12 game may expose instability that other games do not.

If you use MSI Afterburner or similar software, restore the GPU to its default settings.

Then restart the game.

If the D3D12 crash disappears, the overclock or undervolt was probably not completely stable.




Solution 7: Disable Overlays

Overlays can sometimes interfere with games and their rendering systems.

Temporarily disable:

  • NVIDIA overlay

  • AMD overlay

  • Discord overlay

  • Steam overlay

  • Xbox Game Bar

  • MSI Afterburner/RivaTuner overlay

  • OBS game capture

  • Other monitoring overlays

Then launch the game.

If the crash stops, enable the overlays one at a time to identify which application is causing the conflict.

This is particularly worth testing when the game crashes during:

  • Alt+Tab

  • Resolution changes

  • Fullscreen switching

  • Loading screens

  • Starting a recording

  • Activating frame generation


Solution 8: Clear the Shader Cache

Corrupted shader cache data can cause problems during game startup or rendering.

Games using modern graphics APIs frequently compile and store shaders.

If the shader cache becomes corrupted, the game may crash repeatedly in the same location.

You can try clearing the relevant shader cache and then restarting Windows.

Be aware that the first launch after clearing the cache may take longer because the game needs to compile shaders again.

You may also notice temporary stuttering while shaders are rebuilt.

That is normal.


Solution 9: Reduce Graphics Settings

If the crash happens when entering a demanding area, your GPU may be running into a memory or rendering problem.

Temporarily reduce:

  • Texture quality

  • Shadow quality

  • View distance

  • Effects quality

  • Global illumination

  • Reflections

  • Ray tracing

  • Nanite-related settings, where applicable

  • Resolution

  • Upscaling quality

Start with a lower preset and test the game.

If the game becomes stable, gradually increase individual settings.


Solution 10: Disable Ray Tracing

Ray tracing places additional load on the GPU and can expose driver or game-specific problems.

If your game supports ray tracing, turn it off temporarily.

Set:

Ray Tracing → Off

Then restart the game.

If the game stops crashing, you can later try enabling ray tracing again at a lower quality.


Solution 11: Disable Frame Generation

If the game supports technologies such as:

  • NVIDIA DLSS Frame Generation

  • AMD FSR Frame Generation

  • Intel XeSS-related features

  • Other third-party frame-generation technologies

temporarily disable them.

Frame generation can interact with the game's rendering pipeline and swap chain.

There have been recent reports involving Unreal Engine, DirectX 12, and DLSS Frame Generation where changing display settings could trigger D3D12-related crashes.

Therefore, if your crash started after enabling frame generation, turn it off and test again.


Solution 12: Disable DLSS or Other Upscaling Technologies

If you are using NVIDIA DLSS, AMD FSR, or Intel XeSS, temporarily switch to native rendering or another supported mode.

For testing, use something simple such as:

Upscaling → Off

or

Anti-Aliasing → Native/TAA, depending on the game.

If the crash disappears, enable the technologies one at a time.

This can help determine whether the problem is related to a particular rendering feature.


Solution 13: Lower Texture Quality to Reduce VRAM Usage

A D3D12 crash does not necessarily mean that your system RAM is full.

Your GPU has separate video memory called VRAM.

For example:

  • 4 GB VRAM

  • 6 GB VRAM

  • 8 GB VRAM

  • 12 GB VRAM

  • 16 GB VRAM

A game can experience graphics-memory problems even when Windows reports plenty of free system RAM.

Recent Unreal Engine 5.8 reports have demonstrated D3D12 crashes involving reserved video memory, including situations where users still had several GB of system RAM and VRAM apparently available.

Try reducing:

Texture Quality → Medium

and restart the game.

If that fixes the crash, your previous graphics configuration may have been pushing the renderer or VRAM management too hard.




Solution 14: Close Other GPU-Heavy Applications

Before launching the game, close unnecessary applications.

Especially close:

  • Another game

  • Video editing software

  • 3D rendering software

  • Browser tabs playing high-resolution video

  • OBS

  • GPU benchmarking tools

  • AI applications using GPU acceleration

  • Other applications using hardware acceleration

Epic's GPU crash documentation notes that another 3D application can sometimes be involved when investigating GPU device-reset situations.

For troubleshooting, keep the system as clean as possible.


Solution 15: Check Windows Updates

Make sure Windows is fully updated.

Go to:

Settings → Windows Update → Check for updates

Install available updates and restart your PC.

Windows graphics components and GPU drivers work together, so keeping Windows updated is important for modern DirectX applications.

However, if the problem started immediately after a Windows update, you should also consider whether the new update introduced a compatibility issue.


Solution 16: Repair Windows System Files

Damaged Windows system files can cause unexpected application problems.

Open Command Prompt as Administrator.

Run:

sfc /scannow

Wait until the scan finishes.

If Windows reports that it found problems that could not be repaired, run:

DISM /Online /Cleanup-Image /RestoreHealth

After DISM finishes, restart Windows.

Then run:

sfc /scannow

again.

Finally, restart your PC and test the game.


Solution 17: Check DirectX and Graphics Feature Support

Do not download random "DirectX 12 DLL" files from third-party websites.

This is important.

If a game reports a D3D12 error, downloading individual DLL files from an unknown website can create more problems and can expose your computer to unsafe software.

Instead, use Windows Update and official GPU drivers.

You can also check your system information using:

dxdiag

How to open DxDiag

  1. Press Windows + R.

  2. Type:

dxdiag
  1. Press Enter.

  2. Check the System and Display tabs.

Look for information about:

  • DirectX version

  • Graphics adapter

  • Driver version

  • Feature levels

  • Driver problems


Solution 18: Make Sure the Game Uses the Dedicated GPU

This is particularly important on laptops.

A laptop may have:

  • Intel integrated graphics

  • NVIDIA dedicated graphics

or:

  • AMD integrated graphics

  • AMD dedicated graphics

If the game accidentally uses the integrated GPU, performance and compatibility can suffer.

In Windows, open:

Settings → System → Display → Graphics

Find the game executable and select:

High performance

Then launch the game again.

If you have an NVIDIA GPU, you can also check the NVIDIA graphics settings and ensure that the game is configured to use the dedicated GPU.


Solution 19: Remove Custom Launch Commands

If you have previously added launch commands, temporarily remove them.

Examples may include:

-dx12
-dx11
-high
-useallavailablecores

or other commands copied from internet guides.

Some launch commands become outdated after game or engine updates.

Start the game with the default configuration.

If it works normally, add your commands back one at a time.


Solution 20: Reset the Game's Configuration

Sometimes the game configuration itself becomes corrupted.

A game may store settings such as:

  • Resolution

  • Graphics quality

  • Rendering API

  • Upscaling

  • Ray tracing

  • Frame generation

  • Display mode

If one of these settings becomes invalid, the game may crash before you can reach the graphics menu.

Look for the game's configuration/reset option.

If the game does not provide one, back up the configuration folder before deleting or renaming it.

After launching again, the game should generate fresh configuration files.

Important

Do not randomly delete folders.

Always make a backup first, particularly if the folder contains saved-game data.


Solution 21: Test Windowed or Borderless Mode

Some D3D12 crashes occur during fullscreen transitions or when the game changes resolution.

Try:

Window Mode → Borderless

or:

Window Mode → Windowed

instead of exclusive fullscreen.

This is particularly worth trying if the crash occurs when:

  • Changing resolution

  • Alt+Tabbing

  • Switching monitors

  • Starting the game

  • Returning from another application

Recent Unreal Engine reports have documented D3D12 crashes during swap-chain resizing in specific configurations involving DLSS Frame Generation.


Solution 22: Disconnect Extra Monitors Temporarily

If you use multiple monitors, test the game with only your primary display connected.

This is especially useful if the crash occurs during:

  • Alt+Tab

  • Fullscreen switching

  • Resolution changes

  • HDR changes

  • Refresh-rate changes

If the game works with one monitor but crashes with multiple displays, the problem may involve the display configuration or graphics driver.


Solution 23: Turn Off HDR Temporarily

If Windows HDR is enabled, temporarily disable it.

Go to:

Settings → System → Display → HDR

Turn HDR off and test the game.

Also try disabling:

  • Auto HDR

  • Variable refresh rate

  • G-SYNC/FreeSync temporarily

  • Advanced display features

These features do not automatically cause D3D12 errors, but disabling them can help identify a display-driver compatibility problem.


Solution 24: Check GPU Temperature

Overheating can cause instability.

Use a trusted hardware monitoring application and check:

  • GPU temperature

  • GPU hotspot temperature

  • VRAM temperature, if available

  • GPU clock speed

  • Power consumption

If the GPU becomes unusually hot before the crash, improve:

  • Case airflow

  • Fan configuration

  • GPU cooling

  • Dust cleaning

Also make sure the GPU fans are working correctly.


Solution 25: Test Without an Undervolt

Undervolting can reduce power consumption and temperature, but an aggressive undervolt may become unstable in certain games.

If you have modified:

  • Voltage

  • GPU clock

  • Memory clock

  • Power limit

restore the default GPU profile.

Then test the game again.

A system can appear completely stable during normal desktop use and still crash under a particular DirectX 12 workload.


Solution 26: Check the Game's Known Issues

If all other games work normally but one specific game keeps crashing, the problem may be with the game itself.

This is especially possible after a major update.

Search the game's official:

  • Patch notes

  • Support page

  • Community forum

  • Known issues list

  • Developer announcements

Look for terms such as:

D3D12

DirectX 12

GPU crash

Fatal error

device removed

DXGI

out of video memory

shader crash

driver crash

Unreal Engine's own documentation emphasizes that different D3D12 error codes can represent different underlying problems, so the exact crash message matters.


Solution 27: Look at the Exact Error Code

This is one of the most important steps.

Do not stop at:

Fatal Error D3D12

Look further down in the crash report.

You might see something like:

DXGI_ERROR_DEVICE_REMOVED

or:

DXGI_ERROR_DEVICE_HUNG

or:

E_OUTOFMEMORY

or:

E_INVALIDARG

These indicate different categories of problems.

For example, Epic explains that a GPU crash may report DXGI_ERROR_DEVICE_REMOVED, while other D3D12 failures may return codes such as invalid arguments or out-of-memory errors.

Therefore, the exact error code is much more useful than simply seeing “D3D12.”


What If the Error Says “Device Removed”?

If the crash report contains:

DXGI_ERROR_DEVICE_REMOVED

or:

DXGI_ERROR_DEVICE_HUNG

focus on:

  1. Updating the GPU driver.

  2. Removing GPU overclocking.

  3. Reducing graphics settings.

  4. Disabling ray tracing.

  5. Disabling frame generation.

  6. Disabling overlays.

  7. Reducing VRAM usage.

  8. Testing DX11 if available.

  9. Checking GPU temperature.

  10. Checking the exact game version and known issues.

Epic's documentation notes that GPU crashes can be asynchronous, meaning the location where the error is detected may not necessarily be the original location where the GPU problem occurred.


What If the Error Says “Out of Video Memory”?

If you see:

Out of video memory

focus on reducing VRAM usage.

Try:

  • Lower textures.

  • Lower resolution.

  • Disable ray tracing.

  • Disable high-quality shadows.

  • Reduce view distance.

  • Disable frame generation temporarily.

  • Close other GPU applications.

  • Restart the PC.

  • Remove GPU overclocking.

Do not assume that seeing free RAM means that the GPU has unlimited usable memory.

Unreal Engine 5.8 users have reported D3D12 memory-related crashes even when system RAM and reported VRAM usage appeared to have free capacity.


What If DX11 Works but DX12 Does Not?

This is a very useful result.

If:

DX11 = Works

but:

DX12 = Crashes

then your hardware is not necessarily defective.

It may indicate a problem involving:

  • The game's DX12 renderer

  • GPU driver

  • Shader compilation

  • Ray tracing

  • Frame generation

  • VRAM management

  • A particular Unreal Engine feature

  • A game-specific bug

Continue using DX11 as a temporary workaround if the game supports it.

At the same time, check for game and driver updates.


Recommended Fix Order



Instead of trying 25 solutions randomly, use this order.

Step 1

Restart Windows.

Step 2

Update your GPU driver.

Step 3

Verify the game files.

Step 4

Disable overlays.

Step 5

Remove GPU overclock/undervolt.

Step 6

Disable ray tracing.

Step 7

Disable frame generation.

Step 8

Lower textures and other demanding settings.

Step 9

Clear shader cache.

Step 10

Try DX11 using the game's supported launch option.

Step 11

Repair Windows system files.

Step 12

Check the exact D3D12 error code.

Step 13

Search the game's official support/community channels for that exact error.

This approach is much faster than changing dozens of settings simultaneously.


The Most Important Quick Fix

If you want the shortest troubleshooting method, try these five steps first:

1. Update the GPU driver.

2. Verify the game files.

3. Disable GPU overclocking and overlays.

4. Turn off ray tracing, DLSS/FSR frame generation and other advanced graphics features.

5. Try launching the game with DX11 if supported.

If DX11 works while DX12 continues to crash, you have strong evidence that the problem is associated with the game's DX12 rendering path rather than a simple missing DirectX installation.


Should You Download DirectX 12 Again?

Usually, no.

D3D12 is integrated into modern Windows rather than being something you should repair by downloading random d3d12.dll files from websites.

Avoid websites that tell you to download individual DLL files and manually place them inside:

C:\Windows\System32

or:

C:\Windows\SysWOW64

That approach can make the situation worse.

Use Windows Update, official GPU drivers, and the game's official repair/verification system instead.


When Should You Suspect a Hardware Problem?

If many different games crash with D3D12 errors, even after:

  • Clean GPU driver installation

  • Removing overclocking

  • Updating Windows

  • Testing different games

  • Reducing graphics settings

then you should investigate the hardware.

Possible causes include:

  • GPU instability

  • Faulty VRAM

  • Overheating

  • Power delivery problems

  • Unstable RAM

  • PSU problems

  • Motherboard/BIOS issues

Run reliable hardware diagnostics rather than assuming the GPU is defective based on one game crash.


Final Thoughts

The “Fatal Error: Call to undefined function D3D12” message can look like a simple DirectX problem, but D3D12 crashes are often more complicated.

The error may be connected to the graphics driver, game files, shaders, VRAM, GPU stability, advanced rendering features, or a bug in the game's DirectX 12 implementation.

The most useful approach is to troubleshoot from simple causes to more advanced ones.

Start with the GPU driver and game files. Then disable overlays, remove GPU overclocking, reduce demanding graphics features and test DX11 if the game supports it.

Most importantly, look at the complete crash message and error code rather than focusing only on the word “D3D12.” Epic Games' own documentation makes this distinction because different D3D12 errors require different troubleshooting approaches.

If DX11 works perfectly while DX12 continues to crash, keep DX11 as a temporary workaround and check for updates from the game's developer and GPU manufacturer.

In many cases, the problem can be solved without reinstalling Windows or replacing your graphics card.

Comments