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]
How do I set a material as a post-processing material?
How does TextureRenderTarget2D get TArray<uint8> type data?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the difference between Camera and CineCamera?
UMG RichText not appear image when packaged
How to delete some elements correctly when deleting an array loop?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How does TArray loop correctly remove elements in blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-224884 in the post.
3 |
Component | UE - Rendering Architecture - Shaders |
---|---|
Affects Versions | 5.4.4 |
Created | Sep 19, 2024 |
---|---|
Updated | Feb 13, 2025 |