Unexpected Viewfamily rendertarget None after upgrade to UE 5.7

Hey all,

We currently use the following plugins in your Lyra-based Unreal Engine project:

  • DLSS
  • Streamline
  • StreamlineCore
  • StreamlineDLSSG
  • StreamlineReflex
  • StreamlineDeepDVC
  • StreamlineNGXCommon
  • NIS
  • DLSSMoviePipelineSupport

We are on plugin version 8.5.0 and Unreal Engine 5.7.3 but with the update, we are now getting spammed with the following log:

LogStreamline: Error: found unexpected Viewfamily rendertarget None 00000247746857D0 X=1920 Y=1080. This might cause           
  instability in other parts of the Streamline plugin.

Has anyone else seen this before? I added the following change to suppress the error inside StreamlineViewExtension.cpp:

		const bool bIsExpectedRenderTarget  =
		 (    (TargetTexture->GetName() == TEXT("BufferedRT"))
			// ADD BEGIN
			|| (TargetTexture->GetName() == TEXT("None"))
			// ADD END
			|| (TargetTexture->GetName() == TEXT("BackBuffer0"))
			|| (TargetTexture->GetName() == TEXT("BackBuffer1"))
			|| (TargetTexture->GetName() == TEXT("BackBuffer2"))
			|| (TargetTexture->GetName() == TEXT("BackbufferReference"))
			|| (TargetTexture->GetName() == TEXT("FD3D11Viewport::GetSwapChainSurface")) // (⊙_⊙)?
	#if XR_WORKAROUND
			|| (TargetTexture->GetName().ToString().Contains(TEXT("XRSwapChainBackingTex")))
	#endif
			|| (ENGINE_MAJOR_VERSION == 4) 
			|| ((ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION < 1))
		);

But this is obviously not fixing the cause of the error in the first place. Is this a bug? Has anyone else seen this? From what I can tell, there are no visual issues when running our game. Thanks in advance!

I ran into the same thing and you can add that in there or wrap the whole if statement around the define like this:

#if RHI_ENABLE_RESOURCE_INFO
if (TargetTexture && TargetTexture->GetName() != TEXT(“HitProxyTexture”))
{

	const bool bIsExpectedRenderTarget  = 
	 (    (TargetTexture->GetName() == TEXT("BufferedRT"))
		|| (TargetTexture->GetName() == TEXT("BackBuffer0"))
		|| (TargetTexture->GetName() == TEXT("BackBuffer1"))
		|| (TargetTexture->GetName() == TEXT("BackBuffer2"))
		|| (TargetTexture->GetName() == TEXT("BackbufferReference"))
		|| (TargetTexture->GetName() == TEXT("FD3D11Viewport::GetSwapChainSurface")) // (⊙_⊙)?
		|| (TargetTexture->GetName() == TEXT("FSlateTextureRenderTarget2DResource")) // HEAT: Fix slate crash
#if XR_WORKAROUND
		|| (TargetTexture->GetName().ToString().Contains(TEXT("XRSwapChainBackingTex")))
#endif
		|| (ENGINE_MAJOR_VERSION == 4) 
		|| ((ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION < 1))
	);

	if (!bIsExpectedRenderTarget)
	{

		FString TextureDimensionAsString = TEXT("HerpxDerp");

		const FString TextureName = FString::Printf(TEXT("%s %p"), *TargetTexture->GetName().ToString(), TargetTexture->GetTexture2D());

#if (ENGINE_MAJOR_VERSION == 4) || ((ENGINE_MAJOR_VERSION == 5) && (ENGINE_MINOR_VERSION < 1))
TextureDimensionAsString = TargetTexture->GetSizeXYZ().ToString();
#else
TextureDimensionAsString = TargetTexture->GetSizeXY().ToString();
endif

		UE_LOG(LogStreamline, Error, TEXT("found unexpected Viewfamily rendertarget %s %s. This might cause instability in other parts of the Streamline plugin."), 
			*TextureName,
			*TextureDimensionAsString
			);
	}
	FoundTrackedView->Texture = TargetTexture;
}

#else
if(TargetTexture)
FoundTrackedView->Texture = TargetTexture;
endif

this is mostly because the texture names are not available in shipping packaged builds, so this code will never do anything in shipping or test packages