CopyTexture for PixelShader failing

I’m following a handful of shader plugin tutorials but most of them are somewhat out of date and ive had to make some modifications (Deprecated and removed functions) to make it work in 5.4 unfortunately that approach has given me the following result:

Assertion failed: IsOutsideRenderPass()

This happens when i try to use FRHICommandListImmediate.CopyTexture().

Simplified version of the code:

RHICmdList.BeginRenderPass(RenderPassInfo, TEXT("ShaderPlugin_OutputToRenderTarget"));

...

// Resolve render target
RHICmdList.CopyTexture(
	SourceTextureRHI,
	DestTextureRHI,
	FRHICopyTextureInfo());

RHICmdList.EndRenderPass();

Using RHICmdList.IsOutsideRenderPass() before i call that function doesn’t seem to produce the failed assertion and returns False.

Visual Studio as far as i can tell also thinks in a render thread:

Im not familiar with RenderDoc so im not even sure if it would even help in this scenario.

Ive realised where i went wrong. I had the logic wrong in my head.

check(IsOutsideRenderPass()) logically wants to be outside the Render Thread.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.