Open mcphedar opened 1 year ago
We have looked into this issue and the problem is that the EMVF pass that attempts to attach itself to the PostProcess pass of any pipeline that gets is added. What we would need to do is either a) exclude the env map capture pipeline form EMVF or b) have EMVF only attach to specific pipelines.
@VickyAtAZ @amzn-tommy do you have any suggestions as the least brittle way of achieving the above?
@VickyAtAZ to comment.
@jonawals We had similar issue with LyShine passes. And what we did is to look for the reference pass first in the function and return if it doesn't exist. void LyShineFeatureProcessor::AddRenderPasses(AZ::RPI::RenderPipeline* renderPipeline)
So for the editor state pass system, you may add this code
void EditorStatePassSystem::AddPassesToRenderPipeline(RPI::RenderPipeline* renderPipeline)
{
// Only add MainPassParentTemplateName if PostProcessPass exists
if (!renderPipeline->FindFirstPass(AZ::Name("PostProcessPass")))
{
return;
}
...
Assets required o3de-multiplayersample
Steps to reproduce Steps to reproduce the behavior:
Expected behavior No Errors
Actual behavior These errors show up in the console
[Warning] (PassSystem) - Do not add child passes outside of build phase
[Warning] (RenderPipeline) - Add pass to render pipeline failed: can't find reference pass [PostProcessPass] in render pipeline [EnvironmentCubeMapPipeline_{0FA01793-0DD2-4888-B893-4F2881E9E7C9}]
[Error] (EditorStatePassSystem) - Add editor mode feedback parent pass to render pipeline [EnvironmentCubeMapPipeline_{0FA01793-0DD2-4888-B893-4F2881E9E7C9}] failed
Found in Branch o3de-multiplayersample development