Description

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

Steps to Reproduce

1. Download the Licensee's test project and open (see addl. info URL 2)
2. Open the asset "M_WaterWithDepth"
3. Observe the crash

Callstack
>	[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]	

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-224884 in the post.

3
Login to Vote

Unresolved
ComponentUE - Rendering Architecture - Shaders
Affects Versions5.4.4
Target Fix5.6
CreatedSep 19, 2024
UpdatedSep 23, 2024
View Jira Issue