Description

Virtual streaming a 4K texture and setting the max texture size to 2048 causes the engine to crash.

 

Tested in 4.21.2 (CL - 4753547), 4.22.3 (CL - 7053647), 4.23 (CL - 7445012), 4.24(CL - 7646041)

Steps to Reproduce
  1. Import the attached texture into a Blank project
  2. Open the texture through Asset Actions > Bulk Edit via Property Matrix
  3. Enable Virtual Texture Streaming 
  4. Double click the texture to open the default Texture Editor
  5. Change the Maximum Texture Size under the Compression settings

Expected: The texture is streamed at 2K

Result: The engine crashes

Callstack

Assertion failed: BlockData.SizeX << BlockData.MipBias == BlockSizeX [Link Removed] [Line: 894]

UE4Editor_Core!FWindowsErrorOutputDevice::Serialize() [e:\daniel.hamilton_ue4main\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
UE4Editor_Core!FOutputDevice::LogfImpl() [e:\daniel.hamilton_ue4main\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
UE4Editor_Core!AssertFailedImplV() [e:\daniel.hamilton_ue4main\engine\source\runtime\core\private\misc\assertionmacros.cpp:101]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [e:\daniel.hamilton_ue4main\engine\source\runtime\core\private\misc\assertionmacros.cpp:445]
UE4Editor_Engine!FVirtualTextureDataBuilder::BuildSourcePixels() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\vt\virtualtexturedatabuilder.cpp:894]
UE4Editor_Engine!FVirtualTextureDataBuilder::Build() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\vt\virtualtexturedatabuilder.cpp:352]
UE4Editor_Engine!FTextureCacheDerivedDataWorker::BuildTexture() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\texturederiveddatatask.cpp:220]
UE4Editor_Engine!FTextureCacheDerivedDataWorker::Finalize() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\texturederiveddatatask.cpp:484]
UE4Editor_Engine!FTexturePlatformData::Cache() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\texturederiveddata.cpp:853]
UE4Editor_Engine!UTexture::CachePlatformData() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\texturederiveddata.cpp:1527]
UE4Editor_Engine!UTexture2D::UpdateResource() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\texture2d.cpp:738]
UE4Editor_Engine!UTexture::PostEditChangeProperty() [e:\daniel.hamilton_ue4main\engine\source\runtime\engine\private\texture.cpp:283]
UE4Editor_CoreUObject!UObject::PostEditChangeChainProperty() [e:\daniel.hamilton_ue4main\engine\source\runtime\coreuobject\private\uobject\obj.cpp:447]
UE4Editor_PropertyEditor!FPropertyNode::NotifyPostChange() [e:\daniel.hamilton_ue4main\engine\source\editor\propertyeditor\private\propertynode.cpp:2132]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [e:\daniel.hamilton_ue4main\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:571]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [e:\daniel.hamilton_ue4main\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:359]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [e:\daniel.hamilton_ue4main\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:268]
UE4Editor_PropertyEditor!FPropertyHandleInt::SetValue() [e:\daniel.hamilton_ue4main\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:3319]
UE4Editor_TextureEditor!FTextureDetails::OnMaxTextureSizeCommitted() [e:\daniel.hamilton_ue4main\engine\source\editor\textureeditor\private\customizations\texturedetailscustomization.cpp:191]
UE4Editor_TextureEditor!TBaseSPMethodDelegateInstance<0,FTextureDetails,0,void __cdecl(int,enum ETextCommit::Type)>::ExecuteIfSafe() [e:\daniel.hamilton_ue4main\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_TextureEditor!SSpinBox<int>::CommitValue() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\public\widgets\input\sspinbox.h:902]
UE4Editor_TextureEditor!SSpinBox<int>::TextField_OnTextCommitted() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\public\widgets\input\sspinbox.h:828]
UE4Editor_TextureEditor!TBaseSPMethodDelegateInstance<0,SSpinBox<int>,0,void __cdecl(FText const &,enum ETextCommit::Type)>::ExecuteIfSafe() [e:\daniel.hamilton_ue4main\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_Slate!FSlateEditableTextLayout::HandleCarriageReturn() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\private\widgets\text\slateeditabletextlayout.cpp:1507]
UE4Editor_Slate!FSlateEditableTextLayout::HandleKeyDown() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\private\widgets\text\slateeditabletextlayout.cpp:964]
UE4Editor_Slate!SEditableText::OnKeyDown() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\private\widgets\input\seditabletext.cpp:210]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_21fddcfe5d8b6e57b707a8971995adc5> >() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:273]
UE4Editor_Slate!FSlateApplication::ProcessKeyDownEvent() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5176]
UE4Editor_Slate!FSlateApplication::OnKeyDown() [e:\daniel.hamilton_ue4main\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5084]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [e:\daniel.hamilton_ue4main\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1715]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [e:\daniel.hamilton_ue4main\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2332]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [e:\daniel.hamilton_ue4main\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1560]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [e:\daniel.hamilton_ue4main\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:790]
user32
user32

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-78045 in the post.

2
Login to Vote

Fixed
ComponentRendering
Affects Versions4.234.24
Target Fix4.23
Fix Commit7823552
Main Commit7823557
Release Commit7823552
CreatedJul 29, 2019
ResolvedAug 6, 2019
UpdatedAug 9, 2019