Hi!
Using UE4.25.3 we are encountering crashes when using materials using PN tesselation with DirectX12 and Raytrace enabled.
I am specifying the full context below:
1-engine settings:
[/Script/Engine.RendererSettings]
r.GenerateMeshDistanceFields=True
r.VirtualTextures=True
r.SSGI.Enable=True
r.AllowGlobalClipPlane=False
r.DefaultFeature.LightUnits=2
r.SkinCache.CompileShaders=True
r.RayTracing=True
r.RayTracing.UseTextureLod=True
r.SupportSkyAtmosphereAffectsHeightFog=True
r.AllowStaticLighting=False
r.GPUCrashDebugging=True
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
2-target material tesselation settings:
DXD11Tesselation : PN Triangles
Adaptative Tesselation Enabled
Lit set to Player Collision
3-Rendering/Shader compilation
As soon as our level (PlayerCollision toggled) shaders are being compiled, the compilation of one of them is failing, thus crashing the editor.
[2020.09.17-19.58.00:743][438]LogShaderCompilers: Display: Worker (2/9): shaders left to compile 7
[2020.09.17-19.58.01:108][449]LogShaderCompilers: Display: Worker (6/9): shaders left to compile 6
[2020.09.17-19.58.01:525][463]LogShaderCompilers: Display: Worker (6/9): shaders left to compile 5
[2020.09.17-19.58.01:553][464]LogShaderCompilers: Display: Worker (8/9): shaders left to compile 4
[2020.09.17-19.58.01:592][465]LogShaderCompilers: Display: Worker (4/9): shaders left to compile 3
[2020.09.17-19.58.01:905][475]LogShaderCompilers: Display: Worker (1/9): shaders left to compile 2
[2020.09.17-19.58.02:053][480]LogShaderCompilers: Display: Worker (6/9): shaders left to compile 1
The thread 0x7ad0 has exited with code 0 (0x0).
Exception thrown at 0x00007FFD9AADA719 in UE4Editor.exe: Microsoft C++ exception: _com_error at memory location 0x0000007C6D9FC480.
[2020.09.17-19.58.18:746][190]LogD3D12RHI: Error: Failed to create PipelineState with hash BDFMPNCACEFPKEJO
[2020.09.17-19.58.18:746][190]LogD3D12RHI: Warning: Failed to create Graphics PSO with hash BDFMPNCACEFPKEJO
Fatal error: [File: (***edited***)/Engine/Source/Runtime/RHI/Private/PipelineStateCache.cpp] [Line: 139]
Shader compilation failures are Fatal.
UE4Editor.exe has triggered a breakpoint.
- Initializer {BoundShaderState={VertexDeclarationRHI=0x0000023c30829300 {VertexElements=Num=1 StreamStrides=0x0000023c30829520 {...} ...} ...} ...} FGraphicsPipelineStateInitializer
- BoundShaderState {VertexDeclarationRHI=0x0000023c30829300 {VertexElements=Num=1 StreamStrides=0x0000023c30829520 {16, ...} ...} ...} FBoundShaderStateInput
+ VertexDeclarationRHI 0x0000023c30829300 {VertexElements=Num=1 StreamStrides=0x0000023c30829520 {16, 0, 0, 0, 0, 0, 0, 0, ...} ...} FRHIVertexDeclaration * {UE4Editor-D3D12RHI.dll!FD3D12VertexDeclaration}
+ VertexShaderRHI 0x0000023da9548a00 {ShaderBytecode={Hash={Hash=0x0000023da9548a60 {7910083467967616601, 10797989280582476055} } ...} ...} FRHIVertexShader * {UE4Editor-D3D12RHI.dll!FD3D12VertexShader}
+ HullShaderRHI 0x0000000000000000 <NULL> FRHIHullShader *
+ DomainShaderRHI 0x0000000000000000 <NULL> FRHIDomainShader *
+ PixelShaderRHI 0x0000000000000000 <NULL> FRHIPixelShader *
+ GeometryShaderRHI 0x0000000000000000 <NULL> FRHIGeometryShader *
4-Questions
Is it a known issue?
Is there a fix available prior to 4.26