summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@neko.keithp.com>2007-04-09 12:30:31 -0700
committerKeith Packard <keithp@neko.keithp.com>2007-04-09 12:59:10 -0700
commit7cf3a0e0b954cc3bfdf158cdc1ca145d1620fe0c (patch)
tree4eaf5fae02d18716d7a080a8d990413ed9306fb9
parent970cacb264a597573e0927410dde5a3d3aa6549b (diff)
In AIGLX EnterVT processing, invoke driver EnterVT before resuming glx.
As the driver EnterVT function generally re-enables the hardware and prepares it for rendering, it must be called before any gl functions are called which could touch the hardware. (cherry picked from commit f24391dbfd12a84253dfec794ee7884afd52e197)
-rw-r--r--GL/glx/glxdri.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 36464a6e9..788b87d79 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -815,12 +815,16 @@ static Bool
glxDRIEnterVT (int index, int flags)
{
__GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
+ Bool ret;
LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n");
+ if (!(*screen->enterVT) (index, flags))
+ return FALSE;
+
glxResumeClients();
- return (*screen->enterVT) (index, flags);
+ return TRUE;
}
static void