OpenCanopy: Do not disable interrupts
On some systems, disabling interrupts will severely limit the input quality as it disables the KeySupport and AppleEvent timers. Furthermore, the mechanism barely mitigated tearing, so it was ineffective anyway.
@@ -723,15 +723,11 @@ GuiFlushScreen (
IN OUT GUI_DRAWING_CONTEXT *DrawContext
)
{
- EFI_TPL OldTpl;
-
UINTN Index;
UINT64 EndTsc;
UINT64 DeltaTsc;
- BOOLEAN Interrupts;
-
ASSERT (DrawContext != NULL);
ASSERT (DrawContext->Screen != NULL);
ASSERT (DrawContext->Screen->OffsetX == 0);
@@ -753,9 +749,6 @@ GuiFlushScreen (
//
// Raise the TPL to not interrupt timing or flushing.
//
- OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
- Interrupts = SaveAndDisableInterrupts ();
-
EndTsc = AsmReadTsc ();
DeltaTsc = EndTsc - mStartTsc;
if (DeltaTsc < mDeltaTscTarget) {
@@ -781,11 +774,6 @@ GuiFlushScreen (
);
}
- if (Interrupts) {
- EnableInterrupts ();
- }
- gBS->RestoreTPL (OldTpl);
-
mNumValidDrawReqs = 0;
//
// Explicitly include BLT time in the timing calculation.
