aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2022-02-16 19:15:39 -0300
committerGitHub <noreply@github.com>2022-02-16 23:15:39 +0100
commit3bd357045f7581ee10d6c86ed8049bcebe35eda0 (patch)
treeaa2d243843f2d31d3afa690f26352713ddac4349 /Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
parentab5d77c0c4925955180dc51e9f289187ce6f2901 (diff)
Do not allow render targets not explicitly written by the fragment shader to be modified (#3063)1.1.31
* Do not allow render targets not explicitly written by the fragment shader to be modified * Shader cache version bump * Remove blank lines * Avoid redundant color mask updates * HostShaderCacheEntry can be null * Avoid more redundant glColorMask calls * nit: Mask -> Masks * Fix currentComponentMask * More efficient way to update _currentComponentMasks
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation/EmitterContext.cs')
-rw-r--r--Ryujinx.Graphics.Shader/Translation/EmitterContext.cs8
1 files changed, 4 insertions, 4 deletions
diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
index 3dcb04ad..775f1217 100644
--- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
+++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
@@ -172,11 +172,10 @@ namespace Ryujinx.Graphics.Shader.Translation
for (int rtIndex = 0; rtIndex < 8; rtIndex++)
{
- OmapTarget target = Config.OmapTargets[rtIndex];
-
for (int component = 0; component < 4; component++)
{
- if (!target.ComponentEnabled(component))
+ bool componentEnabled = (Config.OmapTargets & (1 << (rtIndex * 4 + component))) != 0;
+ if (!componentEnabled)
{
continue;
}
@@ -210,7 +209,8 @@ namespace Ryujinx.Graphics.Shader.Translation
}
}
- if (target.Enabled)
+ bool targetEnabled = (Config.OmapTargets & (0xf << (rtIndex * 4))) != 0;
+ if (targetEnabled)
{
Config.SetOutputUserAttribute(rtIndex, perPatch: false);
regIndexBase += 4;