Description

The variable emitting this ensure (RelativeWorldToDecalMatrix) is not actually used, so this line can be removed.

FDeferredDecalPS::SetParameters
...
		const FLargeWorldRenderPosition AbsoluteOrigin(View.ViewMatrices.GetInvViewMatrix().GetOrigin());
		const FVector3f TilePosition = AbsoluteOrigin.GetTile();
		const FMatrix WorldToDecalMatrix = DecalProxy.ComponentTrans.ToInverseMatrixWithScale();
//		const FMatrix44f RelativeWorldToDecalMatrix = FLargeWorldRenderScalar::MakeFromRelativeWorldMatrix(AbsoluteOrigin.GetTileOffset(), WorldToDecalMatrix);  //we can remove this line
		const FMatrix DecalToWorldMatrix = DecalProxy.ComponentTrans.ToMatrixWithScale();
		const FMatrix44f RelativeDecalToWorldMatrix = FLargeWorldRenderScalar::MakeToRelativeWorldMatrix(AbsoluteOrigin.GetTileOffset(), DecalToWorldMatrix);
		const FVector3f OrientationVector = (FVector3f)DecalProxy.ComponentTrans.GetUnitAxis(EAxis::X);
Steps to Reproduce
  1. Launch the editor with any project
  2. Place DecalActor in the level
  3. Set the Decal Fade Screen Size to 0
  4. Set the scale of the DecalActor to a small number (0.000000001)

Result:

Ensure condition failed occurs : 

Ensure condition failed: false [File:D:\dev\UnrealEngine-5.0.2\Engine\Source\Runtime\Core\Private\Misc\LargeWorldRenderPosition.cpp] [Line: 52] 
Callstack

CheckMatrixInTileOffsetRange(const UE::Math::TMatrix<double> & Matrix) Line 55 C++
FLargeWorldRenderScalar::MakeFromRelativeWorldMatrixDouble(const UE::Math::TVector<double> Origin, const UE::Math::TMatrix<double> & FromWorld) Line 79 C++
FLargeWorldRenderScalar::MakeFromRelativeWorldMatrix(const UE::Math::TVector<double> Origin, const UE::Math::TMatrix<double> & FromWorld) Line 74 C++
FDeferredDecalPS::SetParameters(FRHICommandList & RHICmdList, const FViewInfo & View, const FMaterialRenderProxy * MaterialProxy, const FDeferredDecalProxy & DecalProxy, const float FadeAlphaValue) Line 95 C++
DecalRendering::SetShader(FRHICommandList & RHICmdList, FGraphicsPipelineStateInitializer & GraphicsPSOInit, unsigned int StencilRef, const FViewInfo & View, const FTransientDecalRenderData & DecalData, EDecalRenderStage DecalRenderStage, const UE::Math::TMatrix<double> & FrustumComponentToClip) Line 398 C++
AddDeferredDecalPass::_l2::void <lambda>(unsigned int, unsigned int, EDecalRenderTargetMode)::_l2::<lambda>(FRHICommandList & RHICmdList) Line 509 C++
TRDGLambdaPass<FDeferredDecalPassParameters,void <lambda>(FRHICommandList &)>::Execute(FRHIComputeCommandList & RHICmdList) Line 564 C++
FRDGBuilder::ExecutePass(FRDGPass * Pass, FRHIComputeCommandList & RHICmdListPass) Line 2447 C++
FRDGBuilder::DispatchParallelExecute::__l9::<lambda>(ENamedThreads::Type __formal, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 2280 C++
UE::Core::Private::Function::TFunctionRefCaller<void <lambda>(ENamedThreads::Type, const TRefCountPtr<FGraphEvent> &),void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FGraphEvent> const &)>::Call(void * Obj, ENamedThreads::Type & <Params_0>, const TRefCountPtr<FGraphEvent> & <Params_1>) Line 549 C++
UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FGraphEvent> const &)>::operator()(ENamedThreads::Type <Params_0>, const TRefCountPtr<FGraphEvent> & <Params_1>) Line 677 C++
TGraphTask<TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FGraphEvent> const &),0>>::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> & NewTasks, ENamedThreads::Type CurrentThread, bool bDeleteOnCompletion) Line 975 C++
FTaskGraphCompatibilityImplementation::QueueTask::__l5::<lambda>() Line 2027 C++
LowLevelTasks::TTaskDelegate<void __cdecl(bool),48>::TTaskDelegateImpl<<lambda_b0effac95abe128e68ff2c315eb1e3d1>,0>::CallAndMove(LowLevelTasks::TTaskDelegate<void __cdecl(bool),48> & Destination, void * InlineData, unsigned int DestInlineSize, bool <Params_0>) Line 171 C++
LowLevelTasks::TTaskDelegate<void __cdecl(bool),48>::CallAndMove<48>(LowLevelTasks::TTaskDelegate<void __cdecl(bool),48> & Destination, bool <Params_0>) Line 309 C++
LowLevelTasks::FTask::ExecuteTask() Line 423 C++
LowLevelTasks::FScheduler::TryExecuteTaskFrom<&LowLevelTasks::TLocalQueueRegistry<1024>::TLocalQueue::DequeueGlobal,0>(LowLevelTasks::TLocalQueueRegistry<1024>::TLocalQueue * Queue, LowLevelTasks::TLocalQueueRegistry<1024>::FOutOfWork & OutOfWork, bool bPermitBackgroundWork, bool bDisableThrottleStealing) Line 280 C++
LowLevelTasks::FScheduler::WorkerMain(LowLevelTasks::FSleepEvent * WorkerEvent, LowLevelTasks::TLocalQueueRegistry<1024>::TLocalQueue * ExternalWorkerLocalQueue, unsigned int WaitCycles, bool bPermitBackgroundWork) Line 320 C++
LowLevelTasks::FScheduler::CreateWorker::__l2::<lambda>() Line 87 C++
UE::Core::Private::Function::TFunctionRefCaller<void <lambda>(void),void __cdecl(void)>::Call(void * Obj) Line 549 C++
UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(void)>::operator()() Line 677 C++
FThreadImpl::Run() Line 68 C++
FRunnableThreadWin::Run() Line 143 C++
FRunnableThreadWin::GuardedRun() Line 68 C++
FRunnableThreadWin::_ThreadProc(void * pThis) Line 39 C++

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions5.05.0.2
Target Fix5.1
Fix Commit20704362
Main Commit20704362
CreatedJun 15, 2022
ResolvedJun 17, 2022
UpdatedAug 10, 2022