Call DRI2CloseScreen after pScreen->CloseScreen
Call DRI2CloseScreen after pScreen->CloseScreen

Both DRI2 and RandR may wrap pScrn functions.  Thus, it is important that
they get closed in the opposite order that they were initialized.

OMAPScreenInit() calls DRI2ScreenInit() before xf86CrtcScreenInit() (which
in turn calls xf86RandR12Init12).

Therefore, OMAPScreenCloseScreen() must unwrap xf86CrtcCloseScreen() and
call it (which in turn calls xf86RandR12CloseScreen) before calling
DRI2CloseScreen.

This should ensure that wrapped function order is correct between DRI2 and
RandR12.

In particular, this fixes the EnterVT handler such that it is correct on
subsequent server generations.

Cherry-Picked from:
https://chromium.googlesource.com/chromiumos%2Fthird_party%2Fxf86-video-armsoc
c5f79d00aa22fe7d0d2a7453f266a0f17539ebdd

Change-Id: I5665c3452a18bf2009640453f62dda0f33eb215f

freedesktop-unofficial-mirror/xorg__driver__xf86-video-armsoc,singulared/xf86-video-armsoc,mdrjr/xf86-video-armsoc,OtherCrashOverride/armsoc-hardkernel,mmind/xf86-video-armsoc,singulared/xf86-video-armsoc,apxii/xf86-video-armsoc,freedesktop-unofficial-mirror/xorg__driver__xf86-video-armsoc,mmind/xf86-video-armsoc,Popolon/xf86-video-armsoc,mdrjr/xf86-video-armsoc,sbambrough/xf86-video-armsoc,xin3liang/xf86-video-armsoc,commshare/xf86-video-armsoc,commshare/xf86-video-armsoc,Popolon/xf86-video-armsoc,sbambrough/xf86-video-armsoc,OtherCrashOverride/armsoc-hardkernel,xin3liang/xf86-video-armsoc,apxii/xf86-video-armsoc