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