Error: Failed to create pipeline state error 8007000e and Oodle

Hi! This is going to be a weird one but here it goes.

Our test users started getting random crashes like this:

`[2025.06.29-15.36.26:800][ 0]LogD3D12RHI: Error: Failed to create pipeline state with combined hash 2545BFCFAEA90BCF, error 8007000e.
[2025.06.29-15.36.26:803][ 0]LogD3D12RHI: Warning: Failed to create graphics PSO with combined hash 0x2545BFCFAEA90BCF:
AlphaToCoverageEnable = 0
IndependentBlendEnable = 1
SampleMask = 0xFFFFFFFF
FillMode = 3
CullMode = 3
FrontCounterClockwise = 1
DepthBias = 0
DepthBiasClamp = 0.000000
SlopeScaledDepthBias = 0.000000
DepthClipEnable = 1
MultisampleEnable = 0
AntialiasedLineEnable = 0
ForcedSampleCount = 0
ConservativeRaster = 0
DepthEnable = 0
DepthWriteMask = 0
DepthFunc = 8
StencilEnable = 0
StencilReadMask = 0xFF
StencilWriteMask = 0xFF
FrontFace = { 1, 1, 1, 8 }
BackFace = { 1, 1, 1, 8 }
InputLayout.NumElements = 0
IBStripCutValue = 0x0
PrimitiveTopologyType = 0x3
NumRenderTargets = 0
DSVFormat = 0x0
SampleDesc = { 0, 0 }
NodeMask = 0x1
Flags = 0x0

[2025.06.29-15.36.26:803][ 0]LogRHI: Error: Failed to create graphics pipeline, hashes: Mesh: A7B537F4A86CB23FCB15DF3882FEB37A0A250887, Pixel: 88CFE93537749FE8415FCAF89DBB17C275E4E172, Pipeline: 82A60D24D2E232898EE97D047FF0190B94440C50.
[2025.06.29-15.36.26:847][ 0]LogD3D12RHI: Error: Failed to create pipeline state with combined hash 2B185FED56F420AF, error 8007000e.
[2025.06.29-15.36.26:849][ 0]LogD3D12RHI: Warning: Failed to create graphics PSO with combined hash 0x2B185FED56F420AF:
AlphaToCoverageEnable = 0
IndependentBlendEnable = 1
SampleMask = 0xFFFFFFFF
FillMode = 3
CullMode = 1
FrontCounterClockwise = 1
DepthBias = 0
DepthBiasClamp = 0.000000
SlopeScaledDepthBias = 0.000000
DepthClipEnable = 1
MultisampleEnable = 0
AntialiasedLineEnable = 0
ForcedSampleCount = 0
ConservativeRaster = 0
DepthEnable = 0
DepthWriteMask = 0
DepthFunc = 8
StencilEnable = 0
StencilReadMask = 0xFF
StencilWriteMask = 0xFF
FrontFace = { 1, 1, 1, 8 }
BackFace = { 1, 1, 1, 8 }
InputLayout.NumElements = 0
IBStripCutValue = 0x0
PrimitiveTopologyType = 0x3
NumRenderTargets = 0
DSVFormat = 0x0
SampleDesc = { 0, 0 }
NodeMask = 0x1
Flags = 0x0

[2025.06.29-15.36.26:849][ 0]LogRHI: Error: Failed to create graphics pipeline, hashes: Mesh: 09E15C3B28E8DAB323B80BC7CE5D0D5C6B909B90, Pixel: 88CFE93537749FE8415FCAF89DBB17C275E4E172, Pipeline: 4EB3198389C969964E0FBE97795CA3EE7E5F5E40.`

Unfortunately, there’s no stable repro or any way we can get minidumps at the moment.

However, reading through the article

https://fgiesen.wordpress.com/2025/05/21/oodle-2-9-14-and-intel-13th-14th-gen-cpus/

I noticed that users with this problem do run 14th gen Intel. UE 5.6 uses only 2.9.13 Oodle, so…

is there any branch on UE Github that contains .14 Oodle or maybe there’s an internal version you could share? We build our UE ourselves and we could relatively quickly roll out the game running on an updated engine version.

Steps to Reproduce

Hi there,

If this is related, and it may not be, to the aging of clock signal circuitry in the chip, then a software solution will likely not help.

2.9.14 did have an experimental workaround, but it is unclear how effective it was, upon reading the updated oddle page about the 13th/14th gen crash, which also links to the old information as it was being released over time.

https://www.radgametools.com/oodleintel.htm

I wasn’t able to find a .14 version on GitHub either.

Is it solely 14th-gen CPUs reporting the issue?

To me, this doesn’t present the same way the Oodle decompression failures were, and looks more like a GPU Driver / failing PSO creation (Pipeline State Object).

If you haven’t already:

I would check what version of the driver the test users are on, and do a driver update, which will clear the drivers’ PSO cache at the same time.

Further, you could get the affected users to launch with the -clearPSODriverCache command line argument, which will also clear the driver caches.

It would be good to check to make sure you don’t have

D3D12.PSO.DiskCache

Or

D3D12.PSO.DriverOptimizedDiskCache

CVar’s are enabled as the D3D12RHI PSO file cache doesn’t work anymore.

Just to rule that out.

If at all possible, you could get them to run with aftermath enabled on all tests, which should reveal something.

Docs for Unreal / Aftermath are here: https://dev.epicgames.com/documentation/en-us/unreal-engine/nvidia-nsight-aftermath-for-gpu-pipeline-debugging-in-unreal-engine?application_version=5.5

Not a lot to go on from the information, but if you do get a crash dump, feel free to add it to the case.

If I can be of any further help or provide any more information or debugging solutions, please let me know.

Kind Regards

Keegan GIbson

Hi there,

Were you able to resolve the crashes on your players’ machines?

Is there any further help or insight I can provide?

Kind Regards

Keegan Gibson

why [D3D12RHI PSO file cache doesn’t work anymore]

how to avoid pso compiling 2nd time run game

That behaviour is still present.

That particular CVAR is defaulted to disabled and was superseded, I believe, by the shader pipeline cache, maybe as far back as 4.20, which is at the core RHI level, which is responsible for tracking PSO’s usage and pipeline cache files.

It can be enabled/disabled with r.ShaderPipelineCache.Enabled = 1/0

The core classes relating to that code is the FShaderPipelineCache in ShaderPiplelineCache.h, and FPipelineFileCacheManager in PipelineFileCache.h.

Additionally, in the PipelineFileCache.cpp, there are a number of CVARS you can adjust for logging and reporting in PipelineFileCache.cpp.

it seems ue use gpu driver cache mechanism, instead of engine rhi cache

in WindowsD3D12PipelineState.cpp, Epic comment “// D3D12RHI PSO file cache doesn’t work anymore. Use FPipelineFileCacheManager instead”

Yes, the file cache was not able to detect changes that would require the shader code to be rebuilt, OS updates. driver updates, hardware changes etc, and could result in games not launching. So now everything is submitted to the driver cache, which gets cleared automatically on driver updates.

thanks for your reply