From 5a085cba0fe15b8f4946ab328887a063afe3a147 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 16 Dec 2022 12:40:01 +0000 Subject: [PATCH] GPU: Fix layered attachment write (#4131) Fixes a regression caused by #4003 where the code that writes `_vtgWritesRtLayer` was removed, breaking the crowd in mario strikers. --- Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index 572f7fb01..e6b473450 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -1295,7 +1295,14 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed for (int stageIndex = 0; stageIndex < Constants.ShaderStages; stageIndex++) { - _currentProgramInfo[stageIndex] = gs.Shaders[stageIndex + 1]?.Info; + ShaderProgramInfo info = gs.Shaders[stageIndex + 1]?.Info; + + if (info?.UsesRtLayer == true) + { + _vtgWritesRtLayer = true; + } + + _currentProgramInfo[stageIndex] = info; } _context.Renderer.Pipeline.SetProgram(gs.HostProgram);