aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs12
1 files changed, 9 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
index ffe2d33a..6c48fc0e 100644
--- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
@@ -177,8 +177,6 @@ namespace Ryujinx.Graphics.Gpu.Image
if ((binding.Flags & TextureUsageFlags.NeedsScaleValue) != 0 && texture != null)
{
- _scaleChanged |= true;
-
switch (stage)
{
case ShaderStage.Fragment:
@@ -218,7 +216,13 @@ namespace Ryujinx.Graphics.Gpu.Image
}
}
- _scales[index] = result;
+ if (result != _scales[index])
+ {
+ _scaleChanged = true;
+
+ _scales[index] = result;
+ }
+
return changed;
}
@@ -232,6 +236,8 @@ namespace Ryujinx.Graphics.Gpu.Image
if (_scaleChanged)
{
_context.Renderer.Pipeline.UpdateRenderScale(stage, _scales, _textureBindings[stageIndex]?.Length ?? 0, _imageBindings[stageIndex]?.Length ?? 0);
+
+ _scaleChanged = false;
}
}