There is a texture mismatch between the expected texture samplers and actual texture samplers for SingleLayerWater materials that use the Material Function StencilMaskCompare.
Also tested on UE5.5, CL: 36410558
1. Download the Licensee's test project and open (see addl. info URL 2)
2. Open the asset "M_WaterWithDepth"
3. Observe the crash
> [Inline Frame] UnrealEditor-Core.dll!UE::Logging::Private::BasicFatalLog::__l2::<lambda>() Line 1088 C++ UnrealEditor-Core.dll!UE::Logging::Private::BasicFatalLog(const FLogCategoryBase & Category, const UE::Logging::Private::FStaticBasicLogRecord * Log, ...) Line 1088 C++ UnrealEditor-RHICore.dll!UE::RHICore::ValidateStaticUniformBuffer(FRHIUniformBuffer * UniformBuffer, unsigned char Slot, unsigned int ExpectedHash) Line 37 C++ UnrealEditor-D3D12RHI.dll!UE::RHICore::ApplyStaticUniformBuffers<`ApplyStaticUniformBuffersOnContext'::`5'::<lambda_1>>(FRHIShader * Shader, const TArray<unsigned char,TSizedDefaultAllocator<32>> & Slots, const TArray<unsigned int,TSizedDefaultAllocator<32>> & LayoutHashes, const TArray<FRHIUniformBuffer *,TSizedDefaultAllocator<32>> & UniformBuffers, ApplyStaticUniformBuffersOnContext::__l5::<lambda_1> && ApplyFunction) Line 70 C++ UnrealEditor-D3D12RHI.dll!ApplyStaticUniformBuffersOnContext(FD3D12CommandContext & Context, FRHIShader * Shader, FD3D12ShaderData * ShaderData) Line 833 C++ [Inline Frame] UnrealEditor-D3D12RHI.dll!ApplyStaticUniformBuffersOnContext(FD3D12CommandContext & Shader, FD3D12PixelShader *) Line 838 C++ UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::RHISetGraphicsPipelineState(FRHIGraphicsPipelineState * GraphicsState, unsigned int StencilRef, bool bApplyAdditionalState) Line 883 C++ [Inline Frame] UnrealEditor-RHI.dll!FRHICommandList::SetGraphicsPipelineState(FGraphicsPipelineState *) Line 3675 C++ UnrealEditor-RHI.dll!SetGraphicsPipelineState(FRHICommandList & RHICmdList, const FGraphicsPipelineStateInitializer & Initializer, unsigned int StencilRef, EApplyRendertargetOption ApplyFlags, bool bApplyAdditionalState, EPSOPrecacheResult PSOPrecacheResult) Line 855 C++ UnrealEditor-Renderer.dll!FMeshDrawCommand::SubmitDrawBegin(const FMeshDrawCommand & MeshDrawCommand, const Experimental::TRobinHoodHashSet<FGraphicsMinimalPipelineStateInitializer,DefaultKeyFuncs<FGraphicsMinimalPipelineStateInitializer,0>,TSizedDefaultAllocator<32>> & GraphicsMinimalPipelineStateSet, const FMeshDrawCommandSceneArgs & SceneArgs, unsigned int InstanceFactor, FRHICommandList & RHICmdList, FMeshDrawCommandStateCache & StateCache, bool bAllowSkipDrawCommand) Line 1399 C++ UnrealEditor-Renderer.dll!FMeshDrawCommand::SubmitDraw(const FMeshDrawCommand & MeshDrawCommand, const Experimental::TRobinHoodHashSet<FGraphicsMinimalPipelineStateInitializer,DefaultKeyFuncs<FGraphicsMinimalPipelineStateInitializer,0>,TSizedDefaultAllocator<32>> & GraphicsMinimalPipelineStateSet, const FMeshDrawCommandSceneArgs & SceneArgs, unsigned int InstanceFactor, FRHICommandList & RHICmdList, FMeshDrawCommandStateCache & StateCache) Line 1597 C++ UnrealEditor-Renderer.dll!FInstanceCullingContext::SubmitDrawCommands(const TArray<FVisibleMeshDrawCommand,TConcurrentLinearArrayAllocator<FSceneRenderingBlockAllocationTag>> & VisibleMeshDrawCommands, const Experimental::TRobinHoodHashSet<FGraphicsMinimalPipelineStateInitializer,DefaultKeyFuncs<FGraphicsMinimalPipelineStateInitializer,0>,TSizedDefaultAllocator<32>> & GraphicsMinimalPipelineStateSet, const FMeshDrawCommandOverrideArgs & OverrideArgs, int StartIndex, int NumMeshDrawCommands, unsigned int InInstanceFactor, FRHICommandList & RHICmdList) Line 1718 C++ UnrealEditor-Renderer.dll!FParallelMeshDrawCommandPass::DispatchDraw(FParallelCommandListSet * ParallelCommandListSet, FRHICommandList & RHICmdList, const FInstanceCullingDrawParams * InstanceCullingDrawParams) Line 1710 C++ UnrealEditor-Renderer.dll!DoRenderHitProxies::__l17::<lambda_2>::operator()(FRHICommandList & RHICmdList) Line 358 C++ [Inline Frame] UnrealEditor-Renderer.dll!TRDGLambdaPass<FHitProxyPassParameters,`DoRenderHitProxies'::`17'::<lambda_2>>::ExecuteLambdaFunc(FRHIComputeCommandList &) Line 617 C++ UnrealEditor-Renderer.dll!TRDGLambdaPass<FHitProxyPassParameters,`DoRenderHitProxies'::`17'::<lambda_2>>::Execute(FRHIComputeCommandList & RHICmdList) Line 626 C++ UnrealEditor-RenderCore.dll!FRDGBuilder::ExecutePass(FRDGPass * Pass, FRHIComputeCommandList & RHICmdListPass) Line 3017 C++ UnrealEditor-RenderCore.dll!FRDGBuilder::Execute() Line 1884 C++ UnrealEditor-Renderer.dll!RenderViewFamilies_RenderThread(FRHICommandListImmediate & RHICmdList, const TArray<FSceneRenderer *,TSizedDefaultAllocator<32>> & SceneRenderers) Line 4839 C++ UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamilies::__l89::<lambda_3>::operator()(FRHICommandListImmediate & RHICmdList) Line 5121 C++ [Inline Frame] UnrealEditor-Renderer.dll!EnqueueUniqueRenderCommand(FRendererModule::BeginRenderingViewFamilies::__l89::<lambda_3> &&) Line 391 C++ [Inline Frame] UnrealEditor-Renderer.dll!FRenderCommandPipe::Enqueue(FRendererModule::BeginRenderingViewFamilies::__l89::<lambda_3> &&) Line 510 C++ UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamilies(FCanvas * Canvas, TArrayView<FSceneViewFamily *,int> ViewFamilies) Line 5113 C++ UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamily(FCanvas * Canvas, FSceneViewFamily * ViewFamily) Line 4968 C++ UnrealEditor-UnrealEd.dll!FEditorViewportClient::Draw(FViewport * InViewport, FCanvas * Canvas) Line 4294 C++ UnrealEditor-MaterialEditor.dll!FMaterialEditorViewportClient::Draw(FViewport * InViewport, FCanvas * Canvas) Line 121 C++ UnrealEditor-Engine.dll!FViewport::GetRawHitProxyData(UE::Math::TIntRect<int> InRect) Line 1867 C++ UnrealEditor-Engine.dll!FViewport::GetHitProxyMap(UE::Math::TIntRect<int> InRect, TArray<HHitProxy *,TSizedDefaultAllocator<32>> & OutMap) Line 1923 C++ UnrealEditor-Engine.dll!FViewport::GetHitProxy(int X, int Y) Line 1972 C++ UnrealEditor-UnrealEd.dll!FEditorViewportClient::GetCursor(FViewport * InViewport, int X, int Y) Line 1691 C++ UnrealEditor-Engine.dll!FSceneViewport::OnCursorQuery(const FGeometry & MyGeometry, const FPointerEvent & CursorEvent) Line 476 C++ UnrealEditor-Slate.dll!SViewport::OnCursorQuery(const FGeometry & MyGeometry, const FPointerEvent & CursorEvent) Line 232 C++ UnrealEditor-Slate.dll!FSlateUser::QueryCursor() Line 800 C++ UnrealEditor-Slate.dll!FSlateUser::UpdateCursor() Line 902 C++ [Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::TickPlatform::__l11::<lambda_1>::operator()(FSlateUser &) Line 1607 C++ [Inline Frame] UnrealEditor-Slate.dll!Invoke(FSlateApplication::TickPlatform::__l11::<lambda_1> &) Line 47 C++ UnrealEditor-Slate.dll!UE::Core::Private::Function::TFunctionRefCaller<`FSlateApplication::TickPlatform'::`11'::<lambda_1>,void __cdecl(FSlateUser &)>::Call(void * Obj, FSlateUser & <Params_0>) Line 405 C++ [Inline Frame] UnrealEditor-Slate.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::FFunctionRefStoragePolicy,void __cdecl(FSlateUser &)>::operator()(FSlateUser &) Line 555 C++ [Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::ForEachUser(TFunctionRef<void __cdecl(FSlateUser &)>) Line 4385 C++ UnrealEditor-Slate.dll!FSlateApplication::TickPlatform(float DeltaTime) Line 1606 C++ UnrealEditor-Slate.dll!FSlateApplication::Tick(ESlateTickType TickType) Line 1536 C++ UnrealEditor.exe!FEngineLoop::Tick() Line 5981 C++ [Inline Frame] UnrealEditor.exe!EngineTick() Line 61 C++ UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 180 C++ UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247 C++ UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298 C++ [External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-224884 in the post.
1 |
Component | UE - Rendering Architecture - Shaders |
---|---|
Affects Versions | 5.4.4 |
Target Fix | 5.6 |
Created | Sep 19, 2024 |
---|---|
Updated | Sep 23, 2024 |