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:
Open Steam.
Go to your Library.
Right-click the affected game.
Select Properties.
Open Installed Files.
Select Verify integrity of game files.
Wait for the process to finish.
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:
Open Steam.
Go to your Library.
Right-click the game.
Select Properties.
Find Launch Options.
Enter the appropriate DX11 command.
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
Press Windows + R.
Type:
dxdiag
Press Enter.
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:
Updating the GPU driver.
Removing GPU overclocking.
Reducing graphics settings.
Disabling ray tracing.
Disabling frame generation.
Disabling overlays.
Reducing VRAM usage.
Testing DX11 if available.
Checking GPU temperature.
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
Post a Comment