From f088c3d3449f2fafce0c38ee9a0a2b9e4b83179e Mon Sep 17 00:00:00 2001 From: gdkchan Date: Mon, 21 Nov 2022 14:16:00 -0300 Subject: [PATCH] Do not update shader state for DrawTextures (#3876) --- Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs index a7acb469..ed8ed206 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs @@ -372,7 +372,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed float srcX1 = ((float)_state.State.DrawTextureDuDx / (1UL << 32)) * dstWidth + srcX0; float srcY1 = ((float)_state.State.DrawTextureDvDy / (1UL << 32)) * dstHeight + srcY0; - engine.UpdateState(); + engine.UpdateState(ulong.MaxValue & ~(1UL << StateUpdater.ShaderStateIndex)); + + _channel.TextureManager.UpdateRenderTargets(); int textureId = _state.State.DrawTextureTextureId; int samplerId = _state.State.DrawTextureSamplerId;