More efficient way to update _currentComponentMasks

This commit is contained in:
gdk 2022-02-10 20:52:49 -03:00 committed by Mary
parent da7e0ead31
commit aadf4812e8

View file

@ -1457,8 +1457,9 @@ namespace Ryujinx.Graphics.OpenGL
int shift = index * 4;
uint componentMask = _componentMasks & _fragmentOutputMap;
uint checkMask = 0xfu << shift;
uint componentMaskAtIndex = componentMask & checkMask;
if (!force && (componentMask & checkMask) == (_currentComponentMasks & checkMask))
if (!force && componentMaskAtIndex == (_currentComponentMasks & checkMask))
{
return;
}
@ -1474,7 +1475,7 @@ namespace Ryujinx.Graphics.OpenGL
(componentMask & 8u) != 0);
_currentComponentMasks &= ~checkMask;
_currentComponentMasks |= componentMask << shift;
_currentComponentMasks |= componentMaskAtIndex;
}
public void RestoreScissor0Enable()